如何使字符串具有相同的父对象?

时间:2019-06-15 14:36:07

标签: antlr antlr4

我真的是Antlr4的新手。我正在尝试为BGP社区创建解析器。 我的第一个输入可以是:

[Action] NO_EXPORT SET
[Action] NO_EXPORT RUN

这是我的代码

grammar AUX;

start : configSections;

configSections: configSection+
                EOF;

configSection: defined_actions
             | undefined_actions
             ;

undefined_actions: 'NOT KNOWN'
    ;   

defined_actions: '[Action]'
            action_define*;

action_define: no_export | local_preference | as_padding;

no_export:  'NO_EXPORT'
            verbs_no_export*;
local_preference: '[Verbs LOCAL_PREFERENCE]'
            verbs_local_preference*;
as_padding: '[Verbs AS_PADDING]'
            verbs_as_padding*;

verbs_no_export: ('DO NOT'|'SET'|'RUN')+;

其余代码可以忽略。 这是我的树输出:

(start (configSections (configSection (defined_actions [Action] (action_define (no_export NO_EXPORT (verbs_no_export SET))))) (configSection (defined_actions [Action] (action_define (no_export NO_EXPORT (verbs_no_export RUN))))) <EOF>))

问题是,对于该输入,我只希望一棵只有两片不同叶子的树,即动词(SET,RUN)

谢谢

0 个答案:

没有答案