├── .gitignore ├── LICENSE ├── README.md ├── data ├── and.lox ├── block.lox ├── class.lox ├── closure.lox ├── collide_with_parameter.lox ├── constuctor_missing_arguments.lox ├── fib.lox ├── for-loop.lox ├── if.lox ├── inheritance.lox ├── lang-lox │ ├── fib.rkt │ └── hello_world.rkt ├── missing_comma_in_parameters.lox ├── number_literals.lox ├── resolving.lox ├── return_value.lox ├── super_parenthesized.lox ├── this.lox ├── too_many_arguments.lox ├── unterminated_string.lox └── while-loop.lox └── src ├── lox ├── expander.rkt ├── lib │ ├── class.rkt │ ├── env.rkt │ ├── error.rkt │ ├── expr.rkt │ ├── function.rkt │ ├── instance.rkt │ ├── interpreter.rkt │ ├── parser.rkt │ ├── pretty-print.rkt │ ├── resolver.rkt │ ├── scanner.rkt │ ├── stmt.rkt │ └── token.rkt ├── main.rkt ├── reader.rkt └── utils │ ├── stack.rkt │ └── while.rkt └── main.rkt /.gitignore: -------------------------------------------------------------------------------- 1 | compiled/ 2 | dist/ 3 | *~ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/README.md -------------------------------------------------------------------------------- /data/and.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/and.lox -------------------------------------------------------------------------------- /data/block.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/block.lox -------------------------------------------------------------------------------- /data/class.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/class.lox -------------------------------------------------------------------------------- /data/closure.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/closure.lox -------------------------------------------------------------------------------- /data/collide_with_parameter.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/collide_with_parameter.lox -------------------------------------------------------------------------------- /data/constuctor_missing_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/constuctor_missing_arguments.lox -------------------------------------------------------------------------------- /data/fib.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/fib.lox -------------------------------------------------------------------------------- /data/for-loop.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/for-loop.lox -------------------------------------------------------------------------------- /data/if.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/if.lox -------------------------------------------------------------------------------- /data/inheritance.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/inheritance.lox -------------------------------------------------------------------------------- /data/lang-lox/fib.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/lang-lox/fib.rkt -------------------------------------------------------------------------------- /data/lang-lox/hello_world.rkt: -------------------------------------------------------------------------------- 1 | #lang lox 2 | 3 | print "hello world"; -------------------------------------------------------------------------------- /data/missing_comma_in_parameters.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/missing_comma_in_parameters.lox -------------------------------------------------------------------------------- /data/number_literals.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/number_literals.lox -------------------------------------------------------------------------------- /data/resolving.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/resolving.lox -------------------------------------------------------------------------------- /data/return_value.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/return_value.lox -------------------------------------------------------------------------------- /data/super_parenthesized.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/super_parenthesized.lox -------------------------------------------------------------------------------- /data/this.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/this.lox -------------------------------------------------------------------------------- /data/too_many_arguments.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/too_many_arguments.lox -------------------------------------------------------------------------------- /data/unterminated_string.lox: -------------------------------------------------------------------------------- 1 | "doesn't end -------------------------------------------------------------------------------- /data/while-loop.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/data/while-loop.lox -------------------------------------------------------------------------------- /src/lox/expander.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/expander.rkt -------------------------------------------------------------------------------- /src/lox/lib/class.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/class.rkt -------------------------------------------------------------------------------- /src/lox/lib/env.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/env.rkt -------------------------------------------------------------------------------- /src/lox/lib/error.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/error.rkt -------------------------------------------------------------------------------- /src/lox/lib/expr.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/expr.rkt -------------------------------------------------------------------------------- /src/lox/lib/function.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/function.rkt -------------------------------------------------------------------------------- /src/lox/lib/instance.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/instance.rkt -------------------------------------------------------------------------------- /src/lox/lib/interpreter.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/interpreter.rkt -------------------------------------------------------------------------------- /src/lox/lib/parser.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/parser.rkt -------------------------------------------------------------------------------- /src/lox/lib/pretty-print.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/pretty-print.rkt -------------------------------------------------------------------------------- /src/lox/lib/resolver.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/resolver.rkt -------------------------------------------------------------------------------- /src/lox/lib/scanner.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/scanner.rkt -------------------------------------------------------------------------------- /src/lox/lib/stmt.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/stmt.rkt -------------------------------------------------------------------------------- /src/lox/lib/token.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/lib/token.rkt -------------------------------------------------------------------------------- /src/lox/main.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/main.rkt -------------------------------------------------------------------------------- /src/lox/reader.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/reader.rkt -------------------------------------------------------------------------------- /src/lox/utils/stack.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/utils/stack.rkt -------------------------------------------------------------------------------- /src/lox/utils/while.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/lox/utils/while.rkt -------------------------------------------------------------------------------- /src/main.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micahcantor/racket-lox/HEAD/src/main.rkt --------------------------------------------------------------------------------