expansions
— Extension expansion classes and functions module¶
This module contains extension rule expansion classes and functions.
Classes¶
-
class
jsgf.ext.expansions.
Dictation
¶ Class representing dictation input matching any spoken words.
This is largely based on the
Dictation
element class in the dragonfly Python library.Dictation
expansions compile to a special reference (<DICTATION>
), similar toNullRef
andVoidRef
. See theDictationGrammar
class if you want to use this expansion type with CMU Pocket Sphinx.The matching implementation for
Dictation
expansions will look ahead for possible next literals to avoid matching them and making the rule fail to match. It will also look backwards for literals in possible future repetitions.It will not however look at referencing rules for next possible literals. If you have match failures because of this, only use
Dictation
expansions in public rules or use theJointTreeContext
class before matching if you don’t mind reducing the matching performance.-
matching_regex_pattern
¶ A regex pattern for matching this expansion.
This property has been left in for backwards compatibility. The
Expansion.matches
method now uses thematcher_element
property instead.Returns: regex pattern object
-
use_current_match
¶ Whether to match the
current_match
value next time rather than matching one or more words.This is used by the
SequenceRule.graft_sequence_matches
method.Returns: bool
-
validate_compilable
()¶ Check that the expansion is compilable. If it isn’t, this method should raise a
CompilationError
.Raises: CompilationError
-
Functions¶
-
jsgf.ext.expansions.
calculate_expansion_sequence
(expansion, should_deepcopy=True)¶ Split an expansion into 2*n expansions where n is the number of
Dictation
expansions in the expansion tree.If there aren’t any
Dictation
expansions, the result will be the original expansion.Parameters: - expansion – Expansion
- should_deepcopy – whether to deepcopy the expansion before using it
Returns: list
-
jsgf.ext.expansions.
expand_dictation_expansion
(expansion)¶ Take an expansion and expand any
AlternativeSet
with alternatives containingDictation
expansions. This function returns a list of all expanded expansions.Parameters: expansion – Expansion Returns: list