今年我的项目是开发一个文本挖掘工具(带有新功能) 所以我们需要在这个工具中使用迷你脚本语言来为文本添加注释 这种语言应该简单,像lisp语法(左侧和右侧)。 我需要的是如何设计这种语言,我知道如何构建编译器, 但如何写语言语法? ,我想使用一些迷你开源语言或任何语言bnf 请告诉我,如果有一种语言,我可以使用和定制,以满足我的需求?
编辑:如果有人可以为lisp或任何语言提供语法链接(bnf)
非常感谢答案 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,您可以在其中找到灵感。