日本語スクリプト言語wythonの変換プログラム [wython]
これまで、いくつかwython用の日本語スクリプト例を考えてきた。ここで、少し、wythonを処理するための基本的な考え方をまとめておこう。
前にも言ったように、wythonは言語としては新たに設計はしているが、その実態は、Pythonのスクリプトを日本語でオブラートしたようなものである。ほとんど一文ずつ、Pythonのスクリプトに書き直せるし、そのように一文ずつ変換していくことを前提に考えている。
そのため、wython自体に、意味解析や構文解析などの処理は全く必要なく、文字列の単純な置換(と言っても、正規表現を駆使するが)ですますことができる。つまり、コンパイラではなく、言語処理系でもなく、トランスレータとして機能する。
ここで、日本語のスクリプトでありながら、変換を容易にするために、wythonでは、識別子は通常のPythonと同じ英数字にしている。つまり、変数の名前や関数の名前を英数字にし、そのままPythonのスクリプトに利用している。
そのため、一つの文から、英数字の並びを、変数名ないしは関数名として取り出すことが容易になる。あとは、文法的な構文の部分を日本語にしていることぐらいが、強制的な仕様である。特に、変数は、その直後に「に」とか「を」とか、「と」とかの限られた助詞を使うようにしておけば、一文の中に複数の変数があっても、容易に区別して取り出せる。
また、計算式はかならず変数への代入を伴うようにし、計算式を別の式の中に組み込むようなことはしないようにしている。それをやると、単純な置換では処理ができないことになる、という横着のためでもあるが、また初心者に、変数や代入、データのインプットとアウトプットという概念を繰り返し覚え込ませるための方法でもある。
そのため、若干冗長な表現になるが、簡潔さは、基本を理解してから徐々に導入しても遅くはない、と割り切っている。
以上の最低限のルールを守る限りは、それ以外の日本語にどのような言葉を書こうが、ほとんど無視される。これまてのwythonのコードで、「文字列オブジェクト」とか、「数値オブジェクト」とか、「これこれのことをする関数」などの表現を用いているが、これらは全て変換時には無視される。それらはスクリプトを書く人、読む人が理解しやすくするための、人間のための説明語句にすぎない。分かるようになれば、それらを省略して書くこともできる。
また、たとえ冗長ではあっても、一文ごとにPythonのスクリプトに直せるので、慣れてきたときには、直接Pythonのコードを書いてしまうことさえできる。
ブロックをインデントするのもPython譲りである。
以上のような方針で作るので、割合簡単に、かつかなりの自由度をもって、プログラムすることができるであろう。(まだ、実際には作っていないが。)
コメント 0