Bab*_*ker 5 c++ interpreter programming-languages
我想创建一个非常简单的实验性编程语言.我可以查看哪些资源来概述创建解释语言的过程.我将使用c ++来构建和编译解释器.
小智 5
您需要实现解析器和解释器。
有一本很棒的免费教科书,名为“编程语言:应用程序和解释”,它使用方案来构建越来越复杂的解释器。它还可以很好地介绍编程语言的功能。
在这里查看: http: //www.cs.brown.edu/~sk/Publications/Books/ProgLangs/
如果您不喜欢Scheme,那么它可能值得研究一下。
几个步骤:
首先,构建词法分析器和解析器。使用 lex 和 yacc 等常用工具,或者使用 Antlr 等更现代的框架(这是我推荐的),这确实很容易做到。这些工具将为您的目标语言生成源代码,然后您可以对其进行编译并包含在您的项目中。
词法分析器和解析器将构建源文件的内部表示。有几种不同的方法可以解决这个问题:
Exec()根对象(根对象又调用Exec()其子对象等)。这基本上是我用于解释型域特定语言Phonix的方法。