文件名称:Parser-Combinators:C ++解析器组合器库
文件大小:23KB
文件格式:ZIP
更新时间:2024-06-13 00:19:53
C++
解析器组合器 最新版本现在支持与属性语法等效的功能,其中解析器结果(合成属性)从下往上返回,状态(继承的属性)通过解析器从左到右累积值。 与回溯进行交互时需要格外小心,因为状态也需要回溯。 “尝试”解析器组合器负责保存当前结果和状态,并在回溯时将其还原,但这取决于状态是否可复制。 如果仅存在一个单字符预读,则失败的解析器将不使用字符,因此不需要回溯,并且该状态不需要是可复制的。 高性能C ++解析器组合器库,着重于组合器的静态实例化,使它与其他库(如Boost.Spirit)区分开来。 库的设计可确保所有组合器组合都在编译时发生,并具有用于允许在特定点动态运行时多态的特殊构造(解析器句柄)。 由于支持回溯,解析器通常可以由一组独立的静态解析规则和一个解析器句柄组成,以启用多态递归。 但是,也可以实现将解析器句柄作为其参数的更高级别的解析器组合器。 这使程序员可以控制多态是静态的还是动
【文件预览】:
Parser-Combinators-master
----prolog.hpp(18KB)
----profile.hpp(1KB)
----test_simple.cpp(3KB)
----.gitmodules(94B)
----parser_simple.hpp(5KB)
----mkexp.cpp(1KB)
----stream_iterator.hpp(3KB)
----example_expression.cpp(3KB)
----mkcsv.cpp(490B)
----templateio.hpp(2KB)
----function_traits.hpp(2KB)
----File-Vector()
----prolog.cpp(1KB)
----LICENSE(1KB)
----README.md(3KB)
----Makefile(1KB)
----parser_combinators.hpp(48KB)
----test_combinators.cpp(2KB)