振作精神; Qi或X3?

时间:2018-10-25 13:36:22

标签: boost-spirit boost-spirit-qi boost-spirit-x3

我正在和一个朋友一起为一个小型个人项目做口译;我们开始实现所有类和通用结构,在这些类和通用结构中,代码将被翻译然后执行,只是将实际的解析代码推迟到这些结构中。

现在我们必须构建解析器,经过一番搜索,我发现各地到处都是谈论Spirit Qi和Spirit X3的帖子和人们,好像他们(我认为是)两种不同的解析器制作方式一样,但是没有人说出区别,哪个是最近的,我应该从哪个开始。

目的是给定代码字符串,输出最终错误,如果一切都遵循语法和逻辑,则将代码转换为我们已经构建的类的树。我们想在解析过程中检查一致性,例如“您正在使用未声明的变量”这类错误。

我不确定这两个库对事物的威胁如何不同

1 个答案:

答案 0 :(得分:3)

X3是更新的,仍在试验中,需要C ++ 14。

Qi是

  • 更稳定
  • 更轻松地支持更多有状态选项
  • 支持惰性解析器(您可能会喜欢)
  • 编译慢得多

文档是