├── .github └── workflows │ └── go.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── ast ├── ast.go └── ast_test.go ├── bitbucket-pipelines.yml ├── env └── environment.go ├── examples ├── class_fib.lox ├── classmethod.lox ├── fib.lox ├── hello.lox ├── resolve.lox ├── return.lox └── unused.lox ├── go.mod ├── golox.go ├── interpreter ├── class.go ├── functions.go ├── globals.go ├── interpreter.go └── interpreter_test.go ├── parseerror └── parse_error.go ├── parser ├── parser.go └── parser_test.go ├── runtimeerror └── runtimeerror.go ├── scanner ├── scanner.go └── scanner_test.go ├── semantic ├── resolver.go └── resolver_test.go ├── semanticerror └── semanticerror.go └── token ├── token.go └── token_test.go /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/README.md -------------------------------------------------------------------------------- /ast/ast.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/ast/ast.go -------------------------------------------------------------------------------- /ast/ast_test.go: -------------------------------------------------------------------------------- 1 | package ast 2 | -------------------------------------------------------------------------------- /bitbucket-pipelines.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/bitbucket-pipelines.yml -------------------------------------------------------------------------------- /env/environment.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/env/environment.go -------------------------------------------------------------------------------- /examples/class_fib.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/examples/class_fib.lox -------------------------------------------------------------------------------- /examples/classmethod.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/examples/classmethod.lox -------------------------------------------------------------------------------- /examples/fib.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/examples/fib.lox -------------------------------------------------------------------------------- /examples/hello.lox: -------------------------------------------------------------------------------- 1 | print "hello world"; 2 | 3 | -------------------------------------------------------------------------------- /examples/resolve.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/examples/resolve.lox -------------------------------------------------------------------------------- /examples/return.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/examples/return.lox -------------------------------------------------------------------------------- /examples/unused.lox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/examples/unused.lox -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/jfourkiotis/golox 2 | 3 | go 1.18 4 | -------------------------------------------------------------------------------- /golox.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/golox.go -------------------------------------------------------------------------------- /interpreter/class.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/interpreter/class.go -------------------------------------------------------------------------------- /interpreter/functions.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/interpreter/functions.go -------------------------------------------------------------------------------- /interpreter/globals.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/interpreter/globals.go -------------------------------------------------------------------------------- /interpreter/interpreter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/interpreter/interpreter.go -------------------------------------------------------------------------------- /interpreter/interpreter_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/interpreter/interpreter_test.go -------------------------------------------------------------------------------- /parseerror/parse_error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/parseerror/parse_error.go -------------------------------------------------------------------------------- /parser/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/parser/parser.go -------------------------------------------------------------------------------- /parser/parser_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/parser/parser_test.go -------------------------------------------------------------------------------- /runtimeerror/runtimeerror.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/runtimeerror/runtimeerror.go -------------------------------------------------------------------------------- /scanner/scanner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/scanner/scanner.go -------------------------------------------------------------------------------- /scanner/scanner_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/scanner/scanner_test.go -------------------------------------------------------------------------------- /semantic/resolver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/semantic/resolver.go -------------------------------------------------------------------------------- /semantic/resolver_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/semantic/resolver_test.go -------------------------------------------------------------------------------- /semanticerror/semanticerror.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/semanticerror/semanticerror.go -------------------------------------------------------------------------------- /token/token.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/token/token.go -------------------------------------------------------------------------------- /token/token_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfourkiotis/golox/HEAD/token/token_test.go --------------------------------------------------------------------------------