Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/vis15/src/compiler/cfg-ir/exit-kind.sml
ViewVC logotype

Annotation of /branches/vis15/src/compiler/cfg-ir/exit-kind.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3485 - (view) (download)

1 : jhr 3470 (* exit-kind.sml
2 :     *
3 :     * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
4 :     *
5 :     * COPYRIGHT (c) 2015 The University of Chicago
6 :     * All rights reserved.
7 :     *
8 :     * The CFG representation has different kinds of exits, depending on the
9 :     * context and operation.
10 :     *)
11 :    
12 :     structure ExitKind =
13 :     struct
14 :    
15 :     datatype kind
16 :     = FRAGMENT (* exit node in a CFG fragment that is going to be embedded in *)
17 :     (* other code *)
18 :     | RETURN (* return from function/method *)
19 :     | ACTIVE (* normal return from update method *)
20 :     | STABILIZE (* stabilize in update method *)
21 :     | DIE (* die in update method *)
22 :     | UNREACHABLE (* dummy exit node that is unreachable *)
23 :    
24 :     fun toString FRAGMENT = "FRAGMENT"
25 :     | toString RETURN = "RETURN"
26 :     | toString ACTIVE = "ACTIVE"
27 :     | toString STABILIZE = "STABILIZE"
28 :     | toString DIE = "DIE"
29 :     | toString UNREACHABLE = "UNREACHABLE"
30 :    
31 :     end

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