Отладка грамматики
Пошагово отследить срабатывание грамматик нельзя, но можно воспользоваться параметрами PrintTree
(см. Деревья синтаксического разбора (параметр PrintTree)) и PrintRules
(см. Срабатывание правил (параметр PrintRules)) в файле конфигурации. С помощью этих параметров посмотреть построенное синтаксическое дерево(PrintTree
) и узнать, какие правила сработали или не сработали (PrintRules
).
Также можно создать факт с именем Test
и несколькими необязательными полями.
message Test: NFactType.TFact
{
optional string A = 1;
optional string B = 2;
optional string C = 3;
optional string D = 4;
optional string E = 5;
}
А затем вставлять интерпретацию этого факта во все интересующие места грамматики (только нужно не забыть при этом указать этот факт в файле конфигурации, чтобы он печатался). Это аналог отладки с помощью print в Perl или printf в C++.