Учитывая файл грамматики распознавания речи, соответствующий Спецификации W3C SRG , существует ли существующая библиотека (для любого языка) или программа, способная генерировать список всех команд, которые она описывает?
Например, с учетом:
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="en-US"
xmlns="http://www.w3.org/2001/06/grammar"
tag-format="semantics/1.0" root="Main">
<rule id="Main">
<item>
I would like to fly from <ruleref uri="#Cities"/>
to <ruleref uri="#Cities"/>
</item>
</rule>
<rule id="Cities" scope="public">
<one-of>
<item> Seattle </item>
<item> Los Angeles </item>
<item> New York </item>
<item> Miami </item>
</one-of>
</rule>
</grammar>
Вывод будет выглядеть примерно так:
I would like to fly from (Seattle, Los Angeles, New York, Miami) to (Seattle, Los Angeles, New York, Miami)
(Сложные грамматики реального мира генерируют больше выходных данных, чем это, конечно.)
Я пытался использовать свойство DebugShowPhrases класса GrammarBuilder платформы .NET после вызова AppendRuleReference , но в нем приводится только имя добавленного файла грамматики (например,, #file://c:/Temp/Cities.xml
, а не содержащиеся в нем команды.