ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

2018-06-01から1ヶ月間の記事一覧

Writing Compilers and Interpreters: その9

chap6が終了。制御構造とか何にもないけど、変数の代入ができるようになった。 ふと気が付いたんだけど、定数の畳み込みの最適化って、実際にはインタプリタの実装と同じだ。変数のスコープ、演算子の優先順序、型変換等、言語仕様にそって動く物がないと、…

Writing Compilers and Interpreters: その8

手書きパーサー作成中。 BEGIN BEGIN {Temperature conversions.} five := 3; END; END.これのパース結果をxmlで出力できるようになった。こんな単純なのだと良いけど、これから複雑になってきたときにxmlで良いのかは良く分からない。 <COMPOUND line="1"> <COMPOUND line="2"> <ASSIGN line="3"> <VARIABLE id="five" level="0" > <INTEGER_CONSTANT value="3" > </ASSIGN> </COMPOUND> </COMPOUND> あとは…

Writing Compilers and Interpreters: その7

手書きパーサーを作成中。このPascalコードをパースして、 BEGIN BEGIN {Temperature conversions.} five := 3; END; END.fiveを代入先の識別子として認識するところまで来ました。 ====== CROSS-REFERENCE TABLE ====== Identifier Line numbers ----------…