diff options
| author | Shaked Flur | 2015-07-24 11:56:17 +0100 |
|---|---|---|
| committer | Shaked Flur | 2015-07-24 11:56:17 +0100 |
| commit | e5083eca71d9d4a1092c4553c6ca448e256e6738 (patch) | |
| tree | f3404838c66b1d28978e5785e5daeba0c2cf2724 /src/lem_interp/interp_interface.lem | |
| parent | 28c16a5e86c08bd010dbfafccf412921d175610a (diff) | |
| parent | e391bd3d6ade488a26b30b7fc4d5826affb5cf99 (diff) | |
Merge branch 'master' of bitbucket.org:Peter_Sewell/l2
Diffstat (limited to 'src/lem_interp/interp_interface.lem')
| -rw-r--r-- | src/lem_interp/interp_interface.lem | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lem_interp/interp_interface.lem b/src/lem_interp/interp_interface.lem index b60a4dbb..85ea4cfe 100644 --- a/src/lem_interp/interp_interface.lem +++ b/src/lem_interp/interp_interface.lem @@ -457,11 +457,14 @@ type outcome = | Write_reg of reg_name * register_value * instruction_state (* List of instruciton states to be run in parrallel, any order permitted *) | Nondet_choice of list instruction_state * instruction_state -(* Stop for incremental stepping, function can be used to display function call data *) -| Internal of maybe string * maybe (unit -> string) * instruction_state (* Escape the current instruction, for traps, some sys calls, interrupts, etc. Can optionally provide a handler The non-optional instruction_state is what we would be doing if we're not escaping. This is for exhaustive interp*) | Escape of maybe instruction_state * instruction_state +(* Stop for incremental stepping, function can be used to display function call data *) +| Internal of maybe string * maybe (unit -> string) * instruction_state +(* Analysis can lead to non_deterministic evaluation, represented with this outcome *) +(*Note: this should not be externally visible *) +| Analysis_non_det of list instruction_state * instruction_state | Done | Error of string |
