以下のような C 言語ライクな構文を持つなんちゃってプログラミング言語を自作する
let x = 10;
let y = 15;
let add = fn(a, b) {
return a + b;
};
[要加筆]
- 変数束縛: let
- return 文: return
let 文と return 文を覗くと全てが式として評価される設計になっている。 識別子も式
add(2, 3) - 5;
!ture;
5 * 5;
4 * 3;
インタプリタが対応していないこと
- マルチバイト文字(monkey は ASCII 文字のみに対応)
- l.ch を byte から rune に変更しなければならない。1文字を読み込むことがやや複雑になってしまう
- 整数以外の数字
- 簡単なものをまずは作る。今後の課題(ブログのネタにでもしよう)
I appreciate you sharing knowledge, Thorsten Ball and Yoji Shidara. Before reading this book, I couldn't imagine I can write interpreter by myself. Thanks a lot!