User Tools

Site Tools


cs330_f2016:labw

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
cs330_f2016:labw [2018/02/07 23:30]
morse
cs330_f2016:labw [2018/10/07 05:14]
morse
Line 6: Line 6:
 ====Pre-requisite:​==== ====Pre-requisite:​====
  
-For this lab, you should have Julia 0.6+ installed, the same as for the rudimentary interpreter. ​ You will need both the Lexer and Error modules.+For this lab, you should have Julia 1.installed, the same as for the rudimentary interpreter. ​ You will need both the Lexer and Error modules.
  
 ---- ----
Line 82: Line 82:
 (lambda x (+ x 1)) (lambda x (+ x 1))
 or or
-(with x 5 (+ x 1))+(with (x 5(+ x 1))
 </​code>​ </​code>​
  
Line 131: Line 131:
 abstract type AE end abstract type AE end
  
-type NumNode <: AE+struct ​NumNode <: AE
     n::Real     n::Real
 end end
  
-type BinopNode <: AE+struct ​BinopNode <: AE
     op::​Function     op::​Function
     lhs::AE     lhs::AE
Line 141: Line 141:
 end end
  
-type If0Node <: AE+struct ​If0Node <: AE
   condition::​AE   condition::​AE
   zero_branch::​AE   zero_branch::​AE
Line 147: Line 147:
 end end
  
-type WithNode <: AE+struct ​WithNode <: AE
   sym::Symbol   sym::Symbol
   binding_expr::​AE   binding_expr::​AE
Line 153: Line 153:
 end end
  
-type VarRefNode <: AE+struct ​VarRefNode <: AE
   sym::Symbol   sym::Symbol
 end end
  
-type FunDefNode <: AE+struct ​FunDefNode <: AE
   formal::​Symbol   formal::​Symbol
   fun_body::​AE   fun_body::​AE
 end end
  
-type FunAppNode <: AE+struct ​FunAppNode <: AE
   fun_expr::​AE   fun_expr::​AE
   arg_expr::​AE   arg_expr::​AE
Line 171: Line 171:
 abstract type Environment end abstract type Environment end
  
-type NumVal <: RetVal+struct ​NumVal <: RetVal
   n::Real   n::Real
 end end
  
-type ClosureVal <: RetVal+struct ​ClosureVal <: RetVal
   formal::​Symbol   formal::​Symbol
   body::AE   body::AE
Line 181: Line 181:
 end end
  
-type EmptyEnv <: Environment+struct ​EmptyEnv <: Environment
 end end
  
-type ExtendedEnv <: Environment+struct ​ExtendedEnv <: Environment
   sym::Symbol   sym::Symbol
   val::RetVal   val::RetVal
cs330_f2016/labw.txt ยท Last modified: 2021/06/30 23:42 (external edit)