- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Tue, 15 May 2012 16:41:54 +0100
- To: Gavin Carothers <gavin@carothers.name>
- CC: public-rdf-wg@w3.org
>> Pragmatically, WS after @prefix and @base. Then can have a token type >> that is "@alpha-alphanumericsanddash". > > What you don't like: > > [19] LANGTAG ::= (BASE | PREFIX | '@' ([a-zA-Z])+ ('-' ([a-zA-Z0-9])+) > > ? ;) (to the casual reader : BASE is '@base' and PREFIX is '@prefix' Which is ambiguous - as it says: LANGTAG ::= ('@base' | '@prefix' | '@' ([a-zA-Z])+ ('-' ([a-zA-Z0-9])+) so the string "@base" matches two ways. But even if sorted out ... it means a tokenizer may well generate the token LANGTAG ... and then: [5] base ::= BASE IRIREF does not match as the token is LANGTAG, not BASE. Oops. > Yes, I think requiring white space between @prefix and the prefix name > is a very good idea. More human readable. > > So much for last call review this week... sigh... > > --Gavin A simple fix that would be acceptable (to me at least) is: 1/ Remove BASE and PREFIX rules. 2/ Write explicit '@base' and '@prefix' [5] base ::= '@base' IRIREF etc I think this makes it clear what is intended and communicates that the LANGTAG tokenization does not apply (this exploits a common feature in parser generates that read this as testing for a the string '@base' not LANGTAG - I suspect this is what happens in yacker). Andy
Received on Tuesday, 15 May 2012 15:42:32 UTC