1
1
2
- expr::new := λ . (StrictExpr(() () () () () () () () 0));
2
+ expr::new := λ . (StrictExpr(() () () () () () () () 0 () ));
3
3
expr::get-type := λe . (match e (
4
4
()
5
5
((Expr(f p u t d pc off)) ())
6
- ((StrictExpr(tt f u t d p e c o)) tt)
6
+ ((StrictExpr(tt f u t d p e c o a )) tt)
7
7
));
8
8
expr::get-frame := λe . (match e (
9
9
()
10
10
((Expr(f p u t d pc off)) f)
11
- ((StrictExpr(tt f u t d p e c o)) f)
11
+ ((StrictExpr(tt f u t d p e c o a )) f)
12
12
));
13
13
expr::get-unframe := λe . (match e (
14
14
()
15
15
((Expr(f p u t d pc off)) u)
16
- ((StrictExpr(tt f u t d p e c o)) u)
16
+ ((StrictExpr(tt f u t d p e c o a )) u)
17
17
));
18
18
expr::get-text := λe . (match e (
19
19
()
20
20
((Expr(f p u t d pc off)) t)
21
- ((StrictExpr(tt f u t d p e c o)) t)
21
+ ((StrictExpr(tt f u t d p e c o a )) t)
22
22
));
23
23
expr::get-data := λe . (match e (
24
24
()
25
25
((Expr(f p u t d pc off)) d)
26
- ((StrictExpr(tt f u t d p e c o)) d)
26
+ ((StrictExpr(tt f u t d p e c o a )) d)
27
27
));
28
28
expr::get-prog := λe . (match e (
29
29
()
30
30
((Expr(f p u t d pc off)) p)
31
- ((StrictExpr(tt f u t d p e c o)) p)
31
+ ((StrictExpr(tt f u t d p e c o a )) p)
32
32
));
33
33
expr::get-expr := λe . (match e (
34
34
()
35
- ((StrictExpr(tt f u t d p x c o)) x)
35
+ ((StrictExpr(tt f u t d p x c o a )) x)
36
36
));
37
37
expr::get-context := λe . (match e (
38
38
()
39
39
((Expr(f p u t d pc off)) pc)
40
- ((StrictExpr(tt f u t d p e c o)) c)
40
+ ((StrictExpr(tt f u t d p e c o a )) c)
41
41
));
42
42
expr::get-offset := λe . (match e (
43
43
()
44
44
((Expr(f p u t d pc off)) off )
45
- ((StrictExpr(tt f u t d p e c o)) o )
45
+ ((StrictExpr(tt f u t d p e c o a)) o )
46
+ ));
47
+ expr::get-altframe := λe . (match e (
48
+ ()
49
+ ((StrictExpr(tt f u t d p e c o a)) a )
46
50
));
47
51
expr::set-frame := λe x . (
48
52
(StrictExpr(
@@ -55,6 +59,7 @@ expr::set-frame := λe x . (
55
59
(expr::get-expr e)
56
60
(expr::get-context e)
57
61
(expr::get-offset e)
62
+ (expr::get-altframe e)
58
63
))
59
64
);
60
65
expr::set-unframe := λe x . (
@@ -68,6 +73,7 @@ expr::set-unframe := λe x . (
68
73
(expr::get-expr e)
69
74
(expr::get-context e)
70
75
(expr::get-offset e)
76
+ (expr::get-altframe e)
71
77
))
72
78
);
73
79
expr::set-text := λe x . (
@@ -81,6 +87,7 @@ expr::set-text := λe x . (
81
87
(expr::get-expr e)
82
88
(expr::get-context e)
83
89
(expr::get-offset e)
90
+ (expr::get-altframe e)
84
91
))
85
92
);
86
93
expr::set-data := λe x . (
@@ -94,6 +101,7 @@ expr::set-data := λe x . (
94
101
(expr::get-expr e)
95
102
(expr::get-context e)
96
103
(expr::get-offset e)
104
+ (expr::get-altframe e)
97
105
))
98
106
);
99
107
expr::set-prog := λe x . (
@@ -107,6 +115,7 @@ expr::set-prog := λe x . (
107
115
(expr::get-expr e)
108
116
(expr::get-context e)
109
117
(expr::get-offset e)
118
+ (expr::get-altframe e)
110
119
))
111
120
);
112
121
expr::set-expr := λe x . (
@@ -120,6 +129,7 @@ expr::set-expr := λe x . (
120
129
x
121
130
(expr::get-context e)
122
131
(expr::get-offset e)
132
+ (expr::get-altframe e)
123
133
))
124
134
);
125
135
expr::set-context := λe x . (
@@ -133,6 +143,7 @@ expr::set-context := λe x . (
133
143
(expr::get-expr e)
134
144
x
135
145
(expr::get-offset e)
146
+ (expr::get-altframe e)
136
147
))
137
148
);
138
149
expr::set-offset := λe x . (
@@ -146,6 +157,7 @@ expr::set-offset := λe x . (
146
157
(expr::get-expr e)
147
158
(expr::get-context e)
148
159
x
160
+ (expr::get-altframe e)
149
161
))
150
162
);
151
163
expr::set-type := λe x . (
@@ -159,6 +171,21 @@ expr::set-type := λe x . (
159
171
(expr::get-expr e)
160
172
(expr::get-context e)
161
173
(expr::get-offset e)
174
+ (expr::get-altframe e)
175
+ ))
176
+ );
177
+ expr::set-altframe := λe x . (
178
+ (StrictExpr(
179
+ (expr::get-type e)
180
+ (expr::get-frame e)
181
+ (expr::get-unframe e)
182
+ (expr::get-text e)
183
+ (expr::get-data e)
184
+ (expr::get-prog e)
185
+ (expr::get-expr e)
186
+ (expr::get-context e)
187
+ (expr::get-offset e)
188
+ x
162
189
))
163
190
);
164
191
@@ -184,6 +211,9 @@ expr::chain := λ e1 e2 . (tail(
184
211
(set e1 (expr::set-unframe(
185
212
e1 ( (expr::get-unframe e1) (expr::get-unframe e2) )
186
213
)))
214
+ (set e1 (expr::set-altframe(
215
+ e1 ( (expr::get-altframe e1) (expr::get-altframe e2) )
216
+ )))
187
217
(set e1 (expr::set-offset( e1 (expr::get-offset e2) )))
188
218
(set e1 (expr::set-context( e1 (expr::get-context e2) )))
189
219
e1
0 commit comments