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

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/low-to-tree/low-to-tree.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/low-to-tree/low-to-tree.sml

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

revision 3835, Sun May 8 13:10:17 2016 UTC revision 3836, Mon May 9 15:30:25 2016 UTC
# Line 203  Line 203 
203            end            end
204    
205      fun trAssign (env, lhs, rhs) = let      fun trAssign (env, lhs, rhs) = let
206            (* simple binding for lhs variable; we check to see if it is part of an merged
207             * equivalence class, in which case we need to generate the assigment.
208             *)
209              fun bindSimple rhs = (case UnifyVars.eqClassOf lhs
210                     of SOME x => ??
211                      | NONE => (Env.bindSimple (env, lhs, rhs); (env, []))
212                    (* end case *))
213            in            in
214              case rhs              case rhs
215               of IR.GLOBAL x => ??               of IR.GLOBAL x => bindSimple (T.E_Global(getGlobalVar x))
216                | IR.STATE x => ??                | IR.STATE x => bindSimple (T.E_State(getStateVar x))
217                | IR.VAR x => ??                | IR.VAR x => (case Env.useVar env x
218                | IR.LIT lit => ??                     of Env.TREE e => ??
219                        | Env.VEC(layout, es) => ??
220                      (* end case *))
221                  | IR.LIT lit => bindSimple (env, lhs, T.E_Lit lit)
222                | IR.OP(rator, args) => ??                | IR.OP(rator, args) => ??
223                | IR.CONS(args, ty) => ??                | IR.CONS(args, ty) => ??
224                | IR.SEQ(args, ty) => ??                | IR.SEQ(args, ty) => ??

Legend:
Removed from v.3835  
changed lines
  Added in v.3836

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