Как разбить строку, чтобы создать несколько дочерних элементов одного корня AST? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть этот вход:

HH08000000000220150206154038ALL 

и я хотел бы получить AST, используя Antlr 4.7.2 со следующей структурой

Root
   -STRING(I don't want to include the HH)
   -NUMBER
   -STRING

  Root
   -NUMBER
   -STRING

Результат может быть:

 start 
   -08000000000220150206154038(as the first child)
   -All(second child)

Пока что я создал это правило, но оно не работает, как я ожидал

start: 'HH'(word | number)+  EOF
    ; 

word  : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'+')*
    ;

number :    '0'..'9'+
    ;
...