2009-08-26 94 views
0

我想向Jython添加語法以爲用戶啓用更好的API。例如,像NumPy這樣的矩陣庫將受益於矩陣和元素操作,如Matlab的:**中綴運算符。擴展Jython語法

您可以使用在八度矩陣:

A = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ] 

比與NumPy的相當漂亮:

b = array([ (1.5,2,3), (4,5,6) ]) 

R使用公式 「Y〜X + Z」 在一個矩陣選擇變量/數據框。這比替換["y"] ["x","z"]或解析字符串「y〜x + y」要好得多。

更復雜的例子可以在Cython中使用Easy Extend來實現。但EasyExtend不能在JVM上工作。

什麼是最簡單的方法,但相當健壯的方式添加語法到Jython?如果有一個框架來實現全新的語言結構,或者在jython中定義迷你語言,那將會很不錯。

回答

1

據我所知,儘管the developer of EasyExtend最近一直在研究一些jython項目(包括一些類似於EE的項目),但據我所知,沒有類似於EasyExtend的宏/語法擴展工具。我想你可以編寫某種類型的預處理程序,但是我傾向於建議在Python世界中語法擴展並不是非常受歡迎,如果你真的需要,你可能會更好地實現自己的DSL。