1 /* $Id: cqlstd.y,v 1.1 2005-11-15 12:23:32 adam Exp $
2 YACC CQL grammar taken verbatim from the official spec. We don't
3 use that in YAZ but I don't know of a better place to put it.
5 %term GE LE NE AND OR NOT PROX CHARSTRING1 CHARSTRING2
8 cqlQuery : prefixAssignment cqlQuery | scopedClause;
10 prefixAssignment : '>' prefix '=' uri | '>' uri;
12 scopedClause : scopedClause booleanGroup searchClause | searchClause ;
14 booleanGroup: boolean | boolean modifierList;
16 boolean : AND | OR | NOT | PROX ;
18 searchClause : '(' cqlQuery ')'
19 | index relation searchTerm
23 relation : comparitor | comparitor modifierList;
25 comparitor : comparitorSymbol | namedComparitor ;
27 comparitorSymbol : '=' | '>' | '<' | GE | LE | NE;
29 namedComparitor : identifier;
31 modifierList : modifierList modifier | modifier;
33 modifier : '/' modifierName
34 | '/' modifierName comparitorSymbol modifierValue
45 term: identifier | AND | OR | NOT | PROX ;
47 identifier: CHARSTRING1 | CHARSTRING2;