Main Documentation for grammar AQL.grm


Description

This grammar defines a fully-working Algebraic Query Language (AQL) prototype expressed using the hlt.language.design language design tools. It includes a full polymorphic type-checker, an intermediate code compiler, and runtime system.

AQL's Jacc and Java source documentation are given here. AQL's purely syntactic grammar in yacc format is given here.

The AQL languague uses a surface syntax for an interactive query language based on:

  • Leonidas Fegaras and David Maier, "Optimizing object queries using an effective calculus," ACM Transactions on Database Systems 25(4), 457-516, 2000 (available on line).

    or, as well, on:

  • Tortsten Grust. Monad Comprehensions. A Versatile Representation for Queries, in P.M.D. Gray, L. Kerschberg, P.J.H. King, A. Poulovassilis (eds.), The Functional Approach to Data Management - Modeling, Analyzing and Integrating Heterogeneous Data, Springer Verlag, ISBN 3-540-00375-4, September 2003 (available on line).
That is, our prototype AQL v0.00 is a functional language augmented with a calculus of compehensions à la Fegaras-Maier, or à la Grust. In other words, it is a complete query language, powerful enough to express most of [ODMG] OQL, and thus many of its derivatives such as, e.g., XQuery, (see also here for an overview), XPath, (see also here for a tutorial), etc., ...

This version of AQL can be run both interactively and in batch mode. In the former case, a user can define top-level constructs and evaluate expressions. AQL v0.00 supports 2nd-order (ML-like) type polymorphism, automatic currying, associative arrays, multiple type overloading, dynamic operator overloading, as well as (polymorphic) type definition (both aliasing and hiding), classes and objects, and (of course) monoid homomorphisms and comprehensions (N.B.: no subtyping nor inheritance yet - but this is next on my agenda...).

This is part of the AQL language grammar and contains its operator declarations. See AQL's predefined operators.

This is an auxiliary file for the AQL language grammar defining the node classes for the objects used in its semantic rules.

This file contains the grammar rules the AQL language and the semantic actions associated to them.

Author:
Hassan Aït-Kaci, Hassan Aït-Kaci, Hassan Aït-Kaci, Hassan Aït-Kaci, Hassan Aït-Kaci
Copyright:
© by the author, © by the author, © by the author, © by the author, © by the author
Version:
Last modified on Thu Oct 18 03:00:22 2012 by hak, Last modified on Wed Oct 17 23:49:45 2012 by hak, Last modified on Thu Oct 18 02:28:40 2012 by hak, Last modified on Thu Oct 18 00:32:44 2012 by hak, Last modified on Thu Oct 18 00:40:42 2012 by hak


Copyright © 2012 by Hassan Aït-Kaci; All Rights Reserved.