Re: yacker grammar

These are all suggestions for presentation improvements.

I've added them to my ToDo list and I'll fine tune the script that 
products the HTML.

	Thanks
	Andy

On 19/10/10 07:03, Eric Prud'hommeaux wrote:
> * Eric Prud'hommeaux<eric@w3.org>  [2010-10-18 23:21-0400]
>> 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
>
> Removed ()s around RHSs on:
> ~ [19]	GroupCondition 	  ::=   	BuiltInCall | FunctionCall | '(' Expression ( 'AS' Var )? ')' | Var
> ~ [24]	LimitOffsetClauses 	  ::=   	LimitClause OffsetClause? | OffsetClause LimitClause?
> ~ [62]	ArgList 	  ::=   	NIL | '(' 'DISTINCT'? Expression ( ',' Expression )* ')'
> ~ [63]	ExpressionList 	  ::=   	NIL | '(' Expression ( ',' Expression )* ')'
>
>
>> 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.
>
> Separated 'NOT' 'IN' and 'NOT' 'EXISTS' and shortened RelationalExpression
> ~ [99]	RelationalExpression 	  ::=   	NumericExpression RelativeExpression?
> ~ [00]    RelativeExpression 	  ::=		'=' NumericExpression
> | '!=' NumericExpression
> | '<' NumericExpression
> | '>' NumericExpression
> | '<=' NumericExpression
> | '>=' NumericExpression
> | 'IN' ExpressionList
> | 'NOT' 'IN' ExpressionList
> ~[109]  	NotExistsFunc 	  ::=   	'NOT' 'EXISTS' GroupGraphPattern
>
> Grouped like aggregate expressions:
> ~ [110]  	Aggregate 	  ::=   	'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' | ( 'SUM' | 'MIN' | 'MAX' | 'AVG' | 'SAMPLE' ) '(' 'DISTINCT'? Expression ')' | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression ( ';' 'SEPARATOR' '=' String )? ')'
>
>
>> --
>> -ericP
>

Received on Tuesday, 19 October 2010 07:50:32 UTC