|
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:
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.
|
Copyright © 2012 by Hassan Aït-Kaci; All Rights Reserved.