我正在使用boost :: spirit来编写解析器词法分析器

时间:2011-10-17 19:36:37

标签: c++ parsing boost lexer boost-spirit

我正在使用boost :: spirit来编写解析器,lexer

这是我想做的。我想用它们使用的变量将函数和类放入数据结构中。所以我想知道最好的方法是什么。

和boost :: spirit的哪些部分最适合用于此目的?

我想要使用它的语言是C / C ++ / C#/ Objective C / Objective C ++。

我写的语言也是C ++,但我不熟悉我知道的其他语言

1 个答案:

答案 0 :(得分:1)

Spirit是一个很好的工具,但它不是所有解析任务的最佳工具。而对于解析实际C ++的任务来说,它非常糟糕。

Spirit擅长于中小型解析任务。语言相当规则,标准化的语法等等。 C语言和C语言通常过于复杂而无法处理。并不是你不能为他们编写Spirit解析代码。鉴于Spirit的一般设计,这样做很难建立和维护。

如果你想要一个好的C或C ++(或其Objective变体)解析器,我建议你下载Clang。它也是一个编译器,但它的设计是模块化的,所以你只需要链接到它的解析部分。