ゲーム用のスクリプトについて考えたい

ゲームを作りたい。外部スクリプトの実行エンジンだけCで記述して、ゲーム自体はスクリプトで記述することにしよう。とりあえず、ここまでは決めている。が、ここで悩み出して進めなくなった。自分の考えを整理するためにも、ここに少しメモしておく。
まず、スクリプトについて。これはとりあえず自作する方向で考える。
個人的に、プログラミングを趣味にしている人間として、プログラミング言語を自分で作ってみたいと思う。言語処理系の仕組み、実行する仕組み、いろいろ学べる良い機会でもある。しかし、これは正直趣味だからできるわがままだ、とも思う。
さて、スクリプトを自作するとして、どんな機能が必要だろう。まずは実数の四則演算(と剰余)、できれば"ADD 2.3 4.22"じゃなくて"2.3 + 4.22"と書きたい。それに変数の定義と参照、あと制御構造(反復、分岐)、それから関数の定義と呼び出し…。
この辺から、徐々にビビり始める。これを実現するには、字句解析をし、構文解析をし、環境を操作し、コードをあっちこっち飛んだり帰ったりする仕組みを作る必要がある、らしい。「…まあ、全部やるとして、でもこれは、本当に、ゲームを作りたい人間がやること?なんか無駄に遠回りしてるんじゃない?」
…もう少し考えてみる。関数を定義するとは、関数型の変数を定義することだと考えれば、関数と変数の扱いは統一できる。反復や分岐は、どちらも「次にどのコードを実行するか」(一応、「継続」のこと。うまく説明できないので詳しくは検索して下さい)を条件によって変える操作だから、内部でそういう操作をする標準の関数にしてしまえば、それぞれを処理する特別な仕組みは必要ない。実数の演算は、もちろん関数呼び出しにできる。
すると、スクリプトに必要な機能は、ただ「変数を定義して参照できる」、だけになる。でも、だからといって必要な作業が減るわけでは全くない。さっきの、「これを実現するには…」から「…らしい」までは相変わらず必要だ。しかし、徹底的な抽象化で、機能を最小限にした。文法も、恐ろしくすっきりするだろう。
この辺から、嫌な予感がし始める。
(多分つづく)