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

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

Сообщение Anonymous »

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

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

kinds
name test_val_1
length ten test_val_2

uses
use1 testcase_1
use2 testcase_2
В приведенном выше примере структура «виды» — это заголовок, который представляет узлы, находящиеся под ним, до тех пор, пока не будет достигнута пустая новая строка. то же самое касается и «использования». под этими узлами заголовка находятся его дочерние узлы, которые могут дополнительно иметь дочерние узлы, разделенные пробелом.
Я пробовал приведенную ниже грамматику, но узлы не вложены, как ожидалось.

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

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]+;
Ожидаемый результат дерева разбора следующий:

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

- kinds should be the root node under which the child nodes are name, length and uses
- name should have another child node having the value separated by a space after name, in the example that will be test_val_1
- length node should have two child nodes, that are ten and test_val_2 in the above example
- uses should have two child nodes, that are use1 and use2 which in turn will have the child nodes testcase_1 and testcase_2 respectively.
ниже показано дерево синтаксического анализа, созданное в соответствии с созданной мной грамматикой и структурой входного файла.
[img]https://i .sstatic.net/6cmgkQBM.png[/img]

Как видите, дерево синтаксического анализа работает не так, как ожидалось.
Любые предложения по поводу того, что может быть, нужно исправить мою грамматику?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -structure
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создание грамматики ANTLR для пользовательской файловой структуры
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Создание грамматики ANTLR для пользовательской файловой структуры
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Создание грамматики ANTLR для пользовательской файловой структуры [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Создание грамматики ANTLR для пользовательской файловой структуры.
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Создание грамматики для пользовательской файловой структуры
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

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