1 /* This C file is generated by NIT to compile module string_search. */
2 #include "string_search._sep.h"
3 val_t
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_string_search
;
9 fra
.me
.meth
= LOCATE_string_search___Pattern___search_index_in
;
12 /* ./../lib/standard//string_search.nit:21 */
13 nit_abort("Deferred method called", NULL
, LOCATE_string_search
, 21);
14 stack_frame_head
= fra
.me
.prev
;
17 val_t
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_string_search
;
23 fra
.me
.meth
= LOCATE_string_search___Pattern___search_in
;
26 /* ./../lib/standard//string_search.nit:26 */
27 nit_abort("Deferred method called", NULL
, LOCATE_string_search
, 26);
28 stack_frame_head
= fra
.me
.prev
;
31 val_t
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_string_search
;
39 fra
.me
.meth
= LOCATE_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_array___Array___init();
51 /* ./../lib/standard//string_search.nit:34 */
53 fra
.me
.REG
[3] = CALL_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_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_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_string_search
, 37);
77 REGB0
= CALL_string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
78 fra
.me
.REG
[4] = CALL_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
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_string_search
;
101 fra
.me
.meth
= LOCATE_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_array___Array___init();
113 /* ./../lib/standard//string_search.nit:46 */
115 /* ./../lib/standard//string_search.nit:47 */
117 fra
.me
.REG
[3] = CALL_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_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_string_search
, 50);
139 REGB1
= CALL_string_search___Match___from(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
140 /* ./../lib/standard//kernel.nit:217 */
141 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
142 /* ./../lib/standard//string_search.nit:51 */
143 fra
.me
.REG
[4] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
144 CALL_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_string_search
, 52);
150 REGB1
= CALL_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_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:23 */
162 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
163 if (UNTAG_Bool(REGB1
)) {
165 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
167 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
168 /* ./../lib/standard//kernel.nit:217 */
169 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
170 /* ./../lib/standard//string_search.nit:56 */
171 fra
.me
.REG
[1] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
172 CALL_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 void string_search___Pattern___init(val_t p0
, int* init_table
){
180 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Pattern
].i
;
181 struct {struct stack_frame_t me
;} fra
;
183 if (init_table
[itpos0
]) return;
184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
185 fra
.me
.file
= LOCATE_string_search
;
187 fra
.me
.meth
= LOCATE_string_search___Pattern___init
;
188 fra
.me
.has_broke
= 0;
190 stack_frame_head
= fra
.me
.prev
;
191 init_table
[itpos0
] = 1;
194 val_t
string_search___BM_Pattern___to_s(val_t p0
){
195 struct {struct stack_frame_t me
;} fra
;
198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
199 fra
.me
.file
= LOCATE_string_search
;
201 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___to_s
;
202 fra
.me
.has_broke
= 0;
204 fra
.me
.REG
[0] = NIT_NULL
;
206 /* ./../lib/standard//string_search.nit:67 */
207 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
208 if (UNTAG_Bool(REGB0
)) {
210 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_string_search
, 67);
212 fra
.me
.REG
[0] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
215 stack_frame_head
= fra
.me
.prev
;
216 return fra
.me
.REG
[0];
218 val_t
string_search___BM_Pattern___search_index_in(val_t p0
, val_t p1
, val_t p2
){
219 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
229 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
230 fra
.me
.file
= LOCATE_string_search
;
232 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___search_index_in
;
233 fra
.me
.has_broke
= 0;
235 fra
.me
.REG
[0] = NIT_NULL
;
236 fra
.me
.REG
[1] = NIT_NULL
;
237 fra
.me
.REG
[2] = NIT_NULL
;
241 /* ./../lib/standard//string_search.nit:72 */
243 /* ./../lib/standard//kernel.nit:213 */
244 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
245 /* ./../lib/standard//string_search.nit:72 */
246 if (UNTAG_Bool(REGB1
)) {
248 nit_abort("Assert failed", NULL
, LOCATE_string_search
, 72);
250 /* ./../lib/standard//collection//array.nit:23 */
251 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
252 if (UNTAG_Bool(REGB1
)) {
254 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
256 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
257 /* ./../lib/standard//string_search.nit:74 */
258 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
259 if (UNTAG_Bool(REGB2
)) {
261 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 74);
263 REGB2
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
264 /* ./../lib/standard//string_search.nit:77 */
266 /* ./../lib/standard//kernel.nit:217 */
267 REGB3
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
268 /* ./../lib/standard//string_search.nit:77 */
270 /* ./../lib/standard//kernel.nit:215 */
271 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
272 /* ./../lib/standard//kernel.nit:212 */
273 REGB4
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB4
));
274 /* ./../lib/standard//string_search.nit:77 */
275 if (UNTAG_Bool(REGB4
)) {
276 /* ./../lib/standard//string_search.nit:78 */
278 /* ./../lib/standard//kernel.nit:217 */
279 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB4
));
280 /* ./../lib/standard//string_search.nit:79 */
283 /* ./../lib/standard//kernel.nit:213 */
284 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB3
));
285 /* ./../lib/standard//string_search.nit:79 */
286 if (UNTAG_Bool(REGB3
)) {
287 REGB3
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
288 if (UNTAG_Bool(REGB3
)) {
290 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_string_search
, 79);
292 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
293 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB4
);
294 /* ./../lib/standard//kernel.nit:215 */
295 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
296 /* ./../lib/standard//string_search.nit:79 */
297 REGB5
= CALL_abstract_collection___MapRead_____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:347 */
302 REGB5
= TAG_Bool((REGB3
)==(REGB5
));
303 /* ./../lib/standard//string_search.nit:79 */
307 REGB5
= TAG_Bool(false);
310 if (UNTAG_Bool(REGB6
)) {
312 /* ./../lib/standard//kernel.nit:217 */
313 REGB6
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB6
));
314 /* ./../lib/standard//string_search.nit:79 */
321 /* ./../lib/standard//string_search.nit:80 */
323 /* ./../lib/standard//kernel.nit:212 */
324 REGB6
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB6
));
325 /* ./../lib/standard//string_search.nit:80 */
326 if (UNTAG_Bool(REGB6
)) {
327 /* ./../lib/standard//string_search.nit:81 */
331 /* ./../lib/standard//string_search.nit:83 */
332 REGB5
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
333 if (UNTAG_Bool(REGB5
)) {
335 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_string_search
, 83);
337 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
338 /* ./../lib/standard//collection//array.nit:243 */
340 /* ./../lib/standard//collection//array.nit:245 */
342 /* ./../lib/standard//kernel.nit:213 */
343 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB3
));
344 /* ./../lib/standard//collection//array.nit:245 */
345 if (UNTAG_Bool(REGB3
)) {
346 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
347 if (UNTAG_Bool(REGB3
)) {
349 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
351 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
352 /* ./../lib/standard//kernel.nit:212 */
353 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB3
));
355 /* ./../lib/standard//collection//array.nit:245 */
356 REGB7
= TAG_Bool(false);
359 if (UNTAG_Bool(REGB3
)) {
361 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
363 /* ./../lib/standard//collection//array.nit:246 */
364 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
365 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
366 if (UNTAG_Bool(REGB3
)) {
367 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
369 /* ./../lib/standard//collection//array.nit:654 */
370 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
371 /* ./../lib/standard//collection//array.nit:246 */
374 /* ./../lib/standard//string_search.nit:83 */
375 REGB5
= fra
.me
.REG
[2];
376 /* ./../lib/standard//kernel.nit:215 */
377 REGB3
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
378 /* ./../lib/standard//string_search.nit:84 */
379 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
380 REGB3
= CALL_string_search___BM_Pattern___bc(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
381 /* ./../lib/standard//kernel.nit:217 */
382 REGB3
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
383 /* ./../lib/standard//string_search.nit:84 */
385 /* ./../lib/standard//kernel.nit:215 */
386 REGB7
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB7
));
387 REGB4
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB4
));
388 /* ./../lib/standard//kernel.nit:214 */
389 REGB7
= TAG_Bool(UNTAG_Int(REGB5
)>UNTAG_Int(REGB4
));
390 /* ./../lib/standard//string_search.nit:86 */
391 if (UNTAG_Bool(REGB7
)) {
392 /* ./../lib/standard//kernel.nit:215 */
393 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
394 /* ./../lib/standard//string_search.nit:87 */
397 /* ./../lib/standard//kernel.nit:215 */
398 REGB4
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB4
));
399 /* ./../lib/standard//string_search.nit:89 */
404 /* ./../lib/standard//string_search.nit:77 */
409 /* ./../lib/standard//string_search.nit:93 */
411 /* ./../lib/standard//kernel.nit:216 */
412 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
413 /* ./../lib/standard//string_search.nit:93 */
417 stack_frame_head
= fra
.me
.prev
;
420 val_t
string_search___BM_Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
421 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
425 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
426 fra
.me
.file
= LOCATE_string_search
;
428 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___search_in
;
429 fra
.me
.has_broke
= 0;
431 fra
.me
.REG
[0] = NIT_NULL
;
432 fra
.me
.REG
[1] = NIT_NULL
;
433 fra
.me
.REG
[2] = NIT_NULL
;
437 /* ./../lib/standard//string_search.nit:99 */
438 REGB0
= CALL_string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
439 /* ./../lib/standard//string_search.nit:100 */
441 /* ./../lib/standard//kernel.nit:212 */
442 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
443 /* ./../lib/standard//string_search.nit:100 */
444 if (UNTAG_Bool(REGB1
)) {
445 /* ./../lib/standard//string_search.nit:101 */
446 fra
.me
.REG
[2] = NIT_NULL
;
449 /* ./../lib/standard//string_search.nit:103 */
450 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
451 if (UNTAG_Bool(REGB1
)) {
453 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 103);
455 REGB1
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
456 fra
.me
.REG
[1] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
457 fra
.me
.REG
[2] = fra
.me
.REG
[1];
461 stack_frame_head
= fra
.me
.prev
;
462 return fra
.me
.REG
[2];
464 void string_search___BM_Pattern___init(val_t p0
, val_t p1
, int* init_table
){
465 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_BM_Pattern
].i
;
466 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
469 if (init_table
[itpos1
]) return;
470 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
471 fra
.me
.file
= LOCATE_string_search
;
473 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___init
;
474 fra
.me
.has_broke
= 0;
476 fra
.me
.REG
[0] = NIT_NULL
;
477 fra
.me
.REG
[1] = NIT_NULL
;
478 fra
.me
.REG
[2] = NIT_NULL
;
481 /* ./../lib/standard//string_search.nit:107 */
482 fra
.me
.REG
[2] = fra
.me
.REG
[0];
483 CALL_string_search___Pattern___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
484 /* ./../lib/standard//string_search.nit:110 */
485 ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
486 /* ./../lib/standard//collection//array.nit:23 */
487 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
488 if (UNTAG_Bool(REGB0
)) {
490 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
492 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
493 /* ./../lib/standard//string_search.nit:111 */
494 ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[2]) = REGB0
;
495 /* ./../lib/standard//string_search.nit:112 */
496 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[2])!=NIT_NULL
);
497 if (UNTAG_Bool(REGB0
)) {
499 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 112);
501 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[2]);
502 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
503 ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
504 /* ./../lib/standard//string_search.nit:113 */
505 fra
.me
.REG
[1] = NEW_ArrayMap_array___ArrayMap___init();
506 ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
507 /* ./../lib/standard//string_search.nit:114 */
508 CALL_string_search___BM_Pattern___compute_gs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
509 /* ./../lib/standard//string_search.nit:115 */
510 CALL_string_search___BM_Pattern___compute_bc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
511 stack_frame_head
= fra
.me
.prev
;
512 init_table
[itpos1
] = 1;
515 val_t
string_search___BM_Pattern___bc(val_t p0
, val_t p1
){
516 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
520 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
521 fra
.me
.file
= LOCATE_string_search
;
523 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___bc
;
524 fra
.me
.has_broke
= 0;
526 fra
.me
.REG
[0] = NIT_NULL
;
527 fra
.me
.REG
[1] = NIT_NULL
;
530 /* ./../lib/standard//string_search.nit:126 */
531 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
532 if (UNTAG_Bool(REGB1
)) {
534 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_string_search
, 126);
536 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
537 REGB1
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
538 if (UNTAG_Bool(REGB1
)) {
539 /* ./../lib/standard//string_search.nit:127 */
540 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
541 if (UNTAG_Bool(REGB1
)) {
543 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_string_search
, 127);
545 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
546 fra
.me
.REG
[1] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
547 REGB0
= fra
.me
.REG
[1];
550 /* ./../lib/standard//string_search.nit:129 */
551 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
552 if (UNTAG_Bool(REGB1
)) {
554 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 129);
556 REGB1
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
561 stack_frame_head
= fra
.me
.prev
;
564 void string_search___BM_Pattern___compute_bc(val_t p0
){
565 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
572 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
573 fra
.me
.file
= LOCATE_string_search
;
575 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___compute_bc
;
576 fra
.me
.has_broke
= 0;
578 fra
.me
.REG
[0] = NIT_NULL
;
579 fra
.me
.REG
[1] = NIT_NULL
;
580 fra
.me
.REG
[2] = NIT_NULL
;
582 /* ./../lib/standard//string_search.nit:141 */
583 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
584 if (UNTAG_Bool(REGB0
)) {
586 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_string_search
, 141);
588 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
589 /* ./../lib/standard//string_search.nit:142 */
590 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
591 if (UNTAG_Bool(REGB0
)) {
593 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 142);
595 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
596 /* ./../lib/standard//string_search.nit:143 */
598 /* ./../lib/standard//string_search.nit:144 */
601 /* ./../lib/standard//kernel.nit:217 */
602 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
603 /* ./../lib/standard//kernel.nit:212 */
604 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
605 /* ./../lib/standard//string_search.nit:144 */
606 if (UNTAG_Bool(REGB2
)) {
607 /* ./../lib/standard//string_search.nit:145 */
608 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
609 if (UNTAG_Bool(REGB2
)) {
611 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_string_search
, 145);
613 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
614 REGB2
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
615 /* ./../lib/standard//kernel.nit:217 */
616 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
617 /* ./../lib/standard//string_search.nit:145 */
619 /* ./../lib/standard//kernel.nit:217 */
620 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
621 /* ./../lib/standard//string_search.nit:145 */
622 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
623 /* ./../lib/standard//string_search.nit:146 */
625 /* ./../lib/standard//kernel.nit:215 */
626 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
627 /* ./../lib/standard//string_search.nit:146 */
630 /* ./../lib/standard//string_search.nit:144 */
635 stack_frame_head
= fra
.me
.prev
;
638 val_t
string_search___BM_Pattern___suffixes(val_t p0
){
639 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
648 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
649 fra
.me
.file
= LOCATE_string_search
;
651 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___suffixes
;
652 fra
.me
.has_broke
= 0;
654 fra
.me
.REG
[0] = NIT_NULL
;
655 fra
.me
.REG
[1] = NIT_NULL
;
656 fra
.me
.REG
[2] = NIT_NULL
;
658 /* ./../lib/standard//string_search.nit:152 */
659 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
660 if (UNTAG_Bool(REGB0
)) {
662 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_string_search
, 152);
664 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
665 /* ./../lib/standard//string_search.nit:153 */
666 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
667 if (UNTAG_Bool(REGB0
)) {
669 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 153);
671 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
672 /* ./../lib/standard//string_search.nit:154 */
673 fra
.me
.REG
[0] = NEW_Array_array___Array___filled_with(REGB0
, REGB0
);
674 /* ./../lib/standard//string_search.nit:156 */
676 /* ./../lib/standard//string_search.nit:157 */
678 /* ./../lib/standard//kernel.nit:217 */
679 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
680 /* ./../lib/standard//string_search.nit:158 */
682 /* ./../lib/standard//kernel.nit:217 */
683 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
684 /* ./../lib/standard//string_search.nit:159 */
687 /* ./../lib/standard//kernel.nit:213 */
688 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
689 /* ./../lib/standard//string_search.nit:159 */
690 if (UNTAG_Bool(REGB4
)) {
691 /* ./../lib/standard//kernel.nit:214 */
692 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
693 /* ./../lib/standard//string_search.nit:160 */
694 if (UNTAG_Bool(REGB4
)) {
695 /* ./../lib/standard//kernel.nit:215 */
696 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
697 /* ./../lib/standard//string_search.nit:160 */
699 /* ./../lib/standard//kernel.nit:217 */
700 REGB5
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB5
));
701 REGB5
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB1
));
702 /* ./../lib/standard//collection//array.nit:243 */
703 fra
.me
.REG
[2] = fra
.me
.REG
[0];
704 /* ./../lib/standard//collection//array.nit:245 */
706 /* ./../lib/standard//kernel.nit:213 */
707 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
708 /* ./../lib/standard//collection//array.nit:245 */
709 if (UNTAG_Bool(REGB4
)) {
710 REGB4
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
711 if (UNTAG_Bool(REGB4
)) {
713 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
715 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
716 /* ./../lib/standard//kernel.nit:212 */
717 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
719 /* ./../lib/standard//collection//array.nit:245 */
720 REGB6
= TAG_Bool(false);
723 if (UNTAG_Bool(REGB4
)) {
725 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
727 /* ./../lib/standard//collection//array.nit:246 */
728 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
729 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
730 if (UNTAG_Bool(REGB4
)) {
731 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
733 /* ./../lib/standard//collection//array.nit:654 */
734 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
735 /* ./../lib/standard//collection//array.nit:246 */
738 /* ./../lib/standard//kernel.nit:217 */
739 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
740 /* ./../lib/standard//string_search.nit:160 */
741 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
742 if (UNTAG_Bool(REGB4
)) {
743 nit_abort("Reciever is null", NULL
, LOCATE_string_search
, 160);
745 /* ./../lib/standard//kernel.nit:212 */
746 REGB5
= TAG_Bool(UNTAG_Int(fra
.me
.REG
[2])<UNTAG_Int(REGB5
));
748 /* ./../lib/standard//string_search.nit:160 */
749 REGB4
= TAG_Bool(false);
752 if (UNTAG_Bool(REGB5
)) {
753 /* ./../lib/standard//kernel.nit:215 */
754 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
755 /* ./../lib/standard//string_search.nit:161 */
757 /* ./../lib/standard//kernel.nit:217 */
758 REGB4
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB4
));
759 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
760 /* ./../lib/standard//collection//array.nit:243 */
761 fra
.me
.REG
[2] = fra
.me
.REG
[0];
762 /* ./../lib/standard//collection//array.nit:245 */
764 /* ./../lib/standard//kernel.nit:213 */
765 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
766 /* ./../lib/standard//collection//array.nit:245 */
767 if (UNTAG_Bool(REGB5
)) {
768 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
769 if (UNTAG_Bool(REGB5
)) {
771 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
773 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
774 /* ./../lib/standard//kernel.nit:212 */
775 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
777 /* ./../lib/standard//collection//array.nit:245 */
778 REGB6
= TAG_Bool(false);
781 if (UNTAG_Bool(REGB5
)) {
783 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
785 /* ./../lib/standard//collection//array.nit:246 */
786 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
787 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
788 if (UNTAG_Bool(REGB5
)) {
789 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
791 /* ./../lib/standard//collection//array.nit:654 */
792 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
793 /* ./../lib/standard//collection//array.nit:246 */
796 /* ./../lib/standard//string_search.nit:161 */
797 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, fra
.me
.REG
[2]);
799 /* ./../lib/standard//kernel.nit:212 */
800 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
801 /* ./../lib/standard//string_search.nit:163 */
802 if (UNTAG_Bool(REGB4
)) {
805 /* ./../lib/standard//string_search.nit:164 */
807 /* ./../lib/standard//string_search.nit:165 */
810 /* ./../lib/standard//kernel.nit:213 */
811 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB4
));
812 /* ./../lib/standard//string_search.nit:165 */
813 if (UNTAG_Bool(REGB4
)) {
814 REGB4
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
815 /* ./../lib/standard//kernel.nit:215 */
816 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
817 /* ./../lib/standard//string_search.nit:165 */
819 /* ./../lib/standard//kernel.nit:217 */
820 REGB6
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB6
));
821 REGB6
= TAG_Int(UNTAG_Int(REGB6
)-UNTAG_Int(REGB1
));
822 /* ./../lib/standard//string_search.nit:165 */
823 REGB6
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB6
);
824 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB6
));
825 if (UNTAG_Bool(REGB5
)) {
827 /* ./../lib/standard//kernel.nit:347 */
828 REGB6
= TAG_Bool((REGB4
)==(REGB6
));
829 /* ./../lib/standard//string_search.nit:165 */
833 REGB6
= TAG_Bool(false);
836 if (UNTAG_Bool(REGB5
)) {
838 /* ./../lib/standard//kernel.nit:217 */
839 REGB5
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB5
));
840 /* ./../lib/standard//string_search.nit:165 */
847 /* ./../lib/standard//kernel.nit:217 */
848 REGB5
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
849 /* ./../lib/standard//string_search.nit:166 */
850 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB5
);
852 /* ./../lib/standard//string_search.nit:168 */
854 /* ./../lib/standard//kernel.nit:217 */
855 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
856 /* ./../lib/standard//string_search.nit:168 */
859 /* ./../lib/standard//string_search.nit:159 */
864 /* ./../lib/standard//string_search.nit:170 */
867 stack_frame_head
= fra
.me
.prev
;
868 return fra
.me
.REG
[0];
870 void string_search___BM_Pattern___compute_gs(val_t p0
){
871 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
880 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
881 fra
.me
.file
= LOCATE_string_search
;
883 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___compute_gs
;
884 fra
.me
.has_broke
= 0;
886 fra
.me
.REG
[0] = NIT_NULL
;
887 fra
.me
.REG
[1] = NIT_NULL
;
888 fra
.me
.REG
[2] = NIT_NULL
;
889 fra
.me
.REG
[3] = NIT_NULL
;
891 /* ./../lib/standard//string_search.nit:175 */
892 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
893 if (UNTAG_Bool(REGB0
)) {
895 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_string_search
, 175);
897 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
898 /* ./../lib/standard//string_search.nit:176 */
899 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
900 if (UNTAG_Bool(REGB0
)) {
902 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 176);
904 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
905 /* ./../lib/standard//string_search.nit:177 */
906 fra
.me
.REG
[1] = CALL_string_search___BM_Pattern___suffixes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
907 /* ./../lib/standard//string_search.nit:178 */
909 /* ./../lib/standard//string_search.nit:179 */
911 /* ./../lib/standard//kernel.nit:212 */
912 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
913 /* ./../lib/standard//string_search.nit:179 */
914 if (UNTAG_Bool(REGB2
)) {
915 /* ./../lib/standard//string_search.nit:180 */
916 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
917 if (UNTAG_Bool(REGB2
)) {
919 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_string_search
, 180);
921 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
922 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
, REGB0
);
923 /* ./../lib/standard//string_search.nit:181 */
925 /* ./../lib/standard//kernel.nit:215 */
926 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
927 /* ./../lib/standard//string_search.nit:181 */
930 /* ./../lib/standard//string_search.nit:179 */
935 /* ./../lib/standard//string_search.nit:183 */
937 /* ./../lib/standard//string_search.nit:184 */
939 /* ./../lib/standard//kernel.nit:217 */
940 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
941 /* ./../lib/standard//string_search.nit:184 */
943 /* ./../lib/standard//string_search.nit:185 */
946 /* ./../lib/standard//kernel.nit:216 */
947 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
948 /* ./../lib/standard//kernel.nit:213 */
949 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
950 /* ./../lib/standard//string_search.nit:185 */
951 if (UNTAG_Bool(REGB3
)) {
952 /* ./../lib/standard//string_search.nit:186 */
954 /* ./../lib/standard//kernel.nit:216 */
955 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
956 /* ./../lib/standard//string_search.nit:186 */
957 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB3
));
958 if (UNTAG_Bool(REGB4
)) {
960 /* ./../lib/standard//kernel.nit:207 */
961 REGB3
= TAG_Bool((REGB1
)==(REGB3
));
962 /* ./../lib/standard//string_search.nit:186 */
965 if (UNTAG_Bool(REGB4
)) {
966 REGB4
= TAG_Bool(true);
968 /* ./../lib/standard//collection//array.nit:243 */
969 fra
.me
.REG
[2] = fra
.me
.REG
[1];
971 /* ./../lib/standard//collection//array.nit:245 */
973 /* ./../lib/standard//kernel.nit:213 */
974 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB5
));
975 /* ./../lib/standard//collection//array.nit:245 */
976 if (UNTAG_Bool(REGB5
)) {
977 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
978 if (UNTAG_Bool(REGB5
)) {
980 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
982 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
983 /* ./../lib/standard//kernel.nit:212 */
984 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
986 /* ./../lib/standard//collection//array.nit:245 */
987 REGB6
= TAG_Bool(false);
990 if (UNTAG_Bool(REGB5
)) {
992 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
994 /* ./../lib/standard//collection//array.nit:246 */
995 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
996 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
997 if (UNTAG_Bool(REGB5
)) {
998 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
1000 /* ./../lib/standard//collection//array.nit:654 */
1001 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
1002 /* ./../lib/standard//collection//array.nit:246 */
1005 /* ./../lib/standard//string_search.nit:186 */
1007 /* ./../lib/standard//kernel.nit:215 */
1008 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1009 /* ./../lib/standard//string_search.nit:186 */
1010 REGB5
= TAG_Bool(IS_EQUAL_ON(REGB3
,fra
.me
.REG
[2]));
1011 if (UNTAG_Bool(REGB5
)) {
1013 REGB6
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1014 if (UNTAG_Bool(REGB6
)) {
1015 REGB6
= TAG_Bool(false);
1018 /* ./../lib/standard//kernel.nit:207 */
1019 REGB3
= TAG_Bool((fra
.me
.REG
[2])==(REGB3
));
1020 /* ./../lib/standard//string_search.nit:186 */
1026 if (UNTAG_Bool(REGB4
)) {
1027 /* ./../lib/standard//string_search.nit:187 */
1030 /* ./../lib/standard//kernel.nit:217 */
1031 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1032 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1033 /* ./../lib/standard//kernel.nit:212 */
1034 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB4
));
1035 /* ./../lib/standard//string_search.nit:187 */
1036 if (UNTAG_Bool(REGB4
)) {
1037 /* ./../lib/standard//string_search.nit:188 */
1038 REGB4
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1039 if (UNTAG_Bool(REGB4
)) {
1041 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_string_search
, 188);
1043 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1044 /* ./../lib/standard//collection//array.nit:243 */
1046 /* ./../lib/standard//collection//array.nit:245 */
1048 /* ./../lib/standard//kernel.nit:213 */
1049 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1050 /* ./../lib/standard//collection//array.nit:245 */
1051 if (UNTAG_Bool(REGB5
)) {
1052 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1053 if (UNTAG_Bool(REGB5
)) {
1055 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
1057 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1058 /* ./../lib/standard//kernel.nit:212 */
1059 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1061 /* ./../lib/standard//collection//array.nit:245 */
1062 REGB3
= TAG_Bool(false);
1065 if (UNTAG_Bool(REGB5
)) {
1067 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
1069 /* ./../lib/standard//collection//array.nit:246 */
1070 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1071 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1072 if (UNTAG_Bool(REGB5
)) {
1073 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
1075 /* ./../lib/standard//collection//array.nit:654 */
1076 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
1077 /* ./../lib/standard//collection//array.nit:246 */
1080 /* ./../lib/standard//string_search.nit:188 */
1081 REGB4
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[2]));
1082 if (UNTAG_Bool(REGB4
)) {
1084 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1085 if (UNTAG_Bool(REGB5
)) {
1086 REGB5
= TAG_Bool(false);
1089 /* ./../lib/standard//kernel.nit:207 */
1090 REGB5
= TAG_Bool((fra
.me
.REG
[2])==(REGB0
));
1091 /* ./../lib/standard//string_search.nit:188 */
1095 if (UNTAG_Bool(REGB4
)) {
1096 REGB4
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1097 if (UNTAG_Bool(REGB4
)) {
1099 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_string_search
, 188);
1101 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1103 /* ./../lib/standard//kernel.nit:217 */
1104 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1105 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1106 /* ./../lib/standard//string_search.nit:188 */
1107 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1109 /* ./../lib/standard//string_search.nit:189 */
1111 /* ./../lib/standard//kernel.nit:215 */
1112 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
1113 /* ./../lib/standard//string_search.nit:189 */
1116 /* ./../lib/standard//string_search.nit:187 */
1122 /* ./../lib/standard//string_search.nit:192 */
1124 /* ./../lib/standard//kernel.nit:217 */
1125 REGB4
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB4
));
1126 /* ./../lib/standard//string_search.nit:192 */
1129 /* ./../lib/standard//string_search.nit:185 */
1134 /* ./../lib/standard//string_search.nit:194 */
1137 /* ./../lib/standard//string_search.nit:195 */
1140 /* ./../lib/standard//kernel.nit:217 */
1141 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1142 /* ./../lib/standard//kernel.nit:212 */
1143 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1144 /* ./../lib/standard//string_search.nit:195 */
1145 if (UNTAG_Bool(REGB2
)) {
1146 /* ./../lib/standard//string_search.nit:196 */
1147 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1148 if (UNTAG_Bool(REGB2
)) {
1150 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_string_search
, 196);
1152 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1154 /* ./../lib/standard//kernel.nit:217 */
1155 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1156 /* ./../lib/standard//collection//array.nit:243 */
1157 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1159 /* ./../lib/standard//collection//array.nit:245 */
1161 /* ./../lib/standard//kernel.nit:213 */
1162 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1163 /* ./../lib/standard//collection//array.nit:245 */
1164 if (UNTAG_Bool(REGB5
)) {
1165 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1166 if (UNTAG_Bool(REGB5
)) {
1168 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
1170 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1171 /* ./../lib/standard//kernel.nit:212 */
1172 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1174 /* ./../lib/standard//collection//array.nit:245 */
1175 REGB3
= TAG_Bool(false);
1178 if (UNTAG_Bool(REGB5
)) {
1180 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
1182 /* ./../lib/standard//collection//array.nit:246 */
1183 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1184 REGB5
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1185 if (UNTAG_Bool(REGB5
)) {
1186 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
1188 /* ./../lib/standard//collection//array.nit:654 */
1189 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB4
)];
1190 /* ./../lib/standard//collection//array.nit:246 */
1193 /* ./../lib/standard//kernel.nit:217 */
1194 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(fra
.me
.REG
[3]));
1195 /* ./../lib/standard//string_search.nit:196 */
1197 /* ./../lib/standard//kernel.nit:217 */
1198 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1199 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1200 /* ./../lib/standard//string_search.nit:196 */
1201 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1202 /* ./../lib/standard//string_search.nit:197 */
1204 /* ./../lib/standard//kernel.nit:215 */
1205 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1206 /* ./../lib/standard//string_search.nit:197 */
1209 /* ./../lib/standard//string_search.nit:195 */
1214 stack_frame_head
= fra
.me
.prev
;
1217 val_t
string_search___Match___string(val_t p0
){
1218 struct {struct stack_frame_t me
;} fra
;
1221 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1222 fra
.me
.file
= LOCATE_string_search
;
1224 fra
.me
.meth
= LOCATE_string_search___Match___string
;
1225 fra
.me
.has_broke
= 0;
1226 fra
.me
.REG_size
= 1;
1227 fra
.me
.REG
[0] = NIT_NULL
;
1229 /* ./../lib/standard//string_search.nit:204 */
1230 REGB0
= TAG_Bool(ATTR_string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1231 if (UNTAG_Bool(REGB0
)) {
1233 nit_abort("Uninitialized attribute %s", "_string", LOCATE_string_search
, 204);
1235 fra
.me
.REG
[0] = ATTR_string_search___Match____string(fra
.me
.REG
[0]);
1236 stack_frame_head
= fra
.me
.prev
;
1237 return fra
.me
.REG
[0];
1239 val_t
string_search___Match___from(val_t p0
){
1240 struct {struct stack_frame_t me
;} fra
;
1243 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1244 fra
.me
.file
= LOCATE_string_search
;
1246 fra
.me
.meth
= LOCATE_string_search___Match___from
;
1247 fra
.me
.has_broke
= 0;
1248 fra
.me
.REG_size
= 1;
1249 fra
.me
.REG
[0] = NIT_NULL
;
1251 /* ./../lib/standard//string_search.nit:207 */
1252 REGB0
= TAG_Bool(ATTR_string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1253 if (UNTAG_Bool(REGB0
)) {
1255 nit_abort("Uninitialized attribute %s", "_from", LOCATE_string_search
, 207);
1257 REGB0
= ATTR_string_search___Match____from(fra
.me
.REG
[0]);
1258 stack_frame_head
= fra
.me
.prev
;
1261 val_t
string_search___Match___length(val_t p0
){
1262 struct {struct stack_frame_t me
;} fra
;
1265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1266 fra
.me
.file
= LOCATE_string_search
;
1268 fra
.me
.meth
= LOCATE_string_search___Match___length
;
1269 fra
.me
.has_broke
= 0;
1270 fra
.me
.REG_size
= 1;
1271 fra
.me
.REG
[0] = NIT_NULL
;
1273 /* ./../lib/standard//string_search.nit:210 */
1274 REGB0
= TAG_Bool(ATTR_string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1275 if (UNTAG_Bool(REGB0
)) {
1277 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 210);
1279 REGB0
= ATTR_string_search___Match____length(fra
.me
.REG
[0]);
1280 stack_frame_head
= fra
.me
.prev
;
1283 val_t
string_search___Match___after(val_t p0
){
1284 struct {struct stack_frame_t me
;} fra
;
1288 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1289 fra
.me
.file
= LOCATE_string_search
;
1291 fra
.me
.meth
= LOCATE_string_search___Match___after
;
1292 fra
.me
.has_broke
= 0;
1293 fra
.me
.REG_size
= 1;
1294 fra
.me
.REG
[0] = NIT_NULL
;
1296 /* ./../lib/standard//string_search.nit:215 */
1297 REGB0
= TAG_Bool(ATTR_string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1298 if (UNTAG_Bool(REGB0
)) {
1300 nit_abort("Uninitialized attribute %s", "_from", LOCATE_string_search
, 215);
1302 REGB0
= ATTR_string_search___Match____from(fra
.me
.REG
[0]);
1303 REGB1
= TAG_Bool(ATTR_string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1304 if (UNTAG_Bool(REGB1
)) {
1306 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 215);
1308 REGB1
= ATTR_string_search___Match____length(fra
.me
.REG
[0]);
1309 /* ./../lib/standard//kernel.nit:215 */
1310 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1311 /* ./../lib/standard//string_search.nit:215 */
1314 stack_frame_head
= fra
.me
.prev
;
1317 val_t
string_search___Match___to_s(val_t p0
){
1318 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1322 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1323 fra
.me
.file
= LOCATE_string_search
;
1325 fra
.me
.meth
= LOCATE_string_search___Match___to_s
;
1326 fra
.me
.has_broke
= 0;
1327 fra
.me
.REG_size
= 2;
1328 fra
.me
.REG
[0] = NIT_NULL
;
1329 fra
.me
.REG
[1] = NIT_NULL
;
1331 /* ./../lib/standard//string_search.nit:218 */
1332 REGB0
= TAG_Bool(ATTR_string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1333 if (UNTAG_Bool(REGB0
)) {
1335 nit_abort("Uninitialized attribute %s", "_string", LOCATE_string_search
, 218);
1337 fra
.me
.REG
[1] = ATTR_string_search___Match____string(fra
.me
.REG
[0]);
1338 REGB0
= TAG_Bool(ATTR_string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1339 if (UNTAG_Bool(REGB0
)) {
1341 nit_abort("Uninitialized attribute %s", "_from", LOCATE_string_search
, 218);
1343 REGB0
= ATTR_string_search___Match____from(fra
.me
.REG
[0]);
1344 REGB1
= TAG_Bool(ATTR_string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1345 if (UNTAG_Bool(REGB1
)) {
1347 nit_abort("Uninitialized attribute %s", "_length", LOCATE_string_search
, 218);
1349 REGB1
= ATTR_string_search___Match____length(fra
.me
.REG
[0]);
1350 fra
.me
.REG
[1] = CALL_string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB1
);
1353 stack_frame_head
= fra
.me
.prev
;
1354 return fra
.me
.REG
[1];
1356 void string_search___Match___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1357 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Match
].i
;
1358 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1364 if (init_table
[itpos2
]) return;
1365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1366 fra
.me
.file
= LOCATE_string_search
;
1368 fra
.me
.meth
= LOCATE_string_search___Match___init
;
1369 fra
.me
.has_broke
= 0;
1370 fra
.me
.REG_size
= 2;
1371 fra
.me
.REG
[0] = NIT_NULL
;
1372 fra
.me
.REG
[1] = NIT_NULL
;
1377 /* ./../lib/standard//string_search.nit:223 */
1379 /* ./../lib/standard//kernel.nit:213 */
1380 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1381 /* ./../lib/standard//string_search.nit:223 */
1382 if (UNTAG_Bool(REGB2
)) {
1384 nit_abort("Assert %s failed", "'positive_length'", LOCATE_string_search
, 223);
1386 /* ./../lib/standard//string_search.nit:224 */
1388 /* ./../lib/standard//kernel.nit:213 */
1389 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
1390 /* ./../lib/standard//string_search.nit:224 */
1391 if (UNTAG_Bool(REGB2
)) {
1393 nit_abort("Assert %s failed", "'valid_from'", LOCATE_string_search
, 224);
1395 /* ./../lib/standard//kernel.nit:215 */
1396 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1397 /* ./../lib/standard//collection//array.nit:23 */
1398 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1399 if (UNTAG_Bool(REGB3
)) {
1401 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1403 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1404 /* ./../lib/standard//kernel.nit:211 */
1405 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB3
));
1406 /* ./../lib/standard//string_search.nit:225 */
1407 if (UNTAG_Bool(REGB3
)) {
1409 nit_abort("Assert %s failed", "'valid_after'", LOCATE_string_search
, 225);
1411 /* ./../lib/standard//string_search.nit:226 */
1412 ATTR_string_search___Match____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1413 /* ./../lib/standard//string_search.nit:227 */
1414 ATTR_string_search___Match____from(fra
.me
.REG
[0]) = REGB0
;
1415 /* ./../lib/standard//string_search.nit:228 */
1416 ATTR_string_search___Match____length(fra
.me
.REG
[0]) = REGB1
;
1417 stack_frame_head
= fra
.me
.prev
;
1418 init_table
[itpos2
] = 1;
1421 val_t
string_search___Char___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1422 struct {struct stack_frame_t me
;} fra
;
1429 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1430 fra
.me
.file
= LOCATE_string_search
;
1432 fra
.me
.meth
= LOCATE_string_search___Char___search_index_in
;
1433 fra
.me
.has_broke
= 0;
1434 fra
.me
.REG_size
= 1;
1435 fra
.me
.REG
[0] = NIT_NULL
;
1439 /* ./../lib/standard//collection//array.nit:23 */
1440 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1441 if (UNTAG_Bool(REGB2
)) {
1443 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1445 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1446 /* ./../lib/standard//string_search.nit:237 */
1448 /* ./../lib/standard//kernel.nit:212 */
1449 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1450 /* ./../lib/standard//string_search.nit:237 */
1451 if (UNTAG_Bool(REGB3
)) {
1452 /* ./../lib/standard//string_search.nit:238 */
1453 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1454 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB0
));
1455 if (UNTAG_Bool(REGB4
)) {
1457 /* ./../lib/standard//kernel.nit:347 */
1458 REGB3
= TAG_Bool((REGB3
)==(REGB0
));
1459 /* ./../lib/standard//string_search.nit:238 */
1462 if (UNTAG_Bool(REGB4
)) {
1466 /* ./../lib/standard//string_search.nit:239 */
1468 /* ./../lib/standard//kernel.nit:215 */
1469 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1470 /* ./../lib/standard//string_search.nit:239 */
1473 /* ./../lib/standard//string_search.nit:237 */
1478 /* ./../lib/standard//string_search.nit:241 */
1480 /* ./../lib/standard//kernel.nit:216 */
1481 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
1482 /* ./../lib/standard//string_search.nit:241 */
1486 stack_frame_head
= fra
.me
.prev
;
1489 val_t
string_search___Char___search_in(val_t p0
, val_t p1
, val_t p2
){
1490 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1495 fra
.me
.file
= LOCATE_string_search
;
1497 fra
.me
.meth
= LOCATE_string_search___Char___search_in
;
1498 fra
.me
.has_broke
= 0;
1499 fra
.me
.REG_size
= 2;
1500 fra
.me
.REG
[0] = NIT_NULL
;
1501 fra
.me
.REG
[1] = NIT_NULL
;
1505 /* ./../lib/standard//string_search.nit:246 */
1506 REGB1
= CALL_string_search___Pattern___search_index_in(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
);
1507 /* ./../lib/standard//string_search.nit:247 */
1509 /* ./../lib/standard//kernel.nit:212 */
1510 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1511 /* ./../lib/standard//string_search.nit:247 */
1512 if (UNTAG_Bool(REGB0
)) {
1513 /* ./../lib/standard//string_search.nit:248 */
1514 fra
.me
.REG
[1] = NIT_NULL
;
1517 /* ./../lib/standard//string_search.nit:250 */
1519 fra
.me
.REG
[0] = NEW_Match_string_search___Match___init(fra
.me
.REG
[0], REGB1
, REGB0
);
1520 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1524 stack_frame_head
= fra
.me
.prev
;
1525 return fra
.me
.REG
[1];
1527 val_t
string_search___String___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1528 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1536 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1537 fra
.me
.file
= LOCATE_string_search
;
1539 fra
.me
.meth
= LOCATE_string_search___String___search_index_in
;
1540 fra
.me
.has_broke
= 0;
1541 fra
.me
.REG_size
= 2;
1542 fra
.me
.REG
[0] = NIT_NULL
;
1543 fra
.me
.REG
[1] = NIT_NULL
;
1547 /* ./../lib/standard//string_search.nit:259 */
1549 /* ./../lib/standard//kernel.nit:213 */
1550 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1551 /* ./../lib/standard//string_search.nit:259 */
1552 if (UNTAG_Bool(REGB1
)) {
1554 nit_abort("Assert failed", NULL
, LOCATE_string_search
, 259);
1556 /* ./../lib/standard//collection//array.nit:23 */
1557 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1558 if (UNTAG_Bool(REGB1
)) {
1560 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1562 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1563 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1564 if (UNTAG_Bool(REGB2
)) {
1566 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1568 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1569 /* ./../lib/standard//kernel.nit:217 */
1570 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1571 /* ./../lib/standard//string_search.nit:260 */
1573 /* ./../lib/standard//kernel.nit:215 */
1574 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
1575 /* ./../lib/standard//string_search.nit:261 */
1577 /* ./../lib/standard//kernel.nit:212 */
1578 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1579 /* ./../lib/standard//string_search.nit:261 */
1580 if (UNTAG_Bool(REGB2
)) {
1581 /* ./../lib/standard//collection//array.nit:23 */
1582 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1583 if (UNTAG_Bool(REGB2
)) {
1585 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1587 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1588 /* ./../lib/standard//string_search.nit:262 */
1590 /* ./../lib/standard//kernel.nit:217 */
1591 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
1592 /* ./../lib/standard//string_search.nit:263 */
1595 /* ./../lib/standard//kernel.nit:213 */
1596 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB2
));
1597 /* ./../lib/standard//string_search.nit:263 */
1598 if (UNTAG_Bool(REGB2
)) {
1599 REGB2
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
1600 /* ./../lib/standard//kernel.nit:215 */
1601 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1602 /* ./../lib/standard//string_search.nit:263 */
1603 REGB4
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB4
);
1604 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
1605 if (UNTAG_Bool(REGB5
)) {
1607 /* ./../lib/standard//kernel.nit:347 */
1608 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
1609 /* ./../lib/standard//string_search.nit:263 */
1613 REGB4
= TAG_Bool(false);
1616 if (UNTAG_Bool(REGB5
)) {
1618 /* ./../lib/standard//kernel.nit:217 */
1619 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
1620 /* ./../lib/standard//string_search.nit:263 */
1627 /* ./../lib/standard//string_search.nit:265 */
1629 /* ./../lib/standard//kernel.nit:212 */
1630 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
1631 /* ./../lib/standard//string_search.nit:265 */
1632 if (UNTAG_Bool(REGB5
)) {
1636 /* ./../lib/standard//string_search.nit:267 */
1638 /* ./../lib/standard//kernel.nit:215 */
1639 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1640 /* ./../lib/standard//string_search.nit:267 */
1643 /* ./../lib/standard//string_search.nit:261 */
1648 /* ./../lib/standard//string_search.nit:269 */
1650 /* ./../lib/standard//kernel.nit:216 */
1651 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
1652 /* ./../lib/standard//string_search.nit:269 */
1656 stack_frame_head
= fra
.me
.prev
;
1659 val_t
string_search___String___search_in(val_t p0
, val_t p1
, val_t p2
){
1660 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1664 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1665 fra
.me
.file
= LOCATE_string_search
;
1667 fra
.me
.meth
= LOCATE_string_search___String___search_in
;
1668 fra
.me
.has_broke
= 0;
1669 fra
.me
.REG_size
= 3;
1670 fra
.me
.REG
[0] = NIT_NULL
;
1671 fra
.me
.REG
[1] = NIT_NULL
;
1672 fra
.me
.REG
[2] = NIT_NULL
;
1676 /* ./../lib/standard//string_search.nit:274 */
1677 REGB0
= CALL_string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1678 /* ./../lib/standard//string_search.nit:275 */
1680 /* ./../lib/standard//kernel.nit:212 */
1681 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1682 /* ./../lib/standard//string_search.nit:275 */
1683 if (UNTAG_Bool(REGB1
)) {
1684 /* ./../lib/standard//string_search.nit:276 */
1685 fra
.me
.REG
[2] = NIT_NULL
;
1688 /* ./../lib/standard//collection//array.nit:23 */
1689 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1690 if (UNTAG_Bool(REGB1
)) {
1692 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1694 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1695 /* ./../lib/standard//string_search.nit:278 */
1696 fra
.me
.REG
[1] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
1697 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1701 stack_frame_head
= fra
.me
.prev
;
1702 return fra
.me
.REG
[2];
1704 val_t
string_search___String___search(val_t p0
, val_t p1
){
1705 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1708 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1709 fra
.me
.file
= LOCATE_string_search
;
1711 fra
.me
.meth
= LOCATE_string_search___String___search
;
1712 fra
.me
.has_broke
= 0;
1713 fra
.me
.REG_size
= 2;
1714 fra
.me
.REG
[0] = NIT_NULL
;
1715 fra
.me
.REG
[1] = NIT_NULL
;
1718 /* ./../lib/standard//string_search.nit:283 */
1720 fra
.me
.REG
[0] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1723 stack_frame_head
= fra
.me
.prev
;
1724 return fra
.me
.REG
[0];
1726 val_t
string_search___String___search_from(val_t p0
, val_t p1
, val_t p2
){
1727 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1730 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1731 fra
.me
.file
= LOCATE_string_search
;
1733 fra
.me
.meth
= LOCATE_string_search___String___search_from
;
1734 fra
.me
.has_broke
= 0;
1735 fra
.me
.REG_size
= 2;
1736 fra
.me
.REG
[0] = NIT_NULL
;
1737 fra
.me
.REG
[1] = NIT_NULL
;
1741 /* ./../lib/standard//string_search.nit:288 */
1742 fra
.me
.REG
[0] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1745 stack_frame_head
= fra
.me
.prev
;
1746 return fra
.me
.REG
[0];
1748 val_t
string_search___String___search_all(val_t p0
, val_t p1
){
1749 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1751 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1752 fra
.me
.file
= LOCATE_string_search
;
1754 fra
.me
.meth
= LOCATE_string_search___String___search_all
;
1755 fra
.me
.has_broke
= 0;
1756 fra
.me
.REG_size
= 2;
1757 fra
.me
.REG
[0] = NIT_NULL
;
1758 fra
.me
.REG
[1] = NIT_NULL
;
1761 /* ./../lib/standard//string_search.nit:297 */
1762 fra
.me
.REG
[0] = CALL_string_search___Pattern___search_all_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1765 stack_frame_head
= fra
.me
.prev
;
1766 return fra
.me
.REG
[0];
1768 val_t
string_search___String___split_with(val_t p0
, val_t p1
){
1769 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1773 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1774 fra
.me
.file
= LOCATE_string_search
;
1776 fra
.me
.meth
= LOCATE_string_search___String___split_with
;
1777 fra
.me
.has_broke
= 0;
1778 fra
.me
.REG_size
= 4;
1779 fra
.me
.REG
[0] = NIT_NULL
;
1780 fra
.me
.REG
[1] = NIT_NULL
;
1781 fra
.me
.REG
[2] = NIT_NULL
;
1782 fra
.me
.REG
[3] = NIT_NULL
;
1785 /* ./../lib/standard//string_search.nit:303 */
1786 fra
.me
.REG
[0] = CALL_string_search___Pattern___split_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1787 /* ./../lib/standard//collection//array.nit:23 */
1788 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1789 if (UNTAG_Bool(REGB0
)) {
1791 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1793 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1794 /* ./../lib/standard//string_search.nit:304 */
1795 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
1796 /* ./../lib/standard//collection//array.nit:234 */
1798 /* ./../lib/standard//collection//array.nit:235 */
1799 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1800 if (UNTAG_Bool(REGB1
)) {
1802 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1804 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1805 /* ./../lib/standard//collection//array.nit:236 */
1806 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[0]);
1807 /* ./../lib/standard//collection//array.nit:237 */
1809 /* ./../lib/standard//collection//array.nit:23 */
1810 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1811 if (UNTAG_Bool(REGB1
)) {
1813 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1815 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1816 /* ./../lib/standard//kernel.nit:212 */
1817 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1818 /* ./../lib/standard//collection//array.nit:237 */
1819 if (UNTAG_Bool(REGB1
)) {
1820 /* ./../lib/standard//collection//array.nit:238 */
1821 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1822 if (UNTAG_Bool(REGB1
)) {
1823 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1825 /* ./../lib/standard//collection//array.nit:654 */
1826 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1827 /* ./../lib/standard//string_search.nit:305 */
1828 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1829 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1830 /* ./../lib/standard//collection//array.nit:239 */
1832 /* ./../lib/standard//kernel.nit:215 */
1833 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1834 /* ./../lib/standard//collection//array.nit:239 */
1837 /* ./../lib/standard//collection//array.nit:237 */
1842 /* ./../lib/standard//string_search.nit:306 */
1845 stack_frame_head
= fra
.me
.prev
;
1846 return fra
.me
.REG
[1];
1848 val_t
string_search___String___split(val_t p0
){
1849 struct {struct stack_frame_t me
;} fra
;
1852 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1853 fra
.me
.file
= LOCATE_string_search
;
1855 fra
.me
.meth
= LOCATE_string_search___String___split
;
1856 fra
.me
.has_broke
= 0;
1857 fra
.me
.REG_size
= 1;
1858 fra
.me
.REG
[0] = NIT_NULL
;
1860 /* ./../lib/standard//string_search.nit:311 */
1861 REGB0
= TAG_Char('\n');
1862 fra
.me
.REG
[0] = CALL_string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1865 stack_frame_head
= fra
.me
.prev
;
1866 return fra
.me
.REG
[0];