├── .gitignore ├── Makefile ├── README.md ├── repl.png └── src ├── ast.h ├── benchmark.c ├── builtins.c ├── builtins.h ├── cmonkey_utils.c ├── cmonkey_utils.h ├── cmonkey_utils_tests.c ├── compiler.c ├── compiler.h ├── compiler_tests.c ├── environment.c ├── environment.h ├── evaluator.c ├── evaluator.h ├── evaluator_tests.c ├── frame.c ├── frame.h ├── lexer.c ├── lexer.h ├── lexer_tests.c ├── object.c ├── object.h ├── object_test_utils.c ├── object_test_utils.h ├── object_tests.c ├── opcode.c ├── opcode.h ├── opcode_tests.c ├── parser.c ├── parser.h ├── parser_tests.c ├── parser_tracing.c ├── parser_tracing.h ├── repl.c ├── symbol_table.c ├── symbol_table.h ├── symbol_table_tests.c ├── test_utils.h ├── token.c ├── token.h ├── vm.c ├── vm.h ├── vm_tests.c └── vmrepl.c /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/.gitignore -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/README.md -------------------------------------------------------------------------------- /repl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/repl.png -------------------------------------------------------------------------------- /src/ast.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/ast.h -------------------------------------------------------------------------------- /src/benchmark.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/benchmark.c -------------------------------------------------------------------------------- /src/builtins.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/builtins.c -------------------------------------------------------------------------------- /src/builtins.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/builtins.h -------------------------------------------------------------------------------- /src/cmonkey_utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/cmonkey_utils.c -------------------------------------------------------------------------------- /src/cmonkey_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/cmonkey_utils.h -------------------------------------------------------------------------------- /src/cmonkey_utils_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/cmonkey_utils_tests.c -------------------------------------------------------------------------------- /src/compiler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/compiler.c -------------------------------------------------------------------------------- /src/compiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/compiler.h -------------------------------------------------------------------------------- /src/compiler_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/compiler_tests.c -------------------------------------------------------------------------------- /src/environment.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/environment.c -------------------------------------------------------------------------------- /src/environment.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/environment.h -------------------------------------------------------------------------------- /src/evaluator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/evaluator.c -------------------------------------------------------------------------------- /src/evaluator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/evaluator.h -------------------------------------------------------------------------------- /src/evaluator_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/evaluator_tests.c -------------------------------------------------------------------------------- /src/frame.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/frame.c -------------------------------------------------------------------------------- /src/frame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/frame.h -------------------------------------------------------------------------------- /src/lexer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/lexer.c -------------------------------------------------------------------------------- /src/lexer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/lexer.h -------------------------------------------------------------------------------- /src/lexer_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/lexer_tests.c -------------------------------------------------------------------------------- /src/object.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/object.c -------------------------------------------------------------------------------- /src/object.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/object.h -------------------------------------------------------------------------------- /src/object_test_utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/object_test_utils.c -------------------------------------------------------------------------------- /src/object_test_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/object_test_utils.h -------------------------------------------------------------------------------- /src/object_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/object_tests.c -------------------------------------------------------------------------------- /src/opcode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/opcode.c -------------------------------------------------------------------------------- /src/opcode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/opcode.h -------------------------------------------------------------------------------- /src/opcode_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/opcode_tests.c -------------------------------------------------------------------------------- /src/parser.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/parser.c -------------------------------------------------------------------------------- /src/parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/parser.h -------------------------------------------------------------------------------- /src/parser_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/parser_tests.c -------------------------------------------------------------------------------- /src/parser_tracing.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/parser_tracing.c -------------------------------------------------------------------------------- /src/parser_tracing.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/parser_tracing.h -------------------------------------------------------------------------------- /src/repl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/repl.c -------------------------------------------------------------------------------- /src/symbol_table.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/symbol_table.c -------------------------------------------------------------------------------- /src/symbol_table.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/symbol_table.h -------------------------------------------------------------------------------- /src/symbol_table_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/symbol_table_tests.c -------------------------------------------------------------------------------- /src/test_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/test_utils.h -------------------------------------------------------------------------------- /src/token.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/token.c -------------------------------------------------------------------------------- /src/token.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/token.h -------------------------------------------------------------------------------- /src/vm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/vm.c -------------------------------------------------------------------------------- /src/vm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/vm.h -------------------------------------------------------------------------------- /src/vm_tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/vm_tests.c -------------------------------------------------------------------------------- /src/vmrepl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhinav-upadhyay/cmonkey/HEAD/src/vmrepl.c --------------------------------------------------------------------------------