是否可以生成默认上下文对象?
给出以下简化语法
class {
method* constructor?
}
和解析文本:
SomeClass {
}
是否可以让antlr将输入文本解释为存在构造函数?
SomeClass {
SomeClass() {
}
}
我可以在类上下文监听器中做一些技巧来添加构造函数,但这看起来很混乱。如果上下文对象不是在尽可能低的级别提供的,我想知道是否有任何方法可以生成默认的"文本"。
学习Antlr的基本知识。有一个由ANTLR侦听器生成的名为(语法名称)BaseListener的侦听器,方法为enter(rulename)或exit(rulename)。我想当调用这些方法时,这是不可取的。您可以覆盖方法以执行任何您想要的操作,例如,如果将存在构造函数规则,则调用构造函数。然后将此侦听器添加到parcer中。