【发布时间】:2021-07-01 17:10:54
【问题描述】:
按照this post,我正在使用以下步骤从this repository 编译解析器/词法分析器:
export CLASSPATH=".:/usr/local/Cellar/antlr/<version>/antlr-<version>-complete.jar:$CLASSPATH" antlr <grammarName>.g4 -o <someFolder>/ javac <someFolder>/<grammarName>*.java但是当我使用指令here:
grun <someFolder>/<grammarName> tokens -tokens < <inputFile>
我收到以下错误消息:
线程“main”中的异常 java.lang.NoClassDefFoundError: IllegalName: <someFolder>/<grammarName>Lexer 在 java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:889) 在 java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1014) 在 java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) 在 java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:825) 在 java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:723) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:646) 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:604) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) 在 org.antlr.v4.gui.TestRig.process(TestRig.java:129) 在 org.antlr.v4.gui.TestRig.main(TestRig.java:119)如果您能帮助我了解问题所在以及如何解决,我将不胜感激。
【问题讨论】: