1 /* This C file is generated by NIT to compile module standard___string_search. */
2 #include "standard___string_search._sep.h"
3 val_t
standard___string_search___Pattern___search_index_in(val_t p0
, val_t p1
, val_t p2
){
4 struct {struct stack_frame_t me
;} fra
;
6 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7 fra
.me
.file
= LOCATE_standard___string_search
;
9 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___search_index_in
;
12 /* ./../lib/standard//string_search.nit:21 */
13 nit_abort("Deferred method called", NULL
, LOCATE_standard___string_search
, 21);
14 stack_frame_head
= fra
.me
.prev
;
17 val_t
standard___string_search___Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
18 struct {struct stack_frame_t me
;} fra
;
20 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
21 fra
.me
.file
= LOCATE_standard___string_search
;
23 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___search_in
;
26 /* ./../lib/standard//string_search.nit:26 */
27 nit_abort("Deferred method called", NULL
, LOCATE_standard___string_search
, 26);
28 stack_frame_head
= fra
.me
.prev
;
31 val_t
standard___string_search___Pattern___search_all_in(val_t p0
, val_t p1
){
32 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
36 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
37 fra
.me
.file
= LOCATE_standard___string_search
;
39 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___search_all_in
;
42 fra
.me
.REG
[0] = NIT_NULL
;
43 fra
.me
.REG
[1] = NIT_NULL
;
44 fra
.me
.REG
[2] = NIT_NULL
;
45 fra
.me
.REG
[3] = NIT_NULL
;
46 fra
.me
.REG
[4] = NIT_NULL
;
49 /* ./../lib/standard//string_search.nit:33 */
50 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
51 /* ./../lib/standard//string_search.nit:34 */
53 fra
.me
.REG
[3] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
54 /* ./../lib/standard//string_search.nit:35 */
56 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
57 if (UNTAG_Bool(REGB0
)) {
59 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
60 if (UNTAG_Bool(REGB1
)) {
61 REGB1
= TAG_Bool(false);
64 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
68 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
69 if (UNTAG_Bool(REGB0
)) {
70 /* ./../lib/standard//string_search.nit:36 */
71 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
72 /* ./../lib/standard//string_search.nit:37 */
73 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
74 if (UNTAG_Bool(REGB0
)) {
75 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 37);
77 REGB0
= CALL_standard___string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
78 fra
.me
.REG
[4] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
79 fra
.me
.REG
[3] = fra
.me
.REG
[4];
81 /* ./../lib/standard//string_search.nit:35 */
86 /* ./../lib/standard//string_search.nit:39 */
89 stack_frame_head
= fra
.me
.prev
;
92 val_t
standard___string_search___Pattern___split_in(val_t p0
, val_t p1
){
93 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
98 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
99 fra
.me
.file
= LOCATE_standard___string_search
;
101 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___split_in
;
102 fra
.me
.has_broke
= 0;
104 fra
.me
.REG
[0] = NIT_NULL
;
105 fra
.me
.REG
[1] = NIT_NULL
;
106 fra
.me
.REG
[2] = NIT_NULL
;
107 fra
.me
.REG
[3] = NIT_NULL
;
108 fra
.me
.REG
[4] = NIT_NULL
;
111 /* ./../lib/standard//string_search.nit:45 */
112 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
113 /* ./../lib/standard//string_search.nit:46 */
115 /* ./../lib/standard//string_search.nit:47 */
117 fra
.me
.REG
[3] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
118 /* ./../lib/standard//string_search.nit:48 */
120 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
121 if (UNTAG_Bool(REGB1
)) {
123 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
124 if (UNTAG_Bool(REGB2
)) {
125 REGB2
= TAG_Bool(false);
128 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
132 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
133 if (UNTAG_Bool(REGB1
)) {
134 /* ./../lib/standard//string_search.nit:50 */
135 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
136 if (UNTAG_Bool(REGB1
)) {
137 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 50);
139 REGB1
= CALL_standard___string_search___Match___from(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
140 /* ./../lib/standard//kernel.nit:237 */
141 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
142 /* ./../lib/standard//string_search.nit:51 */
143 fra
.me
.REG
[4] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
145 /* ./../lib/standard//string_search.nit:52 */
146 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
147 if (UNTAG_Bool(REGB1
)) {
148 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 52);
150 REGB1
= CALL_standard___string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
152 /* ./../lib/standard//string_search.nit:53 */
153 fra
.me
.REG
[4] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
154 fra
.me
.REG
[3] = fra
.me
.REG
[4];
156 /* ./../lib/standard//string_search.nit:48 */
161 /* ./../lib/standard//collection//array.nit:24 */
162 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
163 if (UNTAG_Bool(REGB1
)) {
165 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
167 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
168 /* ./../lib/standard//kernel.nit:237 */
169 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
170 /* ./../lib/standard//string_search.nit:56 */
171 fra
.me
.REG
[1] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
173 /* ./../lib/standard//string_search.nit:57 */
176 stack_frame_head
= fra
.me
.prev
;
177 return fra
.me
.REG
[2];
179 val_t
standard___string_search___BM_Pattern___to_s(val_t p0
){
180 struct {struct stack_frame_t me
;} fra
;
183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
184 fra
.me
.file
= LOCATE_standard___string_search
;
186 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___to_s
;
187 fra
.me
.has_broke
= 0;
189 fra
.me
.REG
[0] = NIT_NULL
;
191 /* ./../lib/standard//string_search.nit:68 */
192 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
193 if (UNTAG_Bool(REGB0
)) {
195 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 68);
197 fra
.me
.REG
[0] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
200 stack_frame_head
= fra
.me
.prev
;
201 return fra
.me
.REG
[0];
203 val_t
standard___string_search___BM_Pattern___search_index_in(val_t p0
, val_t p1
, val_t p2
){
204 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
215 fra
.me
.file
= LOCATE_standard___string_search
;
217 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___search_index_in
;
218 fra
.me
.has_broke
= 0;
220 fra
.me
.REG
[0] = NIT_NULL
;
221 fra
.me
.REG
[1] = NIT_NULL
;
222 fra
.me
.REG
[2] = NIT_NULL
;
226 /* ./../lib/standard//string_search.nit:73 */
228 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
229 if (UNTAG_Bool(REGB2
)) {
231 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
233 /* ./../lib/standard//kernel.nit:233 */
234 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
235 /* ./../lib/standard//string_search.nit:73 */
236 if (UNTAG_Bool(REGB1
)) {
238 nit_abort("Assert failed", NULL
, LOCATE_standard___string_search
, 73);
240 /* ./../lib/standard//collection//array.nit:24 */
241 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
242 if (UNTAG_Bool(REGB1
)) {
244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
246 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
247 /* ./../lib/standard//string_search.nit:75 */
248 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
249 if (UNTAG_Bool(REGB2
)) {
251 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 75);
253 REGB2
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
254 /* ./../lib/standard//string_search.nit:78 */
256 /* ./../lib/standard//kernel.nit:237 */
257 REGB3
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
258 /* ./../lib/standard//string_search.nit:78 */
260 /* ./../lib/standard//kernel.nit:235 */
261 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
262 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
263 if (UNTAG_Bool(REGB3
)) {
265 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
267 /* ./../lib/standard//kernel.nit:232 */
268 REGB4
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB4
));
269 /* ./../lib/standard//string_search.nit:78 */
270 if (UNTAG_Bool(REGB4
)) {
271 /* ./../lib/standard//string_search.nit:79 */
273 /* ./../lib/standard//kernel.nit:237 */
274 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB4
));
275 /* ./../lib/standard//string_search.nit:80 */
278 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
279 if (UNTAG_Bool(REGB5
)) {
281 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
283 /* ./../lib/standard//kernel.nit:233 */
284 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB3
));
285 /* ./../lib/standard//string_search.nit:80 */
286 if (UNTAG_Bool(REGB3
)) {
287 REGB3
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
288 if (UNTAG_Bool(REGB3
)) {
290 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 80);
292 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
293 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB4
);
294 /* ./../lib/standard//kernel.nit:235 */
295 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
296 /* ./../lib/standard//string_search.nit:80 */
297 REGB5
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB5
);
298 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB5
));
299 if (UNTAG_Bool(REGB6
)) {
301 /* ./../lib/standard//kernel.nit:378 */
302 REGB5
= TAG_Bool((REGB3
)==(REGB5
));
303 /* ./../lib/standard//string_search.nit:80 */
307 REGB5
= TAG_Bool(false);
310 if (UNTAG_Bool(REGB6
)) {
312 /* ./../lib/standard//kernel.nit:237 */
313 REGB6
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB6
));
314 /* ./../lib/standard//string_search.nit:80 */
321 /* ./../lib/standard//string_search.nit:81 */
323 REGB5
= TAG_Bool(VAL_ISA(REGB6
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
324 if (UNTAG_Bool(REGB5
)) {
326 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
328 /* ./../lib/standard//kernel.nit:232 */
329 REGB6
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB6
));
330 /* ./../lib/standard//string_search.nit:81 */
331 if (UNTAG_Bool(REGB6
)) {
332 /* ./../lib/standard//string_search.nit:82 */
336 /* ./../lib/standard//string_search.nit:84 */
337 REGB5
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
338 if (UNTAG_Bool(REGB5
)) {
340 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 84);
342 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
343 /* ./../lib/standard//collection//array.nit:278 */
345 /* ./../lib/standard//collection//array.nit:280 */
347 REGB7
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
348 if (UNTAG_Bool(REGB7
)) {
350 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
352 /* ./../lib/standard//kernel.nit:233 */
353 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB3
));
354 /* ./../lib/standard//collection//array.nit:280 */
355 if (UNTAG_Bool(REGB3
)) {
356 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
357 if (UNTAG_Bool(REGB3
)) {
359 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
361 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
362 REGB7
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
363 if (UNTAG_Bool(REGB7
)) {
365 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
367 /* ./../lib/standard//kernel.nit:232 */
368 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB3
));
370 /* ./../lib/standard//collection//array.nit:280 */
371 REGB7
= TAG_Bool(false);
374 if (UNTAG_Bool(REGB3
)) {
376 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
378 /* ./../lib/standard//collection//array.nit:281 */
379 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
380 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
381 if (UNTAG_Bool(REGB3
)) {
382 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
384 /* ./../lib/standard//collection//array.nit:718 */
385 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
386 /* ./../lib/standard//collection//array.nit:281 */
389 /* ./../lib/standard//string_search.nit:84 */
390 REGB5
= fra
.me
.REG
[2];
391 /* ./../lib/standard//kernel.nit:235 */
392 REGB3
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
393 /* ./../lib/standard//string_search.nit:85 */
394 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
395 REGB3
= CALL_standard___string_search___BM_Pattern___bc(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
396 /* ./../lib/standard//kernel.nit:237 */
397 REGB3
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
398 /* ./../lib/standard//string_search.nit:85 */
400 /* ./../lib/standard//kernel.nit:235 */
401 REGB7
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB7
));
402 REGB4
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB4
));
403 REGB7
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
404 if (UNTAG_Bool(REGB7
)) {
406 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
408 /* ./../lib/standard//kernel.nit:234 */
409 REGB7
= TAG_Bool(UNTAG_Int(REGB5
)>UNTAG_Int(REGB4
));
410 /* ./../lib/standard//string_search.nit:87 */
411 if (UNTAG_Bool(REGB7
)) {
412 /* ./../lib/standard//kernel.nit:235 */
413 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
414 /* ./../lib/standard//string_search.nit:88 */
417 /* ./../lib/standard//kernel.nit:235 */
418 REGB4
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB4
));
419 /* ./../lib/standard//string_search.nit:90 */
424 /* ./../lib/standard//string_search.nit:78 */
429 /* ./../lib/standard//string_search.nit:94 */
431 /* ./../lib/standard//kernel.nit:236 */
432 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
433 /* ./../lib/standard//string_search.nit:94 */
437 stack_frame_head
= fra
.me
.prev
;
440 val_t
standard___string_search___BM_Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
441 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
446 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
447 fra
.me
.file
= LOCATE_standard___string_search
;
449 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___search_in
;
450 fra
.me
.has_broke
= 0;
452 fra
.me
.REG
[0] = NIT_NULL
;
453 fra
.me
.REG
[1] = NIT_NULL
;
454 fra
.me
.REG
[2] = NIT_NULL
;
458 /* ./../lib/standard//string_search.nit:100 */
459 REGB0
= CALL_standard___string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
460 /* ./../lib/standard//string_search.nit:101 */
462 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
463 if (UNTAG_Bool(REGB2
)) {
465 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
467 /* ./../lib/standard//kernel.nit:232 */
468 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
469 /* ./../lib/standard//string_search.nit:101 */
470 if (UNTAG_Bool(REGB1
)) {
471 /* ./../lib/standard//string_search.nit:102 */
472 fra
.me
.REG
[2] = NIT_NULL
;
475 /* ./../lib/standard//string_search.nit:104 */
476 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
477 if (UNTAG_Bool(REGB1
)) {
479 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 104);
481 REGB1
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
482 fra
.me
.REG
[1] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
483 fra
.me
.REG
[2] = fra
.me
.REG
[1];
487 stack_frame_head
= fra
.me
.prev
;
488 return fra
.me
.REG
[2];
490 void standard___string_search___BM_Pattern___init(val_t p0
, val_t p1
, int* init_table
){
491 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string_search___BM_Pattern
].i
;
492 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
495 if (init_table
[itpos0
]) return;
496 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
497 fra
.me
.file
= LOCATE_standard___string_search
;
499 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___init
;
500 fra
.me
.has_broke
= 0;
502 fra
.me
.REG
[0] = NIT_NULL
;
503 fra
.me
.REG
[1] = NIT_NULL
;
506 /* ./../lib/standard//string_search.nit:111 */
507 ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
508 /* ./../lib/standard//collection//array.nit:24 */
509 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
510 if (UNTAG_Bool(REGB0
)) {
512 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
514 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
515 /* ./../lib/standard//string_search.nit:112 */
516 ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]) = REGB0
;
517 /* ./../lib/standard//string_search.nit:113 */
518 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
519 if (UNTAG_Bool(REGB0
)) {
521 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 113);
523 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
524 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
525 ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
526 /* ./../lib/standard//string_search.nit:114 */
527 fra
.me
.REG
[1] = NEW_ArrayMap_standard___collection___array___ArrayMap___init();
528 ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
529 /* ./../lib/standard//string_search.nit:115 */
530 CALL_standard___string_search___BM_Pattern___compute_gs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
531 /* ./../lib/standard//string_search.nit:116 */
532 CALL_standard___string_search___BM_Pattern___compute_bc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
533 stack_frame_head
= fra
.me
.prev
;
534 init_table
[itpos0
] = 1;
537 val_t
standard___string_search___BM_Pattern___bc(val_t p0
, val_t p1
){
538 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
542 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
543 fra
.me
.file
= LOCATE_standard___string_search
;
545 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___bc
;
546 fra
.me
.has_broke
= 0;
548 fra
.me
.REG
[0] = NIT_NULL
;
549 fra
.me
.REG
[1] = NIT_NULL
;
552 /* ./../lib/standard//string_search.nit:127 */
553 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
554 if (UNTAG_Bool(REGB1
)) {
556 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_standard___string_search
, 127);
558 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
559 REGB1
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
560 if (UNTAG_Bool(REGB1
)) {
561 /* ./../lib/standard//string_search.nit:128 */
562 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
563 if (UNTAG_Bool(REGB1
)) {
565 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_standard___string_search
, 128);
567 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
568 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
569 REGB0
= fra
.me
.REG
[1];
572 /* ./../lib/standard//string_search.nit:130 */
573 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
574 if (UNTAG_Bool(REGB1
)) {
576 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 130);
578 REGB1
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
583 stack_frame_head
= fra
.me
.prev
;
586 void standard___string_search___BM_Pattern___compute_bc(val_t p0
){
587 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
594 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
595 fra
.me
.file
= LOCATE_standard___string_search
;
597 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___compute_bc
;
598 fra
.me
.has_broke
= 0;
600 fra
.me
.REG
[0] = NIT_NULL
;
601 fra
.me
.REG
[1] = NIT_NULL
;
602 fra
.me
.REG
[2] = NIT_NULL
;
604 /* ./../lib/standard//string_search.nit:142 */
605 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
606 if (UNTAG_Bool(REGB0
)) {
608 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 142);
610 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
611 /* ./../lib/standard//string_search.nit:143 */
612 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
613 if (UNTAG_Bool(REGB0
)) {
615 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 143);
617 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
618 /* ./../lib/standard//string_search.nit:144 */
620 /* ./../lib/standard//string_search.nit:145 */
623 /* ./../lib/standard//kernel.nit:237 */
624 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
625 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
626 if (UNTAG_Bool(REGB3
)) {
628 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
630 /* ./../lib/standard//kernel.nit:232 */
631 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
632 /* ./../lib/standard//string_search.nit:145 */
633 if (UNTAG_Bool(REGB2
)) {
634 /* ./../lib/standard//string_search.nit:146 */
635 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
636 if (UNTAG_Bool(REGB2
)) {
638 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_standard___string_search
, 146);
640 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
641 REGB2
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
642 /* ./../lib/standard//kernel.nit:237 */
643 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
644 /* ./../lib/standard//string_search.nit:146 */
646 /* ./../lib/standard//kernel.nit:237 */
647 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
648 /* ./../lib/standard//string_search.nit:146 */
649 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
650 /* ./../lib/standard//string_search.nit:147 */
652 /* ./../lib/standard//kernel.nit:235 */
653 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
654 /* ./../lib/standard//string_search.nit:147 */
657 /* ./../lib/standard//string_search.nit:145 */
662 stack_frame_head
= fra
.me
.prev
;
665 val_t
standard___string_search___BM_Pattern___suffixes(val_t p0
){
666 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
675 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
676 fra
.me
.file
= LOCATE_standard___string_search
;
678 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___suffixes
;
679 fra
.me
.has_broke
= 0;
681 fra
.me
.REG
[0] = NIT_NULL
;
682 fra
.me
.REG
[1] = NIT_NULL
;
683 fra
.me
.REG
[2] = NIT_NULL
;
685 /* ./../lib/standard//string_search.nit:153 */
686 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
687 if (UNTAG_Bool(REGB0
)) {
689 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 153);
691 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
692 /* ./../lib/standard//string_search.nit:154 */
693 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
694 if (UNTAG_Bool(REGB0
)) {
696 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 154);
698 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
699 /* ./../lib/standard//string_search.nit:155 */
700 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___filled_with(REGB0
, REGB0
);
701 /* ./../lib/standard//string_search.nit:157 */
703 /* ./../lib/standard//string_search.nit:158 */
705 /* ./../lib/standard//kernel.nit:237 */
706 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
707 /* ./../lib/standard//string_search.nit:159 */
709 /* ./../lib/standard//kernel.nit:237 */
710 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
711 /* ./../lib/standard//string_search.nit:160 */
714 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
715 if (UNTAG_Bool(REGB5
)) {
717 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
719 /* ./../lib/standard//kernel.nit:233 */
720 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
721 /* ./../lib/standard//string_search.nit:160 */
722 if (UNTAG_Bool(REGB4
)) {
723 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
724 if (UNTAG_Bool(REGB4
)) {
726 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
728 /* ./../lib/standard//kernel.nit:234 */
729 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
730 /* ./../lib/standard//string_search.nit:161 */
731 if (UNTAG_Bool(REGB4
)) {
732 /* ./../lib/standard//kernel.nit:235 */
733 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
734 /* ./../lib/standard//string_search.nit:161 */
736 /* ./../lib/standard//kernel.nit:237 */
737 REGB5
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB5
));
738 REGB5
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB1
));
739 /* ./../lib/standard//collection//array.nit:278 */
740 fra
.me
.REG
[2] = fra
.me
.REG
[0];
741 /* ./../lib/standard//collection//array.nit:280 */
743 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
744 if (UNTAG_Bool(REGB6
)) {
746 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
748 /* ./../lib/standard//kernel.nit:233 */
749 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
750 /* ./../lib/standard//collection//array.nit:280 */
751 if (UNTAG_Bool(REGB4
)) {
752 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
753 if (UNTAG_Bool(REGB4
)) {
755 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
757 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
758 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
759 if (UNTAG_Bool(REGB6
)) {
761 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
763 /* ./../lib/standard//kernel.nit:232 */
764 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
766 /* ./../lib/standard//collection//array.nit:280 */
767 REGB6
= TAG_Bool(false);
770 if (UNTAG_Bool(REGB4
)) {
772 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
774 /* ./../lib/standard//collection//array.nit:281 */
775 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
776 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
777 if (UNTAG_Bool(REGB4
)) {
778 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
780 /* ./../lib/standard//collection//array.nit:718 */
781 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
782 /* ./../lib/standard//collection//array.nit:281 */
785 /* ./../lib/standard//kernel.nit:237 */
786 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
787 /* ./../lib/standard//string_search.nit:161 */
788 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
789 if (UNTAG_Bool(REGB4
)) {
790 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 161);
792 REGB4
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(fra
.me
.REG
[2]), VTID_standard___kernel___Comparable___OTHER(fra
.me
.REG
[2]))) /*cast OTHER*/;
793 if (UNTAG_Bool(REGB4
)) {
795 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
797 /* ./../lib/standard//kernel.nit:232 */
798 REGB5
= TAG_Bool(UNTAG_Int(fra
.me
.REG
[2])<UNTAG_Int(REGB5
));
800 /* ./../lib/standard//string_search.nit:161 */
801 REGB4
= TAG_Bool(false);
804 if (UNTAG_Bool(REGB5
)) {
805 /* ./../lib/standard//kernel.nit:235 */
806 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
807 /* ./../lib/standard//string_search.nit:162 */
809 /* ./../lib/standard//kernel.nit:237 */
810 REGB4
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB4
));
811 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
812 /* ./../lib/standard//collection//array.nit:278 */
813 fra
.me
.REG
[2] = fra
.me
.REG
[0];
814 /* ./../lib/standard//collection//array.nit:280 */
816 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
817 if (UNTAG_Bool(REGB6
)) {
819 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
821 /* ./../lib/standard//kernel.nit:233 */
822 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
823 /* ./../lib/standard//collection//array.nit:280 */
824 if (UNTAG_Bool(REGB5
)) {
825 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
826 if (UNTAG_Bool(REGB5
)) {
828 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
830 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
831 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
832 if (UNTAG_Bool(REGB6
)) {
834 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
836 /* ./../lib/standard//kernel.nit:232 */
837 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
839 /* ./../lib/standard//collection//array.nit:280 */
840 REGB6
= TAG_Bool(false);
843 if (UNTAG_Bool(REGB5
)) {
845 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
847 /* ./../lib/standard//collection//array.nit:281 */
848 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
849 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
850 if (UNTAG_Bool(REGB5
)) {
851 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
853 /* ./../lib/standard//collection//array.nit:718 */
854 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
855 /* ./../lib/standard//collection//array.nit:281 */
858 /* ./../lib/standard//string_search.nit:162 */
859 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, fra
.me
.REG
[2]);
861 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
862 if (UNTAG_Bool(REGB4
)) {
864 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
866 /* ./../lib/standard//kernel.nit:232 */
867 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
868 /* ./../lib/standard//string_search.nit:164 */
869 if (UNTAG_Bool(REGB4
)) {
872 /* ./../lib/standard//string_search.nit:165 */
874 /* ./../lib/standard//string_search.nit:166 */
877 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
878 if (UNTAG_Bool(REGB5
)) {
880 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
882 /* ./../lib/standard//kernel.nit:233 */
883 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB4
));
884 /* ./../lib/standard//string_search.nit:166 */
885 if (UNTAG_Bool(REGB4
)) {
886 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
887 /* ./../lib/standard//kernel.nit:235 */
888 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
889 /* ./../lib/standard//string_search.nit:166 */
891 /* ./../lib/standard//kernel.nit:237 */
892 REGB6
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB6
));
893 REGB6
= TAG_Int(UNTAG_Int(REGB6
)-UNTAG_Int(REGB1
));
894 /* ./../lib/standard//string_search.nit:166 */
895 REGB6
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB6
);
896 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB6
));
897 if (UNTAG_Bool(REGB5
)) {
899 /* ./../lib/standard//kernel.nit:378 */
900 REGB6
= TAG_Bool((REGB4
)==(REGB6
));
901 /* ./../lib/standard//string_search.nit:166 */
905 REGB6
= TAG_Bool(false);
908 if (UNTAG_Bool(REGB5
)) {
910 /* ./../lib/standard//kernel.nit:237 */
911 REGB5
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB5
));
912 /* ./../lib/standard//string_search.nit:166 */
919 /* ./../lib/standard//kernel.nit:237 */
920 REGB5
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
921 /* ./../lib/standard//string_search.nit:167 */
922 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB5
);
924 /* ./../lib/standard//string_search.nit:169 */
926 /* ./../lib/standard//kernel.nit:237 */
927 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
928 /* ./../lib/standard//string_search.nit:169 */
931 /* ./../lib/standard//string_search.nit:160 */
936 /* ./../lib/standard//string_search.nit:171 */
939 stack_frame_head
= fra
.me
.prev
;
940 return fra
.me
.REG
[0];
942 void standard___string_search___BM_Pattern___compute_gs(val_t p0
){
943 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
952 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
953 fra
.me
.file
= LOCATE_standard___string_search
;
955 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___compute_gs
;
956 fra
.me
.has_broke
= 0;
958 fra
.me
.REG
[0] = NIT_NULL
;
959 fra
.me
.REG
[1] = NIT_NULL
;
960 fra
.me
.REG
[2] = NIT_NULL
;
961 fra
.me
.REG
[3] = NIT_NULL
;
963 /* ./../lib/standard//string_search.nit:176 */
964 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
965 if (UNTAG_Bool(REGB0
)) {
967 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 176);
969 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
970 /* ./../lib/standard//string_search.nit:177 */
971 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
972 if (UNTAG_Bool(REGB0
)) {
974 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 177);
976 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
977 /* ./../lib/standard//string_search.nit:178 */
978 fra
.me
.REG
[1] = CALL_standard___string_search___BM_Pattern___suffixes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
979 /* ./../lib/standard//string_search.nit:179 */
981 /* ./../lib/standard//string_search.nit:180 */
983 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
984 if (UNTAG_Bool(REGB2
)) {
986 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
988 /* ./../lib/standard//kernel.nit:232 */
989 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
990 /* ./../lib/standard//string_search.nit:180 */
991 if (UNTAG_Bool(REGB2
)) {
992 /* ./../lib/standard//string_search.nit:181 */
993 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
994 if (UNTAG_Bool(REGB2
)) {
996 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 181);
998 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
999 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
, REGB0
);
1000 /* ./../lib/standard//string_search.nit:182 */
1002 /* ./../lib/standard//kernel.nit:235 */
1003 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1004 /* ./../lib/standard//string_search.nit:182 */
1007 /* ./../lib/standard//string_search.nit:180 */
1012 /* ./../lib/standard//string_search.nit:184 */
1014 /* ./../lib/standard//string_search.nit:185 */
1016 /* ./../lib/standard//kernel.nit:237 */
1017 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
1018 /* ./../lib/standard//string_search.nit:185 */
1020 /* ./../lib/standard//string_search.nit:186 */
1023 /* ./../lib/standard//kernel.nit:236 */
1024 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
1025 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1026 if (UNTAG_Bool(REGB4
)) {
1028 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1030 /* ./../lib/standard//kernel.nit:233 */
1031 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1032 /* ./../lib/standard//string_search.nit:186 */
1033 if (UNTAG_Bool(REGB3
)) {
1034 /* ./../lib/standard//string_search.nit:187 */
1036 /* ./../lib/standard//kernel.nit:236 */
1037 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
1038 /* ./../lib/standard//string_search.nit:187 */
1039 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB3
));
1040 if (UNTAG_Bool(REGB4
)) {
1042 /* ./../lib/standard//kernel.nit:227 */
1043 REGB3
= TAG_Bool((REGB1
)==(REGB3
));
1044 /* ./../lib/standard//string_search.nit:187 */
1047 if (UNTAG_Bool(REGB4
)) {
1048 REGB4
= TAG_Bool(true);
1050 /* ./../lib/standard//collection//array.nit:278 */
1051 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1053 /* ./../lib/standard//collection//array.nit:280 */
1055 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1056 if (UNTAG_Bool(REGB6
)) {
1058 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1060 /* ./../lib/standard//kernel.nit:233 */
1061 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB5
));
1062 /* ./../lib/standard//collection//array.nit:280 */
1063 if (UNTAG_Bool(REGB5
)) {
1064 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1065 if (UNTAG_Bool(REGB5
)) {
1067 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1069 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1070 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1071 if (UNTAG_Bool(REGB6
)) {
1073 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1075 /* ./../lib/standard//kernel.nit:232 */
1076 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
1078 /* ./../lib/standard//collection//array.nit:280 */
1079 REGB6
= TAG_Bool(false);
1082 if (UNTAG_Bool(REGB5
)) {
1084 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
1086 /* ./../lib/standard//collection//array.nit:281 */
1087 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1088 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1089 if (UNTAG_Bool(REGB5
)) {
1090 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1092 /* ./../lib/standard//collection//array.nit:718 */
1093 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
1094 /* ./../lib/standard//collection//array.nit:281 */
1097 /* ./../lib/standard//string_search.nit:187 */
1099 /* ./../lib/standard//kernel.nit:235 */
1100 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1101 /* ./../lib/standard//string_search.nit:187 */
1102 REGB5
= TAG_Bool(IS_EQUAL_ON(REGB3
,fra
.me
.REG
[2]));
1103 if (UNTAG_Bool(REGB5
)) {
1105 REGB6
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1106 if (UNTAG_Bool(REGB6
)) {
1107 REGB6
= TAG_Bool(false);
1110 /* ./../lib/standard//kernel.nit:227 */
1111 REGB3
= TAG_Bool((fra
.me
.REG
[2])==(REGB3
));
1112 /* ./../lib/standard//string_search.nit:187 */
1118 if (UNTAG_Bool(REGB4
)) {
1119 /* ./../lib/standard//string_search.nit:188 */
1122 /* ./../lib/standard//kernel.nit:237 */
1123 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1124 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1125 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1126 if (UNTAG_Bool(REGB5
)) {
1128 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1130 /* ./../lib/standard//kernel.nit:232 */
1131 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB4
));
1132 /* ./../lib/standard//string_search.nit:188 */
1133 if (UNTAG_Bool(REGB4
)) {
1134 /* ./../lib/standard//string_search.nit:189 */
1135 REGB4
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1136 if (UNTAG_Bool(REGB4
)) {
1138 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 189);
1140 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1141 /* ./../lib/standard//collection//array.nit:278 */
1143 /* ./../lib/standard//collection//array.nit:280 */
1145 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1146 if (UNTAG_Bool(REGB3
)) {
1148 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1150 /* ./../lib/standard//kernel.nit:233 */
1151 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1152 /* ./../lib/standard//collection//array.nit:280 */
1153 if (UNTAG_Bool(REGB5
)) {
1154 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1155 if (UNTAG_Bool(REGB5
)) {
1157 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1159 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1160 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1161 if (UNTAG_Bool(REGB3
)) {
1163 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1165 /* ./../lib/standard//kernel.nit:232 */
1166 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1168 /* ./../lib/standard//collection//array.nit:280 */
1169 REGB3
= TAG_Bool(false);
1172 if (UNTAG_Bool(REGB5
)) {
1174 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
1176 /* ./../lib/standard//collection//array.nit:281 */
1177 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1178 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1179 if (UNTAG_Bool(REGB5
)) {
1180 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1182 /* ./../lib/standard//collection//array.nit:718 */
1183 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
1184 /* ./../lib/standard//collection//array.nit:281 */
1187 /* ./../lib/standard//string_search.nit:189 */
1188 REGB4
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[2]));
1189 if (UNTAG_Bool(REGB4
)) {
1191 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1192 if (UNTAG_Bool(REGB5
)) {
1193 REGB5
= TAG_Bool(false);
1196 /* ./../lib/standard//kernel.nit:227 */
1197 REGB5
= TAG_Bool((fra
.me
.REG
[2])==(REGB0
));
1198 /* ./../lib/standard//string_search.nit:189 */
1202 if (UNTAG_Bool(REGB4
)) {
1203 REGB4
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1204 if (UNTAG_Bool(REGB4
)) {
1206 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 189);
1208 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1210 /* ./../lib/standard//kernel.nit:237 */
1211 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1212 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1213 /* ./../lib/standard//string_search.nit:189 */
1214 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1216 /* ./../lib/standard//string_search.nit:190 */
1218 /* ./../lib/standard//kernel.nit:235 */
1219 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
1220 /* ./../lib/standard//string_search.nit:190 */
1223 /* ./../lib/standard//string_search.nit:188 */
1229 /* ./../lib/standard//string_search.nit:193 */
1231 /* ./../lib/standard//kernel.nit:237 */
1232 REGB4
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB4
));
1233 /* ./../lib/standard//string_search.nit:193 */
1236 /* ./../lib/standard//string_search.nit:186 */
1241 /* ./../lib/standard//string_search.nit:195 */
1244 /* ./../lib/standard//string_search.nit:196 */
1247 /* ./../lib/standard//kernel.nit:237 */
1248 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1249 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1250 if (UNTAG_Bool(REGB4
)) {
1252 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1254 /* ./../lib/standard//kernel.nit:232 */
1255 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1256 /* ./../lib/standard//string_search.nit:196 */
1257 if (UNTAG_Bool(REGB2
)) {
1258 /* ./../lib/standard//string_search.nit:197 */
1259 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1260 if (UNTAG_Bool(REGB2
)) {
1262 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 197);
1264 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1266 /* ./../lib/standard//kernel.nit:237 */
1267 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1268 /* ./../lib/standard//collection//array.nit:278 */
1269 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1271 /* ./../lib/standard//collection//array.nit:280 */
1273 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1274 if (UNTAG_Bool(REGB3
)) {
1276 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1278 /* ./../lib/standard//kernel.nit:233 */
1279 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1280 /* ./../lib/standard//collection//array.nit:280 */
1281 if (UNTAG_Bool(REGB5
)) {
1282 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1283 if (UNTAG_Bool(REGB5
)) {
1285 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1287 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1288 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1289 if (UNTAG_Bool(REGB3
)) {
1291 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1293 /* ./../lib/standard//kernel.nit:232 */
1294 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1296 /* ./../lib/standard//collection//array.nit:280 */
1297 REGB3
= TAG_Bool(false);
1300 if (UNTAG_Bool(REGB5
)) {
1302 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
1304 /* ./../lib/standard//collection//array.nit:281 */
1305 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1306 REGB5
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1307 if (UNTAG_Bool(REGB5
)) {
1308 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1310 /* ./../lib/standard//collection//array.nit:718 */
1311 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB4
)];
1312 /* ./../lib/standard//collection//array.nit:281 */
1315 /* ./../lib/standard//kernel.nit:237 */
1316 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(fra
.me
.REG
[3]));
1317 /* ./../lib/standard//string_search.nit:197 */
1319 /* ./../lib/standard//kernel.nit:237 */
1320 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1321 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1322 /* ./../lib/standard//string_search.nit:197 */
1323 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1324 /* ./../lib/standard//string_search.nit:198 */
1326 /* ./../lib/standard//kernel.nit:235 */
1327 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1328 /* ./../lib/standard//string_search.nit:198 */
1331 /* ./../lib/standard//string_search.nit:196 */
1336 stack_frame_head
= fra
.me
.prev
;
1339 val_t
standard___string_search___Match___string(val_t p0
){
1340 struct {struct stack_frame_t me
;} fra
;
1343 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1344 fra
.me
.file
= LOCATE_standard___string_search
;
1346 fra
.me
.meth
= LOCATE_standard___string_search___Match___string
;
1347 fra
.me
.has_broke
= 0;
1348 fra
.me
.REG_size
= 1;
1349 fra
.me
.REG
[0] = NIT_NULL
;
1351 /* ./../lib/standard//string_search.nit:205 */
1352 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1353 if (UNTAG_Bool(REGB0
)) {
1355 nit_abort("Uninitialized attribute %s", "_string", LOCATE_standard___string_search
, 205);
1357 fra
.me
.REG
[0] = ATTR_standard___string_search___Match____string(fra
.me
.REG
[0]);
1358 stack_frame_head
= fra
.me
.prev
;
1359 return fra
.me
.REG
[0];
1361 val_t
standard___string_search___Match___from(val_t p0
){
1362 struct {struct stack_frame_t me
;} fra
;
1365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1366 fra
.me
.file
= LOCATE_standard___string_search
;
1368 fra
.me
.meth
= LOCATE_standard___string_search___Match___from
;
1369 fra
.me
.has_broke
= 0;
1370 fra
.me
.REG_size
= 1;
1371 fra
.me
.REG
[0] = NIT_NULL
;
1373 /* ./../lib/standard//string_search.nit:208 */
1374 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1375 if (UNTAG_Bool(REGB0
)) {
1377 nit_abort("Uninitialized attribute %s", "_from", LOCATE_standard___string_search
, 208);
1379 REGB0
= ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]);
1380 stack_frame_head
= fra
.me
.prev
;
1383 val_t
standard___string_search___Match___length(val_t p0
){
1384 struct {struct stack_frame_t me
;} fra
;
1387 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1388 fra
.me
.file
= LOCATE_standard___string_search
;
1390 fra
.me
.meth
= LOCATE_standard___string_search___Match___length
;
1391 fra
.me
.has_broke
= 0;
1392 fra
.me
.REG_size
= 1;
1393 fra
.me
.REG
[0] = NIT_NULL
;
1395 /* ./../lib/standard//string_search.nit:211 */
1396 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1397 if (UNTAG_Bool(REGB0
)) {
1399 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 211);
1401 REGB0
= ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]);
1402 stack_frame_head
= fra
.me
.prev
;
1405 val_t
standard___string_search___Match___after(val_t p0
){
1406 struct {struct stack_frame_t me
;} fra
;
1410 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1411 fra
.me
.file
= LOCATE_standard___string_search
;
1413 fra
.me
.meth
= LOCATE_standard___string_search___Match___after
;
1414 fra
.me
.has_broke
= 0;
1415 fra
.me
.REG_size
= 1;
1416 fra
.me
.REG
[0] = NIT_NULL
;
1418 /* ./../lib/standard//string_search.nit:216 */
1419 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1420 if (UNTAG_Bool(REGB0
)) {
1422 nit_abort("Uninitialized attribute %s", "_from", LOCATE_standard___string_search
, 216);
1424 REGB0
= ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]);
1425 REGB1
= TAG_Bool(ATTR_standard___string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1426 if (UNTAG_Bool(REGB1
)) {
1428 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 216);
1430 REGB1
= ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]);
1431 /* ./../lib/standard//kernel.nit:235 */
1432 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1433 /* ./../lib/standard//string_search.nit:216 */
1436 stack_frame_head
= fra
.me
.prev
;
1439 val_t
standard___string_search___Match___to_s(val_t p0
){
1440 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1444 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1445 fra
.me
.file
= LOCATE_standard___string_search
;
1447 fra
.me
.meth
= LOCATE_standard___string_search___Match___to_s
;
1448 fra
.me
.has_broke
= 0;
1449 fra
.me
.REG_size
= 2;
1450 fra
.me
.REG
[0] = NIT_NULL
;
1451 fra
.me
.REG
[1] = NIT_NULL
;
1453 /* ./../lib/standard//string_search.nit:219 */
1454 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1455 if (UNTAG_Bool(REGB0
)) {
1457 nit_abort("Uninitialized attribute %s", "_string", LOCATE_standard___string_search
, 219);
1459 fra
.me
.REG
[1] = ATTR_standard___string_search___Match____string(fra
.me
.REG
[0]);
1460 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1461 if (UNTAG_Bool(REGB0
)) {
1463 nit_abort("Uninitialized attribute %s", "_from", LOCATE_standard___string_search
, 219);
1465 REGB0
= ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]);
1466 REGB1
= TAG_Bool(ATTR_standard___string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1467 if (UNTAG_Bool(REGB1
)) {
1469 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 219);
1471 REGB1
= ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]);
1472 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB1
);
1475 stack_frame_head
= fra
.me
.prev
;
1476 return fra
.me
.REG
[1];
1478 void standard___string_search___Match___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1479 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string_search___Match
].i
;
1480 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1487 if (init_table
[itpos1
]) return;
1488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1489 fra
.me
.file
= LOCATE_standard___string_search
;
1491 fra
.me
.meth
= LOCATE_standard___string_search___Match___init
;
1492 fra
.me
.has_broke
= 0;
1493 fra
.me
.REG_size
= 2;
1494 fra
.me
.REG
[0] = NIT_NULL
;
1495 fra
.me
.REG
[1] = NIT_NULL
;
1500 /* ./../lib/standard//string_search.nit:224 */
1502 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1503 if (UNTAG_Bool(REGB3
)) {
1505 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1507 /* ./../lib/standard//kernel.nit:233 */
1508 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1509 /* ./../lib/standard//string_search.nit:224 */
1510 if (UNTAG_Bool(REGB2
)) {
1512 nit_abort("Assert %s failed", "'positive_length'", LOCATE_standard___string_search
, 224);
1514 /* ./../lib/standard//string_search.nit:225 */
1516 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1517 if (UNTAG_Bool(REGB3
)) {
1519 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1521 /* ./../lib/standard//kernel.nit:233 */
1522 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
1523 /* ./../lib/standard//string_search.nit:225 */
1524 if (UNTAG_Bool(REGB2
)) {
1526 nit_abort("Assert %s failed", "'valid_from'", LOCATE_standard___string_search
, 225);
1528 /* ./../lib/standard//kernel.nit:235 */
1529 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1530 /* ./../lib/standard//collection//array.nit:24 */
1531 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1532 if (UNTAG_Bool(REGB3
)) {
1534 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1536 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1537 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1538 if (UNTAG_Bool(REGB4
)) {
1540 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1542 /* ./../lib/standard//kernel.nit:231 */
1543 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB3
));
1544 /* ./../lib/standard//string_search.nit:226 */
1545 if (UNTAG_Bool(REGB3
)) {
1547 nit_abort("Assert %s failed", "'valid_after'", LOCATE_standard___string_search
, 226);
1549 /* ./../lib/standard//string_search.nit:227 */
1550 ATTR_standard___string_search___Match____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1551 /* ./../lib/standard//string_search.nit:228 */
1552 ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]) = REGB0
;
1553 /* ./../lib/standard//string_search.nit:229 */
1554 ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]) = REGB1
;
1555 stack_frame_head
= fra
.me
.prev
;
1556 init_table
[itpos1
] = 1;
1559 val_t
standard___string_search___Char___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1560 struct {struct stack_frame_t me
;} fra
;
1567 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1568 fra
.me
.file
= LOCATE_standard___string_search
;
1570 fra
.me
.meth
= LOCATE_standard___string_search___Char___search_index_in
;
1571 fra
.me
.has_broke
= 0;
1572 fra
.me
.REG_size
= 1;
1573 fra
.me
.REG
[0] = NIT_NULL
;
1577 /* ./../lib/standard//collection//array.nit:24 */
1578 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1579 if (UNTAG_Bool(REGB2
)) {
1581 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1583 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1584 /* ./../lib/standard//string_search.nit:239 */
1586 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1587 if (UNTAG_Bool(REGB3
)) {
1589 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1591 /* ./../lib/standard//kernel.nit:232 */
1592 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1593 /* ./../lib/standard//string_search.nit:239 */
1594 if (UNTAG_Bool(REGB3
)) {
1595 /* ./../lib/standard//string_search.nit:240 */
1596 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1597 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB0
));
1598 if (UNTAG_Bool(REGB4
)) {
1600 /* ./../lib/standard//kernel.nit:378 */
1601 REGB3
= TAG_Bool((REGB3
)==(REGB0
));
1602 /* ./../lib/standard//string_search.nit:240 */
1605 if (UNTAG_Bool(REGB4
)) {
1609 /* ./../lib/standard//string_search.nit:241 */
1611 /* ./../lib/standard//kernel.nit:235 */
1612 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1613 /* ./../lib/standard//string_search.nit:241 */
1616 /* ./../lib/standard//string_search.nit:239 */
1621 /* ./../lib/standard//string_search.nit:243 */
1623 /* ./../lib/standard//kernel.nit:236 */
1624 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
1625 /* ./../lib/standard//string_search.nit:243 */
1629 stack_frame_head
= fra
.me
.prev
;
1632 val_t
standard___string_search___Char___search_in(val_t p0
, val_t p1
, val_t p2
){
1633 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1638 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1639 fra
.me
.file
= LOCATE_standard___string_search
;
1641 fra
.me
.meth
= LOCATE_standard___string_search___Char___search_in
;
1642 fra
.me
.has_broke
= 0;
1643 fra
.me
.REG_size
= 2;
1644 fra
.me
.REG
[0] = NIT_NULL
;
1645 fra
.me
.REG
[1] = NIT_NULL
;
1649 /* ./../lib/standard//string_search.nit:248 */
1650 REGB1
= CALL_standard___string_search___Pattern___search_index_in(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
);
1651 /* ./../lib/standard//string_search.nit:249 */
1653 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1654 if (UNTAG_Bool(REGB2
)) {
1656 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1658 /* ./../lib/standard//kernel.nit:232 */
1659 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1660 /* ./../lib/standard//string_search.nit:249 */
1661 if (UNTAG_Bool(REGB0
)) {
1662 /* ./../lib/standard//string_search.nit:250 */
1663 fra
.me
.REG
[1] = NIT_NULL
;
1666 /* ./../lib/standard//string_search.nit:252 */
1668 fra
.me
.REG
[0] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[0], REGB1
, REGB0
);
1669 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1673 stack_frame_head
= fra
.me
.prev
;
1674 return fra
.me
.REG
[1];
1676 val_t
standard___string_search___String___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1677 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1685 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1686 fra
.me
.file
= LOCATE_standard___string_search
;
1688 fra
.me
.meth
= LOCATE_standard___string_search___String___search_index_in
;
1689 fra
.me
.has_broke
= 0;
1690 fra
.me
.REG_size
= 2;
1691 fra
.me
.REG
[0] = NIT_NULL
;
1692 fra
.me
.REG
[1] = NIT_NULL
;
1696 /* ./../lib/standard//string_search.nit:262 */
1698 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1699 if (UNTAG_Bool(REGB2
)) {
1701 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1703 /* ./../lib/standard//kernel.nit:233 */
1704 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1705 /* ./../lib/standard//string_search.nit:262 */
1706 if (UNTAG_Bool(REGB1
)) {
1708 nit_abort("Assert failed", NULL
, LOCATE_standard___string_search
, 262);
1710 /* ./../lib/standard//collection//array.nit:24 */
1711 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1712 if (UNTAG_Bool(REGB1
)) {
1714 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1716 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1717 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1718 if (UNTAG_Bool(REGB2
)) {
1720 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1722 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1723 /* ./../lib/standard//kernel.nit:237 */
1724 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1725 /* ./../lib/standard//string_search.nit:263 */
1727 /* ./../lib/standard//kernel.nit:235 */
1728 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
1729 /* ./../lib/standard//string_search.nit:264 */
1731 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1732 if (UNTAG_Bool(REGB2
)) {
1734 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1736 /* ./../lib/standard//kernel.nit:232 */
1737 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1738 /* ./../lib/standard//string_search.nit:264 */
1739 if (UNTAG_Bool(REGB2
)) {
1740 /* ./../lib/standard//collection//array.nit:24 */
1741 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1742 if (UNTAG_Bool(REGB2
)) {
1744 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1746 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1747 /* ./../lib/standard//string_search.nit:265 */
1749 /* ./../lib/standard//kernel.nit:237 */
1750 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
1751 /* ./../lib/standard//string_search.nit:266 */
1754 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1755 if (UNTAG_Bool(REGB4
)) {
1757 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1759 /* ./../lib/standard//kernel.nit:233 */
1760 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB2
));
1761 /* ./../lib/standard//string_search.nit:266 */
1762 if (UNTAG_Bool(REGB2
)) {
1763 REGB2
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
1764 /* ./../lib/standard//kernel.nit:235 */
1765 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1766 /* ./../lib/standard//string_search.nit:266 */
1767 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB4
);
1768 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
1769 if (UNTAG_Bool(REGB5
)) {
1771 /* ./../lib/standard//kernel.nit:378 */
1772 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
1773 /* ./../lib/standard//string_search.nit:266 */
1777 REGB4
= TAG_Bool(false);
1780 if (UNTAG_Bool(REGB5
)) {
1782 /* ./../lib/standard//kernel.nit:237 */
1783 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
1784 /* ./../lib/standard//string_search.nit:266 */
1791 /* ./../lib/standard//string_search.nit:268 */
1793 REGB4
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1794 if (UNTAG_Bool(REGB4
)) {
1796 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1798 /* ./../lib/standard//kernel.nit:232 */
1799 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
1800 /* ./../lib/standard//string_search.nit:268 */
1801 if (UNTAG_Bool(REGB5
)) {
1805 /* ./../lib/standard//string_search.nit:270 */
1807 /* ./../lib/standard//kernel.nit:235 */
1808 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1809 /* ./../lib/standard//string_search.nit:270 */
1812 /* ./../lib/standard//string_search.nit:264 */
1817 /* ./../lib/standard//string_search.nit:272 */
1819 /* ./../lib/standard//kernel.nit:236 */
1820 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
1821 /* ./../lib/standard//string_search.nit:272 */
1825 stack_frame_head
= fra
.me
.prev
;
1828 val_t
standard___string_search___String___search_in(val_t p0
, val_t p1
, val_t p2
){
1829 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1834 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1835 fra
.me
.file
= LOCATE_standard___string_search
;
1837 fra
.me
.meth
= LOCATE_standard___string_search___String___search_in
;
1838 fra
.me
.has_broke
= 0;
1839 fra
.me
.REG_size
= 3;
1840 fra
.me
.REG
[0] = NIT_NULL
;
1841 fra
.me
.REG
[1] = NIT_NULL
;
1842 fra
.me
.REG
[2] = NIT_NULL
;
1846 /* ./../lib/standard//string_search.nit:277 */
1847 REGB0
= CALL_standard___string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1848 /* ./../lib/standard//string_search.nit:278 */
1850 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1851 if (UNTAG_Bool(REGB2
)) {
1853 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1855 /* ./../lib/standard//kernel.nit:232 */
1856 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1857 /* ./../lib/standard//string_search.nit:278 */
1858 if (UNTAG_Bool(REGB1
)) {
1859 /* ./../lib/standard//string_search.nit:279 */
1860 fra
.me
.REG
[2] = NIT_NULL
;
1863 /* ./../lib/standard//collection//array.nit:24 */
1864 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1865 if (UNTAG_Bool(REGB1
)) {
1867 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1869 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1870 /* ./../lib/standard//string_search.nit:281 */
1871 fra
.me
.REG
[1] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
1872 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1876 stack_frame_head
= fra
.me
.prev
;
1877 return fra
.me
.REG
[2];
1879 val_t
standard___string_search___String___search(val_t p0
, val_t p1
){
1880 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1883 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1884 fra
.me
.file
= LOCATE_standard___string_search
;
1886 fra
.me
.meth
= LOCATE_standard___string_search___String___search
;
1887 fra
.me
.has_broke
= 0;
1888 fra
.me
.REG_size
= 2;
1889 fra
.me
.REG
[0] = NIT_NULL
;
1890 fra
.me
.REG
[1] = NIT_NULL
;
1893 /* ./../lib/standard//string_search.nit:286 */
1895 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1898 stack_frame_head
= fra
.me
.prev
;
1899 return fra
.me
.REG
[0];
1901 val_t
standard___string_search___String___search_from(val_t p0
, val_t p1
, val_t p2
){
1902 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1905 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1906 fra
.me
.file
= LOCATE_standard___string_search
;
1908 fra
.me
.meth
= LOCATE_standard___string_search___String___search_from
;
1909 fra
.me
.has_broke
= 0;
1910 fra
.me
.REG_size
= 2;
1911 fra
.me
.REG
[0] = NIT_NULL
;
1912 fra
.me
.REG
[1] = NIT_NULL
;
1916 /* ./../lib/standard//string_search.nit:291 */
1917 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1920 stack_frame_head
= fra
.me
.prev
;
1921 return fra
.me
.REG
[0];
1923 val_t
standard___string_search___String___search_all(val_t p0
, val_t p1
){
1924 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1926 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1927 fra
.me
.file
= LOCATE_standard___string_search
;
1929 fra
.me
.meth
= LOCATE_standard___string_search___String___search_all
;
1930 fra
.me
.has_broke
= 0;
1931 fra
.me
.REG_size
= 2;
1932 fra
.me
.REG
[0] = NIT_NULL
;
1933 fra
.me
.REG
[1] = NIT_NULL
;
1936 /* ./../lib/standard//string_search.nit:300 */
1937 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___search_all_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1940 stack_frame_head
= fra
.me
.prev
;
1941 return fra
.me
.REG
[0];
1943 val_t
standard___string_search___String___split_with(val_t p0
, val_t p1
){
1944 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1949 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1950 fra
.me
.file
= LOCATE_standard___string_search
;
1952 fra
.me
.meth
= LOCATE_standard___string_search___String___split_with
;
1953 fra
.me
.has_broke
= 0;
1954 fra
.me
.REG_size
= 4;
1955 fra
.me
.REG
[0] = NIT_NULL
;
1956 fra
.me
.REG
[1] = NIT_NULL
;
1957 fra
.me
.REG
[2] = NIT_NULL
;
1958 fra
.me
.REG
[3] = NIT_NULL
;
1961 /* ./../lib/standard//string_search.nit:306 */
1962 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___split_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1963 /* ./../lib/standard//collection//array.nit:24 */
1964 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1965 if (UNTAG_Bool(REGB0
)) {
1967 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1969 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1970 /* ./../lib/standard//string_search.nit:307 */
1971 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1972 /* ./../lib/standard//collection//array.nit:269 */
1974 /* ./../lib/standard//collection//array.nit:270 */
1975 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1976 if (UNTAG_Bool(REGB1
)) {
1978 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1980 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1981 /* ./../lib/standard//collection//array.nit:271 */
1982 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1983 /* ./../lib/standard//collection//array.nit:272 */
1985 /* ./../lib/standard//collection//array.nit:24 */
1986 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1987 if (UNTAG_Bool(REGB1
)) {
1989 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1991 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1992 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1993 if (UNTAG_Bool(REGB2
)) {
1995 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1997 /* ./../lib/standard//kernel.nit:232 */
1998 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1999 /* ./../lib/standard//collection//array.nit:272 */
2000 if (UNTAG_Bool(REGB1
)) {
2001 /* ./../lib/standard//collection//array.nit:273 */
2002 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2003 if (UNTAG_Bool(REGB1
)) {
2004 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2006 /* ./../lib/standard//collection//array.nit:718 */
2007 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2008 /* ./../lib/standard//string_search.nit:308 */
2009 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2011 /* ./../lib/standard//collection//array.nit:274 */
2013 /* ./../lib/standard//kernel.nit:235 */
2014 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2015 /* ./../lib/standard//collection//array.nit:274 */
2018 /* ./../lib/standard//collection//array.nit:272 */
2023 /* ./../lib/standard//string_search.nit:309 */
2026 stack_frame_head
= fra
.me
.prev
;
2027 return fra
.me
.REG
[1];
2029 val_t
standard___string_search___String___split(val_t p0
){
2030 struct {struct stack_frame_t me
;} fra
;
2033 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2034 fra
.me
.file
= LOCATE_standard___string_search
;
2036 fra
.me
.meth
= LOCATE_standard___string_search___String___split
;
2037 fra
.me
.has_broke
= 0;
2038 fra
.me
.REG_size
= 1;
2039 fra
.me
.REG
[0] = NIT_NULL
;
2041 /* ./../lib/standard//string_search.nit:314 */
2042 REGB0
= TAG_Char('\n');
2043 fra
.me
.REG
[0] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2046 stack_frame_head
= fra
.me
.prev
;
2047 return fra
.me
.REG
[0];
2049 val_t
standard___string_search___String___replace(val_t p0
, val_t p1
, val_t p2
){
2050 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2053 fra
.me
.file
= LOCATE_standard___string_search
;
2055 fra
.me
.meth
= LOCATE_standard___string_search___String___replace
;
2056 fra
.me
.has_broke
= 0;
2057 fra
.me
.REG_size
= 3;
2058 fra
.me
.REG
[0] = NIT_NULL
;
2059 fra
.me
.REG
[1] = NIT_NULL
;
2060 fra
.me
.REG
[2] = NIT_NULL
;
2064 /* ./../lib/standard//string_search.nit:322 */
2065 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2066 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2069 stack_frame_head
= fra
.me
.prev
;
2070 return fra
.me
.REG
[2];
2072 val_t
standard___string_search___String___html_escape(val_t p0
){
2073 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2077 static val_t once_value_1
; /* Once value */
2078 static val_t once_value_2
; /* Once value */
2079 static val_t once_value_3
; /* Once value */
2080 static val_t once_value_4
; /* Once value */
2081 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2082 fra
.me
.file
= LOCATE_standard___string_search
;
2084 fra
.me
.meth
= LOCATE_standard___string_search___String___html_escape
;
2085 fra
.me
.has_broke
= 0;
2086 fra
.me
.REG_size
= 2;
2087 fra
.me
.REG
[0] = NIT_NULL
;
2088 fra
.me
.REG
[1] = NIT_NULL
;
2090 /* ./../lib/standard//string_search.nit:331 */
2091 REGB0
= TAG_Char('&');
2092 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2093 if (UNTAG_Bool(REGB0
)) {
2094 REGB0
= TAG_Char('&');
2095 if (!once_value_1
) {
2096 fra
.me
.REG
[1] = BOX_NativeString("&");
2098 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2099 once_value_1
= fra
.me
.REG
[1];
2100 register_static_object(&once_value_1
);
2101 } else fra
.me
.REG
[1] = once_value_1
;
2102 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2103 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2104 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2106 /* ./../lib/standard//string_search.nit:332 */
2107 REGB0
= TAG_Char('<');
2108 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2109 if (UNTAG_Bool(REGB0
)) {
2110 REGB0
= TAG_Char('<');
2111 if (!once_value_2
) {
2112 fra
.me
.REG
[1] = BOX_NativeString("<");
2114 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2115 once_value_2
= fra
.me
.REG
[1];
2116 register_static_object(&once_value_2
);
2117 } else fra
.me
.REG
[1] = once_value_2
;
2118 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2119 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2120 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2122 /* ./../lib/standard//string_search.nit:333 */
2123 REGB0
= TAG_Char('>');
2124 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2125 if (UNTAG_Bool(REGB0
)) {
2126 REGB0
= TAG_Char('>');
2127 if (!once_value_3
) {
2128 fra
.me
.REG
[1] = BOX_NativeString(">");
2130 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2131 once_value_3
= fra
.me
.REG
[1];
2132 register_static_object(&once_value_3
);
2133 } else fra
.me
.REG
[1] = once_value_3
;
2134 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2135 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2136 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2138 /* ./../lib/standard//string_search.nit:334 */
2139 REGB0
= TAG_Char('"');
2140 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2141 if (UNTAG_Bool(REGB0
)) {
2142 REGB0
= TAG_Char('"');
2143 if (!once_value_4
) {
2144 fra
.me
.REG
[1] = BOX_NativeString(""");
2146 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2147 once_value_4
= fra
.me
.REG
[1];
2148 register_static_object(&once_value_4
);
2149 } else fra
.me
.REG
[1] = once_value_4
;
2150 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2151 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2152 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2154 /* ./../lib/standard//string_search.nit:335 */
2157 stack_frame_head
= fra
.me
.prev
;
2158 return fra
.me
.REG
[0];