- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Sat, 26 Nov 2011 17:25:48 +0000
- To: public-rdf-dawg@w3.org
Eric,
Thanks for the comments,
On 26/11/11 15:06, Eric Prud'hommeaux wrote:
> [39] InsertData ::= 'INSERT DATA' QuadData
> [40] DeleteData ::= 'DELETE DATA' QuadData
> [41] DeleteWhere ::= 'DELETE WHERE' QuadPattern
> could be liberalized it a bit to:
> [39] InsertData ::= INSERT_DATA QuadData
> [40] DeleteData ::= DELETE_DATA QuadData
> [41] DeleteWhere ::= DELETE_WHERE QuadPattern
> ...
> [130] INSERT_DATA ::= "INSERT" WS+ "DATA"
> [131] DELETE_DATA ::= "DELETE" WS+ "DATA"
> [132] DELETE_WHERE ::= "DELETE" WS+ "WHERE"
This is covered by note 7 in the grammar notes:
[[
7. The tokens INSERT DATA, DELETE DATA, DELETE WHERE allow any amount of
whitespace between the words. The single space version is used in the
grammar for clarity.
]]
(aside that includes no whitespace INSERTDATA)
It's a balance in presentation.
>
> Also, we can formalize comments with:
> [130]<COMMENT> ::= "#" [^\r\n]*
> ...
> [157]<WS> ::= " " | "\t" | "\r" | "\n" | COMMENT [\r\n]
> ...
> PASSED TOKENS ::= ([ \t\r\n])+ | "#" ([^\r\n])*
>
> You can play at http://www.w3.org/2005/01/yacker/uploads/SPARQL_11?text=INSERT%0D%0A++DATA+{+%3Cs%3E+%3Cp%3E+%3Co%3E+}&action=validate+text
PASSED TOKENS is a reflection of the tool chain you're using and is not
really BNF (you have <> round tokens and not round PASSED TOKENS yet its
a tokenizing issue).
Different parser generators have different ways of expressing comments
and whitespace; some would put explicit mention in the grammar, some
have ways to express the common idiom of arbitrary whitespace between
tokens and treating comment forms as whitespace so that the parser
writer does not have to enumerate every possibility.
By defining them as tokens, I think it creates the expectation that the
token will be used in the grammar. Defining it and not using can be
seen a but confusing.
In SPARQL, the comments do not form part of the parse tree (unlike, say
XML).
Since SPARQL 1.0 took this approach, I'm not inclined to change in
change it at this stage. It just a different way to express the same
thing and 1.0 approach is in the 1.1 grammar.
Andy
Received on Saturday, 26 November 2011 17:26:17 UTC