首页 > 解决方案 > 使用 Antlr4 生成符号表

问题描述

我正在学习如何使用 Antlr4 生成符号表。我遇到了这个例子(也是迄今为止唯一的一个),但它给出了 Antlr4 生成的文件的编译错误。

(命令: antlr4 Simple.g4javac 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 的例子吗?我尝试了官方文档,但它对新手来说不是很有帮助。

标签: antlr4symbol-table

解决方案


推荐阅读