字句解析

04 REPLを作成し字句解析を行う [オリジナル言語インタプリタを作る]

REPLを作成し字句解析を行う 前回までで字句解析器の実装はひとまず完了となりました。ただ、ここまではエントリポイントとなる main() の実装を行っていません。 字句解析器を作成し、その動作をテストコードで確認しただけでした。なのでデフォルトのメイン関数の実装が残ったままで、おそらく実行すると “Hello World” が出力されるだけです。 今回は REPL を作成 […]

03 字句解析器(Lexer) の実装完了 [オリジナル言語インタプリタを作る]

字句解析器の実装続き 続けて新たなテストを作成し、プログラムのソースコードに似た入力からトークン列を得られるようにしていきましょう。テストする入力データは以下の通り。 let five = 5; let ten = 10; let add = fn(x, y) { x + y; }; let result = add(five, ten); 早速テストコードを書きます。 LexerTest.cs […]

02 トークンと字句解析器の役割と実装 [オリジナル言語インタプリタを作る]

トークンと字句解析器の役割と実装 ここではトークンと字句解析器の実装を行います。 インタプリタがソースコードを実行するまでの流れ インタプリタはソースコードを入力として受け取り、それを実行します。コンパイラと違い実行形式のファイルを生成したりはせず、すぐにコードを実行します。 入力から実行までの大まかな流れは以下の通りです。 ソースコード(文字列)を入力として受け取る 字句解析によりトークン列を取 […]