New
authormike <mike>
Wed, 27 Jun 2007 23:36:19 +0000 (23:36 +0000)
committermike <mike>
Wed, 27 Jun 2007 23:36:19 +0000 (23:36 +0000)
spec/bnf [new file with mode: 0644]

diff --git a/spec/bnf b/spec/bnf
new file mode 100644 (file)
index 0000000..616fa07
--- /dev/null
+++ b/spec/bnf
@@ -0,0 +1,21 @@
+$Id: bnf,v 1.1 2007-06-27 23:36:19 mike Exp $
+
+Sort of derived from http://www.loc.gov/standards/sru/cql/
+
+cqlQuery ::= prefixAssignment cqlQuery | scopedClause
+prefixAssignment ::= '>' prefix '=' uri | '>' uri
+scopedClause ::= scopedClause booleanGroup searchClause | searchClause
+booleanGroup ::= boolean [modifierList]
+boolean ::= 'and' | 'or' | 'not' | 'prox'
+searchClause ::= '(' cqlQuery ')'
+              | index relation searchTerm
+              | searchTerm
+relation ::= comparitor [modifierList]
+comparitor ::= comparitorSymbol | namedComparitor
+comparitorSymbol ::= '=' | '>' | '<' | '>=' | '<=' | '<>'
+namedComparitor ::= identifier
+modifierList ::= modifierList modifier | modifier
+modifier ::= '/' modifierName [comparitorSymbol modifierValue]
+prefix, uri, modifierName, modifierValue, searchTerm, index ::= term
+term ::= identifier | 'and' | 'or' | 'not' | 'prox'
+identifier ::= charString1 | charString2