我打算为需求规范语言构建编译器。我想出了使用JFlex作为词法分析器和CUP作为解析器的想法。
任何人都可以告诉我可以将JFlex和CUP用于正式的规范语言吗?所有文档和教程仅与编程语言相关。
任何可用于构建正式语言编译器的教程。
答案 0 :(得分:1)
Lexer和解析器生成器并不关心你的语言是否是“常规计算机语言”,只是因为你的语言有他们可以处理的语法规范。
对于你得到这样一个语法规范的方法,就是给出你给出的正式系统的规范,并根据你选择的解析器生成器的约束来弯曲它。这种弯曲过程最不方便,最糟糕的是非常困难,这取决于解析器生成器的能力与正式语言规范之间的差距。
我建议你检查你的“需求规范语言”正式语法,并根据它来决定你想要使用哪个解析器生成器,以尽量减少你必须做的弯曲。