- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Thu, 05 Jan 2006 15:29:04 +0000
- To: public-rdf-dawg-comments@w3.org
> Hello,
>
> Let's try to use the SPARQL grammar rule
>
> [80] STRING_LITERAL_LONG1 ::=
> "'''" ( [^'\] | ECHAR | ("'" [^']) | ("''" [^']) )* "'''"
>
> to parse a string '''some-plain-text''\\more-plain-text'''
>
> It seemes to me that it is parsed as
> -- starting "'''";
> -- "some-plain-text", in a char-by-char loop,
> -- "''\", matching ("''" [^']),
> -- "\m", oops, this does not match ECHAR.
> -- ore-plain-text''' is parsed by error recovery code.
>
> I believe that the proper formal notation is
>
> [80] STRING_LITERAL_LONG1 ::=
> "'''" ( ("'" ("'"?))? ([^'\] | ECHAR) )* "'''"
>
> Unfortunately, this is less readable.
>
>
>
> Best Regards,
> Ivan Mikhailov
> OpenLink Software.
Ivan,
Thanks for the comment - I've fixed the grammar
[80] STRING_LITERAL_LONG1 ::=
"'''" ( ( "'" | "''" )? ( [^'\] | ECHAR ) )* "'''"
[81] STRING_LITERAL_LONG2 ::=
'"""' ( ( '"' | '""' )? ( [^"\] | ECHAR ) )* '"""'
I have also added tests for these cases:
http://www.w3.org/2001/sw/DataAccess/tests/#syntax-lit-NN-rq
http://www.w3.org/2001/sw/DataAccess/tests/data/SyntaxFull/syntax-lit-NN.rq
for NN = 15 to 20
Please let us know whether this reply addresses your comment.
If you could additionally send a message with [closed] in the
subject line, it would save us a little bit of bookkeeping.
Thanks again,
Andy
Received on Thursday, 5 January 2006 15:29:41 UTC