├── .github └── workflows │ ├── ci.yml │ └── pages.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── Taskfile.yml ├── playground ├── .eslintrc.json ├── .gitignore ├── .prettierignore ├── .prettierrc ├── README.md ├── app │ ├── globals.css │ ├── icon.png │ ├── layout.tsx │ ├── page.tsx │ └── worker.ts ├── components.json ├── next.config.js ├── out │ └── .gitkeep ├── package.json ├── pkg │ └── index.js ├── pnpm-lock.yaml ├── postcss.config.js ├── rust │ └── lox-wasm │ │ ├── .gitignore │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── pkg │ │ └── .gitkeep │ │ └── src │ │ └── lib.rs ├── src │ ├── components │ │ └── ui │ │ │ ├── button.tsx │ │ │ ├── resizable.tsx │ │ │ └── scroll-area.tsx │ └── lib │ │ └── utils.ts ├── tailwind.config.ts └── tsconfig.json ├── res ├── benchmarks │ ├── binary_trees.lox │ ├── equality.lox │ ├── fib.lox │ ├── instantiation.lox │ ├── invocation.lox │ ├── method_call.lox │ ├── properties.lox │ ├── string_equality.lox │ ├── trees.lox │ ├── zoo.lox │ └── zoo_batch.lox ├── examples │ ├── assignment │ │ ├── associativity.lox │ │ ├── global.lox │ │ ├── grouping.lox │ │ ├── infix_operator.lox │ │ ├── local.lox │ │ ├── prefix_operator.lox │ │ ├── syntax.lox │ │ ├── to_this.lox │ │ └── undefined.lox │ ├── block │ │ ├── empty.lox │ │ └── scope.lox │ ├── bool │ │ ├── equality.lox │ │ └── not.lox │ ├── call │ │ ├── bool.lox │ │ ├── nil.lox │ │ ├── num.lox │ │ ├── object.lox │ │ └── string.lox │ ├── class │ │ ├── empty.lox │ │ ├── inherit_self.lox │ │ ├── inherited_method.lox │ │ ├── local_inherit_other.lox │ │ ├── local_inherit_self.lox │ │ ├── local_reference_self.lox │ │ └── reference_self.lox │ ├── closure │ │ ├── assign_to_closure.lox │ │ ├── assign_to_shadowed_later.lox │ │ ├── close_over_function_parameter.lox │ │ ├── close_over_later_variable.lox │ │ ├── close_over_method_parameter.lox │ │ ├── closed_closure_in_function.lox │ │ ├── nested_closure.lox │ │ ├── open_closure_in_function.lox │ │ ├── reference_closure_multiple_times.lox │ │ ├── reuse_closure_slot.lox │ │ ├── shadow_closure_with_local.lox │ │ ├── unused_closure.lox │ │ └── unused_later_closure.lox │ ├── comments │ │ ├── line_at_eof.lox │ │ ├── only_line_comment.lox │ │ ├── only_line_comment_and_line.lox │ │ └── unicode.lox │ ├── constructor │ ├── empty_file.lox │ ├── expressions │ │ ├── evaluate.lox │ │ └── parse.lox │ ├── field │ │ ├── call_function_field.lox │ │ ├── call_nonfunction_field.lox │ │ ├── get_and_set_method.lox │ │ ├── get_on_bool.lox │ │ ├── get_on_class.lox │ │ ├── get_on_function.lox │ │ ├── get_on_nil.lox │ │ ├── get_on_num.lox │ │ ├── get_on_string.lox │ │ ├── many.lox │ │ ├── method.lox │ │ ├── method_binds_this.lox │ │ ├── on_instance.lox │ │ ├── set_evaluation_order.lox │ │ ├── set_on_bool.lox │ │ ├── set_on_class.lox │ │ ├── set_on_function.lox │ │ ├── set_on_nil.lox │ │ ├── set_on_num.lox │ │ ├── set_on_string.lox │ │ └── undefined.lox │ ├── for │ │ ├── class_in_body.lox │ │ ├── closure_in_body.lox │ │ ├── fun_in_body.lox │ │ ├── return_closure.lox │ │ ├── return_inside.lox │ │ ├── scope.lox │ │ ├── statement_condition.lox │ │ ├── statement_increment.lox │ │ ├── statement_initializer.lox │ │ ├── syntax.lox │ │ └── var_in_body.lox │ ├── function │ │ ├── body_must_be_block.lox │ │ ├── empty_body.lox │ │ ├── extra_arguments.lox │ │ ├── local_mutual_recursion.lox │ │ ├── local_recursion.lox │ │ ├── missing_arguments.lox │ │ ├── missing_comma_in_parameters.lox │ │ ├── mutual_recursion.lox │ │ ├── nested_call_with_arguments.lox │ │ ├── parameters.lox │ │ ├── print.lox │ │ ├── recursion.lox │ │ ├── too_many_arguments.lox │ │ └── too_many_parameters.lox │ ├── if │ │ ├── class_in_else.lox │ │ ├── class_in_then.lox │ │ ├── dangling_else.lox │ │ ├── else.lox │ │ ├── fun_in_else.lox │ │ ├── fun_in_then.lox │ │ ├── if.lox │ │ ├── truth.lox │ │ ├── var_in_else.lox │ │ └── var_in_then.lox │ ├── inheritance │ │ ├── constructor.lox │ │ ├── inherit_from_function.lox │ │ ├── inherit_from_nil.lox │ │ ├── inherit_from_number.lox │ │ ├── inherit_methods.lox │ │ ├── parenthesized_superclass.lox │ │ └── set_fields_from_base_class.lox │ ├── limit │ │ ├── loop_too_large.lox │ │ ├── stack_overflow.lox │ │ ├── too_many_constants.lox │ │ ├── too_many_locals.lox │ │ └── too_many_upvalues.lox │ ├── logical_operator │ │ ├── and.lox │ │ ├── and_truth.lox │ │ ├── or.lox │ │ └── or_truth.lox │ ├── method │ │ ├── arity.lox │ │ ├── empty_block.lox │ │ ├── extra_arguments.lox │ │ ├── missing_arguments.lox │ │ ├── not_found.lox │ │ ├── print_bound_method.lox │ │ ├── refer_to_name.lox │ │ ├── too_many_arguments.lox │ │ └── too_many_parameters.lox │ ├── nil │ │ └── literal.lox │ ├── number │ │ ├── decimal_point_at_eof.lox │ │ ├── leading_dot.lox │ │ ├── literals.lox │ │ ├── nan_equality.lox │ │ └── trailing_dot.lox │ ├── operator │ │ ├── add.lox │ │ ├── add_bool_nil.lox │ │ ├── add_bool_num.lox │ │ ├── add_bool_string.lox │ │ ├── add_nil_nil.lox │ │ ├── add_num_nil.lox │ │ ├── add_string_nil.lox │ │ ├── comparison.lox │ │ ├── divide.lox │ │ ├── divide_nonnum_num.lox │ │ ├── divide_num_nonnum.lox │ │ ├── equals.lox │ │ ├── equals_class.lox │ │ ├── equals_method.lox │ │ ├── greater_nonnum_num.lox │ │ ├── greater_num_nonnum.lox │ │ ├── greater_or_equal_nonnum_num.lox │ │ ├── greater_or_equal_num_nonnum.lox │ │ ├── less_nonnum_num.lox │ │ ├── less_num_nonnum.lox │ │ ├── less_or_equal_nonnum_num.lox │ │ ├── less_or_equal_num_nonnum.lox │ │ ├── multiply.lox │ │ ├── multiply_nonnum_num.lox │ │ ├── multiply_num_nonnum.lox │ │ ├── negate.lox │ │ ├── negate_nonnum.lox │ │ ├── not.lox │ │ ├── not_class.lox │ │ ├── not_equals.lox │ │ ├── subtract.lox │ │ ├── subtract_nonnum_num.lox │ │ └── subtract_num_nonnum.lox │ ├── precedence.lox │ ├── print │ │ └── missing_argument.lox │ ├── regression │ │ ├── 394.lox │ │ └── 40.lox │ ├── return │ │ ├── after_else.lox │ │ ├── after_if.lox │ │ ├── after_while.lox │ │ ├── at_top_level.lox │ │ ├── in_function.lox │ │ ├── in_method.lox │ │ └── return_nil_if_no_value.lox │ ├── string │ │ ├── error_after_multiline.lox │ │ ├── literals.lox │ │ ├── multiline.lox │ │ └── unterminated.lox │ ├── super │ │ ├── bound_method.lox │ │ ├── call_other_method.lox │ │ ├── call_same_method.lox │ │ ├── closure.lox │ │ ├── constructor.lox │ │ ├── extra_arguments.lox │ │ ├── indirectly_inherited.lox │ │ ├── missing_arguments.lox │ │ ├── no_superclass_bind.lox │ │ ├── no_superclass_call.lox │ │ ├── no_superclass_method.lox │ │ ├── parenthesized.lox │ │ ├── reassign_superclass.lox │ │ ├── super_at_top_level.lox │ │ ├── super_in_closure_in_inherited_method.lox │ │ ├── super_in_inherited_method.lox │ │ ├── super_in_top_level_function.lox │ │ ├── super_without_dot.lox │ │ ├── super_without_name.lox │ │ └── this_in_superclass_method.lox │ ├── this │ │ ├── closure.lox │ │ ├── nested_class.lox │ │ ├── nested_closure.lox │ │ ├── this_at_top_level.lox │ │ ├── this_in_method.lox │ │ └── this_in_top_level_function.lox │ ├── unexpected_character.lox │ ├── variable │ │ ├── collide_with_parameter.lox │ │ ├── duplicate_local.lox │ │ ├── duplicate_parameter.lox │ │ ├── early_bound.lox │ │ ├── in_middle_of_block.lox │ │ ├── in_nested_block.lox │ │ ├── local_from_method.lox │ │ ├── redeclare_global.lox │ │ ├── redefine_global.lox │ │ ├── scope_reuse_in_different_blocks.lox │ │ ├── shadow_and_local.lox │ │ ├── shadow_global.lox │ │ ├── shadow_local.lox │ │ ├── undefined_global.lox │ │ ├── undefined_local.lox │ │ ├── uninitialized.lox │ │ ├── unreached_undefined.lox │ │ ├── use_false_as_var.lox │ │ ├── use_global_in_initializer.lox │ │ ├── use_local_in_initializer.lox │ │ ├── use_nil_as_var.lox │ │ └── use_this_as_var.lox │ └── while │ │ ├── class_in_body.lox │ │ ├── closure_in_body.lox │ │ ├── fun_in_body.lox │ │ ├── return_closure.lox │ │ ├── return_inside.lox │ │ ├── syntax.lox │ │ └── var_in_body.lox └── grammar.lalrpop ├── rustfmt.toml ├── src ├── cmd.rs ├── error.rs ├── lib.rs ├── lsp.rs ├── main.rs ├── playground.rs ├── repl.rs ├── syntax │ ├── ast.rs │ ├── lexer.rs │ ├── mod.rs │ └── parser.rs ├── types.rs └── vm │ ├── allocator.rs │ ├── chunk.rs │ ├── compiler.rs │ ├── gc.rs │ ├── mod.rs │ ├── object.rs │ ├── op.rs │ ├── util.rs │ └── value.rs └── tests └── lang.rs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/.github/workflows/pages.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/README.md -------------------------------------------------------------------------------- /Taskfile.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/Taskfile.yml -------------------------------------------------------------------------------- /playground/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/.eslintrc.json -------------------------------------------------------------------------------- /playground/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/.gitignore -------------------------------------------------------------------------------- /playground/.prettierignore: -------------------------------------------------------------------------------- 1 | rust/ 2 | -------------------------------------------------------------------------------- /playground/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all" 3 | } 4 | -------------------------------------------------------------------------------- /playground/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/README.md -------------------------------------------------------------------------------- /playground/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/app/globals.css -------------------------------------------------------------------------------- /playground/app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/app/icon.png -------------------------------------------------------------------------------- /playground/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/app/layout.tsx -------------------------------------------------------------------------------- /playground/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/app/page.tsx -------------------------------------------------------------------------------- /playground/app/worker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/app/worker.ts -------------------------------------------------------------------------------- /playground/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/components.json -------------------------------------------------------------------------------- /playground/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/next.config.js -------------------------------------------------------------------------------- /playground/out/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /playground/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/package.json -------------------------------------------------------------------------------- /playground/pkg/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /playground/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/pnpm-lock.yaml -------------------------------------------------------------------------------- /playground/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/postcss.config.js -------------------------------------------------------------------------------- /playground/rust/lox-wasm/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/rust/lox-wasm/.gitignore -------------------------------------------------------------------------------- /playground/rust/lox-wasm/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/rust/lox-wasm/Cargo.lock -------------------------------------------------------------------------------- /playground/rust/lox-wasm/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/rust/lox-wasm/Cargo.toml -------------------------------------------------------------------------------- /playground/rust/lox-wasm/pkg/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /playground/rust/lox-wasm/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/rust/lox-wasm/src/lib.rs -------------------------------------------------------------------------------- /playground/src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/src/components/ui/button.tsx -------------------------------------------------------------------------------- /playground/src/components/ui/resizable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/src/components/ui/resizable.tsx -------------------------------------------------------------------------------- /playground/src/components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/src/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /playground/src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/src/lib/utils.ts -------------------------------------------------------------------------------- /playground/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/tailwind.config.ts -------------------------------------------------------------------------------- /playground/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/playground/tsconfig.json -------------------------------------------------------------------------------- /res/benchmarks/binary_trees.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/binary_trees.lox -------------------------------------------------------------------------------- /res/benchmarks/equality.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/equality.lox -------------------------------------------------------------------------------- /res/benchmarks/fib.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/fib.lox -------------------------------------------------------------------------------- /res/benchmarks/instantiation.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/instantiation.lox -------------------------------------------------------------------------------- /res/benchmarks/invocation.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/invocation.lox -------------------------------------------------------------------------------- /res/benchmarks/method_call.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/method_call.lox -------------------------------------------------------------------------------- /res/benchmarks/properties.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/properties.lox -------------------------------------------------------------------------------- /res/benchmarks/string_equality.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/string_equality.lox -------------------------------------------------------------------------------- /res/benchmarks/trees.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/trees.lox -------------------------------------------------------------------------------- /res/benchmarks/zoo.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/zoo.lox -------------------------------------------------------------------------------- /res/benchmarks/zoo_batch.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/benchmarks/zoo_batch.lox -------------------------------------------------------------------------------- /res/examples/assignment/associativity.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/associativity.lox -------------------------------------------------------------------------------- /res/examples/assignment/global.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/global.lox -------------------------------------------------------------------------------- /res/examples/assignment/grouping.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/grouping.lox -------------------------------------------------------------------------------- /res/examples/assignment/infix_operator.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/infix_operator.lox -------------------------------------------------------------------------------- /res/examples/assignment/local.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/local.lox -------------------------------------------------------------------------------- /res/examples/assignment/prefix_operator.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/prefix_operator.lox -------------------------------------------------------------------------------- /res/examples/assignment/syntax.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/syntax.lox -------------------------------------------------------------------------------- /res/examples/assignment/to_this.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/to_this.lox -------------------------------------------------------------------------------- /res/examples/assignment/undefined.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/assignment/undefined.lox -------------------------------------------------------------------------------- /res/examples/block/empty.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/block/empty.lox -------------------------------------------------------------------------------- /res/examples/block/scope.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/block/scope.lox -------------------------------------------------------------------------------- /res/examples/bool/equality.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/bool/equality.lox -------------------------------------------------------------------------------- /res/examples/bool/not.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/bool/not.lox -------------------------------------------------------------------------------- /res/examples/call/bool.lox: -------------------------------------------------------------------------------- 1 | // out: TypeError: "bool" object is not callable 2 | true(); 3 | -------------------------------------------------------------------------------- /res/examples/call/nil.lox: -------------------------------------------------------------------------------- 1 | // out: TypeError: "nil" object is not callable 2 | nil(); 3 | -------------------------------------------------------------------------------- /res/examples/call/num.lox: -------------------------------------------------------------------------------- 1 | // out: TypeError: "number" object is not callable 2 | 123(); 3 | -------------------------------------------------------------------------------- /res/examples/call/object.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/call/object.lox -------------------------------------------------------------------------------- /res/examples/call/string.lox: -------------------------------------------------------------------------------- 1 | // out: TypeError: "string" object is not callable 2 | "str"(); 3 | -------------------------------------------------------------------------------- /res/examples/class/empty.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/empty.lox -------------------------------------------------------------------------------- /res/examples/class/inherit_self.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/inherit_self.lox -------------------------------------------------------------------------------- /res/examples/class/inherited_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/inherited_method.lox -------------------------------------------------------------------------------- /res/examples/class/local_inherit_other.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/local_inherit_other.lox -------------------------------------------------------------------------------- /res/examples/class/local_inherit_self.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/local_inherit_self.lox -------------------------------------------------------------------------------- /res/examples/class/local_reference_self.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/local_reference_self.lox -------------------------------------------------------------------------------- /res/examples/class/reference_self.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/class/reference_self.lox -------------------------------------------------------------------------------- /res/examples/closure/assign_to_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/assign_to_closure.lox -------------------------------------------------------------------------------- /res/examples/closure/assign_to_shadowed_later.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/assign_to_shadowed_later.lox -------------------------------------------------------------------------------- /res/examples/closure/close_over_function_parameter.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/close_over_function_parameter.lox -------------------------------------------------------------------------------- /res/examples/closure/close_over_later_variable.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/close_over_later_variable.lox -------------------------------------------------------------------------------- /res/examples/closure/close_over_method_parameter.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/close_over_method_parameter.lox -------------------------------------------------------------------------------- /res/examples/closure/closed_closure_in_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/closed_closure_in_function.lox -------------------------------------------------------------------------------- /res/examples/closure/nested_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/nested_closure.lox -------------------------------------------------------------------------------- /res/examples/closure/open_closure_in_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/open_closure_in_function.lox -------------------------------------------------------------------------------- /res/examples/closure/reference_closure_multiple_times.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/reference_closure_multiple_times.lox -------------------------------------------------------------------------------- /res/examples/closure/reuse_closure_slot.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/reuse_closure_slot.lox -------------------------------------------------------------------------------- /res/examples/closure/shadow_closure_with_local.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/shadow_closure_with_local.lox -------------------------------------------------------------------------------- /res/examples/closure/unused_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/unused_closure.lox -------------------------------------------------------------------------------- /res/examples/closure/unused_later_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/closure/unused_later_closure.lox -------------------------------------------------------------------------------- /res/examples/comments/line_at_eof.lox: -------------------------------------------------------------------------------- 1 | print "ok"; // out: ok 2 | // comment 3 | -------------------------------------------------------------------------------- /res/examples/comments/only_line_comment.lox: -------------------------------------------------------------------------------- 1 | // comment -------------------------------------------------------------------------------- /res/examples/comments/only_line_comment_and_line.lox: -------------------------------------------------------------------------------- 1 | // comment 2 | -------------------------------------------------------------------------------- /res/examples/comments/unicode.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/comments/unicode.lox -------------------------------------------------------------------------------- /res/examples/constructor/arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/arguments.lox -------------------------------------------------------------------------------- /res/examples/constructor/call_init_early_return.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/call_init_early_return.lox -------------------------------------------------------------------------------- /res/examples/constructor/call_init_explicitly.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/call_init_explicitly.lox -------------------------------------------------------------------------------- /res/examples/constructor/default.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/default.lox -------------------------------------------------------------------------------- /res/examples/constructor/default_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/default_arguments.lox -------------------------------------------------------------------------------- /res/examples/constructor/early_return.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/early_return.lox -------------------------------------------------------------------------------- /res/examples/constructor/extra_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/extra_arguments.lox -------------------------------------------------------------------------------- /res/examples/constructor/init_not_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/init_not_method.lox -------------------------------------------------------------------------------- /res/examples/constructor/missing_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/missing_arguments.lox -------------------------------------------------------------------------------- /res/examples/constructor/return_in_nested_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/return_in_nested_function.lox -------------------------------------------------------------------------------- /res/examples/constructor/return_value.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/constructor/return_value.lox -------------------------------------------------------------------------------- /res/examples/empty_file.lox: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /res/examples/expressions/evaluate.lox: -------------------------------------------------------------------------------- 1 | // out: 2 2 | print (5 - (3 - 1)) + -1; 3 | -------------------------------------------------------------------------------- /res/examples/expressions/parse.lox: -------------------------------------------------------------------------------- 1 | // out: 2 2 | print (5 - (3 - 1)) + -1; 3 | -------------------------------------------------------------------------------- /res/examples/field/call_function_field.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/call_function_field.lox -------------------------------------------------------------------------------- /res/examples/field/call_nonfunction_field.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/call_nonfunction_field.lox -------------------------------------------------------------------------------- /res/examples/field/get_and_set_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_and_set_method.lox -------------------------------------------------------------------------------- /res/examples/field/get_on_bool.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_on_bool.lox -------------------------------------------------------------------------------- /res/examples/field/get_on_class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_on_class.lox -------------------------------------------------------------------------------- /res/examples/field/get_on_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_on_function.lox -------------------------------------------------------------------------------- /res/examples/field/get_on_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_on_nil.lox -------------------------------------------------------------------------------- /res/examples/field/get_on_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_on_num.lox -------------------------------------------------------------------------------- /res/examples/field/get_on_string.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/get_on_string.lox -------------------------------------------------------------------------------- /res/examples/field/many.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/many.lox -------------------------------------------------------------------------------- /res/examples/field/method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/method.lox -------------------------------------------------------------------------------- /res/examples/field/method_binds_this.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/method_binds_this.lox -------------------------------------------------------------------------------- /res/examples/field/on_instance.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/on_instance.lox -------------------------------------------------------------------------------- /res/examples/field/set_evaluation_order.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_evaluation_order.lox -------------------------------------------------------------------------------- /res/examples/field/set_on_bool.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_on_bool.lox -------------------------------------------------------------------------------- /res/examples/field/set_on_class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_on_class.lox -------------------------------------------------------------------------------- /res/examples/field/set_on_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_on_function.lox -------------------------------------------------------------------------------- /res/examples/field/set_on_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_on_nil.lox -------------------------------------------------------------------------------- /res/examples/field/set_on_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_on_num.lox -------------------------------------------------------------------------------- /res/examples/field/set_on_string.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/set_on_string.lox -------------------------------------------------------------------------------- /res/examples/field/undefined.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/field/undefined.lox -------------------------------------------------------------------------------- /res/examples/for/class_in_body.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/class_in_body.lox -------------------------------------------------------------------------------- /res/examples/for/closure_in_body.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/closure_in_body.lox -------------------------------------------------------------------------------- /res/examples/for/fun_in_body.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "fun" 2 | for (;;) fun foo() {} 3 | -------------------------------------------------------------------------------- /res/examples/for/return_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/return_closure.lox -------------------------------------------------------------------------------- /res/examples/for/return_inside.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/return_inside.lox -------------------------------------------------------------------------------- /res/examples/for/scope.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/scope.lox -------------------------------------------------------------------------------- /res/examples/for/statement_condition.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/statement_condition.lox -------------------------------------------------------------------------------- /res/examples/for/statement_increment.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/statement_increment.lox -------------------------------------------------------------------------------- /res/examples/for/statement_initializer.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/statement_initializer.lox -------------------------------------------------------------------------------- /res/examples/for/syntax.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/for/syntax.lox -------------------------------------------------------------------------------- /res/examples/for/var_in_body.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "var" 2 | for (;;) var foo; 3 | -------------------------------------------------------------------------------- /res/examples/function/body_must_be_block.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "123" 2 | fun f() 123; 3 | -------------------------------------------------------------------------------- /res/examples/function/empty_body.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/empty_body.lox -------------------------------------------------------------------------------- /res/examples/function/extra_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/extra_arguments.lox -------------------------------------------------------------------------------- /res/examples/function/local_mutual_recursion.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/local_mutual_recursion.lox -------------------------------------------------------------------------------- /res/examples/function/local_recursion.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/local_recursion.lox -------------------------------------------------------------------------------- /res/examples/function/missing_arguments.lox: -------------------------------------------------------------------------------- 1 | fun f(a, b) {} 2 | 3 | // out: TypeError: f() takes 2 arguments but 1 were given 4 | f(1); 5 | -------------------------------------------------------------------------------- /res/examples/function/missing_comma_in_parameters.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "c" 2 | fun foo(a, b c, d, e, f) {} 3 | -------------------------------------------------------------------------------- /res/examples/function/mutual_recursion.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/mutual_recursion.lox -------------------------------------------------------------------------------- /res/examples/function/nested_call_with_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/nested_call_with_arguments.lox -------------------------------------------------------------------------------- /res/examples/function/parameters.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/parameters.lox -------------------------------------------------------------------------------- /res/examples/function/print.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/print.lox -------------------------------------------------------------------------------- /res/examples/function/recursion.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/recursion.lox -------------------------------------------------------------------------------- /res/examples/function/too_many_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/too_many_arguments.lox -------------------------------------------------------------------------------- /res/examples/function/too_many_parameters.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/function/too_many_parameters.lox -------------------------------------------------------------------------------- /res/examples/if/class_in_else.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/if/class_in_else.lox -------------------------------------------------------------------------------- /res/examples/if/class_in_then.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/if/class_in_then.lox -------------------------------------------------------------------------------- /res/examples/if/dangling_else.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/if/dangling_else.lox -------------------------------------------------------------------------------- /res/examples/if/else.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/if/else.lox -------------------------------------------------------------------------------- /res/examples/if/fun_in_else.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "fun" 2 | if (true) "ok"; else fun foo() {} 3 | -------------------------------------------------------------------------------- /res/examples/if/fun_in_then.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "fun" 2 | if (true) fun foo() {} 3 | -------------------------------------------------------------------------------- /res/examples/if/if.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/if/if.lox -------------------------------------------------------------------------------- /res/examples/if/truth.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/if/truth.lox -------------------------------------------------------------------------------- /res/examples/if/var_in_else.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "var" 2 | if (true) "ok"; else var foo; 3 | -------------------------------------------------------------------------------- /res/examples/if/var_in_then.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "var" 2 | if (true) var foo; 3 | -------------------------------------------------------------------------------- /res/examples/inheritance/constructor.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/constructor.lox -------------------------------------------------------------------------------- /res/examples/inheritance/inherit_from_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/inherit_from_function.lox -------------------------------------------------------------------------------- /res/examples/inheritance/inherit_from_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/inherit_from_nil.lox -------------------------------------------------------------------------------- /res/examples/inheritance/inherit_from_number.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/inherit_from_number.lox -------------------------------------------------------------------------------- /res/examples/inheritance/inherit_methods.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/inherit_methods.lox -------------------------------------------------------------------------------- /res/examples/inheritance/parenthesized_superclass.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/parenthesized_superclass.lox -------------------------------------------------------------------------------- /res/examples/inheritance/set_fields_from_base_class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/inheritance/set_fields_from_base_class.lox -------------------------------------------------------------------------------- /res/examples/limit/loop_too_large.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/limit/loop_too_large.lox -------------------------------------------------------------------------------- /res/examples/limit/stack_overflow.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/limit/stack_overflow.lox -------------------------------------------------------------------------------- /res/examples/limit/too_many_constants.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/limit/too_many_constants.lox -------------------------------------------------------------------------------- /res/examples/limit/too_many_locals.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/limit/too_many_locals.lox -------------------------------------------------------------------------------- /res/examples/limit/too_many_upvalues.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/limit/too_many_upvalues.lox -------------------------------------------------------------------------------- /res/examples/logical_operator/and.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/logical_operator/and.lox -------------------------------------------------------------------------------- /res/examples/logical_operator/and_truth.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/logical_operator/and_truth.lox -------------------------------------------------------------------------------- /res/examples/logical_operator/or.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/logical_operator/or.lox -------------------------------------------------------------------------------- /res/examples/logical_operator/or_truth.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/logical_operator/or_truth.lox -------------------------------------------------------------------------------- /res/examples/method/arity.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/arity.lox -------------------------------------------------------------------------------- /res/examples/method/empty_block.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/empty_block.lox -------------------------------------------------------------------------------- /res/examples/method/extra_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/extra_arguments.lox -------------------------------------------------------------------------------- /res/examples/method/missing_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/missing_arguments.lox -------------------------------------------------------------------------------- /res/examples/method/not_found.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/not_found.lox -------------------------------------------------------------------------------- /res/examples/method/print_bound_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/print_bound_method.lox -------------------------------------------------------------------------------- /res/examples/method/refer_to_name.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/refer_to_name.lox -------------------------------------------------------------------------------- /res/examples/method/too_many_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/too_many_arguments.lox -------------------------------------------------------------------------------- /res/examples/method/too_many_parameters.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/method/too_many_parameters.lox -------------------------------------------------------------------------------- /res/examples/nil/literal.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/nil/literal.lox -------------------------------------------------------------------------------- /res/examples/number/decimal_point_at_eof.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected end of file 2 | 123. 3 | -------------------------------------------------------------------------------- /res/examples/number/leading_dot.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "." 2 | .123; 3 | -------------------------------------------------------------------------------- /res/examples/number/literals.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/number/literals.lox -------------------------------------------------------------------------------- /res/examples/number/nan_equality.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/number/nan_equality.lox -------------------------------------------------------------------------------- /res/examples/number/trailing_dot.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected ";" 2 | 123.; 3 | -------------------------------------------------------------------------------- /res/examples/operator/add.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add.lox -------------------------------------------------------------------------------- /res/examples/operator/add_bool_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add_bool_nil.lox -------------------------------------------------------------------------------- /res/examples/operator/add_bool_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add_bool_num.lox -------------------------------------------------------------------------------- /res/examples/operator/add_bool_string.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add_bool_string.lox -------------------------------------------------------------------------------- /res/examples/operator/add_nil_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add_nil_nil.lox -------------------------------------------------------------------------------- /res/examples/operator/add_num_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add_num_nil.lox -------------------------------------------------------------------------------- /res/examples/operator/add_string_nil.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/add_string_nil.lox -------------------------------------------------------------------------------- /res/examples/operator/comparison.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/comparison.lox -------------------------------------------------------------------------------- /res/examples/operator/divide.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/divide.lox -------------------------------------------------------------------------------- /res/examples/operator/divide_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/divide_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/divide_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/divide_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/operator/equals.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/equals.lox -------------------------------------------------------------------------------- /res/examples/operator/equals_class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/equals_class.lox -------------------------------------------------------------------------------- /res/examples/operator/equals_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/equals_method.lox -------------------------------------------------------------------------------- /res/examples/operator/greater_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/greater_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/greater_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/greater_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/operator/greater_or_equal_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/greater_or_equal_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/greater_or_equal_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/greater_or_equal_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/operator/less_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/less_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/less_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/less_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/operator/less_or_equal_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/less_or_equal_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/less_or_equal_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/less_or_equal_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/operator/multiply.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/multiply.lox -------------------------------------------------------------------------------- /res/examples/operator/multiply_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/multiply_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/multiply_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/multiply_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/operator/negate.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/negate.lox -------------------------------------------------------------------------------- /res/examples/operator/negate_nonnum.lox: -------------------------------------------------------------------------------- 1 | // out: TypeError: unsupported operand type for -: "string" 2 | -"s"; 3 | -------------------------------------------------------------------------------- /res/examples/operator/not.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/not.lox -------------------------------------------------------------------------------- /res/examples/operator/not_class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/not_class.lox -------------------------------------------------------------------------------- /res/examples/operator/not_equals.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/not_equals.lox -------------------------------------------------------------------------------- /res/examples/operator/subtract.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/subtract.lox -------------------------------------------------------------------------------- /res/examples/operator/subtract_nonnum_num.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/subtract_nonnum_num.lox -------------------------------------------------------------------------------- /res/examples/operator/subtract_num_nonnum.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/operator/subtract_num_nonnum.lox -------------------------------------------------------------------------------- /res/examples/precedence.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/precedence.lox -------------------------------------------------------------------------------- /res/examples/print/missing_argument.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected ";" 2 | print; 3 | -------------------------------------------------------------------------------- /res/examples/regression/394.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/regression/394.lox -------------------------------------------------------------------------------- /res/examples/regression/40.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/regression/40.lox -------------------------------------------------------------------------------- /res/examples/return/after_else.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/return/after_else.lox -------------------------------------------------------------------------------- /res/examples/return/after_if.lox: -------------------------------------------------------------------------------- 1 | fun f() { 2 | if (true) return "ok"; 3 | } 4 | 5 | print f(); // out: ok 6 | -------------------------------------------------------------------------------- /res/examples/return/after_while.lox: -------------------------------------------------------------------------------- 1 | fun f() { 2 | while (true) return "ok"; 3 | } 4 | 5 | print f(); // out: ok 6 | -------------------------------------------------------------------------------- /res/examples/return/at_top_level.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/return/at_top_level.lox -------------------------------------------------------------------------------- /res/examples/return/in_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/return/in_function.lox -------------------------------------------------------------------------------- /res/examples/return/in_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/return/in_method.lox -------------------------------------------------------------------------------- /res/examples/return/return_nil_if_no_value.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/return/return_nil_if_no_value.lox -------------------------------------------------------------------------------- /res/examples/string/error_after_multiline.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/string/error_after_multiline.lox -------------------------------------------------------------------------------- /res/examples/string/literals.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/string/literals.lox -------------------------------------------------------------------------------- /res/examples/string/multiline.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/string/multiline.lox -------------------------------------------------------------------------------- /res/examples/string/unterminated.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/string/unterminated.lox -------------------------------------------------------------------------------- /res/examples/super/bound_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/bound_method.lox -------------------------------------------------------------------------------- /res/examples/super/call_other_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/call_other_method.lox -------------------------------------------------------------------------------- /res/examples/super/call_same_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/call_same_method.lox -------------------------------------------------------------------------------- /res/examples/super/closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/closure.lox -------------------------------------------------------------------------------- /res/examples/super/constructor.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/constructor.lox -------------------------------------------------------------------------------- /res/examples/super/extra_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/extra_arguments.lox -------------------------------------------------------------------------------- /res/examples/super/indirectly_inherited.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/indirectly_inherited.lox -------------------------------------------------------------------------------- /res/examples/super/missing_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/missing_arguments.lox -------------------------------------------------------------------------------- /res/examples/super/no_superclass_bind.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/no_superclass_bind.lox -------------------------------------------------------------------------------- /res/examples/super/no_superclass_call.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/no_superclass_call.lox -------------------------------------------------------------------------------- /res/examples/super/no_superclass_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/no_superclass_method.lox -------------------------------------------------------------------------------- /res/examples/super/parenthesized.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/parenthesized.lox -------------------------------------------------------------------------------- /res/examples/super/reassign_superclass.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/reassign_superclass.lox -------------------------------------------------------------------------------- /res/examples/super/super_at_top_level.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/super_at_top_level.lox -------------------------------------------------------------------------------- /res/examples/super/super_in_closure_in_inherited_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/super_in_closure_in_inherited_method.lox -------------------------------------------------------------------------------- /res/examples/super/super_in_inherited_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/super_in_inherited_method.lox -------------------------------------------------------------------------------- /res/examples/super/super_in_top_level_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/super_in_top_level_function.lox -------------------------------------------------------------------------------- /res/examples/super/super_without_dot.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/super_without_dot.lox -------------------------------------------------------------------------------- /res/examples/super/super_without_name.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/super_without_name.lox -------------------------------------------------------------------------------- /res/examples/super/this_in_superclass_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/super/this_in_superclass_method.lox -------------------------------------------------------------------------------- /res/examples/this/closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/this/closure.lox -------------------------------------------------------------------------------- /res/examples/this/nested_class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/this/nested_class.lox -------------------------------------------------------------------------------- /res/examples/this/nested_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/this/nested_closure.lox -------------------------------------------------------------------------------- /res/examples/this/this_at_top_level.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/this/this_at_top_level.lox -------------------------------------------------------------------------------- /res/examples/this/this_in_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/this/this_in_method.lox -------------------------------------------------------------------------------- /res/examples/this/this_in_top_level_function.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/this/this_in_top_level_function.lox -------------------------------------------------------------------------------- /res/examples/unexpected_character.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected input 2 | foo(a | b); 3 | -------------------------------------------------------------------------------- /res/examples/variable/collide_with_parameter.lox: -------------------------------------------------------------------------------- 1 | fun foo(a) { 2 | var a; // out: NameError: name "a" is already defined 3 | } 4 | -------------------------------------------------------------------------------- /res/examples/variable/duplicate_local.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/duplicate_local.lox -------------------------------------------------------------------------------- /res/examples/variable/duplicate_parameter.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/duplicate_parameter.lox -------------------------------------------------------------------------------- /res/examples/variable/early_bound.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/early_bound.lox -------------------------------------------------------------------------------- /res/examples/variable/in_middle_of_block.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/in_middle_of_block.lox -------------------------------------------------------------------------------- /res/examples/variable/in_nested_block.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/in_nested_block.lox -------------------------------------------------------------------------------- /res/examples/variable/local_from_method.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/local_from_method.lox -------------------------------------------------------------------------------- /res/examples/variable/redeclare_global.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/redeclare_global.lox -------------------------------------------------------------------------------- /res/examples/variable/redefine_global.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/redefine_global.lox -------------------------------------------------------------------------------- /res/examples/variable/scope_reuse_in_different_blocks.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/scope_reuse_in_different_blocks.lox -------------------------------------------------------------------------------- /res/examples/variable/shadow_and_local.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/shadow_and_local.lox -------------------------------------------------------------------------------- /res/examples/variable/shadow_global.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/shadow_global.lox -------------------------------------------------------------------------------- /res/examples/variable/shadow_local.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/shadow_local.lox -------------------------------------------------------------------------------- /res/examples/variable/undefined_global.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/undefined_global.lox -------------------------------------------------------------------------------- /res/examples/variable/undefined_local.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/undefined_local.lox -------------------------------------------------------------------------------- /res/examples/variable/uninitialized.lox: -------------------------------------------------------------------------------- 1 | var a; 2 | print a; // out: nil 3 | -------------------------------------------------------------------------------- /res/examples/variable/unreached_undefined.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/unreached_undefined.lox -------------------------------------------------------------------------------- /res/examples/variable/use_false_as_var.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/use_false_as_var.lox -------------------------------------------------------------------------------- /res/examples/variable/use_global_in_initializer.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/use_global_in_initializer.lox -------------------------------------------------------------------------------- /res/examples/variable/use_local_in_initializer.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/use_local_in_initializer.lox -------------------------------------------------------------------------------- /res/examples/variable/use_nil_as_var.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "nil" 2 | var nil = "value"; 3 | -------------------------------------------------------------------------------- /res/examples/variable/use_this_as_var.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/variable/use_this_as_var.lox -------------------------------------------------------------------------------- /res/examples/while/class_in_body.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/while/class_in_body.lox -------------------------------------------------------------------------------- /res/examples/while/closure_in_body.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/while/closure_in_body.lox -------------------------------------------------------------------------------- /res/examples/while/fun_in_body.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "fun" 2 | while (true) fun foo() {} 3 | -------------------------------------------------------------------------------- /res/examples/while/return_closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/while/return_closure.lox -------------------------------------------------------------------------------- /res/examples/while/return_inside.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/while/return_inside.lox -------------------------------------------------------------------------------- /res/examples/while/syntax.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/examples/while/syntax.lox -------------------------------------------------------------------------------- /res/examples/while/var_in_body.lox: -------------------------------------------------------------------------------- 1 | // out: SyntaxError: unexpected "var" 2 | while (true) var foo; 3 | -------------------------------------------------------------------------------- /res/grammar.lalrpop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/res/grammar.lalrpop -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/cmd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/cmd.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/lsp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/lsp.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/playground.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/playground.rs -------------------------------------------------------------------------------- /src/repl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/repl.rs -------------------------------------------------------------------------------- /src/syntax/ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/syntax/ast.rs -------------------------------------------------------------------------------- /src/syntax/lexer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/syntax/lexer.rs -------------------------------------------------------------------------------- /src/syntax/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/syntax/mod.rs -------------------------------------------------------------------------------- /src/syntax/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/syntax/parser.rs -------------------------------------------------------------------------------- /src/types.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/types.rs -------------------------------------------------------------------------------- /src/vm/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/allocator.rs -------------------------------------------------------------------------------- /src/vm/chunk.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/chunk.rs -------------------------------------------------------------------------------- /src/vm/compiler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/compiler.rs -------------------------------------------------------------------------------- /src/vm/gc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/gc.rs -------------------------------------------------------------------------------- /src/vm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/mod.rs -------------------------------------------------------------------------------- /src/vm/object.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/object.rs -------------------------------------------------------------------------------- /src/vm/op.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/op.rs -------------------------------------------------------------------------------- /src/vm/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/util.rs -------------------------------------------------------------------------------- /src/vm/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/src/vm/value.rs -------------------------------------------------------------------------------- /tests/lang.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ajeetdsouza/loxcraft/HEAD/tests/lang.rs --------------------------------------------------------------------------------