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/build-initdg.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/bootstrap/build-initdg.sml

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

revision 327, Thu Jun 10 09:14:48 1999 UTC revision 331, Sat Jun 12 15:04:53 1999 UTC
# Line 36  Line 36 
36    
37          val context = AbsPath.relativeContext (AbsPath.dir specgroup)          val context = AbsPath.relativeContext (AbsPath.dir specgroup)
38          val specname = AbsPath.name specgroup          val specname = AbsPath.name specgroup
39          val stream = TextIO.openIn specname          val _ = Say.vsay ["[reading init spec from ", specname, "]\n"]
40            val stream = AbsPath.openTextIn specgroup
41          val source = S.newSource (specname, 1, stream, false, errcons)          val source = S.newSource (specname, 1, stream, false, errcons)
42          val sourceMap = #sourceMap source          val sourceMap = #sourceMap source
43    
# Line 98  Line 99 
99                          val n = DG.SNODE { smlinfo = i,                          val n = DG.SNODE { smlinfo = i,
100                                             localimports = li,                                             localimports = li,
101                                             globalimports = gi }                                             globalimports = gi }
102                            val pl' =
103                                case pl of
104                                    NONE => NONE
105                                  | SOME l => SOME (p :: l)
106                      in                      in
107                          loop (split,                          loop (split,
108                                StringMap.insert (m, name, DG.SB_SNODE n),                                StringMap.insert (m, name, DG.SB_SNODE n),
109                                p :: pl, newpos)                                pl', newpos)
110                      end                      end
111                  in                  in
112                      case line of                      case line of
113                          [] => loop (split, m, pl, newpos)                          [] => loop (split, m, pl, newpos)
114                        | ["split"] => loop (true, m, pl, newpos)                        | ["split"] => loop (true, m, pl, newpos)
115                        | ["nosplit"] => loop (false, m, pl, newpos)                        | ["nosplit"] => loop (false, m, pl, newpos)
116                        | ("let" :: name :: file :: args)  =>                        | ["start"] => loop (split, m, SOME [], newpos)
117                          | ("bind" :: name :: file :: args)  =>
118                              node (name, file, args)                              node (name, file, args)
119                        | ("return" :: rts :: core :: pervasive :: prims) =>                        | ("return" :: core :: rts :: pervasive :: prims) =>
120                              SOME { rts = look_snode rts,                              SOME { rts = look_snode rts,
121                                     core = look_snode core,                                     core = look_snode core,
122                                     pervasive = look_snode pervasive,                                     pervasive = look_snode pervasive,
123                                     primitives =                                     primitives =
124                                          map (fn n => (n, look_snode n)) prims,                                          map (fn n => (n, look_snode n)) prims,
125                                     filepaths = rev pl }                                     filepaths = rev (getOpt (pl, [])) }
126                        | _ => (error "malformed line"; NONE)                        | _ => (error "malformed line"; NONE)
127                  end                  end
128      in      in
129          loop (false, StringMap.empty, [], 2) (* consistent with ml-lex bug? *)          loop (false, StringMap.empty, NONE, 1)
130      end      end
131  end  end

Legend:
Removed from v.327  
changed lines
  Added in v.331

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