DisableRule deactivates the whole grammar rather than just the rule
Last reviewed: 2/17/2011
PRB Article ID: P021101
The information in this article applies to:
- SpeechKit 6
Symptoms
Deactivating a rule with DisableRule on a VoCon V3 grammar causes the whole grammar to be deactivated rather than the specific rule.
For example, there are three activatable rules with the following grammar:
#BNF+EM V1.1;
!grammar mycommands;
!start <main>;
!activatable <ruleone><ruletwo>;
<main>: <ruleone> | <ruletwo>;
<ruleone>: command one;
<ruletwo>: command two;
You can activate and deactivate <main> by default because it is the start rule. <ruleone> and <ruletwo> can be activated and deactivated because they appear in the !activatable statement.
You should be able to use DisableRule to deactivate either <main>, <ruleone>, or <ruletwo>.
Cause
DisableRule referenced the wrong rule constant type when requesting the state change.
Status
Fixed in SpeechKit build 6.0.11.0.
Component Formats Impacted
All component formats.