如何将ANTLR4配置为而不是生成父类?
给定文法MyGrammar
statement: 'do' | 'check';ANTLR4生成
class MyGrammar {
class StatementContext {}
}因为ANTLR4为所有XXXContext类生成一个父类,所以这个类名也必须在任何用法中使用。所以我必须写
MyGrammar.StatementContext node = ...;不能简单地写
NodeContext node = ...;这已经足够大了,因为它会污染我的代码的额外字符,不增加任何可读性。因此,它降低了可读性,从而降低了可理解性和可调试性,等等。
那么,如何使语法MyGrammar
statement: 'do' | 'check';让ANTLR4生成
class StatementContext {} // look ma: no parent MyGrammar class!发布于 2017-10-07 10:16:33
就这么简单:您不能改变生成类的方式。这是一个精心安排的合奏和改变,这将打破许多事情。
https://stackoverflow.com/questions/46611135
复制相似问题