progs/fun/funt.sc
changeset 869 16247acc4b0e
parent 813 553cd0c5e983
child 870 1ea379515c6d
equal deleted inserted replaced
868:b0acb8741b16 869:16247acc4b0e
   159 def compile(prog: List[Decl], class_name: String) : String = {
   159 def compile(prog: List[Decl], class_name: String) : String = {
   160   val instructions = prog.map(compile_decl).mkString
   160   val instructions = prog.map(compile_decl).mkString
   161   (library + instructions).replaceAllLiterally("XXX", class_name)
   161   (library + instructions).replaceAllLiterally("XXX", class_name)
   162 }
   162 }
   163 
   163 
   164 import ammonite.ops._
   164 // pre-2.5.0 ammonite 
       
   165 // import ammonite.ops._
       
   166 
       
   167 // post 2.5.0 ammonite
       
   168 import $ivy.`com.lihaoyi::os-lib:0.8.0` 
   165 
   169 
   166 def compile_to_file(prog: List[Decl], class_name: String) : Unit = 
   170 def compile_to_file(prog: List[Decl], class_name: String) : Unit = 
   167   write.over(pwd / s"$class_name.j", compile(prog, class_name))  
   171   write.over(pwd / s"$class_name.j", compile(prog, class_name))  
   168 
   172 
   169 def compile_and_run(prog: List[Decl], class_name: String) : Unit = {
   173 def compile_and_run(prog: List[Decl], class_name: String) : Unit = {