├── .gitignore ├── .rustfmt.toml ├── Cargo.toml ├── LICENCE ├── README.md ├── fixtures ├── classes_1.cbox ├── classes_2.cbox ├── classes_3.cbox ├── classes_4.cbox ├── classes_5.cbox ├── classes_6.cbox ├── classes_7.cbox ├── counter.cbox ├── fibonacci.cbox ├── for_loop.cbox ├── global_block.cbox └── scope.cbox └── src ├── ast ├── core.rs ├── mod.rs └── visitor.rs ├── ast_printer.rs ├── interpreter ├── clock.rs ├── core.rs ├── environment.rs ├── mod.rs └── print.rs ├── lexer ├── core.rs ├── mod.rs └── token.rs ├── lib.rs ├── main.rs ├── parser ├── core.rs └── mod.rs └── resolver ├── core.rs └── mod.rs /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | Cargo.lock 3 | .vscode/ 4 | *.bk 5 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | reorder_imported_names = true 2 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/LICENCE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/README.md -------------------------------------------------------------------------------- /fixtures/classes_1.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_1.cbox -------------------------------------------------------------------------------- /fixtures/classes_2.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_2.cbox -------------------------------------------------------------------------------- /fixtures/classes_3.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_3.cbox -------------------------------------------------------------------------------- /fixtures/classes_4.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_4.cbox -------------------------------------------------------------------------------- /fixtures/classes_5.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_5.cbox -------------------------------------------------------------------------------- /fixtures/classes_6.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_6.cbox -------------------------------------------------------------------------------- /fixtures/classes_7.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/classes_7.cbox -------------------------------------------------------------------------------- /fixtures/counter.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/counter.cbox -------------------------------------------------------------------------------- /fixtures/fibonacci.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/fibonacci.cbox -------------------------------------------------------------------------------- /fixtures/for_loop.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/for_loop.cbox -------------------------------------------------------------------------------- /fixtures/global_block.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/global_block.cbox -------------------------------------------------------------------------------- /fixtures/scope.cbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/fixtures/scope.cbox -------------------------------------------------------------------------------- /src/ast/core.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/ast/core.rs -------------------------------------------------------------------------------- /src/ast/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/ast/mod.rs -------------------------------------------------------------------------------- /src/ast/visitor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/ast/visitor.rs -------------------------------------------------------------------------------- /src/ast_printer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/ast_printer.rs -------------------------------------------------------------------------------- /src/interpreter/clock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/interpreter/clock.rs -------------------------------------------------------------------------------- /src/interpreter/core.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/interpreter/core.rs -------------------------------------------------------------------------------- /src/interpreter/environment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/interpreter/environment.rs -------------------------------------------------------------------------------- /src/interpreter/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/interpreter/mod.rs -------------------------------------------------------------------------------- /src/interpreter/print.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/interpreter/print.rs -------------------------------------------------------------------------------- /src/lexer/core.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/lexer/core.rs -------------------------------------------------------------------------------- /src/lexer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/lexer/mod.rs -------------------------------------------------------------------------------- /src/lexer/token.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/lexer/token.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/parser/core.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/parser/core.rs -------------------------------------------------------------------------------- /src/parser/mod.rs: -------------------------------------------------------------------------------- 1 | pub use self::core::Parser; 2 | 3 | mod core; 4 | -------------------------------------------------------------------------------- /src/resolver/core.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AaronStGeorge/cat-lox/HEAD/src/resolver/core.rs -------------------------------------------------------------------------------- /src/resolver/mod.rs: -------------------------------------------------------------------------------- 1 | pub use self::core::resolve; 2 | 3 | mod core; 4 | --------------------------------------------------------------------------------