BNF
The BNF is reproduced bellow to indicate the extensions made, which are highlighted in bold characters. The original BNF was extended thinking in SQL where expression. Moreover, we found some errors in the specification and made some corrections, that will help to use and analysis the CQL language.
[1], [2], [3] extensions
RELATE is not found in the GeoAPI Filter interfaces. |
Design
Module Interface
This diagram presents the module interface. In parser's protocol methods performs the parsing of CQL and builds the the filter.
Module Implementation
The figure shows the principal class in the parser and build process. CQLParser does a top down analysis of the input string and makes the parsing tree using the SimpleNode class. Each time CQLParser builds a node, it makes a call to CQLCompiler, that implements the semantic actions related and builds the product or subproduct required to make the Filter at the end of the parsing process