POSTER P919: PEG-ify ADQL

ADASS posters are displayed all week

When

10:19 p.m., Nov. 9, 2023

Theme: Other creative topics in astronomical software

pretalxeposter

ADQL is a language defined by the IVOA for querying astronomical data. It stands for Astronomical Data Query Language. It is a fork of SQL-92 in which only the query features are used. Astronomical functions and operators have been added, in particular to query data by position. This language is mainly used in the IVOA protocol called TAP for querying relational astronomical data.

Until now, the ADQL grammar has been described using a context-free grammar named BNF (Backus-Naur-Form). This choice of notation is mainly a legacy of SQL-92. However, in its current state, the ADQL BNF can not be parsed by any BNF parser. Furthermore, as BNF is a context-free grammar, it leads to a number of ambiguities that are difficult to resolve automatically.

In the next version of ADQL, it is therefore proposed to change the ADQL language notation from BNF to PEG (Parsing Expression Grammar). Unlike BNF, this is not a context-free grammar but an analytic formal grammar. This difference means that PEG apparently can not be ambiguous.

This poster aims to show what are the difference between the two notations and what improvements this implies for ADQL.

Contacts

Grégory Mantelet, CNRS/Observatoire astronomique - CDS