TinyCのインタプリタを作りかけた

概要

TinyCというCのサブセットのインタプリタを作ったので公開します。
とっても未完成で、しかもたくさんバグがあるのであまり意味はないんだけど、
lexとyaccC++で使ったので、参考になればいいなあと思います。
講義の課題として提出したものです。どんな評価を受けたのかは知りません。
講義ではTinyCの話ばかりしていたのに、試験ではS式をParseする話が出てくるという面白い授業でした。
こんな授業なんか取ってないで、もっと真面目にやるべき授業が色々あるんだけどね。だがそれがいい

このインタプリタの特徴

よくも悪くも特徴がいっぱいあります。Cではエラーになるような表現を普通に実行してしまうので、TinyCとしては不完全なのかもしれません。 

変数の定義

プログラムは全て実行時に評価されるので、C++みたいに、どこでも変数が定義できる。

関数定義

見てのとおり、定義が一文なら中括弧がいらない。

int func()
        return 0;
関数内関数

プログラムは全て実行時に評価されるので、どこでも関数が定義できる。

int main(int x)
{
        int func( int x)
                return x * 2;
        println( func( 2));
}
printfがない

代わりにprintlnという関数を用意しました。