设计一个迷你脚本语言

时间:2011-01-08 15:45:11

标签: language-design

今年我的项目是开发一个文本挖掘工具(带有新功能) 所以我们需要在这个工具中使用迷你脚本语言来为文本添加注释 这种语言应该简单,像lisp语法(左侧和右侧)。 我需要的是如何设计这种语言,我知道如何构建编译器, 但如何写语言语法? ,我想使用一些迷你开源语言或任何语言bnf 请告诉我,如果有一种语言,我可以使用和定制,以满足我的需求?

编辑:如果有人可以为lisp或任何语言提供语法链接(bnf)

非常感谢

3 个答案:

答案 0 :(得分:0)

你可以考虑我们这个 http://www.antlr.org/ 设计你的语言。

答案 1 :(得分:0)

如果可能,我建议只使用Lua。如果您使用其设计为易于嵌入其他程序的解释器,它将为您节省设计,实现和测试自己语言的时间。

Otherewise,您可以重新使用Lua解析器代码来解析您自己的Lua语言。

答案 2 :(得分:0)

This 是 Scheme 语言的 R5RS 版本的标准,是 Lisp 的极简方言。

如果您想要一些简单的东西,可以尝试创建一种带有后缀表示法的 concatenative 编程语言,例如 Forth 或 Factor。您的语言的语法可能类似于:

"Hello, world! print                   // Hello world
3 4 + print                            // Prints "7"
5 1 + 2 * print                        // Prints "12"

This 是一个连接语言的 wiki,您可以在其中找到灵感。