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 3865, Mon May 16 16:32:19 2016 UTC revision 3866, Mon May 16 16:48:13 2016 UTC
# Line 499  Line 499 
499                        in                        in
500                          doNode (!succ, ifStk, stms' @ stms)                          doNode (!succ, ifStk, stms' @ stms)
501                        end                        end
502                    | IR.MASSIGN{stm=(ys, rator, xs), succ, ...} => let                    | IR.MASSIGN{stm=([], Op.Print tys, xs), succ, ...} => let
503                        fun doLHSVar (y, ys) = newLocal (env, y) :: ys                        val stm = T.S_Print(List.map Util.trType tys, List.map (singleArg env) xs)
                       val ys = List.foldr doLHSVar [] ys  
                       val rator = (case rator  
                              of Op.Print tys => TOp.Print(List.map Util.trType tys)  
                               | _ => raise Fail(concat[  
                                     "unexepected operator ", Op.toString rator, " for MASSIGN"  
                                   ])  
                             (* end case *))  
                       val stm = T.S_MAssign(ys, T.E_Op(rator, List.map (singleArg env) xs))  
504                        in                        in
505                          doNode (!succ, ifStk, stm :: stms)                          doNode (!succ, ifStk, stm :: stms)
506                        end                        end
507                      | IR.MASSIGN{stm=(ys, rator, xs), succ, ...} => raise Fail(concat[
508                            "unexepected operator ", Op.toString rator, " for MASSIGN"
509                          ])
510                    | IR.GASSIGN{lhs, rhs, succ, ...} => let                    | IR.GASSIGN{lhs, rhs, succ, ...} => let
511                        val stm = T.S_GAssign(mkGlobalVar lhs, singleArg env rhs)                        val stm = T.S_GAssign(mkGlobalVar lhs, singleArg env rhs)
512                        in                        in

Legend:
Removed from v.3865  
changed lines
  Added in v.3866

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