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

Diff of /sml/trunk/src/cm/depend/build.sml

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

revision 295, Wed May 26 09:20:25 1999 UTC revision 299, Thu May 27 13:53:27 1999 UTC
# Line 16  Line 16 
16            subgroups: GroupGraph.group list }            subgroups: GroupGraph.group list }
17          * SymbolSet.set option          (* filter *)          * SymbolSet.set option          (* filter *)
18          * (string -> unit)              (* error *)          * (string -> unit)              (* error *)
19            * GeneralParams.info
20          ->          ->
21          impexp SymbolMap.map            (* exports *)          impexp SymbolMap.map            (* exports *)
22  end  end
# Line 46  Line 47 
47      fun symDesc (s, r) =      fun symDesc (s, r) =
48          S.nameSpaceToString (S.nameSpace s) :: " " :: S.name s :: r          S.nameSpaceToString (S.nameSpace s) :: " " :: S.name s :: r
49    
50      fun build (coll, fopt, error) = let      fun build (coll, fopt, error, gp) = let
51          val { imports, gimports, smlfiles, localdefs, subgroups } = coll          val { imports, gimports, smlfiles, localdefs, subgroups } = coll
52    
53          (* the "blackboard" where analysis results are announced *)          (* the "blackboard" where analysis results are announced *)
# Line 87  Line 88 
88                          recur (AbsPath.spec f, history)                          recur (AbsPath.spec f, history)
89                      end                      end
90                  in                  in
91                      SmlInfo.error i EM.COMPLAIN                      SmlInfo.error gp i EM.COMPLAIN
92                           "cyclic ML dependencies" pphist;                           "cyclic ML dependencies" pphist;
93                      release (i, (DG.SNODE { smlinfo = i,                      release (i, (DG.SNODE { smlinfo = i,
94                                              localimports = [],                                              localimports = [],
# Line 140  Line 141 
141                  fun lookfar () =                  fun lookfar () =
142                      case SM.find (imports, s) of                      case SM.find (imports, s) of
143                          SOME (farn, e) => (globalImport farn; e)                          SOME (farn, e) => (globalImport farn; e)
144                        | NONE => (SmlInfo.error i EM.COMPLAIN                        | NONE => (SmlInfo.error gp i EM.COMPLAIN
145                                    (concat (AbsPath.spec f ::                                    (concat (AbsPath.spec f ::
146                                             ": reference to unknown " ::                                             ": reference to unknown " ::
147                                             symDesc (s, [])))                                             symDesc (s, [])))
# Line 168  Line 169 
169                        | dotPath [s] = [S.name s]                        | dotPath [s] = [S.name s]
170                        | dotPath (h :: t) = S.name h :: "." :: dotPath t                        | dotPath (h :: t) = S.name h :: "." :: dotPath t
171                      fun complain s =                      fun complain s =
172                          (SmlInfo.error i EM.COMPLAIN                          (SmlInfo.error gp i EM.COMPLAIN
173                            (concat                            (concat
174                             (AbsPath.spec f ::                             (AbsPath.spec f ::
175                              ": undefined " ::                              ": undefined " ::
# Line 217  Line 218 
218                  evalDecl DE.EMPTY sk                  evalDecl DE.EMPTY sk
219              end              end
220    
221              val e = eval (SmlInfo.skeleton i)              val e = eval (SmlInfo.skeleton gp i)
222              val n = DG.SNODE { smlinfo = i,              val n = DG.SNODE { smlinfo = i,
223                                 localimports = !li,                                 localimports = !li,
224                                 globalimports = !gi }                                 globalimports = !gi }

Legend:
Removed from v.295  
changed lines
  Added in v.299

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