编写脚本语言?

时间:2016-10-12 23:07:42

标签: c++ scripting

我正在扩展我的C ++知识,并希望编写自己的脚本语言作为挑战自己的手段,也可以编写一个用于休闲脚本等的项目。我在stackoverflow上看到了一些旧帖子,但他们&#39 ;相当陈旧,想知道是否有人可以提供任何新的资料来源等......?

1 个答案:

答案 0 :(得分:2)

简而言之:

定义您的语言
您需要定义所有命令及其语法 定义它们之后,您可以按语法模式对它们进行分组。

设计Lexer
Lexer是扫描输入语言元素并将其转换为标记的部分。然后将令牌馈送到解析器。

设计分析器
解析器是评估令牌的部分,例如它们的顺序和参数数量。

设计口译员
解释器是执行解析器输出的部分 您应该将其视为计算机的高级模型。例如,您是否需要变量,寄存器,输入,输出,数学指令等。

复杂的解释器是BASIC语言解释器(或Visual BASIC)。 Java有一个解释字节码的JVM。还有LISP口译员。

如果可以的话,您可能需要查看Python解释器源代码。

另外,请查看GNU和CLanguage编译器的源代码。

编译器和口译员通常由人员编写(以缩短开发时间)。准备好花很长时间来完成这个项目。