yacker grammar

I updated the
  http://www.w3.org/2005/01/yacker/uploads/SPARQL_11?lang=perl
yacker grammar to reflect
  http://www.w3.org/2009/sparql/docs/sparql-grammar-11
with three small changes:

Added a "top" to put all of SPARQL under one start production:
+ [0]	Top 	  ::=   	QueryUnit | UpdateUnit

Moved the WS*s out of 36-38 and split 39 to avoid the reduce-reuse-recyle error:
~ [36]	InsertData 	  ::=   	'INSERT' 'DATA' QuadData
~ [37]	DeleteData 	  ::=   	'DELETE' 'DATA' QuadData
~ [38]	DeleteWhere 	  ::=   	'DELETE' 'WHERE' QuadPattern # ???
~ [39]	Modify 	  ::=   		( DeleteClause InsertClause? | InsertClause ) UsingClause* 'WHERE' GroupGraphPattern
~ | ( 'WITH' IRIref ) ( DeleteClause InsertClause? | InsertClause ) UsingClause* 'WHERE' GroupGraphPattern

Why do we need QuadData and QuadPattern?
~ [46]	QuadData 	  ::=   	'{' Quads '}' # ???

Removing DeleteWhere and s/QuadPattern/QuadData/g gives no S/R errors.

-- 
-ericP

Received on Tuesday, 19 October 2010 03:21:58 UTC