ToGrammarBuilder Method

Microsoft Speech Platform SDK 11

Collapse imageExpand ImageCopy imageCopyHover image

Returns an instance of GrammarBuilder constructed from the current SemanticResultKey instance.

Namespace:  Microsoft.Speech.Recognition
Assembly:  Microsoft.Speech (in Microsoft.Speech.dll)

Syntax

Visual Basic (Declaration)
Public Function ToGrammarBuilder As GrammarBuilder
Visual Basic (Usage)
Dim instance As SemanticResultKey
Dim returnValue As GrammarBuilder

returnValue = instance.ToGrammarBuilder()
C#
public GrammarBuilder ToGrammarBuilder()

Remarks

The use of ToGrammarBuilder is equivalent to using the GrammarBuilder constructor that takes a SemanticResultKey object as an argument (GrammarBuilder(SemanticResultKey)).

Examples

The following example creates a Grammar object that supports commands to change the background color.

A Choices object (colorChoice) containing the list of options for background colors is filled using the Add(array<GrammarBuilder>[]()[][]) method with GrammarBuilder instances. The GrammarBuilder instances are obtained through the ToGrammarBuilder()()()() method on the SemanticResultValue objects created from color strings.

A GrammarBuilder is then obtained by calling ToGrammarBuilder()()()() on a SemanticResultKey instance, which will be used to key the semantic choices in colorChoice.

C# Copy imageCopy Code
private Grammar CreateGrammarBuilderRGBSemantics() 
{
  // Create a set of choices, each a lookup from a color name to the RGB value.
  // Choices constructors do not take SemanticResultValue arguments,
  // so cast SemanticResultValue to GramarBuilder.
  Choices colorChoice = new Choices();
  foreach (string colorName in System.Enum.GetNames(typeof(KnownColor))) 
  {
    SemanticResultValue colorValue=new SemanticResultValue(colorName, Color.FromName(colorName).ToArgb());
    // Uses implicit conversion of SemanticResultValue to GrammarBuilder    
    colorChoice.Add(colorValue.ToGrammarBuilder());
  }
  SemanticResultKey choiceKey = new SemanticResultKey("rgb", colorChoice);
  GrammarBuilder choiceBuilder = choiceKey.ToGrammarBuilder();

  // Create two intermediate grammars with introductory phrase and the color choice.
  GrammarBuilder makeBackgroundBuilder = "Make background";
  makeBackgroundBuilder.Append(choiceBuilder);

  GrammarBuilder configureBackgroundBuilder = new GrammarBuilder("Configure background as");
  configureBackgroundBuilder.Append((new SemanticResultKey("rgb", colorChoice)).ToGrammarBuilder());

  // Create the final grammar, which recognizes either intermediate grammar.
  Grammar grammar = new Grammar(new Choices(makeBackgroundBuilder, configureBackgroundBuilder));
  grammar.Name = "Make Background /Configure background as";

  return grammar;
}

See Also