X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fcqlstd.y;fp=src%2Fcqlstd.y;h=59b9ff8579e5720180761d2b0e110d4f2fc1f79f;hb=29ba0d3dcc93061615c53d8f22702646120338f2;hp=0d81a5a9dfccb9c39652b3cee837723b76123e9e;hpb=9dd857867cf2feb11ed3ae6f0c70db702629ec88;p=yaz-moved-to-github.git diff --git a/src/cqlstd.y b/src/cqlstd.y index 0d81a5a..59b9ff8 100644 --- a/src/cqlstd.y +++ b/src/cqlstd.y @@ -1,10 +1,17 @@ -/* $Id: cqlstd.y,v 1.1 2005-11-15 12:23:32 adam Exp $ +/* $Id: cqlstd.y,v 1.2 2006-03-02 09:37:35 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; @@ -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;