elodie:用Go语言编写的编程语言

时间:2021-02-02 13:36:27
【文件属性】:
文件名称:elodie:用Go语言编写的编程语言
文件大小:58KB
文件格式:ZIP
更新时间:2021-02-02 13:36:27
go language vm interpreter compiler Elodie编程语言 用Go语言编写的静态类型语言。 关于 Elodie是发展初期的一种实验性解释语言。 # run the tests and benchmarks go test -bench=. ./... # build the binary go build cmd/elodie.go # run a program ./elodie exec example/fib35r.e # show compiler output ./elodie compile example/fib35r.e Elodie包括: Lexer从源文件生成一系列标记的过程。 一个解析器,根据词法标记生成抽象语法树。 单程编译器,从AST生成字节码。 一个注册机执行字节码,运行程序。 Elodie当前支持一些构造和类型。 变数 变量被隐式声明,在当前函数中作用域,以$为前缀,并且不能更改类型。 可以分配多个变量,以逗号分隔。 例如。 // an int $someInt = 3 // a float $
【文件预览】:
elodie-master
----go.mod(237B)
----go.sum(2KB)
----elodie.go(487B)
----vm()
--------vm_dispatch.go(8KB)
--------vm_opcode.go(4KB)
--------vm.go(1KB)
----scanner()
--------scanner_test.go(4KB)
--------scanner.go(7KB)
----.travis.yml(188B)
----example()
--------bench.e(1KB)
--------fib35r.e(160B)
----ast()
--------ast_test.go(462B)
--------ast.go(11KB)
--------token.go(3KB)
----LICENSE(1KB)
----parser()
--------parser_test.go(10KB)
--------parser.go(18KB)
--------parse_if.go(4KB)
----acceptance()
--------benchmark_test.go(2KB)
--------semicolon_test.go(1KB)
--------acceptance_test.go(15KB)
----README.md(10KB)
----.gitignore(13B)
----compiler()
--------compiler_test.go(16KB)
--------compile_inst.go(34KB)
--------compile_type.go(3KB)
--------vrwc.go(3KB)
--------compile_inst_test.go(23KB)
--------compile_if.go(4KB)
--------compile_for.go(3KB)
--------compiler.go(17KB)
--------compile_array.go(8KB)
--------compile_fn.go(9KB)
--------compile_array_test.go(4KB)
----cmd()
--------elodie.go(4KB)

网友评论