Создание грамматики для пользовательской файловой структуры ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Создание грамматики для пользовательской файловой структуры

Сообщение Anonymous »

Я хочу создать грамматику ANTLR для файловой структуры ниже

Код: Выделить всё

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         : entry (NEWLINE+ entry)* NEWLINE* EOF;
entry        : label;
label        : KEY_OR_VALUE (SPACE value)*;
nestedEntry  : label;
value        : KEY_OR_VALUE+;

KEY_OR_VALUE : [a-zA-Z_]+[a-zA-Z_0-9.]*;
SPACE        : [ ]+;
NEWLINE      : [\r\n]+;
эта грамматика не обеспечивает ожидаемое дерево синтаксического анализа.
Есть какие-нибудь предложения по поводу того, какие исправления необходимо внести в мою грамматику?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -structure

Вернуться в «JAVA»