I'm new to using ANTLR4 and I'm having some trouble with the compilation process(using Ubuntu). I'm using the following grammar "Expr":
grammar Expr;
prog: (expr NEWLINE)* ;
expr: expr ('*'|'/') expr
| expr ('+'|'-') expr
| INT
| '(' expr ')'
;
NEWLINE : [\r\n]+ ;
INT : [0-9]+ ;
When I run the command "antlr4 Expr.g4" .. no Errors.. However when I try compiling using"javac Expr*.java", I get a list of 100 errors:
ExprBaseListener.java:3: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.ParserRuleContext;
^
ExprBaseListener.java:4: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.ErrorNode;
^
ExprBaseListener.java:5: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.TerminalNode;
^
ExprListener.java:2: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.ParseTreeListener;
^
ExprListener.java:8: error: cannot find symbol
public interface ExprListener extends ParseTreeListener {
^
symbol: class ParseTreeListener
ExprParser.java:3: error: package org.antlr.v4.runtime.dfa does not exist
import org.antlr.v4.runtime.dfa.DFA;
^
ExprParser.java:12: error: cannot find symbol
public class ExprParser extends Parser {
^
symbol: class Parser
ExprParser.java:90: error: cannot find symbol
public static class ProgContext extends ParserRuleContext {
^
symbol: class ParserRuleContext
location: class ExprParser
ExprParser.java:151: error: cannot find symbol
public static class ExprContext extends ParserRuleContext {
^
symbol: class ParserRuleContext
location: class ExprParser
ExprBaseListener.java:43: error: cannot find symbol
@Override public void enterEveryRule(ParserRuleContext ctx) { }
^
symbol: class ParserRuleContext
location: class ExprBaseListener
ExprBaseListener.java:49: error: cannot find symbol
@Override public void exitEveryRule(ParserRuleContext ctx) { }
^
symbol: class ParserRuleContext
location: class ExprBaseListener
ExprBaseListener.java:55: error: cannot find symbol
@Override public void visitTerminal(TerminalNode node) { }
^
symbol: class TerminalNode
location: class ExprBaseListener
ExprBaseListener.java:61: error: cannot find symbol
@Override public void visitErrorNode(ErrorNode node) { }
^
symbol: class ErrorNode
location: class ExprBaseListener
ExprParser.java:152: error: cannot find symbol
public TerminalNode INT() { return getToken(ExprParser.INT, 0); }
^
symbol: class TerminalNode
location: class ExprContext
ExprParser.java:159: error: cannot find symbol
public ExprContext(ParserRuleContext parent, int invokingState) {
^
symbol: class ParserRuleContext
location: class ExprContext
ExprParser.java:164: error: cannot find symbol
public void enterRule(ParseTreeListener listener) {
^
symbol: class ParseTreeListener
location: class ExprContext
ExprParser.java:168: error: cannot find symbol
public void exitRule(ParseTreeListener listener) {
^
symbol: class ParseTreeListener
location: class ExprContext
ExprParser.java:97: error: cannot find symbol
public List<TerminalNode> NEWLINE() { return getTokens(ExprParser.NEWLINE); }
^
symbol: class TerminalNode
location: class ProgContext
ExprParser.java:98: error: cannot find symbol
public TerminalNode NEWLINE(int i) {
^
symbol: class TerminalNode
location: class ProgContext
ExprParser.java:101: error: cannot find symbol
public ProgContext(ParserRuleContext parent, int invokingState) {
^
symbol: class ParserRuleContext
location: class ProgContext
ExprParser.java:106: error: cannot find symbol
public void enterRule(ParseTreeListener listener) {
^
symbol: class ParseTreeListener
location: class ProgContext
ExprParser.java:110: error: cannot find symbol
public void exitRule(ParseTreeListener listener) {
^
symbol: class ParseTreeListener
location: class ProgContext
ExprParser.java:15: error: cannot find symbol
protected static final DFA[] _decisionToDFA;
^
symbol: class DFA
location: class ExprParser
ExprParser.java:16: error: cannot find symbol
protected static final PredictionContextCache _sharedContextCache =
^
symbol: class PredictionContextCache
location: class ExprParser
ExprParser.java:41: error: cannot find symbol
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
^
symbol: class Vocabulary
location: class ExprParser
ExprParser.java:70: error: cannot find symbol
public Vocabulary getVocabulary() {
^
symbol: class Vocabulary
location: class ExprParser
ExprParser.java:84: error: cannot find symbol
public ATN getATN() { return _ATN; }
^
symbol: class ATN
location: class ExprParser
ExprParser.java:86: error: cannot find symbol
public ExprParser(TokenStream input) {
^
symbol: class TokenStream
location: class ExprParser
ExprParser.java:115: error: cannot find symbol
public final ProgContext prog() throws RecognitionException {
^
symbol: class RecognitionException
location: class ExprParser
ExprParser.java:173: error: cannot find symbol
public final ExprContext expr() throws RecognitionException {
^
symbol: class RecognitionException
location: class ExprParser
ExprParser.java:177: error: cannot find symbol
private ExprContext expr(int _p) throws RecognitionException {
^
symbol: class RecognitionException
location: class ExprParser
ExprParser.java:283: error: cannot find symbol
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
^
symbol: class RuleContext
location: class ExprParser
ExprParser.java:311: error: cannot find symbol
public static final ATN _ATN =
^
symbol: class ATN
location: class ExprParser
ExprParser.java:2: error: package org.antlr.v4.runtime.atn does not exist
import org.antlr.v4.runtime.atn.*;
^
ExprParser.java:4: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.*;
^
ExprParser.java:5: error: package org.antlr.v4.runtime.misc does not exist
import org.antlr.v4.runtime.misc.*;
^
ExprParser.java:6: error: package org.antlr.v4.runtime.tree does not exist
import org.antlr.v4.runtime.tree.*;
^
ExprLexer.java:2: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.Lexer;
^
ExprLexer.java:3: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.CharStream;
^
ExprLexer.java:4: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.Token;
^
ExprLexer.java:5: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.TokenStream;
^
ExprLexer.java:8: error: package org.antlr.v4.runtime.dfa does not exist
import org.antlr.v4.runtime.dfa.DFA;
^
ExprLexer.java:12: error: cannot find symbol
public class ExprLexer extends Lexer {
^
symbol: class Lexer
ExprLexer.java:15: error: cannot find symbol
protected static final DFA[] _decisionToDFA;
^
symbol: class DFA
location: class ExprLexer
ExprLexer.java:16: error: cannot find symbol
protected static final PredictionContextCache _sharedContextCache =
^
symbol: class PredictionContextCache
location: class ExprLexer
ExprLexer.java:47: error: cannot find symbol
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
^
symbol: class Vocabulary
location: class ExprLexer
ExprLexer.java:76: error: cannot find symbol
public Vocabulary getVocabulary() {
^
symbol: class Vocabulary
location: class ExprLexer
ExprLexer.java:81: error: cannot find symbol
public ExprLexer(CharStream input) {
^
symbol: class CharStream
location: class ExprLexer
ExprLexer.java:102: error: cannot find symbol
public ATN getATN() { return _ATN; }
^
symbol: class ATN
location: class ExprLexer
ExprLexer.java:117: error: cannot find symbol
public static final ATN _ATN =
^
symbol: class ATN
location: class ExprLexer
ExprLexer.java:6: error: package org.antlr.v4.runtime does not exist
import org.antlr.v4.runtime.*;
^
ExprLexer.java:7: error: package org.antlr.v4.runtime.atn does not exist
import org.antlr.v4.runtime.atn.*;
^
ExprLexer.java:9: error: package org.antlr.v4.runtime.misc does not exist
import org.antlr.v4.runtime.misc.*;
^
ExprBaseListener.java:43: error: method does not override or implement a method from a supertype
@Override public void enterEveryRule(ParserRuleContext ctx) { }
^
ExprBaseListener.java:49: error: method does not override or implement a method from a supertype
@Override public void exitEveryRule(ParserRuleContext ctx) { }
^
ExprBaseListener.java:55: error: method does not override or implement a method from a supertype
@Override public void visitTerminal(TerminalNode node) { }
^
ExprBaseListener.java:61: error: method does not override or implement a method from a supertype
@Override public void visitErrorNode(ErrorNode node) { }
^
ExprParser.java:13: error: cannot find symbol
static { RuntimeMetaData.checkVersion("4.7.2", RuntimeMetaData.VERSION); }
^
symbol: variable RuntimeMetaData
location: class ExprParser
ExprParser.java:13: error: cannot find symbol
static { RuntimeMetaData.checkVersion("4.7.2", RuntimeMetaData.VERSION); }
^
symbol: variable RuntimeMetaData
location: class ExprParser
ExprParser.java:17: error: cannot find symbol
new PredictionContextCache();
^
symbol: class PredictionContextCache
location: class ExprParser
ExprParser.java:41: error: cannot find symbol
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
^
symbol: class VocabularyImpl
location: class ExprParser
ExprParser.java:62: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:68: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:74: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:77: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:80: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:83: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:88: error: cannot find symbol
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
^
symbol: variable _interp
location: class ExprParser
ExprParser.java:88: error: cannot find symbol
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
^
symbol: class ParserATNSimulator
location: class ExprParser
ExprParser.java:92: error: cannot find symbol
return getRuleContexts(ExprContext.class);
^
symbol: method getRuleContexts(Class<ExprContext>)
location: class ProgContext
ExprParser.java:95: error: cannot find symbol
return getRuleContext(ExprContext.class,i);
^
symbol: method getRuleContext(Class<ExprContext>,int)
location: class ProgContext
ExprParser.java:97: error: cannot find symbol
public List<TerminalNode> NEWLINE() { return getTokens(ExprParser.NEWLINE); }
^
symbol: method getTokens(int)
location: class ProgContext
ExprParser.java:99: error: cannot find symbol
return getToken(ExprParser.NEWLINE, i);
^
symbol: method getToken(int,int)
location: class ProgContext
ExprParser.java:104: error: method does not override or implement a method from a supertype
@Override public int getRuleIndex() { return RULE_prog; }
^
ExprParser.java:105: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:109: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:116: error: cannot find symbol
ProgContext _localctx = new ProgContext(_ctx, getState());
^
symbol: variable _ctx
location: class ExprParser
ExprParser.java:116: error: cannot find symbol
ProgContext _localctx = new ProgContext(_ctx, getState());
^
symbol: method getState()
location: class ExprParser
ExprParser.java:117: error: cannot find symbol
enterRule(_localctx, 0, RULE_prog);
^
symbol: method enterRule(ProgContext,int,int)
location: class ExprParser
ExprParser.java:120: error: cannot find symbol
enterOuterAlt(_localctx, 1);
^
symbol: method enterOuterAlt(ProgContext,int)
location: class ExprParser
ExprParser.java:122: error: cannot find symbol
setState(9);
^
symbol: method setState(int)
location: class ExprParser
ExprParser.java:123: error: cannot find symbol
_errHandler.sync(this);
^
symbol: variable _errHandler
location: class ExprParser
ExprParser.java:124: error: cannot find symbol
_la = _input.LA(1);
^
symbol: variable _input
location: class ExprParser
ExprParser.java:128: error: cannot find symbol
setState(4);
^
symbol: method setState(int)
location: class ExprParser
ExprParser.java:130: error: cannot find symbol
setState(5);
^
symbol: method setState(int)
location: class ExprParser
ExprParser.java:131: error: cannot find symbol
match(NEWLINE);
^
symbol: method match(int)
location: class ExprParser
ExprParser.java:134: error: cannot find symbol
setState(11);
^
symbol: method setState(int)
location: class ExprParser
ExprParser.java:135: error: cannot find symbol
_errHandler.sync(this);
^
symbol: variable _errHandler
location: class ExprParser
ExprParser.java:136: error: cannot find symbol
_la = _input.LA(1);
^
symbol: variable _input
location: class ExprParser
ExprParser.java:140: error: cannot find symbol
catch (RecognitionException re) {
^
symbol: class RecognitionException
location: class ExprParser
ExprParser.java:141: error: cannot find symbol
_localctx.exception = re;
^
symbol: variable exception
location: variable _localctx of type ProgContext
ExprParser.java:142: error: cannot find symbol
_errHandler.reportError(this, re);
^
symbol: variable _errHandler
location: class ExprParser
ExprParser.java:143: error: cannot find symbol
_errHandler.recover(this, re);
^
symbol: variable _errHandler
location: class ExprParser
ExprParser.java:146: error: cannot find symbol
exitRule();
^
symbol: method exitRule()
location: class ExprParser
ExprParser.java:152: error: cannot find symbol
public TerminalNode INT() { return getToken(ExprParser.INT, 0); }
^
symbol: method getToken(int,int)
location: class ExprContext
ExprParser.java:154: error: cannot find symbol
return getRuleContexts(ExprContext.class);
^
symbol: method getRuleContexts(Class<ExprContext>)
location: class ExprContext
ExprParser.java:157: error: cannot find symbol
return getRuleContext(ExprContext.class,i);
^
symbol: method getRuleContext(Class<ExprContext>,int)
location: class ExprContext
ExprParser.java:162: error: method does not override or implement a method from a supertype
@Override public int getRuleIndex() { return RULE_expr; }
^
ExprParser.java:163: error: method does not override or implement a method from a supertype
@Override
^
ExprParser.java:167: error: method does not override or implement a method from a supertype
@Override
^
100 errors
It seems that this error consistently re appears with any files I run Any help would be appreciated!
Thanks!