progs/fun/fun_parser.sc
changeset 977 1e6eca42d90b
parent 975 ae5c03560d4d
equal deleted inserted replaced
976:e9eac62928f5 977:1e6eca42d90b
   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