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 280 - (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 278 type symbol = Symbol.symbol
11 : blume 270 type groupinfo = Dummy.t
12 : blume 272 type primitive = Primitive.primitive
13 : blume 269
14 :     type filter = SymbolSet.set option
15 :    
16 :     datatype node =
17 : blume 279 NODE of { smlinfo: SmlInfo.info,
18 : blume 269 localimports: node list,
19 :     globalimports: farnode list }
20 :    
21 : blume 279 and farnode =
22 :     FARNODE of filter * node
23 :     | PNODE of primitive
24 : blume 269
25 : blume 278 (* environments used for dependency analysis *)
26 :     datatype env =
27 :     EMPTY
28 :     | FCTENV of { looker: symbol -> value option,
29 :     domain: unit -> SymbolSet.set }
30 :     | BINDING of symbol * value
31 :     | LAYER of env * env
32 : blume 270
33 : blume 278 withtype value = env
34 :    
35 : blume 280 fun describeFarNode (FARNODE (f, NODE { smlinfo = i, ... })) =
36 :     SmlInfo.fullName i
37 :     | describeFarNode (PNODE p) = Primitive.toString p
38 : blume 269 end

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