Antlr4在extends Parser
內部創建了名稱與規則相同的方法。例如,如果我在我的語法中有名爲「程序」的規則,它將創建方法program()
。我可以調用這個方法來做解析。如何在運行時選擇Antlr4啓動規則?
但是如果我希望在運行時選擇啓動規則呢?
我看着落實,發現開始
public final ProgramContext program() throws RecognitionException {
ProgramContext _localctx = new ProgramContext(_ctx, getState());
enterRule(_localctx, 0, RULE_program);
它意味着,我不能選擇按名稱或索引規則,因爲我需要同時兩件事情:ProgramContext
類和RULE_program
不變。
事實上有可能嗎?
我可以定義一些默認規則並自動調用它嗎?