├── .github └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── .goreleaser.yml ├── LICENSE ├── Makefile ├── README.md ├── builtins.go ├── builtins_test.go ├── bytecode.go ├── bytecode_test.go ├── cmd ├── bench │ └── main.go └── tengo │ └── main.go ├── compiler.go ├── compiler_test.go ├── doc.go ├── docs ├── builtins.md ├── formatting.md ├── interoperability.md ├── objects.md ├── operators.md ├── runtime-types.md ├── stdlib-base64.md ├── stdlib-enum.md ├── stdlib-fmt.md ├── stdlib-hex.md ├── stdlib-json.md ├── stdlib-math.md ├── stdlib-os.md ├── stdlib-rand.md ├── stdlib-text.md ├── stdlib-times.md ├── stdlib.md ├── tengo-cli.md └── tutorial.md ├── errors.go ├── eval.go ├── eval_test.go ├── example_test.go ├── examples └── interoperability │ └── main.go ├── formatter.go ├── go.mod ├── go.sum ├── instructions.go ├── iterator.go ├── modules.go ├── objects.go ├── objects_test.go ├── parser ├── ast.go ├── ast_test.go ├── expr.go ├── file.go ├── opcodes.go ├── parser.go ├── parser_test.go ├── pos.go ├── scanner.go ├── scanner_test.go ├── source_file.go └── stmt.go ├── require └── require.go ├── script.go ├── script_test.go ├── stdlib ├── base64.go ├── base64_test.go ├── builtin_modules.go ├── errors.go ├── fmt.go ├── fmt_test.go ├── func_typedefs.go ├── func_typedefs_test.go ├── gensrcmods.go ├── hex.go ├── hex_test.go ├── json.go ├── json │ ├── decode.go │ ├── encode.go │ ├── json_test.go │ └── scanner.go ├── json_test.go ├── math.go ├── os.go ├── os_exec.go ├── os_file.go ├── os_process.go ├── os_test.go ├── rand.go ├── rand_test.go ├── source_modules.go ├── srcmod_enum.tengo ├── stdlib.go ├── stdlib_test.go ├── text.go ├── text_regexp.go ├── text_regexp_test.go ├── text_test.go ├── times.go └── times_test.go ├── symbol_table.go ├── symbol_table_test.go ├── tengo.go ├── tengo_test.go ├── testdata ├── cli │ ├── one.tengo │ ├── test.tengo │ ├── three.tengo │ └── two │ │ ├── five │ │ └── five.tengo │ │ ├── four │ │ └── four.tengo │ │ └── two.tengo └── issue286 │ ├── dos │ ├── cinco │ │ └── cinco.mshk │ ├── dos.mshk │ └── quatro │ │ └── quatro.mshk │ ├── test.mshk │ ├── tres.tengo │ └── uno.mshk ├── token └── token.go ├── variable.go ├── variable_test.go ├── vm.go └── vm_test.go /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | 3 | .idea -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/.goreleaser.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/README.md -------------------------------------------------------------------------------- /builtins.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/builtins.go -------------------------------------------------------------------------------- /builtins_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/builtins_test.go -------------------------------------------------------------------------------- /bytecode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/bytecode.go -------------------------------------------------------------------------------- /bytecode_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/bytecode_test.go -------------------------------------------------------------------------------- /cmd/bench/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/cmd/bench/main.go -------------------------------------------------------------------------------- /cmd/tengo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/cmd/tengo/main.go -------------------------------------------------------------------------------- /compiler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/compiler.go -------------------------------------------------------------------------------- /compiler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/compiler_test.go -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/doc.go -------------------------------------------------------------------------------- /docs/builtins.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/builtins.md -------------------------------------------------------------------------------- /docs/formatting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/formatting.md -------------------------------------------------------------------------------- /docs/interoperability.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/interoperability.md -------------------------------------------------------------------------------- /docs/objects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/objects.md -------------------------------------------------------------------------------- /docs/operators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/operators.md -------------------------------------------------------------------------------- /docs/runtime-types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/runtime-types.md -------------------------------------------------------------------------------- /docs/stdlib-base64.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-base64.md -------------------------------------------------------------------------------- /docs/stdlib-enum.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-enum.md -------------------------------------------------------------------------------- /docs/stdlib-fmt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-fmt.md -------------------------------------------------------------------------------- /docs/stdlib-hex.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-hex.md -------------------------------------------------------------------------------- /docs/stdlib-json.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-json.md -------------------------------------------------------------------------------- /docs/stdlib-math.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-math.md -------------------------------------------------------------------------------- /docs/stdlib-os.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-os.md -------------------------------------------------------------------------------- /docs/stdlib-rand.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-rand.md -------------------------------------------------------------------------------- /docs/stdlib-text.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-text.md -------------------------------------------------------------------------------- /docs/stdlib-times.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib-times.md -------------------------------------------------------------------------------- /docs/stdlib.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/stdlib.md -------------------------------------------------------------------------------- /docs/tengo-cli.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/tengo-cli.md -------------------------------------------------------------------------------- /docs/tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/docs/tutorial.md -------------------------------------------------------------------------------- /errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/errors.go -------------------------------------------------------------------------------- /eval.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/eval.go -------------------------------------------------------------------------------- /eval_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/eval_test.go -------------------------------------------------------------------------------- /example_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/example_test.go -------------------------------------------------------------------------------- /examples/interoperability/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/examples/interoperability/main.go -------------------------------------------------------------------------------- /formatter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/formatter.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/d5/tengo/v2 2 | 3 | go 1.13 4 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instructions.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/instructions.go -------------------------------------------------------------------------------- /iterator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/iterator.go -------------------------------------------------------------------------------- /modules.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/modules.go -------------------------------------------------------------------------------- /objects.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/objects.go -------------------------------------------------------------------------------- /objects_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/objects_test.go -------------------------------------------------------------------------------- /parser/ast.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/ast.go -------------------------------------------------------------------------------- /parser/ast_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/ast_test.go -------------------------------------------------------------------------------- /parser/expr.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/expr.go -------------------------------------------------------------------------------- /parser/file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/file.go -------------------------------------------------------------------------------- /parser/opcodes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/opcodes.go -------------------------------------------------------------------------------- /parser/parser.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/parser.go -------------------------------------------------------------------------------- /parser/parser_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/parser_test.go -------------------------------------------------------------------------------- /parser/pos.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/pos.go -------------------------------------------------------------------------------- /parser/scanner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/scanner.go -------------------------------------------------------------------------------- /parser/scanner_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/scanner_test.go -------------------------------------------------------------------------------- /parser/source_file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/source_file.go -------------------------------------------------------------------------------- /parser/stmt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/parser/stmt.go -------------------------------------------------------------------------------- /require/require.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/require/require.go -------------------------------------------------------------------------------- /script.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/script.go -------------------------------------------------------------------------------- /script_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/script_test.go -------------------------------------------------------------------------------- /stdlib/base64.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/base64.go -------------------------------------------------------------------------------- /stdlib/base64_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/base64_test.go -------------------------------------------------------------------------------- /stdlib/builtin_modules.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/builtin_modules.go -------------------------------------------------------------------------------- /stdlib/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/errors.go -------------------------------------------------------------------------------- /stdlib/fmt.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/fmt.go -------------------------------------------------------------------------------- /stdlib/fmt_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/fmt_test.go -------------------------------------------------------------------------------- /stdlib/func_typedefs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/func_typedefs.go -------------------------------------------------------------------------------- /stdlib/func_typedefs_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/func_typedefs_test.go -------------------------------------------------------------------------------- /stdlib/gensrcmods.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/gensrcmods.go -------------------------------------------------------------------------------- /stdlib/hex.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/hex.go -------------------------------------------------------------------------------- /stdlib/hex_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/hex_test.go -------------------------------------------------------------------------------- /stdlib/json.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/json.go -------------------------------------------------------------------------------- /stdlib/json/decode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/json/decode.go -------------------------------------------------------------------------------- /stdlib/json/encode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/json/encode.go -------------------------------------------------------------------------------- /stdlib/json/json_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/json/json_test.go -------------------------------------------------------------------------------- /stdlib/json/scanner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/json/scanner.go -------------------------------------------------------------------------------- /stdlib/json_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/json_test.go -------------------------------------------------------------------------------- /stdlib/math.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/math.go -------------------------------------------------------------------------------- /stdlib/os.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/os.go -------------------------------------------------------------------------------- /stdlib/os_exec.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/os_exec.go -------------------------------------------------------------------------------- /stdlib/os_file.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/os_file.go -------------------------------------------------------------------------------- /stdlib/os_process.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/os_process.go -------------------------------------------------------------------------------- /stdlib/os_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/os_test.go -------------------------------------------------------------------------------- /stdlib/rand.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/rand.go -------------------------------------------------------------------------------- /stdlib/rand_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/rand_test.go -------------------------------------------------------------------------------- /stdlib/source_modules.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/source_modules.go -------------------------------------------------------------------------------- /stdlib/srcmod_enum.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/srcmod_enum.tengo -------------------------------------------------------------------------------- /stdlib/stdlib.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/stdlib.go -------------------------------------------------------------------------------- /stdlib/stdlib_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/stdlib_test.go -------------------------------------------------------------------------------- /stdlib/text.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/text.go -------------------------------------------------------------------------------- /stdlib/text_regexp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/text_regexp.go -------------------------------------------------------------------------------- /stdlib/text_regexp_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/text_regexp_test.go -------------------------------------------------------------------------------- /stdlib/text_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/text_test.go -------------------------------------------------------------------------------- /stdlib/times.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/times.go -------------------------------------------------------------------------------- /stdlib/times_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/stdlib/times_test.go -------------------------------------------------------------------------------- /symbol_table.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/symbol_table.go -------------------------------------------------------------------------------- /symbol_table_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/symbol_table_test.go -------------------------------------------------------------------------------- /tengo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/tengo.go -------------------------------------------------------------------------------- /tengo_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/tengo_test.go -------------------------------------------------------------------------------- /testdata/cli/one.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/cli/one.tengo -------------------------------------------------------------------------------- /testdata/cli/test.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/cli/test.tengo -------------------------------------------------------------------------------- /testdata/cli/three.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/cli/three.tengo -------------------------------------------------------------------------------- /testdata/cli/two/five/five.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/cli/two/five/five.tengo -------------------------------------------------------------------------------- /testdata/cli/two/four/four.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/cli/two/four/four.tengo -------------------------------------------------------------------------------- /testdata/cli/two/two.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/cli/two/two.tengo -------------------------------------------------------------------------------- /testdata/issue286/dos/cinco/cinco.mshk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/issue286/dos/cinco/cinco.mshk -------------------------------------------------------------------------------- /testdata/issue286/dos/dos.mshk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/issue286/dos/dos.mshk -------------------------------------------------------------------------------- /testdata/issue286/dos/quatro/quatro.mshk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/issue286/dos/quatro/quatro.mshk -------------------------------------------------------------------------------- /testdata/issue286/test.mshk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/issue286/test.mshk -------------------------------------------------------------------------------- /testdata/issue286/tres.tengo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/issue286/tres.tengo -------------------------------------------------------------------------------- /testdata/issue286/uno.mshk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/testdata/issue286/uno.mshk -------------------------------------------------------------------------------- /token/token.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/token/token.go -------------------------------------------------------------------------------- /variable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/variable.go -------------------------------------------------------------------------------- /variable_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/variable_test.go -------------------------------------------------------------------------------- /vm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/vm.go -------------------------------------------------------------------------------- /vm_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d5/tengo/HEAD/vm_test.go --------------------------------------------------------------------------------