Meta data within grammars
An advanced option within SRGS grammars is the ability to add Meta Data to the document, which can be used to convey information about the document, rather than be part of the document data itself.
LumenVox supports the use of certain meta data elements within ABNF and GrXML grammars, as shown here:
ABNF
#ABNF 1.0; meta "SKIP_DETERMINIZE" is "true"; |
XML
<?xml version="1.0"?> <grammar version="1.0" etc...> <meta name="SKIP_DETERMINIZE" content="true"/> </grammar> |
SKIP_DETERMINIZE
The SKIP_DETERMINIZE meta declaration is a special value used to control how the grammar will be compiled. Specifically, if this value is specified as shown above, it instructs the grammar compiler to skip the determinization step which is part of the grammar optimization process.
Grammars can still be used when this step is skipped, however they are far less optimal, and may use more memory and CPU when used to perform recognition tasks.
Certain grammars that are sufficiently complex or have lots of recursive references within them may take a very long time and a large amount of memory to complete the determinization step when they are compiled. This would be the one occasion you may want to skip this determinization step. It is better to allow the grammar to complete the determinization step during compilation whenever possible, however there may be some grammars where this is simply not practical, which is why this option exists.
Most grammars will not require this setting, so it should only be used when absolutely necessary. Please consult with LumenVox Client Services for support on this setting if needed.
Other Meta Declarations
There may be other meta declarations that LumenVox documents at a later time. Any unused meta declarations will have no effect on the overall performance of the grammar.