问题:我希望开发一种像Lua这样的脚本语言,但你使用
if (paramters) {
codeToDo()
}
而不是
if parameters do
code_to_do()
end
但还没有在互联网上找到一个好的教程。
参数:我希望它被解释,我也想用 C# 制作它,以便它与它最容易集成。
编写语言和解释器不是一件容易的事,你必须定义完整的语法,在为它编写一个解析器之后,最后你必须实现一个能够执行你的语言的解释器。
在SO上已经有关于创建编程语言的答案:
- 编写编程语言的建议?
- 你会如何编写一个简单的编程语言?
一些可以指导您朝着正确方向前进的书籍:
-
语言实现模式"由 Terrence Parr 编写,他是 ANTLR 的创建者,这是一个 Java 中的解析生成工具,教授语言定义和字节码 vm 实现的基础知识。"
-
编写编译器和解释器:一种软件工程方法
找不到一本用 C# 编写代码的实用书籍,大多数关于编译器的书籍都带有 C 语言的代码,只有一些带有 Java 的书籍。