#ABNF 1.0 UTF-8; /* Copyright 1998-2002 W3C (MIT, INRIA, Keio), All Rights Reserved. Permission to use, copy, modify and distribute this SRGS grammar and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the grammar for any purpose. It is provided "as is" without expressed or implied warranty. */ language en-US; mode voice; root $main; // meta information meta "description" is "Don't use reserved symbols in ABNF"; meta "spec.reference" is "http://www.w3.org/TR/speech-grammar/#S2.5"; // following inputs should not match: meta "in.1" is "not many many"; meta "out.1" is "REJECT"; meta "info.1" is "if this input is accepted it implies the * was interpreted as Kleene star, which is not conform the spec" meta "in.2" is "not"; meta "out.2" is "REJECT"; meta "info.2" is "if this input is accepted it implies the ? was interpreted as indicating optionality, which is not conform the spec" meta "in.3" is "not multiple multiple"; meta "out.3" is "REJECT"; meta "info.3" is "if this input is accepted it implies the + was interpreted as positive closure, which is not conform the spec" // rule declarations $main = not $faultyrule; // this rule makes use of reserved symbols $faultyrule = many* | any? | multiple+;