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/cm/bootstrap/btcompile.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/bootstrap/btcompile.sml

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

revision 578, Tue Mar 14 05:16:29 2000 UTC revision 587, Thu Mar 30 09:01:52 2000 UTC
# Line 9  Line 9 
9  local  local
10      structure EM = GenericVC.ErrorMsg      structure EM = GenericVC.ErrorMsg
11      structure E = GenericVC.Environment      structure E = GenericVC.Environment
12      structure SE = GenericVC.CMStaticEnv      structure SE = GenericVC.StaticEnv
     structure BE = GenericVC.BareEnvironment  
13      structure PS = GenericVC.PersStamps      structure PS = GenericVC.PersStamps
     structure CoerceEnv = GenericVC.CoerceEnv  
14      structure GG = GroupGraph      structure GG = GroupGraph
15      structure DG = DependencyGraph      structure DG = DependencyGraph
16  in  in
# Line 38  Line 36 
36      fun init_servers (GG.GROUP { grouppath, ... }) =      fun init_servers (GG.GROUP { grouppath, ... }) =
37          Servers.cmb { archos = archos,          Servers.cmb { archos = archos,
38                        root = SrcPath.descr grouppath }                        root = SrcPath.descr grouppath }
39          | init_servers GG.ERRORGROUP = ()
40    
41      structure Compile = CompileFn (structure MachDepVC = MachDepVC      structure Compile = CompileFn (structure MachDepVC = MachDepVC
42                                     val compile_there =                                     val compile_there =
# Line 130  Line 129 
129          (* first, build an initial GeneralParam.info, so we can          (* first, build an initial GeneralParam.info, so we can
130           * deal with the pervasive env and friends... *)           * deal with the pervasive env and friends... *)
131    
132          val param_nocore = mkParam BE.emptyEnv          val param_nocore = mkParam E.emptyEnv
133    
134          val groupreg = GroupReg.new ()          val groupreg = GroupReg.new ()
135          val errcons = EM.defaultConsumer ()          val errcons = EM.defaultConsumer ()
# Line 151  Line 150 
150                   * brewed pervasive env, core env, and primitives *)                   * brewed pervasive env, core env, and primitives *)
151                  val core = valOf (sbnode ginfo_nocore core_n)                  val core = valOf (sbnode ginfo_nocore core_n)
152                  val corenv =                  val corenv =
153                      BE.mkenv { static = CoerceEnv.es2bs                      E.mkenv { static = #statenv core (),
                                           (#env (#statenv core ())),  
154                                 symbolic = #symenv core (),                                 symbolic = #symenv core (),
155                                 dynamic = emptydyn }                                 dynamic = emptydyn }
156    
# Line 170  Line 168 
168                  val pervasive = rt perv_n                  val pervasive = rt perv_n
169    
170                  fun rt2ie (n, ii: IInfo.info) = let                  fun rt2ie (n, ii: IInfo.info) = let
171                      val bs = CoerceEnv.es2bs (#env (#statenv ii ()))                      val s = #statenv ii ()
172                      val (dae, mkDomain) = Statenv2DAEnv.cvt bs                      val (dae, mkDomain) = Statenv2DAEnv.cvt s
173                  in                  in
174                        (* Link path info = NONE, will be reset at import
175                         * time (in members.sml). *)
176                      { ie = ((NONE, n), dae), mkDomain = mkDomain }                      { ie = ((NONE, n), dae), mkDomain = mkDomain }
177                  end                  end
178    
# Line 213  Line 213 
213                    | SOME (g as GG.GROUP { exports, ... }) =>                    | SOME (g as GG.GROUP { exports, ... }) =>
214                          (case SymbolMap.find (exports, coresym) of                          (case SymbolMap.find (exports, coresym) of
215                               SOME ((_, DG.SB_BNODE (_, ii)), _) => let                               SOME ((_, DG.SB_BNODE (_, ii)), _) => let
216                                   val stat = #env (#statenv ii ())                                   val stat = #statenv ii ()
217                                   val sym = #symenv ii ()                                   val sym = #symenv ii ()
218                                   val corenv =                                   val corenv =
219                                       BE.mkenv { static = CoerceEnv.es2bs stat,                                       E.mkenv { static = stat,
220                                                  symbolic = sym,                                                  symbolic = sym,
221                                                  dynamic = emptydyn }                                                  dynamic = emptydyn }
222                               in                               in
223                                   SOME (g, corenv)                                   SOME (g, corenv)
224                               end                               end
225                             | _ => NONE)                             | _ => NONE)
226                      | SOME GG.ERRORGROUP => NONE
227              end              end
228    
229              (* Don't try to load the stable init group. Instead, recompile              (* Don't try to load the stable init group. Instead, recompile

Legend:
Removed from v.578  
changed lines
  Added in v.587

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