ghoul:用golang编写的不死主题lisp口译员

时间:2024-06-07 09:52:42
【文件属性】:

文件名称:ghoul:用golang编写的不死主题lisp口译员

文件大小:34KB

文件格式:ZIP

更新时间:2024-06-07 09:52:42

Go

食尸鬼-不死主题的Lisp口译员 食尸鬼是轻率的口译员,其目的是要易于理解,但比天真的口译员要先进一些。 明确的目标: 易于理解的代码库 支持Golang代码的简单集成 正确的尾部呼叫优化 卫生宏支持 非目标: 快速的代码执行-如果需要提高速度,可以很容易地下拉到golang代码。 用Ghoul编写的全面的标准库实现-应该尽可能地依赖Golang的实现。 在解释器中对数据结构的特殊处理-例如,映射的特殊语法应由宏来处理! 笔记: 待办事项:添加可用于任意结构的外来表达式类型待办事项:编写“幽灵”-包装用于Goho的Go代码的工具TODO:包装Golang标准库,因此可以从食尸鬼中调用待办事项:实施模块系统,以便可以在需要时包含代码(而不是预先包含所有代码)。 待办事项:使错误消息包含失败的表达式的行和列。 派生表达式应尽可能指向其原始版本。 待办事项:使用fn代替lambd


【文件预览】:
ghoul-master
----ghoul.go(2KB)
----ghoul_test.go(2KB)
----cmd()
--------ghoul()
----macromancy()
--------macromancy.go(2KB)
--------macro_group.go(2KB)
--------macro_test.go(13KB)
--------macro_group_test.go(5KB)
--------macro.go(4KB)
--------macromancy_test.go(3KB)
----expressions()
--------expressions_test.go(9KB)
--------expressions.go(4KB)
----.gitignore(26B)
----logging()
--------logger.go(1KB)
--------logger_test.go(2KB)
----README.md(2KB)
----evaluator()
--------environment_test.go(1KB)
--------function_test.go(1KB)
--------evaluator_error_test.go(7KB)
--------evaluator.go(13KB)
--------function.go(359B)
--------environment.go(2KB)
--------utils.go(840B)
--------evaluator_test.go(9KB)
----parser()
--------lexer.go(6KB)
--------parser_test.go(10KB)
--------gen.go(59B)
--------lexer_test.go(8KB)
--------parser.y(2KB)

网友评论