- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Wed, 13 Jun 2012 16:22:20 +0100
- To: public-rdf-wg@w3.org
another rule presentation issue: [166s] PN_LOCAL_ESC ::= '\' '_' | '~' | '.' | '-' | '!' | '$' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | ';' | '=' | '/' | '?' | '#' | '@' | '%' in summary: [166s] PN_LOCAL_ESC ::= '\' '_' | '~' | .... | '@' | '%' It would be clearer to add ( ) to show that '\' takes one of the char, not just the first '_' Suggested change: [166s] PN_LOCAL_ESC ::= '\' ( '_' | '~' | .... | '@' | '%' ) ^ ^ Andy On 12/06/12 19:59, Andy Seaborne wrote: > > The grammar rule for DECIMAL is > > [21] DECIMAL ::= (([+-])? ([0-9])+ '.' ([0-9])+) | ('.' ([0-9])+) > ^ ^ > > which seems to have brackets in the wrong place. > It puts +/- only on the first form. > > Rewritten with whitespace: > > (([+-])? ([0-9])+ '.' ([0-9])+) > | > ('.' ([0-9])+) > > so .3 is legal but +.3 isn't. > > Should that be: > > ([+-])? > ( ( ([0-9])+ '.' ([0-9])+ ) > | > ('.' ([0-9])+) > ) > > ie. > > ([+-])? ( ( ([0-9])+ '.' ([0-9])+ ) | ('.' ([0-9])+) ) > ^1 ^1 > ^2 ^2 > > simpler is > > ([+-])? ( ([0-9])* '.' ([0-9])+ ) > > (this respects ISSUE-18). > > - - - - > [22] DOUBLE ::= (([+-])? ([0-9])+ '.' ([0-9])+ EXPONENT) | ('.' ([0-9])+ > EXPONENT) | (([0-9])+ EXPONENT) > > (([+-])? ([0-9])+ '.' ([0-9])+ EXPONENT) | .... > ^ ^ > > suffers a similar problem. > > Should be: > > ([+-])? ( [0-9]+ '.' [0-9]* EXPONENT | '.' ([0-9])+ EXPONENT | ([0-9])+ > EXPONENT ) > > Andy > > PS > > .3 is illegal in N3 as is +.3 and -.3 > N3 requires a digit before the dot. > Except it does not require the dot in the EBNF: > > N3 grammar: > [-+]?[0-9]+\\.[0-9]* > or EBNF: > decimal ::= [-+]?[0-9]+(\.[0-9]+)? > > which are different and the latter reflects the old decimal/integer > issue in turtle and N3 >
Received on Wednesday, 13 June 2012 15:22:49 UTC