Я учусь создавать таблицу символов с помощью Antlr4. Я наткнулся на этот пример (и пока единственный), но он дает ошибки компиляции для файлов, сгенерированных Antlr4.
(команды:
antlr4 Simple.g4
и javac Simple*.java
)
-bash-4.1$ javac Simple*.java
SimpleBaseListener.java:3: error: package org.antlr.symbols does not exist
import org.antlr.symbols.*;
^
SimpleListener.java:3: error: package org.antlr.symbols does not exist
import org.antlr.symbols.*;
^
SimpleParser.java:3: error: package org.antlr.symbols does not exist
import org.antlr.symbols.*;
^
SimpleParser.java:87: error: cannot find symbol
public Scope scope;
^
symbol: class Scope
location: class FileContext
SimpleParser.java:166: error: cannot find symbol
public Scope scope;
^
symbol: class Scope
location: class FuncContext
SimpleParser.java:356: error: cannot find symbol
public Scope scope;
^
symbol: class Scope
location: class BlockContext
SimpleLexer.java:3: error: package org.antlr.symbols does not exist
import org.antlr.symbols.*;
^
7 errors
Я предполагаю, что эта реализация использует старую версию Antlr.
Есть ли пример для Antlr4? Я попробовал официальную документацию , но это не очень полезно для новичка.