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

SCM Repository

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

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

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

revision 3836, Mon May 9 15:30:25 2016 UTC revision 3837, Mon May 9 16:38:09 2016 UTC
# Line 77  Line 77 
77    (* convert a global and cache the result in a property *)    (* convert a global and cache the result in a property *)
78      local      local
79        fun new x = let        fun new x = let
80              val kind = (case SV.kindOf x              val (kind, apiTy) = (case SV.kindOf x
81                     of SV.ConstVar => IR.ConstVar                     of SV.ConstVar => (IR.ConstVar, NONE)
82                      | SV.InputVar => IR.InputVar                      | SV.InputVar => (IR.InputVar, SOME(TranslateTy.toAPITy (SV.typeOf x)))
83                      | SV.GlobalVar => IR.GlobalVar                      | SV.GlobalVar => (IR.GlobalVar, NONE)
84                      | k => raise Fail(concat[                      | k => raise Fail(concat[
85                            "global variable ", SV.uniqueNameOf x,                            "global variable ", SV.uniqueNameOf x,
86                            " has kind ", SV.kindToString k                            " has kind ", SV.kindToString k
# Line 88  Line 88 
88                    (* end case *))                    (* end case *))
89              in              in
90                IR.GlobalVar.new(                IR.GlobalVar.new(
91                  kind, AnalyzeSimple.updatedGlobal x, SV.nameOf x, cvtTy(SV.typeOf x))                  kind, AnalyzeSimple.updatedGlobal x, SV.nameOf x, cvtTy(SV.typeOf x), apiTy)
92              end              end
93      in      in
94      val {getFn = cvtGlobalVar, ...} = SV.newProp new      val {getFn = cvtGlobalVar, ...} = SV.newProp new
# Line 578  Line 578 
578                (* create the state variables *)                (* create the state variables *)
579                  val svars = let                  val svars = let
580                        fun newSVar x = IR.StateVar.new (                        fun newSVar x = IR.StateVar.new (
581                              SV.kindOf x = SV.StrandOutputVar,                              SV.nameOf x,
582                              SV.nameOf x, cvtTy(SV.typeOf x))                              cvtTy(SV.typeOf x),
583                                if (SV.kindOf x = SV.StrandOutputVar)
584                                  then SOME(TranslateTy.toAPITy (SV.typeOf x))
585                                  else NONE)
586                        in                        in
587                          List.map newSVar state                          List.map newSVar state
588                        end                        end

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

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