文章目录
- 一、Bison
- 二、生成来源
- 三、构建过程
一、Bison
GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用它开发广泛的语言解析器,从简单的桌面计算器中使用的解析器到复杂的编程语言。
Bison 与 Yacc 向上兼容:所有正确编写的 Yacc 语法都可以在 Bison 上正常使用。熟悉 Yacc 的任何人都应该可以轻松使用 Bison。您需要精通 C,C ++ 或 Java 编程才能使用 Bison。
Bison 及其生成的解析器是可移植的,它们不需要任何特定的编译器。
二、生成来源
qgis-3.22.8\src\core\CMakeLists.txt 文件中,指明了需要根据 qgssqlstatementparser.yy 生成 qgssqlstatementparser.cpp: