開発いろいろ

3/3ページ

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 トークンと字句解析器の役割と実装 [オリジナル言語インタプリタを作る]

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

01 オリジナル言語のインタプリタを作る

オリジナルのプログラミング言語を開発してみる プログラミング言語を自分で開発するということは、プログラマなら一度は興味を持つことではないでしょうか。 興味を持ったが吉日ということで、よさげな書籍を参考にして、自分で1からプログラミング言語を開発してみます。 Go言語でつくるインタプリタ | Thorsten Ball, 設樂 洋爾 |本 | 通販 | Amazon 参考にするのは上記の書籍です。タ […]

1 3