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

SCM Repository

[smlnj] Annotation of /sml/trunk/src/cm/depend/graph.sml
ViewVC logotype

Annotation of /sml/trunk/src/cm/depend/graph.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 272 - (view) (download)

1 : blume 270 (*
2 :     * Internal data structure representing a CM dependency graph.
3 :     *
4 :     * (C) 1999 Lucent Technologies, Bell Laboratories
5 :     *
6 :     * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)
7 :     *)
8 : blume 269 structure DependencyGraph = struct
9 :    
10 : blume 270 type groupinfo = Dummy.t
11 : blume 272 type primitive = Primitive.primitive
12 : blume 269
13 :     type filter = SymbolSet.set option
14 :    
15 :     datatype node =
16 :     PNODE of primitive
17 : blume 270 | NODE of { smlinfo: SmlInfo.info,
18 : blume 269 localimports: node list,
19 :     globalimports: farnode list }
20 :    
21 :     withtype farnode = filter * node
22 :    
23 :     (* the filter is duplicated in each member of the map to
24 :     * make it easier to build the global graph *)
25 :     datatype gnode =
26 :     GNODE of { groupinfo: groupinfo,
27 :     imports: gnode list,
28 :     filter: filter,
29 :     exports: farnode SymbolMap.map,
30 :     dangling: node list }
31 :    
32 : blume 270
33 :     fun describeNode (PNODE p) = Dummy.f ()
34 :     | describeNode (NODE { smlinfo, ... }) = SmlInfo.describe smlinfo
35 : blume 269 end

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