Skip to content

高级模板实现方案 #607

@AlexiaChen

Description

@AlexiaChen

这周和 @sunhantao 查阅了解释器,编译器等相关资料和工具,书籍, 这次可能是更加细化些,需要组内讨论下(讨论的时候,要拉上 @woondroo ,让一休来决定)。

方案一: 修改BTC的脚本,加入到BBC中,但是开发部不友好,连开发人员都不方便表示复杂的模板逻辑,必须把大脑当作栈来用,甚至有时候根本表达不出来一些需求,也不好修改,对不同体系的代码移植过来,不好做减法。

方案二:不采用Lua,Python等成熟完备的语言体系和虚拟机,而是团队自己实现一个内核比较小的脚本模板语言(非图灵完备),手写递归下降分析,或者用ANTLR之类的工具,生成分析树,然后遍历树生成字节码,这套字节码是方便在vchData中存储的,通过链上的字节码解释器执行。这套模板语言对用户开发友好,也符合高级模板的高级意图,团队自己在自己的基础上做加法。

: 最开始组内第一次讨论的方案,是比较高层的可行性方案,并没有涉及到模板语言长什么样子,具体执行的工作原理,用什么技术或工具。

另外, @sunhantao 可以补充这个issue,如果有不完善的地方。

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions