Lox 0.02 Latest
Files
- LICENSE
- MANIFEST
- META.json
- META.yml
- Makefile.PL
- README.md
- bin/plox
- cpanfile
- lib/Lox.pm
- lib/Lox/AstPrinter.pm
- lib/Lox/Bool.pm
- lib/Lox/Callable.pm
- lib/Lox/Class.pm
- lib/Lox/Environment.pm
- lib/Lox/Expr.pm
- lib/Lox/Function.pm
- lib/Lox/Instance.pm
- lib/Lox/Interpreter.pm
- lib/Lox/Nil.pm
- lib/Lox/Parser.pm
- lib/Lox/Resolver.pm
- lib/Lox/Scanner.pm
- lib/Lox/Stmt.pm
- lib/Lox/String.pm
- lib/Lox/Token.pm
- lib/Lox/TokenType.pm
- t/Lox.t
- t/Lox/Bool.t
- t/Lox/Nil.t
- t/Lox/String.t
- t/Lox/TokenType.t
- t/plox.t
- test/assignment/associativity.lox
- test/assignment/global.lox
- test/assignment/grouping.lox
- test/assignment/infix_operator.lox
- test/assignment/local.lox
- test/assignment/prefix_operator.lox
- test/assignment/syntax.lox
- test/assignment/to_this.lox
- test/assignment/undefined.lox
- test/benchmark/binary_trees.lox
- test/benchmark/equality.lox
- test/benchmark/fib.lox
- test/benchmark/instantiation.lox
- test/benchmark/invocation.lox
- test/benchmark/method_call.lox
- test/benchmark/properties.lox
- test/benchmark/string_equality.lox
- test/benchmark/trees.lox
- test/benchmark/zoo.lox
- test/block/empty.lox
- test/block/scope.lox
- test/bool/equality.lox
- test/bool/not.lox
- test/break/for.lox
- test/break/in_block.lox
- test/break/outside_loop.lox
- test/break/while.lox
- test/call/bool.lox
- test/call/nil.lox
- test/call/num.lox
- test/call/object.lox
- test/call/string.lox
- test/class/empty.lox
- test/class/inherit_self.lox
- test/class/inherited_method.lox
- test/class/local_inherit_other.lox
- test/class/local_inherit_self.lox
- test/class/local_reference_self.lox
- test/class/reference_self.lox
- test/closure/assign_to_closure.lox
- test/closure/assign_to_shadowed_later.lox
- test/closure/close_over_function_parameter.lox
- test/closure/close_over_later_variable.lox
- test/closure/close_over_method_parameter.lox
- test/closure/closed_closure_in_function.lox
- test/closure/nested_closure.lox
- test/closure/open_closure_in_function.lox
- test/closure/reference_closure_multiple_times.lox
- test/closure/reuse_closure_slot.lox
- test/closure/shadow_closure_with_local.lox
- test/closure/unused_closure.lox
- test/closure/unused_later_closure.lox
- test/comments/line_at_eof.lox
- test/comments/multiline.lox
- test/comments/multiline_multiple.lox
- test/comments/multiline_nested.lox
- test/comments/multiline_unterminated.lox
- test/comments/only_line_comment.lox
- test/comments/only_line_comment_and_line.lox
- test/comments/unicode.lox
- test/constructor/arguments.lox
- test/constructor/call_init_early_return.lox
- test/constructor/call_init_explicitly.lox
- test/constructor/default.lox
- test/constructor/default_arguments.lox
- test/constructor/early_return.lox
- test/constructor/extra_arguments.lox
- test/constructor/init_not_method.lox
- test/constructor/missing_arguments.lox
- test/constructor/return_in_nested_function.lox
- test/constructor/return_value.lox
- test/empty_file.lox
- test/field/call_function_field.lox
- test/field/call_nonfunction_field.lox
- test/field/get_and_set_method.lox
- test/field/get_on_bool.lox
- test/field/get_on_class.lox
- test/field/get_on_function.lox
- test/field/get_on_nil.lox
- test/field/get_on_num.lox
- test/field/get_on_string.lox
- test/field/many.lox
- test/field/method.lox
- test/field/method_binds_this.lox
- test/field/on_instance.lox
- test/field/set_evaluation_order.lox
- test/field/set_on_bool.lox
- test/field/set_on_class.lox
- test/field/set_on_function.lox
- test/field/set_on_nil.lox
- test/field/set_on_num.lox
- test/field/set_on_string.lox
- test/field/undefined.lox
- test/for/class_in_body.lox
- test/for/closure_in_body.lox
- test/for/fun_in_body.lox
- test/for/return_closure.lox
- test/for/return_inside.lox
- test/for/scope.lox
- test/for/statement_condition.lox
- test/for/statement_increment.lox
- test/for/statement_initializer.lox
- test/for/syntax.lox
- test/for/var_in_body.lox
- test/function/body_must_be_block.lox
- test/function/empty_body.lox
- test/function/extra_arguments.lox
- test/function/local_mutual_recursion.lox
- test/function/local_recursion.lox
- test/function/missing_arguments.lox
- test/function/missing_comma_in_parameters.lox
- test/function/mutual_recursion.lox
- test/function/parameters.lox
- test/function/print.lox
- test/function/recursion.lox
- test/function/too_many_arguments.lox
- test/function/too_many_parameters.lox
- test/if/class_in_else.lox
- test/if/class_in_then.lox
- test/if/dangling_else.lox
- test/if/else.lox
- test/if/fun_in_else.lox
- test/if/fun_in_then.lox
- test/if/if.lox
- test/if/truth.lox
- test/if/var_in_else.lox
- test/if/var_in_then.lox
- test/inheritance/constructor.lox
- test/inheritance/inherit_from_function.lox
- test/inheritance/inherit_from_nil.lox
- test/inheritance/inherit_from_number.lox
- test/inheritance/inherit_methods.lox
- test/inheritance/parenthesized_superclass.lox
- test/inheritance/set_fields_from_base_class.lox
- test/lambda/body_must_be_block.lox
- test/lambda/empty_body.lox
- test/lambda/extra_arguments.lox
- test/lambda/local_mutual_recursion.lox
- test/lambda/local_recursion.lox
- test/lambda/missing_arguments.lox
- test/lambda/missing_comma_in_parameters.lox
- test/lambda/mutual_recursion.lox
- test/lambda/parameters.lox
- test/lambda/print.lox
- test/lambda/recursion.lox
- test/lambda/too_many_arguments.lox
- test/lambda/too_many_parameters.lox
- test/logical_operator/and.lox
- test/logical_operator/and_truth.lox
- test/logical_operator/or.lox
- test/logical_operator/or_truth.lox
- test/method/arity.lox
- test/method/empty_block.lox
- test/method/extra_arguments.lox
- test/method/missing_arguments.lox
- test/method/not_found.lox
- test/method/print_bound_method.lox
- test/method/refer_to_name.lox
- test/method/too_many_arguments.lox
- test/method/too_many_parameters.lox
- test/nil/literal.lox
- test/number/decimal_point_at_eof.lox
- test/number/leading_dot.lox
- test/number/literals.lox
- test/number/nan_equality.lox
- test/number/trailing_dot.lox
- test/operator/add.lox
- test/operator/add_bool_nil.lox
- test/operator/add_bool_num.lox
- test/operator/add_bool_string.lox
- test/operator/add_nil_nil.lox
- test/operator/add_num_nil.lox
- test/operator/add_string_nil.lox
- test/operator/comparison.lox
- test/operator/divide.lox
- test/operator/divide_nonnum_num.lox
- test/operator/divide_num_nonnum.lox
- test/operator/equals.lox
- test/operator/equals_class.lox
- test/operator/equals_method.lox
- test/operator/greater_nonnum_num.lox
- test/operator/greater_num_nonnum.lox
- test/operator/greater_or_equal_nonnum_num.lox
- test/operator/greater_or_equal_num_nonnum.lox
- test/operator/less_nonnum_num.lox
- test/operator/less_num_nonnum.lox
- test/operator/less_or_equal_nonnum_num.lox
- test/operator/less_or_equal_num_nonnum.lox
- test/operator/multiply.lox
- test/operator/multiply_nonnum_num.lox
- test/operator/multiply_num_nonnum.lox
- test/operator/negate.lox
- test/operator/negate_nonnum.lox
- test/operator/not.lox
- test/operator/not_class.lox
- test/operator/not_equals.lox
- test/operator/subtract.lox
- test/operator/subtract_nonnum_num.lox
- test/operator/subtract_num_nonnum.lox
- test/precedence.lox
- test/print/missing_argument.lox
- test/regression/394.lox
- test/regression/40.lox
- test/return/after_else.lox
- test/return/after_if.lox
- test/return/after_while.lox
- test/return/at_top_level.lox
- test/return/in_function.lox
- test/return/in_method.lox
- test/return/return_nil_if_no_value.lox
- test/string/error_after_multiline.lox
- test/string/literals.lox
- test/string/multiline.lox
- test/string/unterminated.lox
- test/super/bound_method.lox
- test/super/call_other_method.lox
- test/super/call_same_method.lox
- test/super/closure.lox
- test/super/constructor.lox
- test/super/extra_arguments.lox
- test/super/indirectly_inherited.lox
- test/super/missing_arguments.lox
- test/super/no_superclass_bind.lox
- test/super/no_superclass_call.lox
- test/super/no_superclass_method.lox
- test/super/parenthesized.lox
- test/super/reassign_superclass.lox
- test/super/super_at_top_level.lox
- test/super/super_in_closure_in_inherited_method.lox
- test/super/super_in_inherited_method.lox
- test/super/super_in_top_level_function.lox
- test/super/super_without_dot.lox
- test/super/super_without_name.lox
- test/super/this_in_superclass_method.lox
- test/this/closure.lox
- test/this/nested_class.lox
- test/this/nested_closure.lox
- test/this/this_at_top_level.lox
- test/this/this_in_method.lox
- test/this/this_in_top_level_function.lox
- test/unexpected_character.lox
- test/variable/collide_with_parameter.lox
- test/variable/duplicate_local.lox
- test/variable/duplicate_parameter.lox
- test/variable/early_bound.lox
- test/variable/in_middle_of_block.lox
- test/variable/in_nested_block.lox
- test/variable/local_from_method.lox
- test/variable/redeclare_global.lox
- test/variable/redefine_global.lox
- test/variable/scope_reuse_in_different_blocks.lox
- test/variable/shadow_and_local.lox
- test/variable/shadow_global.lox
- test/variable/shadow_local.lox
- test/variable/undefined_global.lox
- test/variable/undefined_local.lox
- test/variable/uninitialized.lox
- test/variable/unreached_undefined.lox
- test/variable/use_false_as_var.lox
- test/variable/use_global_in_initializer.lox
- test/variable/use_local_in_initializer.lox
- test/variable/use_nil_as_var.lox
- test/variable/use_this_as_var.lox
- test/while/class_in_body.lox
- test/while/closure_in_body.lox
- test/while/fun_in_body.lox
- test/while/return_closure.lox
- test/while/return_inside.lox
- test/while/syntax.lox
- test/while/var_in_body.lox