Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/FLINT/main/flintcomp.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/FLINT/main/flintcomp.sml

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

revision 121, Sat Jun 6 15:03:25 1998 UTC revision 122, Sat Jun 6 15:05:38 1998 UTC
# Line 6  Line 6 
6  struct  struct
7    
8  local structure CB = CompBasic  local structure CB = CompBasic
9        structure CGC = Control.CG  (*        structure CGC = Control.CG *)
10        structure MachSpec = Gen.MachSpec        structure MachSpec = Gen.MachSpec
11        structure Convert = Convert(MachSpec)        structure Convert = Convert(MachSpec)
12        structure CPStrans = CPStrans(MachSpec)        structure CPStrans = CPStrans(MachSpec)
# Line 23  Line 23 
23  fun phase x = Stats.doPhase (Stats.makePhase x)  fun phase x = Stats.doPhase (Stats.makePhase x)
24    
25  val lcontract = phase "Compiler 052 lcontract" LContract.lcontract  val lcontract = phase "Compiler 052 lcontract" LContract.lcontract
26    val fcontract = phase "Compiler 052 fcontract" FContract.contract
27  val specialize= phase "Compiler 053 specialize" Specialize.specialize  val specialize= phase "Compiler 053 specialize" Specialize.specialize
28  val wrapping  = phase "Compiler 054 wrapping" Wrapping.wrapping  val wrapping  = phase "Compiler 054 wrapping" Wrapping.wrapping
29  val reify     = phase "Compiler 055 reify" Reify.reify  val reify     = phase "Compiler 055 reify" Reify.reify
30  (* val lambdaopt = phase "Compiler 057 lambdaopt" LContract.lcontract *)  val fixfix    = phase "Compiler 056 fixfix" FixFix.fixfix
31    
32  val convert   = phase "Compiler 060 convert" Convert.convert  val convert   = phase "Compiler 060 convert" Convert.convert
33  val cpstrans  = phase "Compiler 065 cpstrans" CPStrans.cpstrans  val cpstrans  = phase "Compiler 065 cpstrans" CPStrans.cpstrans
# Line 55  Line 56 
56          if !flag then (say ("\n[After " ^ s ^ " ...]\n\n"); printE e;          if !flag then (say ("\n[After " ^ s ^ " ...]\n\n"); printE e;
57                         say "\n"; e)                         say "\n"; e)
58          else e          else e
59     in (prGen (CGC.printFlint, PPFlint.printProg),     in (prGen (Control.FLINT.print, PPFlint.printProg),
60         prGen (CGC.printit, PPCps.printcps0))         prGen (Control.CG.printit, PPCps.printcps0))
61    end    end
62    
63  (** writing out a term into a error output file *)  (** writing out a term into a error output file *)
# Line 84  Line 85 
85           e)           e)
86        fun chkF (b, s) =        fun chkF (b, s) =
87          check (ChkFlint.checkTop, PPFlint.printFundec,          check (ChkFlint.checkTop, PPFlint.printFundec,
88                 "FLINT") (CGC.checkFlint, b, s)                 "FLINT") (Control.FLINT.check, b, s)
89    
90        val _ = (chkF (false,"1") o prF "Translation/Normalization") flint        val _ = (chkF (false,"1") o prF "Translation/Normalization") flint
91        val flint = (chkF (false,"2") o prF "Lcontract" o lcontract) flint        val flint = (chkF (false,"2") o prF "Fcontract" o fcontract) flint
92    
93        val flint =        val flint =
94          if !CGC.specialize then          if !Control.FLINT.specialize then
95             (chkF (false,"3") o prF "Specialization" o specialize) flint             (chkF (false,"3") o prF "Specialization" o specialize) flint
96          else flint          else flint
97    
98    (*        val flint = (chkF (false,"6") o prF "FixFix" o fixfix) flint *)
99          val flint = (chkF (false,"2") o prF "Fcontract" o fcontract) flint
100    
101        val flint = (chkF (false, "4") o prF "Wrapping" o wrapping) flint        val flint = (chkF (false, "4") o prF "Wrapping" o wrapping) flint
102        val flint = (chkF (true, "5") o prF "Reify" o reify) flint        val flint = (chkF (true, "5") o prF "Reify" o reify) flint
103    
104          val flint = (chkF (true,"2") o prF "Fcontract" o fcontract) flint
105    
106        val (nc0, ncn, dseg) =        val (nc0, ncn, dseg) =
107          let val function = convert flint          let val function = convert flint
108              val _ = prC "convert" function              val _ = prC "convert" function
109              val function = (prC "cpstrans" o cpstrans) function              val function = (prC "cpstrans" o cpstrans) function
110              val function =              val function =
111                if !CGC.cpsopt then cpsopt (function,NONE,false)                if !Control.CG.cpsopt then cpsopt (function,NONE,false)
112                else function                else function
113              val _ = prC "cpsopt" function              val _ = prC "cpsopt" function
114    

Legend:
Removed from v.121  
changed lines
  Added in v.122

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