This documentation is splitted in 3 parts:

A. Parser

  1. Generated parser How the parser has been generated ? And which classes are implied ?
  2. Factory The parser uses a factory to build the ADQL tree. This factory can be adapted to your needs.
  3. Checker Add some custom checks to the parser.
  4. Exception What are the different kinds of exception thrown by the parser ?

B. ADQL tree

Part 1
  1. Structure & Objects What are the different kinds of node ? How are they organized ?
Part 2
  1. Navigation in the tree Browse a tree is never practical. Here is described another way to navigate into the syntactic tree generated by the parser.
  2. Manipulation of the tree If you want change some parts of the ADQL query via the tree, you will find here a way to manipulate the tree with few efforts.

C. Translator

  1. Main interface How to write an ADQL translator ?
  2. PostgreSQL translator A PostgreSQL implementation of the ADQL translator.