source: extracted/interpret2.mli @ 3069

Last change on this file since 3069 was 3064, checked in by sacerdot, 7 years ago

Efficiency of the semantics of assembly improved by avoiding the recomputation
of address_of_word_labels maps at every step.

File size: 2.9 KB
Line 
1open Preamble
2
3open Fetch
4
5open Hide
6
7open Division
8
9open Z
10
11open BitVectorZ
12
13open Pointers
14
15open Coqlib
16
17open Values
18
19open Events
20
21open IOMonad
22
23open IO
24
25open Sets
26
27open Listb
28
29open StructuredTraces
30
31open AbstractStatus
32
33open BitVectorTrie
34
35open String
36
37open Exp
38
39open Arithmetic
40
41open Vector
42
43open FoldStuff
44
45open BitVector
46
47open Extranat
48
49open Integers
50
51open AST
52
53open LabelledObjects
54
55open Proper
56
57open PositiveMap
58
59open Deqsets
60
61open ErrorMessages
62
63open PreIdentifiers
64
65open Errors
66
67open Extralib
68
69open Setoids
70
71open Monad
72
73open Option
74
75open Div_and_mod
76
77open Jmeq
78
79open Russell
80
81open Util
82
83open List
84
85open Lists
86
87open Bool
88
89open Relations
90
91open Nat
92
93open Positive
94
95open Hints_declaration
96
97open Core_notation
98
99open Pts
100
101open Logic
102
103open Types
104
105open Identifiers
106
107open CostLabel
108
109open ASM
110
111open Status
112
113open StatusProofs
114
115open Interpret
116
117open ASMCosts
118
119open Stacksize
120
121open SmallstepExec
122
123open Executions
124
125open Measurable
126
127val mk_trans_system_of_abstract_status :
128  StructuredTraces.abstract_status -> (__ -> __ Monad.max_def__o__monad) ->
129  (IO.io_out, IO.io_in) SmallstepExec.trans_system
130
131val mk_fullexec_of_abstract_status :
132  StructuredTraces.abstract_status -> (__ -> __ Monad.max_def__o__monad) ->
133  __ -> (IO.io_out, IO.io_in) SmallstepExec.fullexec
134
135val mk_preclassified_system_of_abstract_status :
136  StructuredTraces.abstract_status -> (__ -> __ Monad.max_def__o__monad) ->
137  __ -> Measurable.preclassified_system
138
139val oC_preclassified_system :
140  ASM.labelled_object_code -> Measurable.preclassified_system
141
142open Assembly
143
144val execute_1_pseudo_instruction' :
145  ASM.pseudo_assembly_program -> (ASM.identifier -> BitVector.word) ->
146  (ASM.identifier -> BitVector.word) -> (BitVector.word -> BitVector.word) ->
147  (BitVector.word -> Bool.bool) -> Status.pseudoStatus -> Status.pseudoStatus
148
149val classify_pseudo_instruction :
150  ASM.pseudo_instruction -> StructuredTraces.status_class
151
152val aSM_classify :
153  ASM.pseudo_assembly_program -> Status.pseudoStatus ->
154  StructuredTraces.status_class
155
156val aSM_as_label_of_pc :
157  ASM.pseudo_assembly_program -> BitVector.word -> CostLabel.costlabel
158  Types.option
159
160val aSM_as_result :
161  ASM.pseudo_assembly_program -> (ASM.identifier -> BitVector.word) ->
162  Status.pseudoStatus -> Integers.int Types.option
163
164open AssocList
165
166val aSM_as_call_ident :
167  ASM.pseudo_assembly_program -> (ASM.identifier -> BitVector.word) ->
168  (ASM.identifier -> BitVector.word) -> (BitVector.word -> BitVector.word) ->
169  (BitVector.word -> Bool.bool) -> Status.pseudoStatus Types.sig0 ->
170  AST.ident
171
172val aSM_abstract_status :
173  ASM.pseudo_assembly_program -> (ASM.identifier -> BitVector.word) ->
174  (ASM.identifier -> BitVector.word) -> (BitVector.word -> BitVector.word) ->
175  (BitVector.word -> Bool.bool) -> StructuredTraces.abstract_status
176
177val aSM_preclassified_system :
178  ASM.pseudo_assembly_program -> (BitVector.word -> BitVector.word) ->
179  (BitVector.word -> Bool.bool) -> Measurable.preclassified_system
180
Note: See TracBrowser for help on using the repository browser.