mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです. 真に受けないでください.

2018-12-06

shiki

大学でプログラミング言語とその処理系を実装する実験をやっていて, Rust-likeな構文を持つ小さな動的型付け自作言語「shiki」*1とそのインタプリタをRustで作っている. 折角一から言語を設計するのでlexerもparserも自作しようと思って, lexやyaccを頼らず自力で実装している.

最初のうちは同じようにRustでインタプリタを実装しているわだまるさんの tsuyoshiwada/rs-monkey-langを参考に書いていた. けど字句解析や構文解析の方法が全然分からないまま手を動かしていて, 流石にこれでは良くないねということで Writing An Interpreter In Go を購入して読むことにした. ただ書写するのではなく, ちゃんと背景を知った上でインタプリタを実装できるようにするのが当面の目標. とりあえず土日はこれ読んで勉強します.

*1:名前の由来は式指向言語とゆゆ式の「式」から