QL 语言参考¶
了解 QL 的所有内容,QL 是强大的查询语言,是代码扫描工具 CodeQL 的基础。
- 关于 QL 语言: QL 是强大的查询语言,是 CodeQL 的基础,用于分析代码。
- 谓词: 谓词用于描述构成 QL 程序的逻辑关系。
- 查询: 查询是 QL 程序的输出。它们评估为结果集。
- 类型: QL 是一种静态类型语言,因此每个变量都必须具有声明的类型。
- 模块: 模块提供了一种通过将相关的类型、谓词和其他模块分组来组织 QL 代码的方法。
- 签名: 签名为参数化模块的参数提供类型机制。
- 别名: 别名是现有 QL 实体的替代名称。
- 变量: QL 中的变量以类似于代数或逻辑中的变量的方式使用。它们代表一组值,并且这些值通常受公式限制。
- 表达式: 表达式评估为一组值,并具有类型。
- 公式: 公式定义表达式中使用的自由变量之间的逻辑关系。
- 注释: 注释是您可以直接放在 QL 实体或名称声明之前的字符串。
- 递归: QL 为递归提供了强大的支持。如果 QL 中的谓词直接或间接依赖于自身,则该谓词被称为递归谓词。
- 词法语法: QL 语法包括不同类型的关键字、标识符和注释。
- 名称解析: QL 编译器将名称解析为程序元素。
- QL 程序的评估: QL 程序在多个不同的步骤中进行评估。
- QL 语言规范: QL 语言的正式规范。它为 QL 的术语、语法和其他技术细节提供了全面的参考。