-$Id: Grammar,v 1.1 2002-10-31 22:22:01 mike Exp $
-
-This is the CQL grammar, more or less as on the official Maintenance
-Agency page (http://lcweb.loc.gov/z3950/agency/zing/srwu/cql.html) but
-with a few tweaks described in my message of Tue, 29 Oct 2002 14:11:48
-which I hope will be integrated into the official grammar.
-
---
-
-cql-query ::= cql-query boolean search-clause
- | search-clause
-boolean ::= "and" | "or" | "not" | prox
-search-clause ::= "(" cql-query ")"
- | [ qualifier relation ] term
-
-relation ::= base-relation { "/" relation-modifier }
-base-relation ::= numeric-relation | "exact" | "all" | "any"
-relation-modifier ::= "relevant" | "fuzzy" | "stem"
-numeric-relation ::= "<" | ">" | "<=" | ">=" | "<>" | "="
-
-prox ::= "prox" [ "/" prox-parameters ]
-prox-parameters ::= [ numeric-relation ] "/" [ distance ] "/" [ unit ] "/" ordering
- | [ numeric-relation ] "/" [ distance ] "/" unit
- | [ numeric-relation ] "/" distance
- | numeric-relation
-unit ::= "word" | "sentence" | "paragraph" | "element"
-ordering ::= "ordered" | "unordered"
-distance ::= non-negative-integer
-
-qualifier ::= [ qualifier-prefix "." ] qualifier-name
-qualifier-prefix ::= identifier
-qualifier-name ::= identifier
-identifer ::= string
-term ::= string | ""string""
-string ::= a character string