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

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/simplify/simplify.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/simplify/simplify.sml

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

revision 3797, Mon May 2 21:10:12 2016 UTC revision 3811, Wed May 4 01:14:18 2016 UTC
# Line 59  Line 59 
59              | Ty.T_Error => raise Fail "unexpected T_Error in Simplify"              | Ty.T_Error => raise Fail "unexpected T_Error in Simplify"
60            (* end case *))            (* end case *))
61    
62        fun apiTypeOf x = let
63              fun cvtTy STy.T_Bool = APITypes.BoolTy
64                | cvtTy STy.T_Int = APITypes.IntTy
65                | cvtTy STy.T_String = APITypes.StringTy
66                | cvtTy (STy.T_Sequence(ty, len)) = APITypes.SeqTy(cvtTy ty, len)
67                | cvtTy (STy.T_Tensor shape) = APITypes.TensorTy shape
68                | cvtTy (STy.T_Image{dim, shape}) = APITypes.ImageTy(dim, shape)
69                | cvtTy ty = raise Fail "bogus API type"
70              in
71                cvtTy (SimpleVar.typeOf x)
72              end
73    
74      fun newTemp ty = SimpleVar.new ("_t", SimpleVar.LocalVar, ty)      fun newTemp ty = SimpleVar.new ("_t", SimpleVar.LocalVar, ty)
75    
76    (* a property to map AST variables to SimpleAST variables *)    (* a property to map AST variables to SimpleAST variables *)
# Line 456  Line 468 
468            fun simplifyInputDcl ((x, NONE), desc) = let            fun simplifyInputDcl ((x, NONE), desc) = let
469                  val x' = cvtVar x                  val x' = cvtVar x
470                  val init = (case SimpleVar.typeOf x'                  val init = (case SimpleVar.typeOf x'
471                         of SimpleTypes.T_Image{dim, shape} => let                         of STy.T_Image{dim, shape} => let
472                              val info = ImageInfo.mkInfo(dim, shape)                              val info = ImageInfo.mkInfo(dim, shape)
473                              in                              in
474                                S.Image info                                S.Image info
# Line 466  Line 478 
478                  val inp = S.INP{                  val inp = S.INP{
479                          var = x',                          var = x',
480                          name = Var.nameOf x,                          name = Var.nameOf x,
481                            ty =  apiTypeOf x',
482                          desc = desc,                          desc = desc,
483                          init = init                          init = init
484                        }                        }
# Line 484  Line 497 
497                  val inp = S.INP{                  val inp = S.INP{
498                          var = x',                          var = x',
499                          name = Var.nameOf x,                          name = Var.nameOf x,
500                            ty = apiTypeOf x',
501                          desc = desc,                          desc = desc,
502                          init = init                          init = init
503                        }                        }
# Line 496  Line 510 
510                  val inp = S.INP{                  val inp = S.INP{
511                          var = x',                          var = x',
512                          name = Var.nameOf x,                          name = Var.nameOf x,
513                            ty = apiTypeOf x',
514                          desc = desc,                          desc = desc,
515                          init = S.ConstExpr                          init = S.ConstExpr
516                        }                        }

Legend:
Removed from v.3797  
changed lines
  Added in v.3811

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