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/MLRISC/graphs/no-exit.sml
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/graphs/no-exit.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 245 - (view) (download)
Original Path: sml/branches/SMLNJ/src/MLRISC/graphs/no-exit.sml

1 : monnier 245 signature NO_ENTRY_VIEW =
2 :     sig
3 :     val no_entry_view : ('n,'e,'g) Graph.graph -> ('n,'e,'g) Graph.graph
4 :     end
5 :    
6 :     signature NO_EXIT_VIEW =
7 :     sig
8 :     val no_exit_view : ('n,'e,'g) Graph.graph -> ('n,'e,'g) Graph.graph
9 :     end
10 :    
11 :     structure NoEntryView : NO_ENTRY_VIEW =
12 :     struct
13 :    
14 :     structure G = Graph
15 :    
16 :     fun no_entry_view (G.GRAPH G) =
17 :     let fun none _ = []
18 :     fun unimplemented _ = raise G.Readonly
19 :     in
20 :     G.GRAPH
21 :     { name = #name G,
22 :     graph_info = #graph_info G,
23 :     new_id = #new_id G,
24 :     add_node = #add_node G,
25 :     add_edge = #add_edge G,
26 :     remove_node = #remove_node G,
27 :     set_in_edges = #set_in_edges G,
28 :     set_out_edges = #set_out_edges G,
29 :     set_entries = unimplemented,
30 :     set_exits = #set_exits G,
31 :     garbage_collect = #garbage_collect G,
32 :     nodes = #nodes G,
33 :     edges = #edges G,
34 :     order = #order G,
35 :     size = #size G,
36 :     capacity = #capacity G,
37 :     out_edges = #out_edges G,
38 :     in_edges = #in_edges G,
39 :     succ = #succ G,
40 :     pred = #pred G,
41 :     has_edge = #has_edge G,
42 :     has_node = #has_node G,
43 :     node_info = #node_info G,
44 :     entries = none,
45 :     exits = #exits G,
46 :     entry_edges = none,
47 :     exit_edges = #exit_edges G,
48 :     forall_nodes = #forall_nodes G,
49 :     forall_edges = #forall_edges G
50 :     }
51 :     end
52 :     end
53 :    
54 :     structure NoExitView : NO_EXIT_VIEW =
55 :     struct
56 :    
57 :     structure G = Graph
58 :    
59 :     fun no_exit_view (G.GRAPH G) =
60 :     let fun none _ = []
61 :     fun unimplemented _ = raise G.Readonly
62 :     in
63 :     G.GRAPH
64 :     { name = #name G,
65 :     graph_info = #graph_info G,
66 :     new_id = #new_id G,
67 :     add_node = #add_node G,
68 :     add_edge = #add_edge G,
69 :     remove_node = #remove_node G,
70 :     set_in_edges = #set_in_edges G,
71 :     set_out_edges = #set_out_edges G,
72 :     set_entries = #set_entries G,
73 :     set_exits = unimplemented,
74 :     garbage_collect = #garbage_collect G,
75 :     nodes = #nodes G,
76 :     edges = #edges G,
77 :     order = #order G,
78 :     size = #size G,
79 :     capacity = #capacity G,
80 :     out_edges = #out_edges G,
81 :     in_edges = #in_edges G,
82 :     succ = #succ G,
83 :     pred = #pred G,
84 :     has_edge = #has_edge G,
85 :     has_node = #has_node G,
86 :     node_info = #node_info G,
87 :     entries = #entries G,
88 :     exits = none,
89 :     entry_edges = #entry_edges G,
90 :     exit_edges = none,
91 :     forall_nodes = #forall_nodes G,
92 :     forall_edges = #forall_edges G
93 :     }
94 :     end
95 :     end
96 :     (*
97 :     * $Log$
98 :     *)

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