├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── compiler ├── ast.cpp ├── ast.h ├── builtin.cpp ├── builtin.h ├── driver.cpp ├── driver.h ├── env.cpp ├── env.h ├── errors.cpp ├── errors.h ├── eval.cpp ├── eval.h ├── forms.cpp ├── forms.h ├── main.cpp ├── obj.cpp ├── obj.h ├── parse.cpp ├── parse.h ├── source.cpp ├── source.h ├── ssa.cpp ├── ssa.h ├── token.cpp ├── token.h ├── type.cpp ├── type.h ├── value.cpp └── value.h ├── example ├── assoc.bl ├── branch.bl ├── expr.bl ├── factorial.bl ├── fib.bl ├── list.bl ├── macro.bl ├── match.bl ├── modules.bl ├── mutual.bl ├── named.bl ├── rational.bl ├── sieve.bl ├── test.bl ├── union.bl └── variadic.bl ├── jasmine ├── README.md ├── bc.cpp ├── bc.h ├── jobj.cpp ├── jobj.h ├── jutils.cpp ├── jutils.h ├── main.cpp ├── sym.cpp ├── sym.h ├── target.cpp ├── target.h ├── x64.cpp └── x64.h ├── logo.png ├── runtime ├── core.cpp ├── core.h ├── sys.cpp └── sys.h ├── test ├── compiler │ ├── builtin.cpp │ ├── env.cpp │ ├── eval.cpp │ ├── forms.cpp │ ├── parse.cpp │ ├── source-example │ ├── source.cpp │ ├── ssa.cpp │ ├── symbol.cpp │ ├── token.cpp │ ├── type.cpp │ └── value.cpp ├── jasmine │ ├── bc.cpp │ └── x64.cpp ├── test.cpp ├── test.h └── util │ ├── option.cpp │ ├── rc.cpp │ ├── sets.cpp │ ├── str.cpp │ ├── ustr.cpp │ └── vec.cpp └── util ├── bytebuf.cpp ├── bytebuf.h ├── defs.h ├── either.h ├── hash.cpp ├── hash.h ├── io.cpp ├── io.h ├── option.h ├── panic.cpp ├── panic.h ├── perf.cpp ├── perf.h ├── rc.h ├── sets.cpp ├── sets.h ├── slice.h ├── str.cpp ├── str.h ├── ustr.cpp ├── ustr.h ├── utf8.cpp ├── utf8.h ├── utils.cpp ├── utils.h └── vec.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/README.md -------------------------------------------------------------------------------- /compiler/ast.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/ast.cpp -------------------------------------------------------------------------------- /compiler/ast.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/ast.h -------------------------------------------------------------------------------- /compiler/builtin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/builtin.cpp -------------------------------------------------------------------------------- /compiler/builtin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/builtin.h -------------------------------------------------------------------------------- /compiler/driver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/driver.cpp -------------------------------------------------------------------------------- /compiler/driver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/driver.h -------------------------------------------------------------------------------- /compiler/env.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/env.cpp -------------------------------------------------------------------------------- /compiler/env.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/env.h -------------------------------------------------------------------------------- /compiler/errors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/errors.cpp -------------------------------------------------------------------------------- /compiler/errors.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/errors.h -------------------------------------------------------------------------------- /compiler/eval.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/eval.cpp -------------------------------------------------------------------------------- /compiler/eval.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/eval.h -------------------------------------------------------------------------------- /compiler/forms.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/forms.cpp -------------------------------------------------------------------------------- /compiler/forms.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/forms.h -------------------------------------------------------------------------------- /compiler/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/main.cpp -------------------------------------------------------------------------------- /compiler/obj.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/obj.cpp -------------------------------------------------------------------------------- /compiler/obj.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/obj.h -------------------------------------------------------------------------------- /compiler/parse.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/parse.cpp -------------------------------------------------------------------------------- /compiler/parse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/parse.h -------------------------------------------------------------------------------- /compiler/source.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/source.cpp -------------------------------------------------------------------------------- /compiler/source.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/source.h -------------------------------------------------------------------------------- /compiler/ssa.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/ssa.cpp -------------------------------------------------------------------------------- /compiler/ssa.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/ssa.h -------------------------------------------------------------------------------- /compiler/token.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/token.cpp -------------------------------------------------------------------------------- /compiler/token.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/token.h -------------------------------------------------------------------------------- /compiler/type.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/type.cpp -------------------------------------------------------------------------------- /compiler/type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/type.h -------------------------------------------------------------------------------- /compiler/value.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/value.cpp -------------------------------------------------------------------------------- /compiler/value.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/compiler/value.h -------------------------------------------------------------------------------- /example/assoc.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/assoc.bl -------------------------------------------------------------------------------- /example/branch.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/branch.bl -------------------------------------------------------------------------------- /example/expr.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/expr.bl -------------------------------------------------------------------------------- /example/factorial.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/factorial.bl -------------------------------------------------------------------------------- /example/fib.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/fib.bl -------------------------------------------------------------------------------- /example/list.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/list.bl -------------------------------------------------------------------------------- /example/macro.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/macro.bl -------------------------------------------------------------------------------- /example/match.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/match.bl -------------------------------------------------------------------------------- /example/modules.bl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/mutual.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/mutual.bl -------------------------------------------------------------------------------- /example/named.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/named.bl -------------------------------------------------------------------------------- /example/rational.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/rational.bl -------------------------------------------------------------------------------- /example/sieve.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/sieve.bl -------------------------------------------------------------------------------- /example/test.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/test.bl -------------------------------------------------------------------------------- /example/union.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/union.bl -------------------------------------------------------------------------------- /example/variadic.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/example/variadic.bl -------------------------------------------------------------------------------- /jasmine/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/README.md -------------------------------------------------------------------------------- /jasmine/bc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/bc.cpp -------------------------------------------------------------------------------- /jasmine/bc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/bc.h -------------------------------------------------------------------------------- /jasmine/jobj.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/jobj.cpp -------------------------------------------------------------------------------- /jasmine/jobj.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/jobj.h -------------------------------------------------------------------------------- /jasmine/jutils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/jutils.cpp -------------------------------------------------------------------------------- /jasmine/jutils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/jutils.h -------------------------------------------------------------------------------- /jasmine/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/main.cpp -------------------------------------------------------------------------------- /jasmine/sym.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/sym.cpp -------------------------------------------------------------------------------- /jasmine/sym.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/sym.h -------------------------------------------------------------------------------- /jasmine/target.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/target.cpp -------------------------------------------------------------------------------- /jasmine/target.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/target.h -------------------------------------------------------------------------------- /jasmine/x64.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/x64.cpp -------------------------------------------------------------------------------- /jasmine/x64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/jasmine/x64.h -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/logo.png -------------------------------------------------------------------------------- /runtime/core.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/runtime/core.cpp -------------------------------------------------------------------------------- /runtime/core.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/runtime/core.h -------------------------------------------------------------------------------- /runtime/sys.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/runtime/sys.cpp -------------------------------------------------------------------------------- /runtime/sys.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/runtime/sys.h -------------------------------------------------------------------------------- /test/compiler/builtin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/builtin.cpp -------------------------------------------------------------------------------- /test/compiler/env.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/env.cpp -------------------------------------------------------------------------------- /test/compiler/eval.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/eval.cpp -------------------------------------------------------------------------------- /test/compiler/forms.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/forms.cpp -------------------------------------------------------------------------------- /test/compiler/parse.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/parse.cpp -------------------------------------------------------------------------------- /test/compiler/source-example: -------------------------------------------------------------------------------- 1 | abc def 2 | foo bar baz quux 3 | 4 | ghi 5 | 6 | 7 | fromage -------------------------------------------------------------------------------- /test/compiler/source.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/source.cpp -------------------------------------------------------------------------------- /test/compiler/ssa.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/ssa.cpp -------------------------------------------------------------------------------- /test/compiler/symbol.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/symbol.cpp -------------------------------------------------------------------------------- /test/compiler/token.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/token.cpp -------------------------------------------------------------------------------- /test/compiler/type.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/type.cpp -------------------------------------------------------------------------------- /test/compiler/value.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/compiler/value.cpp -------------------------------------------------------------------------------- /test/jasmine/bc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/jasmine/bc.cpp -------------------------------------------------------------------------------- /test/jasmine/x64.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/jasmine/x64.cpp -------------------------------------------------------------------------------- /test/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/test.cpp -------------------------------------------------------------------------------- /test/test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/test.h -------------------------------------------------------------------------------- /test/util/option.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/util/option.cpp -------------------------------------------------------------------------------- /test/util/rc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/util/rc.cpp -------------------------------------------------------------------------------- /test/util/sets.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/util/sets.cpp -------------------------------------------------------------------------------- /test/util/str.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/util/str.cpp -------------------------------------------------------------------------------- /test/util/ustr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/util/ustr.cpp -------------------------------------------------------------------------------- /test/util/vec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/test/util/vec.cpp -------------------------------------------------------------------------------- /util/bytebuf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/bytebuf.cpp -------------------------------------------------------------------------------- /util/bytebuf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/bytebuf.h -------------------------------------------------------------------------------- /util/defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/defs.h -------------------------------------------------------------------------------- /util/either.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/either.h -------------------------------------------------------------------------------- /util/hash.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/hash.cpp -------------------------------------------------------------------------------- /util/hash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/hash.h -------------------------------------------------------------------------------- /util/io.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/io.cpp -------------------------------------------------------------------------------- /util/io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/io.h -------------------------------------------------------------------------------- /util/option.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/option.h -------------------------------------------------------------------------------- /util/panic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/panic.cpp -------------------------------------------------------------------------------- /util/panic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/panic.h -------------------------------------------------------------------------------- /util/perf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/perf.cpp -------------------------------------------------------------------------------- /util/perf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/perf.h -------------------------------------------------------------------------------- /util/rc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/rc.h -------------------------------------------------------------------------------- /util/sets.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/sets.cpp -------------------------------------------------------------------------------- /util/sets.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/sets.h -------------------------------------------------------------------------------- /util/slice.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/slice.h -------------------------------------------------------------------------------- /util/str.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/str.cpp -------------------------------------------------------------------------------- /util/str.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/str.h -------------------------------------------------------------------------------- /util/ustr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/ustr.cpp -------------------------------------------------------------------------------- /util/ustr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/ustr.h -------------------------------------------------------------------------------- /util/utf8.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/utf8.cpp -------------------------------------------------------------------------------- /util/utf8.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/utf8.h -------------------------------------------------------------------------------- /util/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/utils.cpp -------------------------------------------------------------------------------- /util/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/utils.h -------------------------------------------------------------------------------- /util/vec.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/basilTeam/basil/HEAD/util/vec.h --------------------------------------------------------------------------------