- 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