开发像咖啡脚本这样的编程语言时,我需要知道的最初要求是什么,它基本上有自己的语法,但在编译后会变成另一种语言。我做了谷歌,但找不到正确的答案。
答案 0 :(得分:7)
使用formal grammar之类的基本EBNF指定您的语言。
statement = if-statement
| return-statement
| expression
| ...
if-statement = "if" "(" expression ")" "{" statements "}"
return-statement = "return" expression ";"
...
编写一个从源文件创建abstract syntax tree的解析器。
编写一个code generator,将此AST转换为您的目标语言;或
写一个仅仅评估AST的interpreter。
答案 1 :(得分:3)
好的第一步是阅读Programming Languages: Application and Interpretation。它将教你如何使用口译员设计和实现语言。
答案 2 :(得分:0)
最初的要求是:
您还有很多工作要做,但基本上,您正在将新语言翻译成目标语言。