boost-spirit-x3

    3热度

    1回答

    如何在单独的翻译单元中定义船长语法? 什么是输出属性应该是什么类型?或者我可以简单地指定boost::spirit::x3::unused_type为Attribute模板参数为boost::spirit::x3::rule模板类为skipper语法?我认为skipper语法应该只是在内部将输入迭代器移动到空白,换行符,注释等处。从性能和内存分配/释放的角度来看,它更好。如何为这样的语法定义一个上

    0热度

    1回答

    使用annotation_base::on_success可以在X3解析期间访问标记的AST节点。 我可以得到他们的地址(和存储以及其他信息,如对应的输入范围迭代器对),并依赖于其不变性(对于所有人,但可能除顶级AST节点之外,可以移动/复制之后parse)以后再使用它们吗? 我可以假设,AST节点确实已经分配了一个状态,当parse返回时不会改变吗? AST是聚合和STL容器的组合:递归树。

    2热度

    1回答

    我已经经历了Boost.Spirit X3文件我已经能够找到---这是没有太大---并认为我想用这对我的下一个解析的项目。值得注意的是,我从未使用过Boost.Spirit Classic或V2,但已经使用过flex/bison和ANTLR。 我期待解析的格式,在其最基本的意义上说,是这样的: unimportant foo bar # BEGIN parse this ... # E