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 /MLRISC/trunk/ir-archive/fast-path.sig
ViewVC logotype

Annotation of /MLRISC/trunk/ir-archive/fast-path.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 912 - (view) (download) (as text)
Original Path: sml/trunk/src/MLRISC/ir-archive/fast-path.sig

1 : george 912 (*
2 :     * This module implements Tarjan's fast path computation algorithm.
3 :     *
4 :     * -- Allen
5 :     *)
6 :    
7 :     signature TARJAN_FAST_PATH =
8 :     sig
9 :    
10 :     structure Dom : DOMINATOR_TREE
11 :    
12 :     (* path expression *)
13 :     datatype 'e pexp =
14 :     NUL
15 :     | EMP
16 :     | EDGE of 'e Graph.edge
17 :     | || of 'e pexp * 'e pexp
18 :     | ++ of 'e pexp * 'e pexp
19 :    
20 :     (* path sequence *)
21 :     type 'e pseq = ('e pexp * Graph.node_id * Graph.node_id) list
22 :    
23 :     (* Given a path sequence and a source node $s$, solve for the path of $s$ *)
24 :     val solve : 'e pseq -> Graph.node_id -> 'e pexp
25 :    
26 :     (* decompose a graph into a path sequence *)
27 :     val eliminate : ('n,'e,'g) Graph.graph -> 'e pseq
28 :    
29 :     end
30 :    

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