概要
独自のプログラム言語を作ってみたい.そして,プログラムをコンパイルして実行してみたい.という人は(少数ではあると思うけれども)存在すると思う.しかし,普通に使われている言語は既に構文が難しかったり,機能がありすぎて実装を見ても挫折してしまう.また,プログラム言語を作る系の本はいくつか出版され,コードは取得できるけれど,最終的なコードしかなくて読むのが辛い.という事があるかと思う.
そこで,ここでは二項演算などの式の計算,および代入文,組み込み関数print
(引数なし)しかないプログラム言語を定義し,字句解析,構文解析,意味解析.コード生成.仮想マシンの実装と.ステップバイステップでコンパイラ.仮想マシンの実装を紹介していく.
言語仕様
とりあえず,以下のようなプログラムを実行できる言語にする.
int i;
double j;
i = 10;
j = i + 1;
print();
目次
・字句解析を自作する
・構文解析1
・構文解析2
・意味解析
・バイトコード生成
・バイナリファイルの出力
・仮想マシンの実装