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

SCM Repository

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

Diff of /branches/vis15/src/compiler/tree-ir/check-tree.sml

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

revision 3894, Sun May 22 14:51:27 2016 UTC revision 3924, Fri Jun 3 17:30:27 2016 UTC
# Line 379  Line 379 
379                                chkBlock (bvs, b2);                                chkBlock (bvs, b2);
380                                bvs                                bvs
381                              end                              end
382                            | IR.S_For(x, e1, e2, b) => let
383                                fun chkE e = (case chkExp (fn () => " in for", bvs, e)
384                                       of Ty.IntTy => ()
385                                        | ty => errFn [
386                                              S "bound of for is not int type; found ", TY ty
387                                            ]
388                                      (* end case *))
389                                in
390                                  if (Ty.same(Ty.IntTy, Var.ty x))
391                                    then ()
392                                    else errFn [
393                                        S "iteration variable ", V x,
394                                        S " in for loop has type ", TY(Var.ty x)
395                                      ];
396                                  chkE e1; chkE e2;
397                                  ignore (chkBlock (VSet.add(bvs, x), b));
398                                  bvs
399                                end
400                          | IR.S_Foreach(x, e, b) => (                          | IR.S_Foreach(x, e, b) => (
401                              case chkExp (fn () => " in foreach", bvs, e)                              case chkExp (fn () => " in foreach", bvs, e)
402                               of Ty.SeqTy(ty, _) =>                               of Ty.SeqTy(ty, _) =>

Legend:
Removed from v.3894  
changed lines
  Added in v.3924

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