|
1
1
如果您对此非常认真,那么您要做的就是修改现有的C解析器。这个 Edison Design Group C Front End 也许是个选择 真正地 想成为 只是 C(C++)前端。 另一个选择是我们的 DMS Software Reengineering Toolkit . DMS可以通过 C Front End 它包含完全由语法驱动的完整C解析器。 DMS为构建语言的方言提供了直接的支持,而您要做的是构建C的方言,因此它将支持您的目标。DMS还提供了许多构建转换器的机制,因此将您的方言翻译成真正的C代码并发出它将相当容易。 |
|
|
2
3
bison/flex或yacc/lex是传统的方法。 请注意,这项任务不能由常规语言(如regex、简单perl脚本等)完成,因此您确实需要一个解析器。 最好做对。最有可能的是,yacc/bison生成的解析器将比一些手工制作的递归降序解析器更干净(更快)。 |
|
3
1
那里有一个关于如何编写自己的虚拟机的教程,包括汇编程序和解释器 |
|
|
4
1
Boost spirit 在这种情况下可能比bison/flex更好。 |
|
|
Toru · Oracle文本包含和技术内容 8 年前 |
|
|
Patrick Collins · 如何对Alex代码进行单元测试? 11 年前 |
|
|
user2408664 · 词汇和语法错误 13 年前 |