構文解析器を弄る言語
ユーザが構文解析器を弄れる言語はふむ確かにありかなーとか思った。
というかここ数日構文木弄る言語とかしか実装してなかった気がするので、そういう風に頭が犯されているだけの可能性も高いけど折角だから色々と書いてみる。
どの辺の言語と関係していそうか。Lisp,Scheme,Nemerle
後私はこの3つ全てで素人です。
Nemerle
http://ja.wikipedia.org/wiki/Nemerle
新しい言語の実装 Nemerleのマクロを用いると、言語に新しい構文を導入することも可能である。 macro ReverseFor (i, begin, body) syntax ("ford", "(", i, ";", begin, ")", body) { <[ for ($i = $begin; $i >= 0; $i--) $body ]> } この例ではford ( EXPR ; EXPR ) EXPR構文を定義していて、この構文は次のように用いることができる。 ford (i ; n) print (i); wikipediaより引用
うっほwwwこれ凄いな。
まくろ
http://nemerle.org/Macros_tutorial
動かす為にLeopardにmono入れました。眠いのであれですが、上手く(?)構文を拡張出来ていますね。
後はコンパイル時と実行時で分けたりだとか。
Dylan
はインストール出来ないぞ。