- | <Op1> <Expr>
- | <int>
- | <char>
- | 'False'
- | 'True'
- | '(' <Expr> ')'
- | <id> '(' [<ActArgs>] ')'
- | '[]' <Expr>
- | '(' <Expr> ',' <Expr> ')'
-
-<Op2> ::= '+' | '-' | '*' | '/' | '%' | '==' | '<' | '>' | '<=' | '>='
- | '!=' | '&&' | '||' | ':'
-
-<ActArgs> ::= <Expr> [',' ActArgs]
-
-<VarDecl> ::= (<Type> | 'var') <id> '=' <Expr> ';'
-
-<Type> ::= 'Int'
- | 'Bool'
- | 'Char'
- | '(' Type ',' Type ')'
- | '[' Type ']'
- | <id>
+ | <Op1> <Expr>
+ | <int>
+ | <char>
+ | 'False'
+ | 'True'
+ | '(' <Expr> ')'
+ | <id> '(' [<ActArgs>] ')'
+ | '[]' <Expr>
+ | '(' <Expr> ',' <Expr> ')'
+
+<ActArgs> ::= <Expr> [',' ActArgs]
+
+<VarDecl> ::= (<Type> | 'var') <id> '=' <Expr> ';'
+
+<Type> ::= 'Int'
+ | 'Bool'
+ | 'Char'
+ | '(' Type ',' Type ')'
+ | '[' Type ']'
+ | <id>