Objective C的解析器生成器?

时间:2011-07-16 22:53:09

标签: objective-c parsing compiler-construction programming-languages parser-generator

我被建议使用Parser Generator为我的域特定语言创建解析器。

理想情况下,我希望输出一个Objective-C解析器并使用BNF输入来描述语言。

似乎很少有选择..是否有可能使用一个更受欢迎的具有目标C的分析器生成器?

谢谢!

3 个答案:

答案 0 :(得分:8)

代码生成不是像Objective-C这样的动态语言中的“真正方式”。解析器生成器可以实现的任何操作都可以在运行时实现。所以,我建议你尝试类似ParseKit的东西,它将采用类似BNF的语法,并为你提供各种代理钩子,你可以用它来构建你的解析器。

查看this tutorial了解详情。

答案 1 :(得分:7)

当然(当然)你对Bison或YACC之类的东西的预期答案,但是如果你想要一个原生的Objective-C解决方案,那么已经提到了这对。 (Hammer和ParseKit)我知道的另一个是“CoreParse”:https://github.com/beelsebob/CoreParse

答案 2 :(得分:4)

如果您熟悉它们,您当然可以使用任何基于C的解析器生成器。另一个Objective-C运行时解析器由不可抑制的Rob Rix构成Hammer