java - 错误 : duplicate class: llang. 范围

标签 java antlr4

当我为 antlr 项目编译所有 java 文件时,我有一个名为 llang 的包和一个名为 Scope 的类。因此,在我的 Scope.java 文件中,我有:

package llang;

import java.util.HashMap;
import java.util.Map;
import llang.*;

public class Scope {
    Map<String, Function> memory;
    Map<String, Function> parent;

    public Scope () {
        this(new HashMap<String, Function>());
    }

    public Scope (HashMap<String, Function> parentScope) {
        memory = new HashMap<String, Function>();
        parent = parentScope;
    }

    public void assign (String k, Function v) {
        if (memory.get(k) == null) memory.set(k, v);
    }

    public Function retreive (String k) {
        Function res = memory.get(k);
        if (res == null) return parent.get(k);
        return res;
    }

    public boolean has (String k) {
        return retreive(k) != null;
    }
}

在我的整个项目中没有任何地方是另一个“Scope”类或“Scope”文件。然而,当我编译它时,它说:

./Scope.java:7: error: duplicate class: llang.Scope
public class Scope {
             ^

救命!

最佳答案

修复?删除import llang.*并替换为:import llang.<Whatever other classes> 。谢谢,@AndrewTobilko

关于java - 错误 : duplicate class: llang. 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714106/

相关文章:

c# - 当我尝试使用 ANTLR4 生成 C# 时出现的这些奇怪错误是什么?

java - 使用 Quartz 避免失火

java - 通过 odbc 驱动程序插入时出错

java - 带有自定义边框的 JFrame 不显示控件

swift - ANTLR 中 WS 背后的魔力是什么?

go - Go 中的 AntLR4 : Invalid type assertion: listener

java - 当 token 不存在时,如何避免 ANTLR 中的后 token 代码执行?

java - JPA Criteria查询与迭代

java - 什么是动态方法解析

c# - 是否建议使用标记来进行语法突出显示?