source: driver/extracted/lIN.ml @ 3106

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

New major extraction that should have solved all remaining issues.
As tests/PROBLEMI shows, we still have some bugs with:

a) initialization of global data (regression)
b) function pointers call

File size: 2.0 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
121open Joint_LTL_LIN
122
123(** val lIN : Joint.lin_params **)
124let lIN =
125  Joint_LTL_LIN.lTL_LIN
126
127type lin_program = Joint.joint_program
128
129(** val lIN_premain : lin_program -> Joint.joint_closed_internal_function **)
130let lIN_premain p =
131  let l3 = Positive.P1 Positive.One in
132  let code = List.Cons ({ Types.fst = Types.None; Types.snd =
133    (Joint.Sequential ((Joint.COST_LABEL p.Joint.init_cost_label),
134    (Obj.magic Types.It))) }, (List.Cons ({ Types.fst = Types.None;
135    Types.snd = (Joint.Sequential ((Joint.CALL ((Types.Inl
136    p.Joint.joint_prog.AST.prog_main), (Obj.magic Nat.O),
137    (Obj.magic Types.It))), (Obj.magic Types.It))) }, (List.Cons
138    ({ Types.fst = (Types.Some l3); Types.snd = (Joint.Final (Joint.GOTO
139    l3)) }, List.Nil)))))
140  in
141  { Joint.joint_if_luniverse = (Positive.P0 (Positive.P0 Positive.One));
142  Joint.joint_if_runiverse = Positive.One; Joint.joint_if_result =
143  (Obj.magic Types.It); Joint.joint_if_params = (Obj.magic Types.It);
144  Joint.joint_if_stacksize = Nat.O; Joint.joint_if_local_stacksize = Nat.O;
145  Joint.joint_if_code = (Obj.magic code); Joint.joint_if_entry =
146  (Obj.magic Nat.O) }
147
Note: See TracBrowser for help on using the repository browser.