1 /* This C header file is generated by NIT to compile modules and programs that requires ./../lib/standard/kernel. */
2 #ifndef standard___kernel_sep
3 #define standard___kernel_sep
4 #include <nit_common.h>
5 #include "kernel._nitni.h"
7 extern const classtable_elt_t VFT_standard___kernel___Object
[];
9 extern const classtable_elt_t VFT_standard___kernel___Sys
[];
11 extern const classtable_elt_t VFT_standard___kernel___Comparable
[];
13 extern const classtable_elt_t VFT_standard___kernel___Discrete
[];
15 extern const classtable_elt_t VFT_standard___kernel___Bool
[];
17 extern const classtable_elt_t VFT_standard___kernel___Float
[];
18 struct TBOX_Float
{ const classtable_elt_t
* vft
; bigint object_id
; float val
;};
19 val_t
BOX_Float(float val
);
20 #define UNBOX_Float(x) (((struct TBOX_Float *)(VAL2OBJ(x)))->val)
22 extern const classtable_elt_t VFT_standard___kernel___Int
[];
24 extern const classtable_elt_t VFT_standard___kernel___Char
[];
26 extern const classtable_elt_t VFT_standard___kernel___Pointer
[];
27 struct TBOX_Pointer
{ const classtable_elt_t
* vft
; bigint object_id
; void * val
;};
28 val_t
BOX_Pointer(void * val
);
29 #define UNBOX_Pointer(x) (((struct TBOX_Pointer *)(VAL2OBJ(x)))->val)
30 extern const char *LOCATE_standard___kernel
;
31 extern const int SFT_standard___kernel
[];
32 #define ID_standard___kernel___Object (SFT_standard___kernel[0])
33 #define COLOR_standard___kernel___Object (SFT_standard___kernel[1])
34 #define INIT_TABLE_POS_standard___kernel___Object (SFT_standard___kernel[2] + 0)
35 #define CALL_standard___kernel___Object___object_id(recv) ((standard___kernel___Object___object_id_t)CALL((recv), (SFT_standard___kernel[2] + 1)))
36 #define CALL_standard___kernel___Object___is_same_type(recv) ((standard___kernel___Object___is_same_type_t)CALL((recv), (SFT_standard___kernel[2] + 2)))
37 #define CALL_standard___kernel___Object_____eqeq(recv) ((standard___kernel___Object_____eqeq_t)CALL((recv), (SFT_standard___kernel[2] + 3)))
38 #define CALL_standard___kernel___Object_____neq(recv) ((standard___kernel___Object_____neq_t)CALL((recv), (SFT_standard___kernel[2] + 4)))
39 #define CALL_standard___kernel___Object___output(recv) ((standard___kernel___Object___output_t)CALL((recv), (SFT_standard___kernel[2] + 5)))
40 #define CALL_standard___kernel___Object___output_class_name(recv) ((standard___kernel___Object___output_class_name_t)CALL((recv), (SFT_standard___kernel[2] + 6)))
41 #define CALL_standard___kernel___Object___exit(recv) ((standard___kernel___Object___exit_t)CALL((recv), (SFT_standard___kernel[2] + 7)))
42 #define CALL_standard___kernel___Object___sys(recv) ((standard___kernel___Object___sys_t)CALL((recv), (SFT_standard___kernel[2] + 8)))
43 #define ID_standard___kernel___Sys (SFT_standard___kernel[3])
44 #define COLOR_standard___kernel___Sys (SFT_standard___kernel[4])
45 #define INIT_TABLE_POS_standard___kernel___Sys (SFT_standard___kernel[5] + 0)
46 #define CALL_standard___kernel___Sys___main(recv) ((standard___kernel___Sys___main_t)CALL((recv), (SFT_standard___kernel[5] + 1)))
47 #define CALL_standard___kernel___Sys___init(recv) ((standard___kernel___Sys___init_t)CALL((recv), (SFT_standard___kernel[5] + 2)))
48 #define ID_standard___kernel___Comparable (SFT_standard___kernel[6])
49 #define COLOR_standard___kernel___Comparable (SFT_standard___kernel[7])
50 #define INIT_TABLE_POS_standard___kernel___Comparable (SFT_standard___kernel[8] + 0)
51 #define VTID_standard___kernel___Comparable___OTHER(recv) (VAL2VFT(recv)[SFT_standard___kernel[8] + 1].i)
52 #define VTCOLOR_standard___kernel___Comparable___OTHER(recv) (VAL2VFT(recv)[SFT_standard___kernel[8] + 2].i)
53 #define CALL_standard___kernel___Comparable_____l(recv) ((standard___kernel___Comparable_____l_t)CALL((recv), (SFT_standard___kernel[8] + 3)))
54 #define CALL_standard___kernel___Comparable_____leq(recv) ((standard___kernel___Comparable_____leq_t)CALL((recv), (SFT_standard___kernel[8] + 4)))
55 #define CALL_standard___kernel___Comparable_____geq(recv) ((standard___kernel___Comparable_____geq_t)CALL((recv), (SFT_standard___kernel[8] + 5)))
56 #define CALL_standard___kernel___Comparable_____g(recv) ((standard___kernel___Comparable_____g_t)CALL((recv), (SFT_standard___kernel[8] + 6)))
57 #define CALL_standard___kernel___Comparable_____leqg(recv) ((standard___kernel___Comparable_____leqg_t)CALL((recv), (SFT_standard___kernel[8] + 7)))
58 #define CALL_standard___kernel___Comparable___is_between(recv) ((standard___kernel___Comparable___is_between_t)CALL((recv), (SFT_standard___kernel[8] + 8)))
59 #define CALL_standard___kernel___Comparable___max(recv) ((standard___kernel___Comparable___max_t)CALL((recv), (SFT_standard___kernel[8] + 9)))
60 #define CALL_standard___kernel___Comparable___min(recv) ((standard___kernel___Comparable___min_t)CALL((recv), (SFT_standard___kernel[8] + 10)))
61 #define ID_standard___kernel___Discrete (SFT_standard___kernel[9])
62 #define COLOR_standard___kernel___Discrete (SFT_standard___kernel[10])
63 #define INIT_TABLE_POS_standard___kernel___Discrete (SFT_standard___kernel[11] + 0)
64 #define CALL_standard___kernel___Discrete___succ(recv) ((standard___kernel___Discrete___succ_t)CALL((recv), (SFT_standard___kernel[11] + 1)))
65 #define CALL_standard___kernel___Discrete___prec(recv) ((standard___kernel___Discrete___prec_t)CALL((recv), (SFT_standard___kernel[11] + 2)))
66 #define CALL_standard___kernel___Discrete_____plus(recv) ((standard___kernel___Discrete_____plus_t)CALL((recv), (SFT_standard___kernel[11] + 3)))
67 #define CALL_standard___kernel___Discrete_____minus(recv) ((standard___kernel___Discrete_____minus_t)CALL((recv), (SFT_standard___kernel[11] + 4)))
68 #define CALL_standard___kernel___Discrete___distance(recv) ((standard___kernel___Discrete___distance_t)CALL((recv), (SFT_standard___kernel[11] + 5)))
69 #define ID_standard___kernel___Bool (SFT_standard___kernel[12])
70 #define COLOR_standard___kernel___Bool (SFT_standard___kernel[13])
71 #define INIT_TABLE_POS_standard___kernel___Bool (SFT_standard___kernel[14] + 0)
72 #define ID_standard___kernel___Float (SFT_standard___kernel[15])
73 #define COLOR_standard___kernel___Float (SFT_standard___kernel[16])
74 #define INIT_TABLE_POS_standard___kernel___Float (SFT_standard___kernel[17] + 0)
75 #define CALL_standard___kernel___Float_____leq(recv) ((standard___kernel___Float_____leq_t)CALL((recv), (SFT_standard___kernel[17] + 1)))
76 #define CALL_standard___kernel___Float_____l(recv) ((standard___kernel___Float_____l_t)CALL((recv), (SFT_standard___kernel[17] + 2)))
77 #define CALL_standard___kernel___Float_____geq(recv) ((standard___kernel___Float_____geq_t)CALL((recv), (SFT_standard___kernel[17] + 3)))
78 #define CALL_standard___kernel___Float_____g(recv) ((standard___kernel___Float_____g_t)CALL((recv), (SFT_standard___kernel[17] + 4)))
79 #define CALL_standard___kernel___Float_____plus(recv) ((standard___kernel___Float_____plus_t)CALL((recv), (SFT_standard___kernel[17] + 5)))
80 #define CALL_standard___kernel___Float___unary__minus(recv) ((standard___kernel___Float___unary__minus_t)CALL((recv), (SFT_standard___kernel[17] + 6)))
81 #define CALL_standard___kernel___Float_____minus(recv) ((standard___kernel___Float_____minus_t)CALL((recv), (SFT_standard___kernel[17] + 7)))
82 #define CALL_standard___kernel___Float_____star(recv) ((standard___kernel___Float_____star_t)CALL((recv), (SFT_standard___kernel[17] + 8)))
83 #define CALL_standard___kernel___Float_____slash(recv) ((standard___kernel___Float_____slash_t)CALL((recv), (SFT_standard___kernel[17] + 9)))
84 #define CALL_standard___kernel___Float___to_i(recv) ((standard___kernel___Float___to_i_t)CALL((recv), (SFT_standard___kernel[17] + 10)))
85 #define ID_standard___kernel___Int (SFT_standard___kernel[18])
86 #define COLOR_standard___kernel___Int (SFT_standard___kernel[19])
87 #define INIT_TABLE_POS_standard___kernel___Int (SFT_standard___kernel[20] + 0)
88 #define CALL_standard___kernel___Int___unary__minus(recv) ((standard___kernel___Int___unary__minus_t)CALL((recv), (SFT_standard___kernel[20] + 1)))
89 #define CALL_standard___kernel___Int_____star(recv) ((standard___kernel___Int_____star_t)CALL((recv), (SFT_standard___kernel[20] + 2)))
90 #define CALL_standard___kernel___Int_____slash(recv) ((standard___kernel___Int_____slash_t)CALL((recv), (SFT_standard___kernel[20] + 3)))
91 #define CALL_standard___kernel___Int_____percent(recv) ((standard___kernel___Int_____percent_t)CALL((recv), (SFT_standard___kernel[20] + 4)))
92 #define CALL_standard___kernel___Int___lshift(recv) ((standard___kernel___Int___lshift_t)CALL((recv), (SFT_standard___kernel[20] + 5)))
93 #define CALL_standard___kernel___Int___rshift(recv) ((standard___kernel___Int___rshift_t)CALL((recv), (SFT_standard___kernel[20] + 6)))
94 #define CALL_standard___kernel___Int___to_f(recv) ((standard___kernel___Int___to_f_t)CALL((recv), (SFT_standard___kernel[20] + 7)))
95 #define CALL_standard___kernel___Int___ascii(recv) ((standard___kernel___Int___ascii_t)CALL((recv), (SFT_standard___kernel[20] + 8)))
96 #define CALL_standard___kernel___Int___digit_count(recv) ((standard___kernel___Int___digit_count_t)CALL((recv), (SFT_standard___kernel[20] + 9)))
97 #define CALL_standard___kernel___Int___to_c(recv) ((standard___kernel___Int___to_c_t)CALL((recv), (SFT_standard___kernel[20] + 10)))
98 #define CALL_standard___kernel___Int___enumerate_to(recv) ((standard___kernel___Int___enumerate_to_t)CALL((recv), (SFT_standard___kernel[20] + 11)))
99 #define CALL_standard___kernel___Int___enumerate_before(recv) ((standard___kernel___Int___enumerate_before_t)CALL((recv), (SFT_standard___kernel[20] + 12)))
100 #define CALL_standard___kernel___Int___abs(recv) ((standard___kernel___Int___abs_t)CALL((recv), (SFT_standard___kernel[20] + 13)))
101 #define ID_standard___kernel___Char (SFT_standard___kernel[21])
102 #define COLOR_standard___kernel___Char (SFT_standard___kernel[22])
103 #define INIT_TABLE_POS_standard___kernel___Char (SFT_standard___kernel[23] + 0)
104 #define CALL_standard___kernel___Char___to_i(recv) ((standard___kernel___Char___to_i_t)CALL((recv), (SFT_standard___kernel[23] + 1)))
105 #define CALL_standard___kernel___Char___ascii(recv) ((standard___kernel___Char___ascii_t)CALL((recv), (SFT_standard___kernel[23] + 2)))
106 #define CALL_standard___kernel___Char___to_lower(recv) ((standard___kernel___Char___to_lower_t)CALL((recv), (SFT_standard___kernel[23] + 3)))
107 #define CALL_standard___kernel___Char___to_upper(recv) ((standard___kernel___Char___to_upper_t)CALL((recv), (SFT_standard___kernel[23] + 4)))
108 #define CALL_standard___kernel___Char___is_digit(recv) ((standard___kernel___Char___is_digit_t)CALL((recv), (SFT_standard___kernel[23] + 5)))
109 #define CALL_standard___kernel___Char___is_lower(recv) ((standard___kernel___Char___is_lower_t)CALL((recv), (SFT_standard___kernel[23] + 6)))
110 #define CALL_standard___kernel___Char___is_upper(recv) ((standard___kernel___Char___is_upper_t)CALL((recv), (SFT_standard___kernel[23] + 7)))
111 #define CALL_standard___kernel___Char___is_letter(recv) ((standard___kernel___Char___is_letter_t)CALL((recv), (SFT_standard___kernel[23] + 8)))
112 #define ID_standard___kernel___Pointer (SFT_standard___kernel[24])
113 #define COLOR_standard___kernel___Pointer (SFT_standard___kernel[25])
114 #define INIT_TABLE_POS_standard___kernel___Pointer (SFT_standard___kernel[26] + 0)
115 static const char * const LOCATE_standard___kernel___Object___object_id
= "kernel::Object::object_id";
116 val_t
standard___kernel___Object___object_id(val_t p0
);
117 typedef val_t (*standard___kernel___Object___object_id_t
)(val_t p0
);
118 static const char * const LOCATE_standard___kernel___Object___is_same_type
= "kernel::Object::is_same_type";
119 val_t
standard___kernel___Object___is_same_type(val_t p0
, val_t p1
);
120 typedef val_t (*standard___kernel___Object___is_same_type_t
)(val_t p0
, val_t p1
);
121 static const char * const LOCATE_standard___kernel___Object_____eqeq
= "kernel::Object::==";
122 val_t
standard___kernel___Object_____eqeq(val_t p0
, val_t p1
);
123 typedef val_t (*standard___kernel___Object_____eqeq_t
)(val_t p0
, val_t p1
);
124 static const char * const LOCATE_standard___kernel___Object_____neq
= "kernel::Object::!=";
125 val_t
standard___kernel___Object_____neq(val_t p0
, val_t p1
);
126 typedef val_t (*standard___kernel___Object_____neq_t
)(val_t p0
, val_t p1
);
127 static const char * const LOCATE_standard___kernel___Object___output
= "kernel::Object::output";
128 void standard___kernel___Object___output(val_t p0
);
129 typedef void (*standard___kernel___Object___output_t
)(val_t p0
);
130 static const char * const LOCATE_standard___kernel___Object___output_class_name
= "kernel::Object::output_class_name";
131 void standard___kernel___Object___output_class_name(val_t p0
);
132 typedef void (*standard___kernel___Object___output_class_name_t
)(val_t p0
);
133 static const char * const LOCATE_standard___kernel___Object___exit
= "kernel::Object::exit";
134 void standard___kernel___Object___exit(val_t p0
, val_t p1
);
135 typedef void (*standard___kernel___Object___exit_t
)(val_t p0
, val_t p1
);
136 static const char * const LOCATE_standard___kernel___Object___sys
= "kernel::Object::sys";
137 val_t
standard___kernel___Object___sys(val_t p0
);
138 typedef val_t (*standard___kernel___Object___sys_t
)(val_t p0
);
139 static const char * const LOCATE_standard___kernel___Sys___main
= "kernel::Sys::main";
140 void standard___kernel___Sys___main(val_t p0
);
141 typedef void (*standard___kernel___Sys___main_t
)(val_t p0
);
142 static const char * const LOCATE_standard___kernel___Sys___init
= "kernel::Sys::init";
143 void standard___kernel___Sys___init(val_t p0
, int* init_table
);
144 typedef void (*standard___kernel___Sys___init_t
)(val_t p0
, int* init_table
);
145 val_t
NEW_Sys_standard___kernel___Sys___init();
146 static const char * const LOCATE_standard___kernel___Comparable_____l
= "kernel::Comparable::<";
147 val_t
standard___kernel___Comparable_____l(val_t p0
, val_t p1
);
148 typedef val_t (*standard___kernel___Comparable_____l_t
)(val_t p0
, val_t p1
);
149 static const char * const LOCATE_standard___kernel___Comparable_____leq
= "kernel::Comparable::<=";
150 val_t
standard___kernel___Comparable_____leq(val_t p0
, val_t p1
);
151 typedef val_t (*standard___kernel___Comparable_____leq_t
)(val_t p0
, val_t p1
);
152 static const char * const LOCATE_standard___kernel___Comparable_____geq
= "kernel::Comparable::>=";
153 val_t
standard___kernel___Comparable_____geq(val_t p0
, val_t p1
);
154 typedef val_t (*standard___kernel___Comparable_____geq_t
)(val_t p0
, val_t p1
);
155 static const char * const LOCATE_standard___kernel___Comparable_____g
= "kernel::Comparable::>";
156 val_t
standard___kernel___Comparable_____g(val_t p0
, val_t p1
);
157 typedef val_t (*standard___kernel___Comparable_____g_t
)(val_t p0
, val_t p1
);
158 static const char * const LOCATE_standard___kernel___Comparable_____leqg
= "kernel::Comparable::<=>";
159 val_t
standard___kernel___Comparable_____leqg(val_t p0
, val_t p1
);
160 typedef val_t (*standard___kernel___Comparable_____leqg_t
)(val_t p0
, val_t p1
);
161 static const char * const LOCATE_standard___kernel___Comparable___is_between
= "kernel::Comparable::is_between";
162 val_t
standard___kernel___Comparable___is_between(val_t p0
, val_t p1
, val_t p2
);
163 typedef val_t (*standard___kernel___Comparable___is_between_t
)(val_t p0
, val_t p1
, val_t p2
);
164 static const char * const LOCATE_standard___kernel___Comparable___max
= "kernel::Comparable::max";
165 val_t
standard___kernel___Comparable___max(val_t p0
, val_t p1
);
166 typedef val_t (*standard___kernel___Comparable___max_t
)(val_t p0
, val_t p1
);
167 static const char * const LOCATE_standard___kernel___Comparable___min
= "kernel::Comparable::min";
168 val_t
standard___kernel___Comparable___min(val_t p0
, val_t p1
);
169 typedef val_t (*standard___kernel___Comparable___min_t
)(val_t p0
, val_t p1
);
170 static const char * const LOCATE_standard___kernel___Discrete___succ
= "kernel::Discrete::succ";
171 val_t
standard___kernel___Discrete___succ(val_t p0
);
172 typedef val_t (*standard___kernel___Discrete___succ_t
)(val_t p0
);
173 static const char * const LOCATE_standard___kernel___Discrete___prec
= "kernel::Discrete::prec";
174 val_t
standard___kernel___Discrete___prec(val_t p0
);
175 typedef val_t (*standard___kernel___Discrete___prec_t
)(val_t p0
);
176 static const char * const LOCATE_standard___kernel___Discrete_____plus
= "kernel::Discrete::+";
177 val_t
standard___kernel___Discrete_____plus(val_t p0
, val_t p1
);
178 typedef val_t (*standard___kernel___Discrete_____plus_t
)(val_t p0
, val_t p1
);
179 static const char * const LOCATE_standard___kernel___Discrete_____minus
= "kernel::Discrete::-";
180 val_t
standard___kernel___Discrete_____minus(val_t p0
, val_t p1
);
181 typedef val_t (*standard___kernel___Discrete_____minus_t
)(val_t p0
, val_t p1
);
182 static const char * const LOCATE_standard___kernel___Discrete___distance
= "kernel::Discrete::distance";
183 val_t
standard___kernel___Discrete___distance(val_t p0
, val_t p1
);
184 typedef val_t (*standard___kernel___Discrete___distance_t
)(val_t p0
, val_t p1
);
185 static const char * const LOCATE_standard___kernel___Bool___object_id
= "kernel::Bool::(kernel::Object::object_id)";
186 val_t
standard___kernel___Bool___object_id(val_t p0
);
187 typedef val_t (*standard___kernel___Bool___object_id_t
)(val_t p0
);
188 static const char * const LOCATE_standard___kernel___Bool_____eqeq
= "kernel::Bool::(kernel::Object::==)";
189 val_t
standard___kernel___Bool_____eqeq(val_t p0
, val_t p1
);
190 typedef val_t (*standard___kernel___Bool_____eqeq_t
)(val_t p0
, val_t p1
);
191 static const char * const LOCATE_standard___kernel___Bool_____neq
= "kernel::Bool::(kernel::Object::!=)";
192 val_t
standard___kernel___Bool_____neq(val_t p0
, val_t p1
);
193 typedef val_t (*standard___kernel___Bool_____neq_t
)(val_t p0
, val_t p1
);
194 static const char * const LOCATE_standard___kernel___Bool___output
= "kernel::Bool::(kernel::Object::output)";
195 void standard___kernel___Bool___output(val_t p0
);
196 typedef void (*standard___kernel___Bool___output_t
)(val_t p0
);
197 static const char * const LOCATE_standard___kernel___Float___object_id
= "kernel::Float::(kernel::Object::object_id)";
198 val_t
standard___kernel___Float___object_id(val_t p0
);
199 typedef val_t (*standard___kernel___Float___object_id_t
)(val_t p0
);
200 static const char * const LOCATE_standard___kernel___Float___output
= "kernel::Float::(kernel::Object::output)";
201 void standard___kernel___Float___output(val_t p0
);
202 typedef void (*standard___kernel___Float___output_t
)(val_t p0
);
203 static const char * const LOCATE_standard___kernel___Float_____leq
= "kernel::Float::<=";
204 val_t
standard___kernel___Float_____leq(val_t p0
, val_t p1
);
205 typedef val_t (*standard___kernel___Float_____leq_t
)(val_t p0
, val_t p1
);
206 static const char * const LOCATE_standard___kernel___Float_____l
= "kernel::Float::<";
207 val_t
standard___kernel___Float_____l(val_t p0
, val_t p1
);
208 typedef val_t (*standard___kernel___Float_____l_t
)(val_t p0
, val_t p1
);
209 static const char * const LOCATE_standard___kernel___Float_____geq
= "kernel::Float::>=";
210 val_t
standard___kernel___Float_____geq(val_t p0
, val_t p1
);
211 typedef val_t (*standard___kernel___Float_____geq_t
)(val_t p0
, val_t p1
);
212 static const char * const LOCATE_standard___kernel___Float_____g
= "kernel::Float::>";
213 val_t
standard___kernel___Float_____g(val_t p0
, val_t p1
);
214 typedef val_t (*standard___kernel___Float_____g_t
)(val_t p0
, val_t p1
);
215 static const char * const LOCATE_standard___kernel___Float_____plus
= "kernel::Float::+";
216 val_t
standard___kernel___Float_____plus(val_t p0
, val_t p1
);
217 typedef val_t (*standard___kernel___Float_____plus_t
)(val_t p0
, val_t p1
);
218 static const char * const LOCATE_standard___kernel___Float___unary__minus
= "kernel::Float::unary -";
219 val_t
standard___kernel___Float___unary__minus(val_t p0
);
220 typedef val_t (*standard___kernel___Float___unary__minus_t
)(val_t p0
);
221 static const char * const LOCATE_standard___kernel___Float_____minus
= "kernel::Float::-";
222 val_t
standard___kernel___Float_____minus(val_t p0
, val_t p1
);
223 typedef val_t (*standard___kernel___Float_____minus_t
)(val_t p0
, val_t p1
);
224 static const char * const LOCATE_standard___kernel___Float_____star
= "kernel::Float::*";
225 val_t
standard___kernel___Float_____star(val_t p0
, val_t p1
);
226 typedef val_t (*standard___kernel___Float_____star_t
)(val_t p0
, val_t p1
);
227 static const char * const LOCATE_standard___kernel___Float_____slash
= "kernel::Float::/";
228 val_t
standard___kernel___Float_____slash(val_t p0
, val_t p1
);
229 typedef val_t (*standard___kernel___Float_____slash_t
)(val_t p0
, val_t p1
);
230 static const char * const LOCATE_standard___kernel___Float___to_i
= "kernel::Float::to_i";
231 val_t
standard___kernel___Float___to_i(val_t p0
);
232 typedef val_t (*standard___kernel___Float___to_i_t
)(val_t p0
);
233 static const char * const LOCATE_standard___kernel___Int___object_id
= "kernel::Int::(kernel::Object::object_id)";
234 val_t
standard___kernel___Int___object_id(val_t p0
);
235 typedef val_t (*standard___kernel___Int___object_id_t
)(val_t p0
);
236 static const char * const LOCATE_standard___kernel___Int_____eqeq
= "kernel::Int::(kernel::Object::==)";
237 val_t
standard___kernel___Int_____eqeq(val_t p0
, val_t p1
);
238 typedef val_t (*standard___kernel___Int_____eqeq_t
)(val_t p0
, val_t p1
);
239 static const char * const LOCATE_standard___kernel___Int_____neq
= "kernel::Int::(kernel::Object::!=)";
240 val_t
standard___kernel___Int_____neq(val_t p0
, val_t p1
);
241 typedef val_t (*standard___kernel___Int_____neq_t
)(val_t p0
, val_t p1
);
242 static const char * const LOCATE_standard___kernel___Int___output
= "kernel::Int::(kernel::Object::output)";
243 void standard___kernel___Int___output(val_t p0
);
244 typedef void (*standard___kernel___Int___output_t
)(val_t p0
);
245 static const char * const LOCATE_standard___kernel___Int_____leq
= "kernel::Int::(kernel::Comparable::<=)";
246 val_t
standard___kernel___Int_____leq(val_t p0
, val_t p1
);
247 typedef val_t (*standard___kernel___Int_____leq_t
)(val_t p0
, val_t p1
);
248 static const char * const LOCATE_standard___kernel___Int_____l
= "kernel::Int::(kernel::Comparable::<)";
249 val_t
standard___kernel___Int_____l(val_t p0
, val_t p1
);
250 typedef val_t (*standard___kernel___Int_____l_t
)(val_t p0
, val_t p1
);
251 static const char * const LOCATE_standard___kernel___Int_____geq
= "kernel::Int::(kernel::Comparable::>=)";
252 val_t
standard___kernel___Int_____geq(val_t p0
, val_t p1
);
253 typedef val_t (*standard___kernel___Int_____geq_t
)(val_t p0
, val_t p1
);
254 static const char * const LOCATE_standard___kernel___Int_____g
= "kernel::Int::(kernel::Comparable::>)";
255 val_t
standard___kernel___Int_____g(val_t p0
, val_t p1
);
256 typedef val_t (*standard___kernel___Int_____g_t
)(val_t p0
, val_t p1
);
257 static const char * const LOCATE_standard___kernel___Int_____plus
= "kernel::Int::(kernel::Discrete::+)";
258 val_t
standard___kernel___Int_____plus(val_t p0
, val_t p1
);
259 typedef val_t (*standard___kernel___Int_____plus_t
)(val_t p0
, val_t p1
);
260 static const char * const LOCATE_standard___kernel___Int___unary__minus
= "kernel::Int::unary -";
261 val_t
standard___kernel___Int___unary__minus(val_t p0
);
262 typedef val_t (*standard___kernel___Int___unary__minus_t
)(val_t p0
);
263 static const char * const LOCATE_standard___kernel___Int_____minus
= "kernel::Int::(kernel::Discrete::-)";
264 val_t
standard___kernel___Int_____minus(val_t p0
, val_t p1
);
265 typedef val_t (*standard___kernel___Int_____minus_t
)(val_t p0
, val_t p1
);
266 static const char * const LOCATE_standard___kernel___Int_____star
= "kernel::Int::*";
267 val_t
standard___kernel___Int_____star(val_t p0
, val_t p1
);
268 typedef val_t (*standard___kernel___Int_____star_t
)(val_t p0
, val_t p1
);
269 static const char * const LOCATE_standard___kernel___Int_____slash
= "kernel::Int::/";
270 val_t
standard___kernel___Int_____slash(val_t p0
, val_t p1
);
271 typedef val_t (*standard___kernel___Int_____slash_t
)(val_t p0
, val_t p1
);
272 static const char * const LOCATE_standard___kernel___Int_____percent
= "kernel::Int::%";
273 val_t
standard___kernel___Int_____percent(val_t p0
, val_t p1
);
274 typedef val_t (*standard___kernel___Int_____percent_t
)(val_t p0
, val_t p1
);
275 static const char * const LOCATE_standard___kernel___Int___lshift
= "kernel::Int::lshift";
276 val_t
standard___kernel___Int___lshift(val_t p0
, val_t p1
);
277 typedef val_t (*standard___kernel___Int___lshift_t
)(val_t p0
, val_t p1
);
278 static const char * const LOCATE_standard___kernel___Int___rshift
= "kernel::Int::rshift";
279 val_t
standard___kernel___Int___rshift(val_t p0
, val_t p1
);
280 typedef val_t (*standard___kernel___Int___rshift_t
)(val_t p0
, val_t p1
);
281 static const char * const LOCATE_standard___kernel___Int___to_f
= "kernel::Int::to_f";
282 val_t
standard___kernel___Int___to_f(val_t p0
);
283 typedef val_t (*standard___kernel___Int___to_f_t
)(val_t p0
);
284 static const char * const LOCATE_standard___kernel___Int___succ
= "kernel::Int::(kernel::Discrete::succ)";
285 val_t
standard___kernel___Int___succ(val_t p0
);
286 typedef val_t (*standard___kernel___Int___succ_t
)(val_t p0
);
287 static const char * const LOCATE_standard___kernel___Int___prec
= "kernel::Int::(kernel::Discrete::prec)";
288 val_t
standard___kernel___Int___prec(val_t p0
);
289 typedef val_t (*standard___kernel___Int___prec_t
)(val_t p0
);
290 static const char * const LOCATE_standard___kernel___Int___distance
= "kernel::Int::(kernel::Discrete::distance)";
291 val_t
standard___kernel___Int___distance(val_t p0
, val_t p1
);
292 typedef val_t (*standard___kernel___Int___distance_t
)(val_t p0
, val_t p1
);
293 static const char * const LOCATE_standard___kernel___Int_____leqg
= "kernel::Int::(kernel::Comparable::<=>)";
294 val_t
standard___kernel___Int_____leqg(val_t p0
, val_t p1
);
295 typedef val_t (*standard___kernel___Int_____leqg_t
)(val_t p0
, val_t p1
);
296 static const char * const LOCATE_standard___kernel___Int___is_between
= "kernel::Int::(kernel::Comparable::is_between)";
297 val_t
standard___kernel___Int___is_between(val_t p0
, val_t p1
, val_t p2
);
298 typedef val_t (*standard___kernel___Int___is_between_t
)(val_t p0
, val_t p1
, val_t p2
);
299 static const char * const LOCATE_standard___kernel___Int___max
= "kernel::Int::(kernel::Comparable::max)";
300 val_t
standard___kernel___Int___max(val_t p0
, val_t p1
);
301 typedef val_t (*standard___kernel___Int___max_t
)(val_t p0
, val_t p1
);
302 static const char * const LOCATE_standard___kernel___Int___min
= "kernel::Int::(kernel::Comparable::min)";
303 val_t
standard___kernel___Int___min(val_t p0
, val_t p1
);
304 typedef val_t (*standard___kernel___Int___min_t
)(val_t p0
, val_t p1
);
305 static const char * const LOCATE_standard___kernel___Int___ascii
= "kernel::Int::ascii";
306 val_t
standard___kernel___Int___ascii(val_t p0
);
307 typedef val_t (*standard___kernel___Int___ascii_t
)(val_t p0
);
308 static const char * const LOCATE_standard___kernel___Int___digit_count
= "kernel::Int::digit_count";
309 val_t
standard___kernel___Int___digit_count(val_t p0
, val_t p1
);
310 typedef val_t (*standard___kernel___Int___digit_count_t
)(val_t p0
, val_t p1
);
311 static const char * const LOCATE_standard___kernel___Int___to_c
= "kernel::Int::to_c";
312 val_t
standard___kernel___Int___to_c(val_t p0
);
313 typedef val_t (*standard___kernel___Int___to_c_t
)(val_t p0
);
314 typedef void (*CLOS_standard___kernel___Int___enumerate_to_0
)(struct stack_frame_t
*, val_t
);
315 static const char * const LOCATE_standard___kernel___Int___enumerate_to
= "kernel::Int::enumerate_to";
316 void standard___kernel___Int___enumerate_to(val_t p0
, val_t p1
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
317 typedef void (*standard___kernel___Int___enumerate_to_t
)(val_t p0
, val_t p1
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
318 typedef void (*CLOS_standard___kernel___Int___enumerate_before_0
)(struct stack_frame_t
*, val_t
);
319 static const char * const LOCATE_standard___kernel___Int___enumerate_before
= "kernel::Int::enumerate_before";
320 void standard___kernel___Int___enumerate_before(val_t p0
, val_t p1
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
321 typedef void (*standard___kernel___Int___enumerate_before_t
)(val_t p0
, val_t p1
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
322 static const char * const LOCATE_standard___kernel___Int___abs
= "kernel::Int::abs";
323 val_t
standard___kernel___Int___abs(val_t p0
);
324 typedef val_t (*standard___kernel___Int___abs_t
)(val_t p0
);
325 static const char * const LOCATE_standard___kernel___Char___object_id
= "kernel::Char::(kernel::Object::object_id)";
326 val_t
standard___kernel___Char___object_id(val_t p0
);
327 typedef val_t (*standard___kernel___Char___object_id_t
)(val_t p0
);
328 static const char * const LOCATE_standard___kernel___Char_____eqeq
= "kernel::Char::(kernel::Object::==)";
329 val_t
standard___kernel___Char_____eqeq(val_t p0
, val_t p1
);
330 typedef val_t (*standard___kernel___Char_____eqeq_t
)(val_t p0
, val_t p1
);
331 static const char * const LOCATE_standard___kernel___Char_____neq
= "kernel::Char::(kernel::Object::!=)";
332 val_t
standard___kernel___Char_____neq(val_t p0
, val_t p1
);
333 typedef val_t (*standard___kernel___Char_____neq_t
)(val_t p0
, val_t p1
);
334 static const char * const LOCATE_standard___kernel___Char___output
= "kernel::Char::(kernel::Object::output)";
335 void standard___kernel___Char___output(val_t p0
);
336 typedef void (*standard___kernel___Char___output_t
)(val_t p0
);
337 static const char * const LOCATE_standard___kernel___Char_____leq
= "kernel::Char::(kernel::Comparable::<=)";
338 val_t
standard___kernel___Char_____leq(val_t p0
, val_t p1
);
339 typedef val_t (*standard___kernel___Char_____leq_t
)(val_t p0
, val_t p1
);
340 static const char * const LOCATE_standard___kernel___Char_____l
= "kernel::Char::(kernel::Comparable::<)";
341 val_t
standard___kernel___Char_____l(val_t p0
, val_t p1
);
342 typedef val_t (*standard___kernel___Char_____l_t
)(val_t p0
, val_t p1
);
343 static const char * const LOCATE_standard___kernel___Char_____geq
= "kernel::Char::(kernel::Comparable::>=)";
344 val_t
standard___kernel___Char_____geq(val_t p0
, val_t p1
);
345 typedef val_t (*standard___kernel___Char_____geq_t
)(val_t p0
, val_t p1
);
346 static const char * const LOCATE_standard___kernel___Char_____g
= "kernel::Char::(kernel::Comparable::>)";
347 val_t
standard___kernel___Char_____g(val_t p0
, val_t p1
);
348 typedef val_t (*standard___kernel___Char_____g_t
)(val_t p0
, val_t p1
);
349 static const char * const LOCATE_standard___kernel___Char___succ
= "kernel::Char::(kernel::Discrete::succ)";
350 val_t
standard___kernel___Char___succ(val_t p0
);
351 typedef val_t (*standard___kernel___Char___succ_t
)(val_t p0
);
352 static const char * const LOCATE_standard___kernel___Char___prec
= "kernel::Char::(kernel::Discrete::prec)";
353 val_t
standard___kernel___Char___prec(val_t p0
);
354 typedef val_t (*standard___kernel___Char___prec_t
)(val_t p0
);
355 static const char * const LOCATE_standard___kernel___Char___distance
= "kernel::Char::(kernel::Discrete::distance)";
356 val_t
standard___kernel___Char___distance(val_t p0
, val_t p1
);
357 typedef val_t (*standard___kernel___Char___distance_t
)(val_t p0
, val_t p1
);
358 static const char * const LOCATE_standard___kernel___Char___to_i
= "kernel::Char::to_i";
359 val_t
standard___kernel___Char___to_i(val_t p0
);
360 typedef val_t (*standard___kernel___Char___to_i_t
)(val_t p0
);
361 static const char * const LOCATE_standard___kernel___Char___ascii
= "kernel::Char::ascii";
362 val_t
standard___kernel___Char___ascii(val_t p0
);
363 typedef val_t (*standard___kernel___Char___ascii_t
)(val_t p0
);
364 static const char * const LOCATE_standard___kernel___Char_____plus
= "kernel::Char::(kernel::Discrete::+)";
365 val_t
standard___kernel___Char_____plus(val_t p0
, val_t p1
);
366 typedef val_t (*standard___kernel___Char_____plus_t
)(val_t p0
, val_t p1
);
367 static const char * const LOCATE_standard___kernel___Char_____minus
= "kernel::Char::(kernel::Discrete::-)";
368 val_t
standard___kernel___Char_____minus(val_t p0
, val_t p1
);
369 typedef val_t (*standard___kernel___Char_____minus_t
)(val_t p0
, val_t p1
);
370 static const char * const LOCATE_standard___kernel___Char___to_lower
= "kernel::Char::to_lower";
371 val_t
standard___kernel___Char___to_lower(val_t p0
);
372 typedef val_t (*standard___kernel___Char___to_lower_t
)(val_t p0
);
373 static const char * const LOCATE_standard___kernel___Char___to_upper
= "kernel::Char::to_upper";
374 val_t
standard___kernel___Char___to_upper(val_t p0
);
375 typedef val_t (*standard___kernel___Char___to_upper_t
)(val_t p0
);
376 static const char * const LOCATE_standard___kernel___Char___is_digit
= "kernel::Char::is_digit";
377 val_t
standard___kernel___Char___is_digit(val_t p0
);
378 typedef val_t (*standard___kernel___Char___is_digit_t
)(val_t p0
);
379 static const char * const LOCATE_standard___kernel___Char___is_lower
= "kernel::Char::is_lower";
380 val_t
standard___kernel___Char___is_lower(val_t p0
);
381 typedef val_t (*standard___kernel___Char___is_lower_t
)(val_t p0
);
382 static const char * const LOCATE_standard___kernel___Char___is_upper
= "kernel::Char::is_upper";
383 val_t
standard___kernel___Char___is_upper(val_t p0
);
384 typedef val_t (*standard___kernel___Char___is_upper_t
)(val_t p0
);
385 static const char * const LOCATE_standard___kernel___Char___is_letter
= "kernel::Char::is_letter";
386 val_t
standard___kernel___Char___is_letter(val_t p0
);
387 typedef val_t (*standard___kernel___Char___is_letter_t
)(val_t p0
);