0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ParserScript使うな、UCCScriptを使え

Last updated at Posted at 2025-02-04

現在、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を使ってください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?