GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • CodeQL documentation
  • CodeQL overview
  • Writing CodeQL queries
  • CodeQL language guides
  • QL language reference
  • CodeQL standard-libraries
  • CodeQL query help
  • CodeQL repository
  • QL publications
  • CodeQL overview
  • Writing CodeQL queries
  • CodeQL language guides
  • About the QL language
  • Predicates

This view

  • Original page
  • New address

GeezerVison is showing codeql.github.com — QL language reference — CodeQL

QL language reference¶

Learn all about QL, the powerful query language that underlies the code scanning tool CodeQL.

  • About the QL language: QL is the powerful query language that underlies CodeQL, which is used to analyze code.

  • Predicates: Predicates are used to describe the logical relations that make up a QL program.

  • Queries: Queries are the output of a QL program. They evaluate to sets of results.

  • Types: QL is a statically typed language, so each variable must have a declared type.

  • Modules: Modules provide a way of organizing QL code by grouping together related types, predicates, and other modules.

  • Signatures: Signatures provide a typing mechanism to parameters of parameterized modules.

  • Aliases: An alias is an alternative name for an existing QL entity.

  • Variables: Variables in QL are used in a similar way to variables in algebra or logic. They represent sets of values, and those values are usually restricted by a formula.

  • Expressions: An expression evaluates to a set of values and has a type.

  • Formulas: Formulas define logical relations between the free variables used in expressions.

  • Annotations: An annotation is a string that you can place directly before the declaration of a QL entity or name.

  • Recursion: QL provides strong support for recursion. A predicate in QL is said to be recursive if it depends, directly or indirectly, on itself.

  • Lexical syntax: The QL syntax includes different kinds of keywords, identifiers, and comments.

  • Name resolution: The QL compiler resolves names to program elements.

  • Evaluation of QL programs: A QL program is evaluated in a number of different steps.

  • QL language specification: A formal specification for the QL language. It provides a comprehensive reference for terminology, syntax, and other technical details about QL.

  • © GitHub, Inc.
  • Terms
  • Privacy
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.