diff --git a/sources/zweic/Parser.scala b/sources/zweic/Parser.scala index 0105d34..411e43c 100755 --- a/sources/zweic/Parser.scala +++ b/sources/zweic/Parser.scala @@ -108,7 +108,7 @@ while (token == CLASS) { classes = classDecl() :: classes; } - var main = expression(); + val main = expression(); return Program(classes.reverse, main); } @@ -162,8 +162,8 @@ * Formal = Type ident */ private def formal(): Formal = { - var typ = type1(); - var name = Name(chars); + val typ = type1(); + val name = Name(chars); accept(IDENT); return Formal(name, typ); } @@ -191,7 +191,7 @@ private def type1(): TypeTree = token match { case INT => nextToken; return IntType(); case NULLTYPE => nextToken; return NullType(); - case IDENT => var name=Name(chars); nextToken; return ClassType(name); + case IDENT => val name=Name(chars); nextToken; return ClassType(name); case _ => error("'Int', 'Null' or identifier token"); return null; } @@ -299,7 +299,7 @@ * MyCmpExpression = SumExpression [ CompOp SumExpression ] */ private def cmpExpression(): Expr = { - var left = sumExpression(); + val left = sumExpression(); if ( token == EQ || token == NE || token == LT || token == GT || token == LE || token == GE ) { val op = compOp(); @@ -314,7 +314,7 @@ * MySumExpression = Term [ SumOp SumExpression ] */ private def sumExpression(): Expr = { - var left = term(); + val left = term(); if ( token == ADD || token == SUB ) { return Binop(sumOp(), left, sumExpression()); } else { @@ -322,9 +322,7 @@ var right = sumExpression(); left.brackets = true; right.brackets = true; - var bol = Unop(Operators.NOT, left); - var bor = Unop(Operators.NOT, right); - var bo = Binop(Operators.AND, bol, bor); + var bo = Binop(Operators.AND, Unop(Operators.NOT, left), Unop(Operators.NOT, right)); bo.brackets = true; return Unop(Operators.NOT, bo); } else { @@ -427,7 +425,7 @@ */ private def params(): List[Expr] = { accept(LPAREN); - var exprs = expressions(); + val exprs = expressions(); accept(RPAREN); return exprs; }