├── .gitignore ├── LICENSE ├── README.md ├── ast ├── ast.go ├── kind.go └── walk.go ├── calcc └── calcc.go ├── cgen ├── cgen.go └── cgen_test.go ├── examples ├── abs.calc ├── basic.calc ├── basic_math.calc ├── defines.calc ├── factorial.calc ├── fibonacci.calc ├── for.calc ├── package │ ├── add.calc │ └── main.calc ├── sicp1_3.calc └── var.calc ├── ir ├── assign.go ├── binary.go ├── call.go ├── constant.go ├── define.go ├── expr.go ├── fold.go ├── fold_test.go ├── for.go ├── func.go ├── if.go ├── ir_test.go ├── object.go ├── package.go ├── scope.go ├── typecheck.go ├── types.go └── var.go ├── parse ├── parse.go └── parse_test.go ├── scan ├── scan.go └── scan_test.go ├── token ├── error.go ├── file.go ├── fileset.go ├── pos.go ├── token.go └── token_test.go └── vim ├── ftdetect └── calc.vim └── syntax └── calc.vim /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/README.md -------------------------------------------------------------------------------- /ast/ast.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ast/ast.go -------------------------------------------------------------------------------- /ast/kind.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ast/kind.go -------------------------------------------------------------------------------- /ast/walk.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ast/walk.go -------------------------------------------------------------------------------- /calcc/calcc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/calcc/calcc.go -------------------------------------------------------------------------------- /cgen/cgen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/cgen/cgen.go -------------------------------------------------------------------------------- /cgen/cgen_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/cgen/cgen_test.go -------------------------------------------------------------------------------- /examples/abs.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/abs.calc -------------------------------------------------------------------------------- /examples/basic.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/basic.calc -------------------------------------------------------------------------------- /examples/basic_math.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/basic_math.calc -------------------------------------------------------------------------------- /examples/defines.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/defines.calc -------------------------------------------------------------------------------- /examples/factorial.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/factorial.calc -------------------------------------------------------------------------------- /examples/fibonacci.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/fibonacci.calc -------------------------------------------------------------------------------- /examples/for.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/for.calc -------------------------------------------------------------------------------- /examples/package/add.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/package/add.calc -------------------------------------------------------------------------------- /examples/package/main.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/package/main.calc -------------------------------------------------------------------------------- /examples/sicp1_3.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/sicp1_3.calc -------------------------------------------------------------------------------- /examples/var.calc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/examples/var.calc -------------------------------------------------------------------------------- /ir/assign.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/assign.go -------------------------------------------------------------------------------- /ir/binary.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/binary.go -------------------------------------------------------------------------------- /ir/call.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/call.go -------------------------------------------------------------------------------- /ir/constant.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/constant.go -------------------------------------------------------------------------------- /ir/define.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/define.go -------------------------------------------------------------------------------- /ir/expr.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/expr.go -------------------------------------------------------------------------------- /ir/fold.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/fold.go -------------------------------------------------------------------------------- /ir/fold_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/fold_test.go -------------------------------------------------------------------------------- /ir/for.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/for.go -------------------------------------------------------------------------------- /ir/func.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/func.go -------------------------------------------------------------------------------- /ir/if.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/if.go -------------------------------------------------------------------------------- /ir/ir_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/ir_test.go -------------------------------------------------------------------------------- /ir/object.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/object.go -------------------------------------------------------------------------------- /ir/package.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/package.go -------------------------------------------------------------------------------- /ir/scope.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/scope.go -------------------------------------------------------------------------------- /ir/typecheck.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/typecheck.go -------------------------------------------------------------------------------- /ir/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/types.go -------------------------------------------------------------------------------- /ir/var.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/ir/var.go -------------------------------------------------------------------------------- /parse/parse.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/parse/parse.go -------------------------------------------------------------------------------- /parse/parse_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/parse/parse_test.go -------------------------------------------------------------------------------- /scan/scan.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/scan/scan.go -------------------------------------------------------------------------------- /scan/scan_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/scan/scan_test.go -------------------------------------------------------------------------------- /token/error.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/token/error.go -------------------------------------------------------------------------------- /token/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/token/file.go -------------------------------------------------------------------------------- /token/fileset.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/token/fileset.go -------------------------------------------------------------------------------- /token/pos.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/token/pos.go -------------------------------------------------------------------------------- /token/token.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/token/token.go -------------------------------------------------------------------------------- /token/token_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/token/token_test.go -------------------------------------------------------------------------------- /vim/ftdetect/calc.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/vim/ftdetect/calc.vim -------------------------------------------------------------------------------- /vim/syntax/calc.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rthornton128/calc/HEAD/vim/syntax/calc.vim --------------------------------------------------------------------------------