Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/charisee/src/compiler/c-util/tree-to-c-fn.sml
ViewVC logotype

Diff of /branches/charisee/src/compiler/c-util/tree-to-c-fn.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3196, Fri May 29 18:42:37 2015 UTC revision 3197, Tue Jun 2 17:11:42 2015 UTC
# Line 329  Line 329 
329                  end                  end
330          (*end case*))          (*end case*))
331    
332      fun trExp (env, e) = (case e      fun trExp (env, e) = (("\nExp: "^(IL.toString e) );case e
333             of IL.E_State x => VarToC.rvalueStateVar x             of IL.E_State x => VarToC.rvalueStateVar x
334              | IL.E_Var x => VarToC.rvalueVar (env, x)              | IL.E_Var x => VarToC.rvalueVar (env, x)
335              | IL.E_Lit(Literal.Int n) => CL.mkIntTy(n, !N.gIntTy)              | IL.E_Lit(Literal.Int n) => CL.mkIntTy(n, !N.gIntTy)
336              | IL.E_Lit(Literal.Bool b) => CL.mkBool b              | IL.E_Lit(Literal.Bool b) => CL.mkBool b
337              | IL.E_Lit(Literal.Float f) => CL.mkFlt(f, !N.gRealTy)              | IL.E_Lit(Literal.Float f) => CL.mkFlt(f, !N.gRealTy)
338              | IL.E_Lit(Literal.String s) => CL.mkStr s              | IL.E_Lit(Literal.String s) => CL.mkStr s
339              | IL.E_Op(Op.Subscript(Ty.TensorTy[2]), [IL.E_Op(Op.Subscript(Ty.SeqTy(Ty.TensorTy[2],2)), [v,i]),arg1]              | IL.E_Op(Op.Subscript(Ty.TensorTy[2]),[IL.E_Op(Op.Subscript(Ty.SeqTy(Ty.TensorTy[2],2)),[v,i]),arg1])=>
                 )=>  
340                      let                      let
341                      val arg0=(Op.Subscript(Ty.SeqTy(Ty.TensorTy[2],2)), trExps(env,[v,i]))                      val arg0=(Op.Subscript(Ty.SeqTy(Ty.TensorTy[2],2)), trExps(env,[v,i]))
   
342                      val exp0=trSubscript arg0                      val exp0=trSubscript arg0
343                      val exp1=trExp(env,arg1)                      val exp1=trExp(env,arg1)
344                      val rator=Op.Subscript(Ty.TensorTy[2])                      val rator=Op.Subscript(Ty.TensorTy[2])
345                      val b=trSubscript(rator,[exp0,exp1])                      val b=trSubscript(rator,[exp0,exp1])
346                      in b                      in b
347                      end                      end
348              | IL.E_Op(Op.Subscript(Ty.TensorTy[3]), [IL.E_Op(Op.Subscript(Ty.SeqTy(Ty.TensorTy[3],3)), [v,i]),arg1]              | IL.E_Op(Op.Subscript(Ty.TensorTy[3]),[IL.E_Op(Op.Subscript(Ty.SeqTy(Ty.TensorTy[3],3)),[v,i]),arg1])=>
                     )=>  
349                      let                      let
350                      val arg0=(Op.Subscript(Ty.SeqTy(Ty.TensorTy[3],3)), trExps(env,[v,i]))                      val arg0=(Op.Subscript(Ty.SeqTy(Ty.TensorTy[3],3)), trExps(env,[v,i]))
351                      val exp0=trSubscript arg0                      val exp0=trSubscript arg0

Legend:
Removed from v.3196  
changed lines
  Added in v.3197

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0