Код: Выделить всё
kinds
name value-1
parameters value2 value-3
uses
webix.10 https://github.com/webix-hub/webix v10.3.0
webix-jet-21 https://github.com/webix-hub/webix-jet v2.1.2
runner Test-A webix.10 os=windows
method POST param
machine ID-561 test-id=0
flow generate
I-file from input-test
«имя», «параметры», «использование» и «бегун» являются дочерние узлы «видов».
Первое слово, которое идет после «видов» до тех пор, пока оно не достигнет новой пустой строки, должно быть дочерними узлами «видов».
ожидаемая структура дерева синтаксического анализа приведена ниже,

Грамматика, которую я пытаюсь использовать, добавлена ниже, но узлы не вложены должным образом.
Код: Выделить всё
grammar Test;
test
: tree EOF
;
tree
: ID child+
;
child
: NL ID value*
| NL+ tree NL+
;
value
: SP SQ* DQ* ID DQ* SQ*
;
SP : [ \t\f]+;
NL : '\r'? '\n';
SQ : '\'' -> channel(1);
DQ : '"' -> channel(1);
ID : [a-zA-Z_0-9/=;.:-]+;
Есть какие-нибудь предложения по поводу того, какие исправления необходимо внести в мою грамматику?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -structure