このリポジトリは、Crafting Interpreters に記載されているインタプリタを Rust で実装したプロジェクトです。このプロジェクトの目標は、書籍に記載された Lox プログラミング言語のサブセットを実行するバイトコード仮想マシンを構築することです。
- バイトコード仮想マシン: スタックベースの仮想マシンを実装。
- Lox 言語のサブセット: クラスやメソッドを除いた基本的な機能に焦点を当てています。
- Rust 実装: Rust の特徴を活かした安全かつ効率的な実装。
- 拡張性: 将来的に機能を追加しやすい構造。
- Rust(最新の安定版を推奨)
cargo(Rust に付属しています)
-
このリポジトリをクローンします:
git clone https://github.com/kai-nobutou/crafting_interpreter_rust.git cd crafting_interpreter_rust -
プロジェクトをビルドします:
cargo build
-
テストを実行して正しく動作するか確認します:
cargo test
インタプリタを実行するには、以下のコマンドを使用します:
cargo run -- <loxスクリプトファイル><loxスクリプトファイル> には実行したい Lox スクリプトのパスを指定してください。
また、REPL(対話モード)を開始するには以下を実行します:
cargo run以下の Lox コードを example.lox という名前で保存します:
print "Hello, Lox!";
インタプリタを以下のコマンドで実行します:
cargo run -- example.lox出力例:
Hello, Lox!
このプロジェクトは MIT ライセンスのもとで公開されています。詳細は LICENSE ファイルを参照してください。