実装の記録
-
Go 言語で作るインタプリタ
字句解析
->構文解析
->評価
をどのように実装していくか学べた。基本的には、AST を構築して、次のフェーズに渡すような実装で、テストを随時足しながら進めた。- 構文解析に利用したアルゴリズムは、「Pratt 構文解析」。演算子の優先順位を持って、結合力の優劣を判定。
-
- Web の仕様や参考文献を確認しながら、HTML/CSS のパース処理やレンダリングツリーの構築などを学べた。
- V8 を埋め込んで、JS を動かすのが参考実装通りだと動かなかったので、一旦諦め。
-
Tutorial: Implementing JSON parsing (Rust)
- 簡易的な JSON パース処理を実装した。
- RFC8259 参照。