Hello.g4 not working on Ubuntu

1,103 views
Skip to first unread message

Alia Ibrahim

unread,
May 20, 2014, 1:03:56 PM5/20/14
to antlr-di...@googlegroups.com
I am trying to run Hello.g4 on ubuntu

ccsrlt110:~/workspace/test1> echo $CLASSPATH
.:/user/eepgr/ai00032/Documents/Antlr4/bin/antlr-4.2.2-complete.jar
ccsrlt110:~/workspace/test1> antlr4 Hello.g4
ccsrlt110:~/workspace/test1> javac *.java
ccsrlt110:~/workspace/test1> ls
HelloBaseListener.class  HelloLexer.tokens    HelloParser$RContext.class
HelloBaseListener.java     HelloListener.class  Hello.tokens
Hello.g4         HelloListener.java   target
HelloLexer.class     HelloParser.class
HelloLexer.java         HelloParser.java
ccsrlt110:~/workspace/test1> grun Hello r -tree
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloLexer : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.antlr.v4.runtime.misc.TestRig.process(TestRig.java:153)
    at org.antlr.v4.runtime.misc.TestRig.main(TestRig.java:143)
ccsrlt110:~/workspace/test1>

if i remove : from the CLASSPATH, it does not compile and the kind of errors i get is like this

ccsrlt110:~/workspace/test1> javac *.java
HelloBaseListener.java:3: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.ParserRuleContext;
                           ^
HelloBaseListener.java:4: error: package org.antlr.v4.runtime.misc does not exist
import org.antlr.v4.runtime.misc.NotNull;
                                ^
HelloBaseListener.java:5: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.ErrorNode;
                                ^
HelloBaseListener.java:6: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.TerminalNode;
                                ^
HelloListener.java:2: error: package org.antlr.v4.runtime.misc does not exist
import org.antlr.v4.runtime.misc.NotNull;
                                ^
HelloListener.java:3: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.ParseTreeListener;
                                ^
HelloListener.java:9: error: cannot find symbol
public interface HelloListener extends ParseTreeListener {
                                       ^
  symbol: class ParseTreeListener
HelloParser.java:2: error: package org.antlr.v4.runtime.atn does not exist
import org.antlr.v4.runtime.atn.*;
^
HelloParser.java:3: error: package org.antlr.v4.runtime.dfa does not exist
import org.antlr.v4.runtime.dfa.DFA;
                               ^
HelloParser.java:4: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.*;
^
HelloParser.java:5: error: package org.antlr.v4.runtime.misc does not exist
import org.antlr.v4.runtime.misc.*;
^
HelloParser.java:6: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.*;


there are lots more errors but this is an example, and i can't figure out what is wrong

Terence Parr

unread,
May 20, 2014, 1:06:49 PM5/20/14
to antlr-di...@googlegroups.com
that jar and your compiler have different java bytecode versions. have you googled this before posting? naughty ;)
Ter
--
You received this message because you are subscribed to the Google Groups "antlr-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to antlr-discussi...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alia Ibrahim

unread,
May 20, 2014, 1:22:15 PM5/20/14
to antlr-di...@googlegroups.com
ouch, thanks for your reply :)
will see what i can do about it

Jim Idle

unread,
May 20, 2014, 9:50:56 PM5/20/14
to antlr-di...@googlegroups.com
Java class numbers:

J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

So you have a different javac to your java in your path. The best thing to do is download the Sun JDK and install it using the update-alternatives command. Then correct your PATH and remove CLASSPATH altogether as it confuses things. OpenJDK never really works correctly in my experience, and Ubuntu always seems to be a PITA too.

Jim



--

Alia Ibrahim

unread,
May 21, 2014, 4:25:58 AM5/21/14
to antlr-di...@googlegroups.com
Thanks a lot Jim

i will have to ask the IT support to do that as i dont have permission to do so, i already asked them before so it seems they didn't install the right version
otherwise i will have to stick to windows version :(
Reply all
Reply to author
Forward
0 new messages