是否有一个ANTLR的方式来标记特定的标记具有典型输出?
例如,给定的语法(摘录)
words : FOO BAR BAZ
FOO : [Ff] [Oo] [Oo]
BAR : [Bb] [Aa] [Rr]
BAZ : [Bb] [Aa] [Zz]
SP : [ ] -> channel(HIDDEN);
words
将匹配“FOO BAR BAZ”, “富酒吧巴兹”, “富酒吧巴兹”,等等。
当我打电话TokenStream#getText(Context)
,它会返回标记的实际文本连接在一起。
有没有办法“规范化”这个输出,使得无论什么输入,所有FOO
令牌呈现为“富”, BAR
标记渲染为“栏”,并BAZ
令牌呈现为“巴兹”(例如)?
鉴于以上任何投入,我想有输出“富酒吧巴兹”。