- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Fri, 24 Sep 2004 13:06:55 +0100
- To: "Dave Beckett" <dave.beckett@bristol.ac.uk>, "RDF Data Access Working Group" <public-rdf-dawg@w3.org>
Thanks Dave - when I diff'ed the grammar below with that in 0524 as you suggested I got a 185 line diff file. It will take some time to sort out the language changes from the grammar changes that do not effect the language. Andy -------- Original Message -------- > From: Dave Beckett <mailto:dave.beckett@bristol.ac.uk> > Date: 24 September 2004 12:29 > > Here's a text version of the original grammar AndyS had in > http://lists.w3.org/Archives/Public/public-rdf-dawg/2004JulSep/0511.html > (pretty much lynx -nolinks -dump dawg.html with some line wrapping, plus > grepping out the terminals) > > You can diff this and what I had in > > http://lists.w3.org/Archives/Public/public-rdf-dawg/2004JulSep/0524.html > to see what I changed > > Dave > > BNF for DAWG QL > > NON-TERMINALS > > CompilationUnit ::= Query <EOF> > > CommaOpt ::= ( <COMMA> )? > > Query ::= ( PrefixDecl )* ( SelectClause | > ConstructClause | > DescribeClause | > AskClause ) ( PrefixDecl )* ( FromClause )? ( <WHERE> > GraphPattern )? > > SelectClause ::= ( <SELECT> VarAsNode ( CommaOpt VarAsNode )* | > <SELECT> <STAR> ) > > DescribeClause ::= ( <DESCRIBE> VarOrURI ( CommaOpt VarOrURI )* | > <DESCRIBE> <STAR> ) > > ConstructClause ::= ( <CONSTRUCT> ConstructPattern | > <CONSTRUCT> <STAR> ) > > ConstructPattern ::= TriplePatternList > > AskClause ::= <ASK> > > FromClause ::= <FROM> FromSelector ( CommaOpt FromSelector )* > > FromSelector ::= URL > > GraphPattern ::= PatternGroup > > SourceGraphPattern ::= ( <SOURCE> <STAR> PatternGroup1 | > <SOURCE> VarOrURI PatternGroup1 ) > > OptionalGraphPattern ::= ( <OPTIONAL> PatternGroup1 | > <LBRACKET> PatternGroup <RBRACKET> ) > > PatternGroup ::= PatternElement ( PatternElement )* > > PatternElement ::= ( TriplePatternList | > ExplicitGroup | > PatternElementForms ) > > PatternGroup1 ::= PatternElement1 > > PatternElement1 ::= ( SingleTriplePatternOrGroup | > PatternElementForms ) > > PatternElementForms ::= ( SourceGraphPattern | > OptionalGraphPattern | > <AND> Expression ) > > SingleTriplePatternOrGroup ::= ( TriplePattern | > ExplicitGroup ) > > ExplicitGroup ::= <LPAREN> PatternGroup <RPAREN> > > TriplePatternList ::= TriplePattern ( TriplePattern )* > > TriplePattern ::= <LPAREN> VarOrURI VarOrURI VarOrLiteral <RPAREN> > > VarOrURI ::= ( VarAsNode | > URI ) > > VarOrLiteral ::= ( VarAsNode | > Literal ) > > VarAsNode ::= <VAR> > > VarAsExpr ::= <VAR> > > PrefixDecl ::= ( <PREFIX> <NCNAME> <COLON> QuotedURI | > <PREFIX> <COLON> QuotedURI ) > > Expression ::= ConditionalOrExpression > > ConditionalOrExpression ::= ConditionalXorExpression ( <SC_OR> > ConditionalXorExpression )* > > ConditionalXorExpression ::= ConditionalAndExpression > > ConditionalAndExpression ::= ValueLogical ( <SC_AND> ValueLogical )* > > ValueLogical ::= StringEqualityExpression > > StringEqualityExpression ::= NumericalLogical ( <STR_EQ> > NumericalLogical | <STR_NE> NumericalLogical | > <STR_MATCH> PatternLiteral | > <STR_NMATCH> PatternLiteral )* > > NumericalLogical ::= EqualityExpression > > EqualityExpression ::= RelationalExpression ( <EQ> RelationalExpression > | <NEQ> RelationalExpression )? > > RelationalExpression ::= NumericExpression ( <LT> NumericExpression | > <GT> NumericExpression | > <LE> NumericExpression | > <GE> NumericExpression )? > > NumericExpression ::= ShiftExpression > > ShiftExpression ::= AdditiveExpression > > AdditiveExpression ::= MultiplicativeExpression ( <PLUS> > MultiplicativeExpression | <MINUS> MultiplicativeExpression )* > > MultiplicativeExpression ::= UnaryExpression ( <STAR> UnaryExpression | > <SLASH> UnaryExpression | > <REM> UnaryExpression )* > > UnaryExpression ::= ( <PLUS> UnaryExpressionNotPlusMinus | > <MINUS> UnaryExpressionNotPlusMinus | > UnaryExpressionNotPlusMinus ) > > UnaryExpressionNotPlusMinus ::= ( <TILDE> | > <BANG> ) UnaryExpression | > PrimaryExpression > > PrimaryExpression ::= ( VarAsExpr | > Literal | > FunctionCall | > <LPAREN> Expression <RPAREN> ) > > FunctionCall ::= <AMP> <QNAME> <LPAREN> ArgList <RPAREN> > > ArgList ::= ( VarOrLiteral ( <COMMA> VarOrLiteral )* )? > > Literal ::= URI | > NumericLiteral | > TextLiteral > > NumericLiteral ::= <INTEGER_LITERAL> | > <FLOATING_POINT_LITERAL> > > TextLiteral ::= ( <STRING_LITERAL1> | > <STRING_LITERAL2> ) ( <LANG> )? ( <DATATYPE> URI )? > > PatternLiteral ::= > > URL ::= URI > > URI ::= QuotedURI | > QName > > QName ::= <QNAME> > > QuotedURI ::= <URI> > > > Terminals > > <AMP> > <AND> > <ASK> > <BANG> > <COLON> > <COMMA> > <CONSTRUCT> > <DATATYPE> > <DESCRIBE> > <EOF> > <EQ> > <FLOATING_POINT_LITERAL> > <FROM> > <GE> > <GT> > <INTEGER_LITERAL> > <LANG> > <LBRACKET> > <LE> > <LPAREN> > <LT> > <MINUS> > <NCNAME> > <NEQ> > <OPTIONAL> > <PLUS> > <PREFIX> > <QNAME> > <RBRACKET> > <REM> > <RPAREN> > <SC_AND> > <SC_OR> > <SELECT> > <SLASH> > <SOURCE> > <STAR> > <STRING_LITERAL1> > <STRING_LITERAL2> > <STR_EQ> > <STR_MATCH> > <STR_NE> > <STR_NMATCH> > <TILDE> > <URI> > <VAR> > <WHERE>
Received on Friday, 24 September 2004 12:07:28 UTC