版权所有 © 2015 Abel Sinkovics
根据 Boost 软件许可证版本 1.0 发布。(参见随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制)
Metaparse 是一个用于模板元编程的解析器生成库。该库的目的是支持创建在编译时进行解析的解析器。该库旨在用于 C++ 的嵌入式领域特定语言的创建。生成解析器的输入是一个编译时字符串,参见 string
。解析过程的结果要么是错误,要么是解析器编写者指定的任何其他结果。
该库类似于 Boost.Spirit,但 Spirit 构建的解析器是在运行时解析,而 Metaparse 构建的解析器是在编译时解析。Metaparse 构建的解析器可以输出
有关更多详细信息,请参阅 编译时字符串可以构建什么? 部分。
基于 C++11 特性,该库可以为输入字符串的定义提供高级实用程序,而库的其余部分也适用于基于 C++98 的编译器。请注意,如果您使用 Boost.Build 和 GCC 或 Clang 构建测试和示例,编译器将不会启用 C++11(或更高版本)。要以 C++11 模式构建测试和示例,您需要运行 b2 cxxflags="-std=c++11"
。
外部教程可以在 https://github.com/sabel83/metaparse_tutorial#metaparse-tutorial 找到。