author | huffman |
Fri, 26 Aug 2011 08:12:38 -0700 | |
changeset 44532 | a2e9b39df938 |
parent 44035 | 322d1657c40c |
child 45231 | d85a2fdc586c |
permissions | -rw-r--r-- |
12442 | 1 |
(* Title: HOL/MicroJava/JVM/JVMListExample.thy |
2 |
Author: Stefan Berghofer |
|
3 |
*) |
|
4 |
||
12973 | 5 |
header {* \isaheader{Example for generating executable code from JVM semantics}\label{sec:JVMListExample} *} |
12442 | 6 |
|
32356
e11cd88e6ade
temporary adjustment to dubious state of eta expansion in recfun_codegen
haftmann
parents:
28524
diff
changeset
|
7 |
theory JVMListExample |
e11cd88e6ade
temporary adjustment to dubious state of eta expansion in recfun_codegen
haftmann
parents:
28524
diff
changeset
|
8 |
imports "../J/SystemClasses" JVMExec |
e11cd88e6ade
temporary adjustment to dubious state of eta expansion in recfun_codegen
haftmann
parents:
28524
diff
changeset
|
9 |
begin |
12442 | 10 |
|
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
11 |
text {* |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
12 |
Since the types @{typ cnam}, @{text vnam}, and @{text mname} are |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
13 |
anonymous, we describe distinctness of names in the example by axioms: |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
14 |
*} |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
15 |
axiomatization list_nam test_nam :: cnam |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
16 |
where distinct_classes: "list_nam \<noteq> test_nam" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
17 |
|
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
18 |
axiomatization append_name makelist_name :: mname |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
19 |
where distinct_methods: "append_name \<noteq> makelist_name" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
20 |
|
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
21 |
axiomatization val_nam next_nam :: vnam |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
22 |
where distinct_fields: "val_nam \<noteq> next_nam" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
23 |
|
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
24 |
axioms nat_to_loc'_inject: "nat_to_loc' l = nat_to_loc' l' \<longleftrightarrow> l = l'" |
12442 | 25 |
|
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
26 |
definition list_name :: cname where |
12951 | 27 |
"list_name == Cname list_nam" |
28 |
||
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
29 |
definition test_name :: cname where |
12951 | 30 |
"test_name == Cname test_nam" |
31 |
||
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
32 |
definition val_name :: vname where |
12442 | 33 |
"val_name == VName val_nam" |
34 |
||
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
35 |
definition next_name :: vname where |
12442 | 36 |
"next_name == VName next_nam" |
37 |
||
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
38 |
definition append_ins :: bytecode where |
12951 | 39 |
"append_ins == |
12442 | 40 |
[Load 0, |
41 |
Getfield next_name list_name, |
|
42 |
Dup, |
|
43 |
LitPush Null, |
|
44 |
Ifcmpeq 4, |
|
12951 | 45 |
Load 1, |
46 |
Invoke list_name append_name [Class list_name], |
|
12442 | 47 |
Return, |
48 |
Pop, |
|
49 |
Load 0, |
|
50 |
Load 1, |
|
51 |
Putfield next_name list_name, |
|
52 |
LitPush Unit, |
|
12951 | 53 |
Return]" |
12442 | 54 |
|
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
55 |
definition list_class :: "jvm_method class" where |
12951 | 56 |
"list_class == |
57 |
(Object, |
|
58 |
[(val_name, PrimT Integer), (next_name, Class list_name)], |
|
59 |
[((append_name, [Class list_name]), PrimT Void, |
|
60 |
(3, 0, append_ins,[(1,2,8,Xcpt NullPointer)]))])" |
|
61 |
||
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
62 |
definition make_list_ins :: bytecode where |
12951 | 63 |
"make_list_ins == |
12442 | 64 |
[New list_name, |
65 |
Dup, |
|
66 |
Store 0, |
|
67 |
LitPush (Intg 1), |
|
68 |
Putfield val_name list_name, |
|
69 |
New list_name, |
|
70 |
Dup, |
|
71 |
Store 1, |
|
72 |
LitPush (Intg 2), |
|
73 |
Putfield val_name list_name, |
|
74 |
New list_name, |
|
75 |
Dup, |
|
76 |
Store 2, |
|
77 |
LitPush (Intg 3), |
|
78 |
Putfield val_name list_name, |
|
79 |
Load 0, |
|
80 |
Load 1, |
|
12951 | 81 |
Invoke list_name append_name [Class list_name], |
13101 | 82 |
Pop, |
12442 | 83 |
Load 0, |
84 |
Load 2, |
|
12951 | 85 |
Invoke list_name append_name [Class list_name], |
86 |
Return]" |
|
87 |
||
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
88 |
definition test_class :: "jvm_method class" where |
12951 | 89 |
"test_class == |
90 |
(Object, [], |
|
91 |
[((makelist_name, []), PrimT Void, (3, 2, make_list_ins,[]))])" |
|
12442 | 92 |
|
35416
d8d7d1b785af
replaced a couple of constsdefs by definitions (also some old primrecs by modern ones)
haftmann
parents:
32356
diff
changeset
|
93 |
definition E :: jvm_prog where |
12951 | 94 |
"E == SystemClasses @ [(list_name, list_class), (test_name, test_class)]" |
95 |
||
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
96 |
code_datatype list_nam test_nam |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
97 |
lemma equal_cnam_code [code]: |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
98 |
"HOL.equal list_nam list_nam \<longleftrightarrow> True" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
99 |
"HOL.equal test_nam test_nam \<longleftrightarrow> True" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
100 |
"HOL.equal list_nam test_nam \<longleftrightarrow> False" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
101 |
"HOL.equal test_nam list_nam \<longleftrightarrow> False" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
102 |
by(simp_all add: distinct_classes distinct_classes[symmetric] equal_cnam_def) |
12442 | 103 |
|
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
104 |
code_datatype append_name makelist_name |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
105 |
lemma equal_mname_code [code]: |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
106 |
"HOL.equal append_name append_name \<longleftrightarrow> True" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
107 |
"HOL.equal makelist_name makelist_name \<longleftrightarrow> True" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
108 |
"HOL.equal append_name makelist_name \<longleftrightarrow> False" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
109 |
"HOL.equal makelist_name append_name \<longleftrightarrow> False" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
110 |
by(simp_all add: distinct_methods distinct_methods[symmetric] equal_mname_def) |
12442 | 111 |
|
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
112 |
code_datatype val_nam next_nam |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
113 |
lemma equal_vnam_code [code]: |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
114 |
"HOL.equal val_nam val_nam \<longleftrightarrow> True" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
115 |
"HOL.equal next_nam next_nam \<longleftrightarrow> True" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
116 |
"HOL.equal val_nam next_nam \<longleftrightarrow> False" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
117 |
"HOL.equal next_nam val_nam \<longleftrightarrow> False" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
118 |
by(simp_all add: distinct_fields distinct_fields[symmetric] equal_vnam_def) |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
119 |
|
12442 | 120 |
|
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
121 |
lemma equal_loc'_code [code]: |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
122 |
"HOL.equal (nat_to_loc' l) (nat_to_loc' l') \<longleftrightarrow> l = l'" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
123 |
by(simp add: equal_loc'_def nat_to_loc'_inject) |
12442 | 124 |
|
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
125 |
definition undefined_cname :: cname |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
126 |
where [code del]: "undefined_cname = undefined" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
127 |
code_datatype Object Xcpt Cname undefined_cname |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
128 |
declare undefined_cname_def[symmetric, code_inline] |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
129 |
|
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
130 |
definition undefined_val :: val |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
131 |
where [code del]: "undefined_val = undefined" |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
132 |
declare undefined_val_def[symmetric, code_inline] |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
133 |
code_datatype Unit Null Bool Intg Addr undefined_val |
12442 | 134 |
|
20971 | 135 |
definition |
136 |
"test = exec (E, start_state E test_name makelist_name)" |
|
137 |
||
44035
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
138 |
ML {* |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
139 |
@{code test}; |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
140 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
141 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
142 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
143 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
144 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
145 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
146 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
147 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
148 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
149 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
150 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
151 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
152 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
153 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
154 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
155 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
156 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
157 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
158 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
159 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
160 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
161 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
162 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
163 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
164 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
165 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
166 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
167 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
168 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
169 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
170 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
171 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
172 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
173 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
174 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
175 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
176 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
177 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
178 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
179 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
180 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
181 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
182 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
183 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
184 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
185 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
186 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
187 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
188 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
189 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
190 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
191 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
192 |
@{code exec} (@{code E}, @{code the} it); |
322d1657c40c
replace old SML code generator by new code generator in MicroJava/JVM and /BV
Andreas Lochbihler
parents:
35416
diff
changeset
|
193 |
*} |
12442 | 194 |
|
12973 | 195 |
end |