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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!