>lex/yaccで独自言語を作った場合、gccのフロントエンドにして各種Linuxディストリ
>ビューションに標準で組み込まれるのが、もっともよいあがりですか。
現状で、個人作の独自言語で成功しているものというと、私としては
PerlとかRubyとかPythonとかが浮かぶわけですが、このへんはたいてい
ネイティブコードに落とさずインタプリタで実行していますよね。
# Dは違いますけど。
でも、多少なりとも速度を求めるのなら、JITでJavaやC#に勝負を挑むのは無謀なので、
gccのバックエンドを使ってネイティブコードを吐かせるというのは妥当な手段の
ような気もします。というわけで自分用のメモ。
GCC Frontend HOWTO
http://www.tldp.org/HOWTO/GCC-Frontend-HOWTO.html
>JavaCCの場合は、Java VM上で動くようなバイトコードを吐いてWrite Once,
>Run Anywhereなんでしょうか。
JVMのバイトコードを吐くのは簡単だと思うのですが、JVMはJavaの言語仕様に
強く依存しているのがなんとも…
CLRはよく知らないのですが、JVMより制限が緩いようなら、勉強しようという
気になります。
>Dで独自にパースする場合は、D言語フロンティアになる、ってところでしょうか。
「フロンティア」は「あがり」なのか「ババをひく」係なのか…
いやその第三者的には是非ともがんばっていただきたく(ひでぇ)
>まだlex/yaccかJavaCCか確定していませんが、理解度からすると8:2でlex/yaccですね。
了解です。もしよろしければ公開を希望、という意思表示だけしときます、
ということにさせていただきたく存じますです。