ANTLR: Как проанализировать текстовый файл фиксированной длины на основе позиции индекса, используя ANTLR 4? - PullRequest
0 голосов
/ 06 декабря 2018

Ввод:

101 04200001312345678981107291600A094101US FORD NA             TEST COMPANY101                
5225TEST COMPANY                       11234567898PPDTEST BUYS 110801110801   1098765430000001

Над строками - 94 символа фиксированной длины.

Ожидаемый результат: На основе этого ввода, грамматика Antlrдолжен анализировать на основе позиций индекса.

Например: если синтаксический анализатор идентифицирует '1' в начальном символе строки первой.Он должен распознавать всю строку как отдельную строку как HEADER1 .

То же самое, как если бы синтаксический анализатор нашел '5' в начальном индексе второй строки.Он должен распознавать всю строку как отдельную строку как HEADER2 .

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Какой инструмент вы используете для разбора?

Я получаю следующее дерево при разборе вашей грамматики с помощью плагина Antlr v4 в Android-студии.

enter image description here

0 голосов
/ 10 декабря 2018
fragment Digit: '0'..'9' ;
fragment Alpha: '_' | 'A'..'Z';

Number: Digit+ ;
Alphanumeric: (Letter | Digit)+ ;

header1: '1' Alphanumeric+
header2: '5' Alphanumeric+

WS
  : (' ' | '\t') -> skip //channel (HIDDEN) 
  ;
...