equal
  deleted
  inserted
  replaced
  
    
    
   153   ((p"skip".map[Stmt]{_ => Skip }) || | 
   153   ((p"skip".map[Stmt]{_ => Skip }) || | 
   154    (IdParser ~ p":=" ~ AExp).map[Stmt]{ case x ~ _ ~ z => Assign(x, z) } || | 
   154    (IdParser ~ p":=" ~ AExp).map[Stmt]{ case x ~ _ ~ z => Assign(x, z) } || | 
   155    (p"write(" ~ IdParser ~ p")").map[Stmt]{ case _ ~ y ~ _ => Write(y) } || | 
   155    (p"write(" ~ IdParser ~ p")").map[Stmt]{ case _ ~ y ~ _ => Write(y) } || | 
   156    (p"if" ~ BExp ~ p"then" ~ Block ~ p"else" ~ Block)  | 
   156    (p"if" ~ BExp ~ p"then" ~ Block ~ p"else" ~ Block)  | 
   157      .map[Stmt]{ case _ ~ y ~ _ ~ u ~ _ ~ w => If(y, u, w) } || | 
   157      .map[Stmt]{ case _ ~ y ~ _ ~ u ~ _ ~ w => If(y, u, w) } || | 
   158    (p"while" ~ BExp ~ p"do" ~ Block).map[Stmt]{ case _ ~ y ~ _ ~ w => While(y, w) })  | 
   158    (p"while" ~ BExp ~ p"do" ~ Block).map[Stmt]{ case _ ~ y ~ _ ~ w => While(y, w) })    | 
         | 
   159    | 
   159    | 
   160    | 
   160 // statements  | 
   161 // statements  | 
   161 lazy val Stmts: Parser[String, Block] =  | 
   162 lazy val Stmts: Parser[String, Block] =  | 
   162   (Stmt ~ p";" ~ Stmts).map[Block]{ case x ~ _ ~ z => x :: z } || | 
   163   (Stmt ~ p";" ~ Stmts).map[Block]{ case x ~ _ ~ z => x :: z } || | 
   163   (Stmt.map[Block]{ s => List(s) }) | 
   164   (Stmt.map[Block]{ s => List(s) }) |