输入:
101 04200001312345678981107291600A094101US FORD NA TEST COMPANY101
5225TEST COMPANY 11234567898PPDTEST BUYS 110801110801 1098765430000001
以上各行的固定长度为94个字符。
预期输出:基于此输入,Antlr语法应基于索引位置进行解析。
例如:如果解析器在第一行的起始字符中标识为“ 1”。它应将整行识别为 HEADER1 作为单独的字符串。
就像解析器在第二行的起始索引中找到“ 5”一样。它应该将整行识别为 HEADER2 。
答案 0 :(得分:1)
fragment Digit: '0'..'9' ;
fragment Alpha: '_' | 'A'..'Z';
Number: Digit+ ;
Alphanumeric: (Letter | Digit)+ ;
header1: '1' Alphanumeric+
header2: '5' Alphanumeric+
WS
: (' ' | '\t') -> skip //channel (HIDDEN)
;
答案 1 :(得分:0)