mini-Pythonインタープリタその1
先週Tokenizerを書き終わって今Parserを書いている。下向き構文解析は全部メソッド書き下さないと動作しないのが辛いところ。文法定義に従ってトップダウン的に各パースメソッドを書いていって、その後、構文木等データの実装して、細かいメソッドを実装する予定。ここまでたどり着かないとコンパイルすらできない。先は長い。
某はらけんとペアを組む予定だったが話し合いの結果別々にやることになった。新しくペアを作るかどうかは検討中。
僕の方針としては
こんな感じ。教員がサンプルをCで書いているため提供された構文木の定義もCで書かれているのでオールC++で書くのは辛いところだ。しかしSTL使わないで書くとなると大変だよね。某氏のように「クラスは構造体」なスタンスでそこだけC++で書けばいいと思うけど。
今引っかかっているのは名前。教員のサンプルは変数名や関数名を省略しているので初見だと分からなかった。
- stmt = statement
- u_expr = unary expression
- a_expr = add / sub expression
しかしコーディング中に辞書引いてると「僕何やってるんだろう」と思ってしまう……。*2