Re: Suspicious notation in SPARQL lexical rule for STRING_LITERAL_LONG1 [OK?]

 > 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