diff --git a/sources/zweic/Parser.scala b/sources/zweic/Parser.scala index 2dc61b0..7e6476c 100755 --- a/sources/zweic/Parser.scala +++ b/sources/zweic/Parser.scala @@ -2,7 +2,6 @@ * * Stephane Micheloud & LAMP * - * $Id$ */ package zweic; @@ -295,7 +294,6 @@ } /** - * CmpExpression = [ SumExpression CompOp ] SumExpression * MyCmpExpression = SumExpression { CompOp SumExpression } */ private def cmpExpression(): Expr = { @@ -363,7 +361,7 @@ if ( str.length() > 1 ) { return New(Name("Cons"), IntLit(str.charAt(0).asInstanceOf[Int])::_string(str.substring(1))::Nil); } else { - return New(Name("Cons"), IntLit(str.charAt(0).asInstanceOf[Int])::New(Name("Nil"), Nil)::Nil); + return New(Name("Cons"), New(Name("Nil"), Nil)::Nil); } } @@ -408,18 +406,16 @@ /** * Expressions = [ Expression { "," Expression } ] */ - private def expressions(): List[Expr] = { - var rval:List[Expr] = Nil; - if ( IF :: SUB :: NOT :: IDENT :: NUMBER :: STRING :: TRUE :: FALSE :: THIS - :: NULLFACTOR :: READINT :: READCHAR :: LPAREN :: NEW :: LACCOLADE :: Nil - contains token) { - rval = expression() :: Nil; - while ( check(PERIOD) ) { - rval = expression() :: rval; - } - } - return rval.reverse; - } + private def expressions(): List[Expr] = + return ( + if ( IF::SUB::NOT::IDENT::NUMBER::STRING::TRUE::FALSE::THIS::NULLFACTOR + ::READINT::READCHAR::LPAREN::NEW::LACCOLADE::Nil contains token) { + var rval = expression() :: Nil; + while ( check(PERIOD) ) { + rval = expression() :: rval; + } + rval; + } else Nil).reverse; /** * Params = "(" Expressions ")"