【问题标题】:Getting into boost spirit; Qi or X3?进入提振精神;齐还是X3?
【发布时间】:2018-10-25 13:36:22
【问题描述】:

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

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

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

我不确定这 2 个库的处理方式有何不同。

【问题讨论】:

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


    【解决方案1】:

    X3 较新,仍处于试验阶段,需要 C++14。

    气是

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

    文档是

    【讨论】:

    • "编译速度要慢得多" 只是为了强调这一点——作为一个远低于最先进系统的人,我只能这么说是轻描淡写的(甚至考虑到 PCH)。
    • @Barnack 我刚刚遇到了这个您可能喜欢阅读的相关答案,它提到了 Qi 和 X3 之间的许多结构差异stackoverflow.com/questions/45457868/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    相关资源
    最近更新 更多