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

Diff of /sml/trunk/src/cm/semant/semant.sml

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

revision 379, Thu Jul 8 02:12:11 1999 UTC revision 380, Fri Jul 9 05:22:18 1999 UTC
# Line 12  Line 12 
12      type region = GenericVC.SourceMap.region      type region = GenericVC.SourceMap.region
13      type ml_symbol      type ml_symbol
14      type cm_symbol      type cm_symbol
15        type cm_class
16    
17      type group = GroupGraph.group      type group = GroupGraph.group
18    
# Line 31  Line 32 
32      val ml_signature : string -> ml_symbol      val ml_signature : string -> ml_symbol
33      val ml_functor : string -> ml_symbol      val ml_functor : string -> ml_symbol
34      val ml_funsig : string -> ml_symbol      val ml_funsig : string -> ml_symbol
35        val class : cm_symbol -> cm_class
36    
37      (* getting the full analysis for a group/library *)      (* getting the full analysis for a group/library *)
38      val emptyGroup : pathname -> group      val emptyGroup : pathname -> group
# Line 53  Line 55 
55      val member :      val member :
56          GeneralParams.info * (pathname option -> pathname -> group)          GeneralParams.info * (pathname option -> pathname -> group)
57          -> { sourcepath: pathname, group: pathname * region,          -> { sourcepath: pathname, group: pathname * region,
58               class: cm_symbol option }               class: cm_class option }
59          -> members          -> members
60      val members : members * members -> members      val members : members * members -> members
61      val guarded_members :      val guarded_members :
# Line 105  Line 107 
107      type region = GenericVC.SourceMap.region      type region = GenericVC.SourceMap.region
108      type ml_symbol = Symbol.symbol      type ml_symbol = Symbol.symbol
109      type cm_symbol = string      type cm_symbol = string
110        type cm_class = string
111    
112      type group = GG.group      type group = GG.group
113      type privilegespec = { required: GG.privileges, wrapped: GG.privileges }      type privilegespec = { required: GG.privileges, wrapped: GG.privileges }
# Line 133  Line 136 
136      val ml_functor = Symbol.fctSymbol      val ml_functor = Symbol.fctSymbol
137      val ml_funsig = Symbol.fsigSymbol      val ml_funsig = Symbol.fsigSymbol
138    
139        fun class s = String.map Char.toLower s
140    
141      fun applyTo mc e = e mc      fun applyTo mc e = e mc
142    
143      fun emptyGroup path =      fun emptyGroup path =
# Line 143  Line 148 
148                     sublibs = [] }                     sublibs = [] }
149    
150      fun sgl2sll subgroups = let      fun sgl2sll subgroups = let
151          fun sameSL (_, GG.GROUP g) (_, GG.GROUP g') =          fun sameSL (GG.GROUP g) (GG.GROUP g') =
152              SrcPath.compare (#grouppath g, #grouppath g') = EQUAL              SrcPath.compare (#grouppath g, #grouppath g') = EQUAL
153          fun add (x, l) =          fun add (x, l) =
154              if List.exists (sameSL x) l then l else x :: l              if List.exists (sameSL x) l then l else x :: l
155          fun oneSG (x as (_, GG.GROUP { kind, sublibs, ... }), l) =          fun oneSG (x as (GG.GROUP { kind, sublibs, ... }), l) =
156              case kind of              case kind of
157                  GG.NOLIB => foldl add l sublibs                  GG.NOLIB => foldl add l sublibs
158                | _ => add (x, l)                | _ => add (x, l)

Legend:
Removed from v.379  
changed lines
  Added in v.380

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