現在、ParserScriptは非推奨です。UCCScriptを使ってください。
ParserScript GitHub:ParserScript-3.0
UCCScript(未実装機能あり) GitHub:UCCScript-UnderDevelopment
UCCScrip GitHub:UCCScript
ParserScriptの概要
自作言語の構文解析を楽に作りたいという思いで作られ、作者(私)自身に見放されてしまった言語。
メリット
今までよりも簡単に書ける。まあまあ速い。
デメリット
計算ができない。保守性が悪すぎる。コードがめちゃくちゃ長くなる。動作が不安定。マッチングと結果を返すのがごちゃごちゃしていてよくつまづく。
UCCScriptの概要
ParserScriptをもっと良くしようと思いで作られた言語。ParserScriptは構文解析器を作るためだったが、UCCScriptはコンパイラを作る目的で作られた。
メリット
ParserScriptと比にならないくらい書きやすい。演算ができる。一般的な言語の制御構文がある。マッチングはBNF風に書ける。マッチングの部分と結果を返す部分が独立している。プロトタイプ(後、破棄)の結果を返す部分の[]
内を、再帰を使って計算していたが、それを使わない方法に変えたため、ParserScriptに並ぶほど速い。比較的動作は安定している。
--追記
・非公開の最新のものはUCCScriptのプログラムとしてはそれぞれ独立していますが、二つの間を行き来できる(今は一方通行)機能の実装により、インタープリタ内は独立していません。
デメリット
ParserScriptで使えたC#の正規表現によるマッチングなどが行えない。文字列や真偽値をもつ変数を作れない。ParserScriptで使えた配列の変数が使えない。
終わりに
UCCScriptを推奨していますが、ParserScriptしかできないことはないと思います(正規表現はコードで再現でき、(文字列の)変数は今後の実装次第で擬似的に再現できそう)。絶対にUCCScriptを使ってください。