Cargo.lock | 90 ++++++- Cargo.toml | 1 + crates/ast/src/parse_expression.rs | 18 +- crates/ast/src/parse_statement.rs | 29 ++- crates/ast/src/types.rs | 12 +- crates/cli/Cargo.toml | 1 + crates/cli/src/main.rs | 8 +- crates/js_ast/Cargo.toml | 4 + crates/js_ast/src/lib.rs | 406 ++++++++++++++++++++++++++++++++ crates/js_ast/src/types.rs | 53 +++++ crates/js_printer/Cargo.toml | 4 +- crates/js_printer/src/lib.rs | 137 +---------- crates/js_printer/src/print_expression.rs | 261 ++++++++++++++++++++ crates/js_printer/src/print_statement.rs | 145 ++++++++++++ crates/tokenizer/src/lib.rs | 14 +- crates/util/src/lib.rs | 6 +- examples/basics/fib.blight | 10 +- examples/basics/shadowing.blight | 12 + examples/basics/weird.blight | 13 + 19 files changed, 1049 insertions(+), 175 deletions(-)