progs/fun/fun_parser.sc
changeset 976 4be299d9b41b
parent 974 06148fc63273
equal deleted inserted replaced
975:c07777e9956a 976:4be299d9b41b
   106 }
   106 }
   107 
   107 
   108 
   108 
   109 
   109 
   110 // Abstract syntax trees for the Fun language
   110 // Abstract syntax trees for the Fun language
   111 abstract class Exp extends Serializable 
   111 abstract class Exp 
   112 abstract class BExp extends Serializable 
   112 abstract class BExp
   113 abstract class Decl extends Serializable 
   113 abstract class Decl
   114 
   114 
   115 case class Def(name: String, args: List[String], body: Exp) extends Decl
   115 case class Def(name: String, args: List[String], body: Exp) extends Decl
   116 case class Main(e: Exp) extends Decl
   116 case class Main(e: Exp) extends Decl
   117 
   117 
   118 case class Call(name: String, args: List[Exp]) extends Exp
   118 case class Call(name: String, args: List[Exp]) extends Exp