source: extracted/compiler.mli @ 2717

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

Extracted code for the whole compiler.
The space cost model is not there yet.

I have fixed by hand the few extraction problems
(i.e. composed coercions not extracted and type
definitions with wrong syntax).

I have also changed all axioms to be implemented
so that they do not fail at initialization time.

File size: 2.9 KB
Line 
1open Preamble
2
3open BitVectorTrie
4
5open CostLabel
6
7open Coqlib
8
9open Proper
10
11open PositiveMap
12
13open Deqsets
14
15open ErrorMessages
16
17open PreIdentifiers
18
19open Errors
20
21open Extralib
22
23open Setoids
24
25open Monad
26
27open Option
28
29open Lists
30
31open Positive
32
33open Identifiers
34
35open Exp
36
37open Arithmetic
38
39open Vector
40
41open Div_and_mod
42
43open Jmeq
44
45open Russell
46
47open List
48
49open Util
50
51open FoldStuff
52
53open BitVector
54
55open Extranat
56
57open Bool
58
59open Relations
60
61open Nat
62
63open Integers
64
65open Hints_declaration
66
67open Core_notation
68
69open Pts
70
71open Logic
72
73open Types
74
75open AST
76
77open Csyntax
78
79open Label
80
81open Sets
82
83open Listb
84
85open Star
86
87open Frontend_misc
88
89open CexecInd
90
91open CexecSound
92
93open Casts
94
95open ClassifyOp
96
97open Smallstep
98
99open Extra_bool
100
101open FrontEndVal
102
103open Hide
104
105open ByteValues
106
107open GenMem
108
109open FrontEndMem
110
111open Globalenvs
112
113open Csem
114
115open SmallstepExec
116
117open Division
118
119open Z
120
121open BitVectorZ
122
123open Pointers
124
125open Values
126
127open Events
128
129open IOMonad
130
131open IO
132
133open Cexec
134
135open TypeComparison
136
137open SimplifyCasts
138
139open MemProperties
140
141open MemoryInjections
142
143open Fresh
144
145open SwitchRemoval
146
147open FrontEndOps
148
149open Cminor_syntax
150
151open ToCminor
152
153open Initialisation
154
155open Graphs
156
157open Order
158
159open Registers
160
161open RTLabs_syntax
162
163open ToRTLabs
164
165val front_end :
166  Csyntax.clight_program -> ((CostLabel.costlabel, Csyntax.clight_program)
167  Types.prod, RTLabs_syntax.rTLabs_program) Types.prod Errors.res
168
169open Deqsets
170
171open State
172
173open Bind_new
174
175open BindLists
176
177open Blocks
178
179open TranslateUtils
180
181open AssocList
182
183open String
184
185open LabelledObjects
186
187open I8051
188
189open BackEndOps
190
191open Joint
192
193open RTL
194
195open RTLabsToRTL
196
197open ERTL
198
199open RegisterSet
200
201open RTLToERTL
202
203open ERTLptr
204
205open ERTLToERTLptr
206
207open Fixpoints
208
209open Set_adt
210
211open Liveness
212
213open Interference
214
215open Joint_LTL_LIN
216
217open LTL
218
219open ERTLptrToLTL
220
221open LIN
222
223open Linearise
224
225open LTLToLIN
226
227open ASM
228
229open BitVectorTrieSet
230
231open LINToASM
232
233val compute_fixpoint : Fixpoints.fixpoint_computer
234
235val colour_graph : Interference.coloured_graph_computer
236
237val back_end : RTLabs_syntax.rTLabs_program -> ASM.pseudo_assembly_program
238
239type object_code = BitVector.byte List.list
240
241type costlabel_map1 = CostLabel.costlabel BitVectorTrie.bitVectorTrie
242
243open Assembly
244
245open Status
246
247open Fetch
248
249open PolicyFront
250
251open PolicyStep
252
253open Policy
254
255val assembler :
256  ASM.pseudo_assembly_program -> (object_code, costlabel_map1) Types.prod
257  Errors.res
258
259open StructuredTraces
260
261open AbstractStatus
262
263open StatusProofs
264
265open Interpret
266
267open ASMCosts
268
269val lift_cost_map_back_to_front :
270  Csyntax.clight_program -> BitVector.byte BitVectorTrie.bitVectorTrie ->
271  CostLabel.costlabel BitVectorTrie.bitVectorTrie -> (CostLabel.costlabel ->
272  (__, __) Types.sum) -> StructuredTraces.as_cost_map ->
273  Label.clight_cost_map
274
275open UtilBranch
276
277open ASMCostsSplit
278
279val compile :
280  Csyntax.clight_program -> ((object_code, costlabel_map1) Types.prod,
281  (Csyntax.clight_program, Label.clight_cost_map) Types.dPair) Types.prod
282  Errors.res
283
Note: See TracBrowser for help on using the repository browser.