source: driver/extracted/linearise.mli @ 3106

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

New extraction. Novely: a pre-main is used in the back-end. Initialization
of global data is performed in LINToASM.

Note: the cost-emission of the initialization costlabel in the front-end is
virtual, but not performed in the traces I generate and print. To be fixed
(how?)

File size: 2.2 KB
Line 
1open Preamble
2
3open Extra_bool
4
5open Coqlib
6
7open Values
8
9open FrontEndVal
10
11open GenMem
12
13open FrontEndMem
14
15open Globalenvs
16
17open String
18
19open Sets
20
21open Listb
22
23open LabelledObjects
24
25open BitVectorTrie
26
27open Graphs
28
29open I8051
30
31open Order
32
33open Registers
34
35open CostLabel
36
37open Hide
38
39open Proper
40
41open PositiveMap
42
43open Deqsets
44
45open ErrorMessages
46
47open PreIdentifiers
48
49open Errors
50
51open Extralib
52
53open Lists
54
55open Identifiers
56
57open Integers
58
59open AST
60
61open Division
62
63open Exp
64
65open Arithmetic
66
67open Setoids
68
69open Monad
70
71open Option
72
73open Extranat
74
75open Vector
76
77open Div_and_mod
78
79open Jmeq
80
81open Russell
82
83open List
84
85open Util
86
87open FoldStuff
88
89open BitVector
90
91open Types
92
93open Bool
94
95open Relations
96
97open Nat
98
99open Hints_declaration
100
101open Core_notation
102
103open Pts
104
105open Logic
106
107open Positive
108
109open Z
110
111open BitVectorZ
112
113open Pointers
114
115open ByteValues
116
117open BackEndOps
118
119open Joint
120
121val graph_to_lin_statement :
122  Joint.uns_params -> AST.ident List.list -> 'a1 Identifiers.identifier_map
123  -> Joint.joint_statement -> Joint.joint_statement
124
125val chop :
126  ('a1 -> Bool.bool) -> 'a1 List.list -> ('a1, 'a1 List.list) Types.prod
127  Types.option
128
129type graph_visit_ret_type =
130  ((Nat.nat Identifiers.identifier_map, Identifiers.identifier_set)
131  Types.prod, __) Types.prod Types.sig0
132
133val graph_visit :
134  Joint.uns_params -> AST.ident List.list -> __ -> Identifiers.identifier_set
135  -> Nat.nat Identifiers.identifier_map -> __ -> Graphs.label List.list ->
136  Nat.nat -> Nat.nat -> Graphs.label -> graph_visit_ret_type
137
138val branch_compress :
139  Joint.graph_params -> AST.ident List.list -> __ -> Graphs.label Types.sig0
140  -> __
141
142val filter_labels :
143  PreIdentifiers.identifierTag -> (PreIdentifiers.identifier -> Bool.bool) ->
144  'a1 LabelledObjects.labelled_obj List.list -> (__, 'a1) Types.prod
145  List.list
146
147val linearise_code :
148  Joint.uns_params -> AST.ident List.list -> __ -> Graphs.label Types.sig0 ->
149  (__, Graphs.label -> Nat.nat Types.option) Types.prod Types.sig0
150
151val linearise_int_fun :
152  Joint.uns_params -> AST.ident List.list ->
153  Joint.joint_closed_internal_function ->
154  (Joint.joint_closed_internal_function, Graphs.label -> Nat.nat
155  Types.option) Types.prod Types.sig0
156
157val linearise :
158  Joint.uns_params -> Joint.joint_program -> Joint.joint_program
159
Note: See TracBrowser for help on using the repository browser.