confilcts resolved
1 parent 2f8035f commit 4ac90497874048b52a6ea740d5f3f0f3b1e30470
@glproj03 glproj03 authored on 15 Dec 2005
Showing 1 changed file
View
28
sources/zweic/Parser.scala
/* zweic -- a compiler for zwei
*
* Stephane Micheloud & LAMP
*
* $Id$
*/
 
package zweic;
 
}
}
 
/**
* CmpExpression = [ SumExpression CompOp ] SumExpression
* MyCmpExpression = SumExpression { CompOp SumExpression }
*/
private def cmpExpression(): Expr = {
var left = sumExpression();
// TODO: make this less dirty
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);
}
}
 
/**
 
/**
* 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 ")"
*/