- From: Laura Werner <laura@bevocal.com>
- Date: Mon, 3 Sep 2001 16:39:33 -0700
- To: www-voice@w3.org
- Cc: "'andrew.hunt@speechworks.com'" <andrew.hunt@speechworks.com>
I've just been looking over the ABNF part of the grammar working draft from an implementation point of view, and I've come across a few minor issues: Sections 4.2 - 4.4 Is there a good reason why the alias, lexicon, and meta declarations have to come in that order? Requiring a specific order makes life harder for both the implementer and the user, IMHO. I'm worried that users aren't going to remember the proper order and are going to get very frustrated. And though it's easy enough to implement an ABNF parser that requires the declarations in this order, to make it usable I think I'll have to put in extra checks for out-of-order declarations and issue intelligent error messages ("Meta declarations must come after alias and lexicon declarations"). It would be much easier to just allow them to come in any order. (Or to be mixed.) Sections 4.1.2 - 4.1.5 I think the same argument applies to the language, mode, root, and tag-format declarations as well. It's a bit weaker, since you're only allowed to have one of each of these. But I'd much rather allow them to be specified in any order and enforce the one-of-each rule at at a semantic level. Section 4.3, Pronunciation Lexicon: In the example, lexicon looks like this: lexicon $(http://www.example.com/lexicon.file); However, in the EBNF grammar for ABNF, it says: LexiconURI ::= '(' URIC+ ')' One of these has to be wrong. I suspect it's the latter, because the rest of the document consistently uses $(...) Appendix D, Formal Syntax for Augmented BNF All of the URI tokens are defined using the URIC production from RFC2396, e.g. LexiconURI ::= '(' URIC+ ')' However, since ')' is a valid character in URIC, this is nondeterministic. Appendix D again... The MimeTypeChar production is not defined. Laura Werner BeVocal
Received on Monday, 3 September 2001 19:40:15 UTC