├── .github └── workflows │ ├── release.yml │ └── trigger-docs.yml ├── .gitignore ├── LICENSE ├── README.md ├── assets ├── logo.svg ├── logo_byte.png ├── logo_evt.png ├── logo_flat.png ├── logo_horizontal.png ├── logo_horizontal_outline.png ├── logo_icon.png └── logo_outline.png ├── docs ├── bytecode.md ├── cli.md ├── localization.md └── syntax.md ├── examples ├── functions.topi ├── hello.topi ├── include.topi ├── locale │ ├── locale.topi │ └── locale.topi.csv └── story.topi ├── src ├── backend │ ├── bytecode.zig │ ├── compiler.zig │ ├── debug.zig │ ├── error.zig │ ├── index.zig │ ├── jump-tree.zig │ ├── opcode.zig │ ├── scope.zig │ └── visit-tree.zig ├── cli │ ├── main.zig │ └── runner.zig ├── export │ ├── index.zig │ ├── main.zig │ ├── runner.zig │ └── value.zig ├── frontend │ ├── ast.zig │ ├── index.zig │ ├── lexer.zig │ ├── parser.zig │ └── token.zig ├── locale.zig ├── module.zig ├── runtime │ ├── builtins.zig │ ├── error.zig │ ├── frame.zig │ ├── gc.zig │ ├── index.zig │ ├── runner.zig │ ├── stack.zig │ ├── state.zig │ └── vm.zig ├── topi.zig ├── types │ ├── class.zig │ ├── enum.zig │ ├── index.zig │ └── value.zig └── utils │ ├── constants.zig │ ├── index.zig │ └── uuid.zig └── test ├── compiler.test.zig ├── export.test.zig ├── index.zig ├── lexer.test.zig ├── locale.test.zig ├── parser.test.zig ├── runner.zig └── vm.test.zig /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/trigger-docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/.github/workflows/trigger-docs.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/README.md -------------------------------------------------------------------------------- /assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo.svg -------------------------------------------------------------------------------- /assets/logo_byte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_byte.png -------------------------------------------------------------------------------- /assets/logo_evt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_evt.png -------------------------------------------------------------------------------- /assets/logo_flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_flat.png -------------------------------------------------------------------------------- /assets/logo_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_horizontal.png -------------------------------------------------------------------------------- /assets/logo_horizontal_outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_horizontal_outline.png -------------------------------------------------------------------------------- /assets/logo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_icon.png -------------------------------------------------------------------------------- /assets/logo_outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/assets/logo_outline.png -------------------------------------------------------------------------------- /docs/bytecode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/docs/bytecode.md -------------------------------------------------------------------------------- /docs/cli.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/docs/cli.md -------------------------------------------------------------------------------- /docs/localization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/docs/localization.md -------------------------------------------------------------------------------- /docs/syntax.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/docs/syntax.md -------------------------------------------------------------------------------- /examples/functions.topi: -------------------------------------------------------------------------------- 1 | const sum = |x, y| return x + y 2 | 3 | -------------------------------------------------------------------------------- /examples/hello.topi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/examples/hello.topi -------------------------------------------------------------------------------- /examples/include.topi: -------------------------------------------------------------------------------- 1 | include "./functions.topi" 2 | 3 | print(sum(5, 10)) 4 | -------------------------------------------------------------------------------- /examples/locale/locale.topi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/examples/locale/locale.topi -------------------------------------------------------------------------------- /examples/locale/locale.topi.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/examples/locale/locale.topi.csv -------------------------------------------------------------------------------- /examples/story.topi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/examples/story.topi -------------------------------------------------------------------------------- /src/backend/bytecode.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/bytecode.zig -------------------------------------------------------------------------------- /src/backend/compiler.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/compiler.zig -------------------------------------------------------------------------------- /src/backend/debug.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/debug.zig -------------------------------------------------------------------------------- /src/backend/error.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/error.zig -------------------------------------------------------------------------------- /src/backend/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/index.zig -------------------------------------------------------------------------------- /src/backend/jump-tree.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/jump-tree.zig -------------------------------------------------------------------------------- /src/backend/opcode.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/opcode.zig -------------------------------------------------------------------------------- /src/backend/scope.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/scope.zig -------------------------------------------------------------------------------- /src/backend/visit-tree.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/backend/visit-tree.zig -------------------------------------------------------------------------------- /src/cli/main.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/cli/main.zig -------------------------------------------------------------------------------- /src/cli/runner.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/cli/runner.zig -------------------------------------------------------------------------------- /src/export/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/export/index.zig -------------------------------------------------------------------------------- /src/export/main.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/export/main.zig -------------------------------------------------------------------------------- /src/export/runner.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/export/runner.zig -------------------------------------------------------------------------------- /src/export/value.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/export/value.zig -------------------------------------------------------------------------------- /src/frontend/ast.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/frontend/ast.zig -------------------------------------------------------------------------------- /src/frontend/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/frontend/index.zig -------------------------------------------------------------------------------- /src/frontend/lexer.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/frontend/lexer.zig -------------------------------------------------------------------------------- /src/frontend/parser.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/frontend/parser.zig -------------------------------------------------------------------------------- /src/frontend/token.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/frontend/token.zig -------------------------------------------------------------------------------- /src/locale.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/locale.zig -------------------------------------------------------------------------------- /src/module.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/module.zig -------------------------------------------------------------------------------- /src/runtime/builtins.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/builtins.zig -------------------------------------------------------------------------------- /src/runtime/error.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/error.zig -------------------------------------------------------------------------------- /src/runtime/frame.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/frame.zig -------------------------------------------------------------------------------- /src/runtime/gc.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/gc.zig -------------------------------------------------------------------------------- /src/runtime/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/index.zig -------------------------------------------------------------------------------- /src/runtime/runner.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/runner.zig -------------------------------------------------------------------------------- /src/runtime/stack.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/stack.zig -------------------------------------------------------------------------------- /src/runtime/state.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/state.zig -------------------------------------------------------------------------------- /src/runtime/vm.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/runtime/vm.zig -------------------------------------------------------------------------------- /src/topi.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/topi.zig -------------------------------------------------------------------------------- /src/types/class.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/types/class.zig -------------------------------------------------------------------------------- /src/types/enum.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/types/enum.zig -------------------------------------------------------------------------------- /src/types/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/types/index.zig -------------------------------------------------------------------------------- /src/types/value.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/types/value.zig -------------------------------------------------------------------------------- /src/utils/constants.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/utils/constants.zig -------------------------------------------------------------------------------- /src/utils/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/utils/index.zig -------------------------------------------------------------------------------- /src/utils/uuid.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/src/utils/uuid.zig -------------------------------------------------------------------------------- /test/compiler.test.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/compiler.test.zig -------------------------------------------------------------------------------- /test/export.test.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/export.test.zig -------------------------------------------------------------------------------- /test/index.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/index.zig -------------------------------------------------------------------------------- /test/lexer.test.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/lexer.test.zig -------------------------------------------------------------------------------- /test/locale.test.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/locale.test.zig -------------------------------------------------------------------------------- /test/parser.test.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/parser.test.zig -------------------------------------------------------------------------------- /test/runner.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/runner.zig -------------------------------------------------------------------------------- /test/vm.test.zig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/peartreegames/topiary/HEAD/test/vm.test.zig --------------------------------------------------------------------------------