Fixed bug #2068: pkg-config trouble.
[yaz-moved-to-github.git] / src / cqlstd.y
index 0d81a5a..cd2238d 100644 (file)
@@ -1,10 +1,17 @@
-/* $Id: cqlstd.y,v 1.1 2005-11-15 12:23:32 adam Exp $ 
+/* $Id: cqlstd.y,v 1.3 2006-03-02 09:38:41 adam Exp $ 
   YACC CQL grammar taken verbatim from the official spec. We don't
   use that in YAZ but I don't know of a better place to put it.
  */
-%term GE LE NE AND OR NOT PROX CHARSTRING1 CHARSTRING2
+%term GE LE NE AND OR NOT PROX CHARSTRING1 CHARSTRING2 SORTBY
 
 %%
+sortedQuery : prefixAssignment sortedQuery 
+            | scopedClause
+            | scopedClause SORTBY sortSpec;
+
+sortSpec : sortSpec singleSpec | singleSpec;
+singleSpec : index modifierList | index ;
+
 cqlQuery : prefixAssignment cqlQuery | scopedClause;
 
 prefixAssignment : '>' prefix '=' uri | '>' uri;
@@ -16,7 +23,7 @@ booleanGroup: boolean | boolean modifierList;
 boolean : AND | OR | NOT | PROX ;
 
 searchClause : '(' cqlQuery ')'
-             | index relation searchTerm
+             | index relation searchClause
             | searchTerm
             ;
 
@@ -42,7 +49,7 @@ modifierValue: term;
 searchTerm: term;
 index: term;
 
-term: identifier | AND | OR | NOT | PROX ;
+term: identifier | AND | OR | NOT | PROX | SORTBY ;
 
 identifier: CHARSTRING1 | CHARSTRING2;