Question
Hi,I am trying to build simple calculator using ANTLR program.I wrote below grammar on ANTLR4, the idea is to generate visitor class and compute. grammar
Hi,I am trying to build simple calculator using ANTLR program.I wrote below grammar on ANTLR4, the idea is to generate visitor class and compute.
grammar Calculator; // Lexer specification fragment
LETTER : 'a'..'z' | 'A'..'Z'; fragment DIGIT : '0'..'9'; ID : LETTER (LETTER | DIGIT)*; NUM : DIGIT+; ADD : '+'; SUB : '-'; MUL : '*'; DIV : '/'; LPAR : '('; RPAR : ')'; ASSIGN : '='; NEWLINE : ' '?' '; WS : (' ' | '\t' | ' ' | ' ')+ { skip(); }; // Parser specification program : stmt_list+; stmt_list : stmt ; stmt : expr NEWLINE # 'printExpr' | ID ASSIGN expr # 'assigned' | NEWLINE # 'blank' ; expr : term (ADD term | SUB term)* #'AddSub' ; term : factor (MUL factor | DIV factor)* #'MulDiv' ; factor : LPAR expr RPAR #'parens' | ID #'id' | NUM #'num'
But while compiling the grammar,it's giving below error.
line 8:46 no viable alternative at character '#'
line 9:46 no viable alternative at character '#'
line 10:46 no viable alternative at character '#'
line 11:46 no viable alternative at character '#'
line 12:46 no viable alternative at character '#'
Am I writing some incorrect syntax?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started