используя antlr4 и получая атрибут из дерева - PullRequest
0 голосов
/ 08 мая 2019

Я использую antlr4 в трех частях моего проекта, в одной из них, когда я строю свой код, у меня есть некоторый атрибут, который я определяю в своем файле * .g4, когда я получаю (dir (tree.getChildren () )) из моего файла есть какой-то атрибут, который мне нужен, но в другом файле * .g4 у меня нет доступа к этому атрибуту это моя грамматика

grammar snmp;

listAll  :Comment  ( snmp_str )*  ;

Comment:((.)*?'\n')*'#  See the snmpd.conf manual page, and the output of "snmpd -H".\n#'('\n')*;

snmp_str
  // : 'agentAddress'('\n\t')* 'udp:' DNSID ':' Port NL 'rocommunity' Tab Com Tab DNSID NL
   : 'agentAddress'(WS)* 'udp:' DNSID ':' Port NL 'rocommunity' (WS)* Com (WS)* DNSID NL
  ;

Tab : ('\t');

Com: Letter+;

Port:
    [1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-6][0-5][0-5][0-3][0-5];

DNSID
  :  Octet '.' Octet '.' Octet '.' Octet | Letter+ ('.' Letter+)*
  ;

Octet
  :  Digit Digit Digit
  |  Digit Digit
  |  Digit
  ;


fragment Digit
  :  '0'..'9'
  ;

fragment Letter
  :  'a'..'z'
  |  'A'..'Z'
  ;


NL  : '\r'? '\n';
//NL      : '\r'? '\n' | '\r';
WS    :[ \t\r\n]+ -> skip ;
...