antlr4 - 使用 Antlr4 生成符号表
问题描述
我正在学习如何使用 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 的例子吗?我尝试了官方文档,但它对新手来说不是很有帮助。
解决方案
推荐阅读
- python - 张量和只是张量的列表
- neo4j - NEO4J 中的变量范围 - 加载 csv 文件后的 CYPHER。/这个请的替代代码
- ios - 即使在应用自动布局后 UITableView 的 contentSize 也会发生变化
- botframework - 带有 Method = "POST" 的表单不会在任务模块 MS Teams 中呈现
- javascript - 未根据 angular 中的参数获取 Http 请求。参数有问题
- vue.js - 通过 axios 更改数据后 Vue 不更新
- intellij-idea - Intellij 在运行期间删除已编译的 java 类
- android - Whatsapp 是否将我的朋友 Whatsapp 版本本地存储在我的设备数据库中?
- jsf - p:从支持 bean 插入后数据表滚动底部
- python - 无法使用 Kivy 获取窗口或文本提供程序