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 fprintf(stderr
, "Deferred method called");
14 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 21);
16 stack_frame_head
= fra
.me
.prev
;
19 val_t
string_search___Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
20 struct {struct stack_frame_t me
;} fra
;
22 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
23 fra
.me
.file
= LOCATE_string_search
;
25 fra
.me
.meth
= LOCATE_string_search___Pattern___search_in
;
28 /* ./../lib/standard//string_search.nit:26 */
29 fprintf(stderr
, "Deferred method called");
30 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 26);
32 stack_frame_head
= fra
.me
.prev
;
35 val_t
string_search___Pattern___search_all_in(val_t p0
, val_t p1
){
36 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
40 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
41 fra
.me
.file
= LOCATE_string_search
;
43 fra
.me
.meth
= LOCATE_string_search___Pattern___search_all_in
;
46 fra
.me
.REG
[0] = NIT_NULL
;
47 fra
.me
.REG
[1] = NIT_NULL
;
48 fra
.me
.REG
[2] = NIT_NULL
;
49 fra
.me
.REG
[3] = NIT_NULL
;
50 fra
.me
.REG
[4] = NIT_NULL
;
53 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
55 fra
.me
.REG
[3] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
56 /* ./../lib/standard//string_search.nit:35 */
58 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
59 if (UNTAG_Bool(REGB0
)) {
61 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
62 if (UNTAG_Bool(REGB1
)) {
63 REGB1
= TAG_Bool(false);
66 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
70 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
71 if (UNTAG_Bool(REGB0
)) {
72 /* ./../lib/standard//string_search.nit:36 */
73 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
74 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
75 /* ./../lib/standard//string_search.nit:37 */
76 if (UNTAG_Bool(REGB0
)) {
77 fprintf(stderr
, "Reciever is null");
78 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 37);
81 REGB0
= CALL_string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
82 fra
.me
.REG
[4] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
83 fra
.me
.REG
[3] = fra
.me
.REG
[4];
85 /* ./../lib/standard//string_search.nit:35 */
90 /* ./../lib/standard//string_search.nit:39 */
93 stack_frame_head
= fra
.me
.prev
;
96 val_t
string_search___Pattern___split_in(val_t p0
, val_t p1
){
97 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
102 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
103 fra
.me
.file
= LOCATE_string_search
;
105 fra
.me
.meth
= LOCATE_string_search___Pattern___split_in
;
106 fra
.me
.has_broke
= 0;
108 fra
.me
.REG
[0] = NIT_NULL
;
109 fra
.me
.REG
[1] = NIT_NULL
;
110 fra
.me
.REG
[2] = NIT_NULL
;
111 fra
.me
.REG
[3] = NIT_NULL
;
112 fra
.me
.REG
[4] = NIT_NULL
;
115 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
118 fra
.me
.REG
[3] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
119 /* ./../lib/standard//string_search.nit:48 */
121 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
122 if (UNTAG_Bool(REGB1
)) {
124 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
125 if (UNTAG_Bool(REGB2
)) {
126 REGB2
= TAG_Bool(false);
129 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
133 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
134 if (UNTAG_Bool(REGB1
)) {
135 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
136 /* ./../lib/standard//string_search.nit:50 */
137 if (UNTAG_Bool(REGB1
)) {
138 fprintf(stderr
, "Reciever is null");
139 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 50);
142 REGB1
= CALL_string_search___Match___from(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
143 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
144 fra
.me
.REG
[4] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
145 /* ./../lib/standard//string_search.nit:51 */
146 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
147 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
148 /* ./../lib/standard//string_search.nit:52 */
149 if (UNTAG_Bool(REGB1
)) {
150 fprintf(stderr
, "Reciever is null");
151 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 52);
154 REGB1
= CALL_string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
156 fra
.me
.REG
[4] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
157 fra
.me
.REG
[3] = fra
.me
.REG
[4];
158 /* ./../lib/standard//string_search.nit:53 */
160 /* ./../lib/standard//string_search.nit:48 */
165 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
166 /* ./../lib/standard//collection//array.nit:23 */
167 if (UNTAG_Bool(REGB1
)) {
169 fprintf(stderr
, "Uninitialized attribute %s", "_length");
170 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
173 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
174 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
175 fra
.me
.REG
[1] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
176 /* ./../lib/standard//string_search.nit:56 */
177 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[1]);
178 /* ./../lib/standard//string_search.nit:57 */
181 stack_frame_head
= fra
.me
.prev
;
182 return fra
.me
.REG
[2];
184 void string_search___Pattern___init(val_t p0
, int* init_table
){
185 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Pattern
].i
;
186 struct {struct stack_frame_t me
;} fra
;
188 if (init_table
[itpos0
]) return;
189 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
190 fra
.me
.file
= LOCATE_string_search
;
192 fra
.me
.meth
= LOCATE_string_search___Pattern___init
;
193 fra
.me
.has_broke
= 0;
195 stack_frame_head
= fra
.me
.prev
;
196 init_table
[itpos0
] = 1;
199 val_t
string_search___BM_Pattern___to_s(val_t p0
){
200 struct {struct stack_frame_t me
;} fra
;
203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
204 fra
.me
.file
= LOCATE_string_search
;
206 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___to_s
;
207 fra
.me
.has_broke
= 0;
209 fra
.me
.REG
[0] = NIT_NULL
;
211 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
212 /* ./../lib/standard//string_search.nit:67 */
213 if (UNTAG_Bool(REGB0
)) {
215 fprintf(stderr
, "Uninitialized attribute %s", "_motif");
216 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 67);
219 fra
.me
.REG
[0] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
222 stack_frame_head
= fra
.me
.prev
;
223 return fra
.me
.REG
[0];
225 val_t
string_search___BM_Pattern___search_index_in(val_t p0
, val_t p1
, val_t p2
){
226 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
236 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
237 fra
.me
.file
= LOCATE_string_search
;
239 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___search_index_in
;
240 fra
.me
.has_broke
= 0;
242 fra
.me
.REG
[0] = NIT_NULL
;
243 fra
.me
.REG
[1] = NIT_NULL
;
244 fra
.me
.REG
[2] = NIT_NULL
;
249 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
250 /* ./../lib/standard//string_search.nit:72 */
251 if (UNTAG_Bool(REGB1
)) {
253 fprintf(stderr
, "Assert failed");
254 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 72);
257 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
258 /* ./../lib/standard//collection//array.nit:23 */
259 if (UNTAG_Bool(REGB1
)) {
261 fprintf(stderr
, "Uninitialized attribute %s", "_length");
262 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
265 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
266 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
267 /* ./../lib/standard//string_search.nit:74 */
268 if (UNTAG_Bool(REGB2
)) {
270 fprintf(stderr
, "Uninitialized attribute %s", "_length");
271 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 74);
274 REGB2
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
275 /* ./../lib/standard//string_search.nit:77 */
277 REGB3
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
279 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
280 REGB4
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB4
));
281 /* ./../lib/standard//string_search.nit:77 */
282 if (UNTAG_Bool(REGB4
)) {
284 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB4
));
285 /* ./../lib/standard//string_search.nit:79 */
288 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB3
));
289 /* ./../lib/standard//string_search.nit:79 */
290 if (UNTAG_Bool(REGB3
)) {
291 REGB3
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
292 if (UNTAG_Bool(REGB3
)) {
294 fprintf(stderr
, "Uninitialized attribute %s", "_motif");
295 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 79);
298 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
299 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB4
);
300 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
301 REGB5
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB5
);
302 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB5
));
303 /* ./../lib/standard//string_search.nit:79 */
304 if (UNTAG_Bool(REGB6
)) {
306 REGB5
= TAG_Bool((REGB3
)==(REGB5
));
308 /* ./../lib/standard//string_search.nit:79 */
311 REGB5
= TAG_Bool(false);
314 if (UNTAG_Bool(REGB6
)) {
316 REGB6
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB6
));
318 /* ./../lib/standard//string_search.nit:79 */
325 REGB6
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB6
));
326 /* ./../lib/standard//string_search.nit:80 */
327 if (UNTAG_Bool(REGB6
)) {
329 /* ./../lib/standard//string_search.nit:81 */
332 REGB5
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
333 /* ./../lib/standard//string_search.nit:83 */
334 if (UNTAG_Bool(REGB5
)) {
336 fprintf(stderr
, "Uninitialized attribute %s", "_gs");
337 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 83);
340 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
343 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB3
));
344 /* ./../lib/standard//collection//array.nit:233 */
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 fprintf(stderr
, "Uninitialized attribute %s", "_length");
350 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
353 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
354 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB3
));
355 /* ./../lib/standard//collection//array.nit:233 */
357 REGB7
= TAG_Bool(false);
360 if (UNTAG_Bool(REGB3
)) {
362 fprintf(stderr
, "Assert %s failed", "'index'");
363 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
366 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
367 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
368 /* ./../lib/standard//collection//array.nit:234 */
369 if (UNTAG_Bool(REGB3
)) {
370 fprintf(stderr
, "Reciever is null");
371 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
374 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
375 /* ./../lib/standard//collection//array.nit:234 */
378 REGB5
= fra
.me
.REG
[2];
379 REGB3
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
380 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
381 REGB3
= CALL_string_search___BM_Pattern___bc(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
382 REGB3
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
384 REGB7
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB7
));
385 REGB4
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB4
));
386 REGB7
= TAG_Bool(UNTAG_Int(REGB5
)>UNTAG_Int(REGB4
));
387 /* ./../lib/standard//string_search.nit:86 */
388 if (UNTAG_Bool(REGB7
)) {
389 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
391 /* ./../lib/standard//string_search.nit:87 */
393 REGB4
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB4
));
395 /* ./../lib/standard//string_search.nit:89 */
399 /* ./../lib/standard//string_search.nit:77 */
405 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
407 /* ./../lib/standard//string_search.nit:93 */
410 stack_frame_head
= fra
.me
.prev
;
413 val_t
string_search___BM_Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
414 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
418 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
419 fra
.me
.file
= LOCATE_string_search
;
421 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___search_in
;
422 fra
.me
.has_broke
= 0;
424 fra
.me
.REG
[0] = NIT_NULL
;
425 fra
.me
.REG
[1] = NIT_NULL
;
426 fra
.me
.REG
[2] = NIT_NULL
;
430 REGB0
= CALL_string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
432 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
433 /* ./../lib/standard//string_search.nit:100 */
434 if (UNTAG_Bool(REGB1
)) {
435 fra
.me
.REG
[2] = NIT_NULL
;
436 /* ./../lib/standard//string_search.nit:101 */
439 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
440 /* ./../lib/standard//string_search.nit:103 */
441 if (UNTAG_Bool(REGB1
)) {
443 fprintf(stderr
, "Uninitialized attribute %s", "_length");
444 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 103);
447 REGB1
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
448 fra
.me
.REG
[1] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
449 fra
.me
.REG
[2] = fra
.me
.REG
[1];
453 stack_frame_head
= fra
.me
.prev
;
454 return fra
.me
.REG
[2];
456 void string_search___BM_Pattern___init(val_t p0
, val_t p1
, int* init_table
){
457 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_BM_Pattern
].i
;
458 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
461 if (init_table
[itpos1
]) return;
462 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
463 fra
.me
.file
= LOCATE_string_search
;
465 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___init
;
466 fra
.me
.has_broke
= 0;
468 fra
.me
.REG
[0] = NIT_NULL
;
469 fra
.me
.REG
[1] = NIT_NULL
;
470 fra
.me
.REG
[2] = NIT_NULL
;
473 fra
.me
.REG
[2] = fra
.me
.REG
[0];
474 /* ./../lib/standard//string_search.nit:107 */
475 CALL_string_search___Pattern___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
476 /* ./../lib/standard//string_search.nit:110 */
477 ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
478 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
479 /* ./../lib/standard//collection//array.nit:23 */
480 if (UNTAG_Bool(REGB0
)) {
482 fprintf(stderr
, "Uninitialized attribute %s", "_length");
483 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
486 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
487 /* ./../lib/standard//string_search.nit:111 */
488 ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[2]) = REGB0
;
489 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[2])!=NIT_NULL
);
490 /* ./../lib/standard//string_search.nit:112 */
491 if (UNTAG_Bool(REGB0
)) {
493 fprintf(stderr
, "Uninitialized attribute %s", "_length");
494 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 112);
497 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[2]);
498 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
499 ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
500 fra
.me
.REG
[1] = NEW_ArrayMap_array___ArrayMap___init();
501 /* ./../lib/standard//string_search.nit:113 */
502 ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
503 /* ./../lib/standard//string_search.nit:114 */
504 CALL_string_search___BM_Pattern___compute_gs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
505 /* ./../lib/standard//string_search.nit:115 */
506 CALL_string_search___BM_Pattern___compute_bc(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
507 stack_frame_head
= fra
.me
.prev
;
508 init_table
[itpos1
] = 1;
511 val_t
string_search___BM_Pattern___bc(val_t p0
, val_t p1
){
512 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
516 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
517 fra
.me
.file
= LOCATE_string_search
;
519 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___bc
;
520 fra
.me
.has_broke
= 0;
522 fra
.me
.REG
[0] = NIT_NULL
;
523 fra
.me
.REG
[1] = NIT_NULL
;
526 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
527 /* ./../lib/standard//string_search.nit:126 */
528 if (UNTAG_Bool(REGB1
)) {
530 fprintf(stderr
, "Uninitialized attribute %s", "_bc_table");
531 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 126);
534 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
535 REGB1
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
536 if (UNTAG_Bool(REGB1
)) {
537 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
538 /* ./../lib/standard//string_search.nit:127 */
539 if (UNTAG_Bool(REGB1
)) {
541 fprintf(stderr
, "Uninitialized attribute %s", "_bc_table");
542 fprintf(stderr
, " (%s:%d)\n", 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 REGB1
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
551 /* ./../lib/standard//string_search.nit:129 */
552 if (UNTAG_Bool(REGB1
)) {
554 fprintf(stderr
, "Uninitialized attribute %s", "_length");
555 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 129);
558 REGB1
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
563 stack_frame_head
= fra
.me
.prev
;
566 void string_search___BM_Pattern___compute_bc(val_t p0
){
567 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
574 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
575 fra
.me
.file
= LOCATE_string_search
;
577 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___compute_bc
;
578 fra
.me
.has_broke
= 0;
580 fra
.me
.REG
[0] = NIT_NULL
;
581 fra
.me
.REG
[1] = NIT_NULL
;
582 fra
.me
.REG
[2] = NIT_NULL
;
584 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
585 /* ./../lib/standard//string_search.nit:141 */
586 if (UNTAG_Bool(REGB0
)) {
588 fprintf(stderr
, "Uninitialized attribute %s", "_motif");
589 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 141);
592 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
593 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
594 /* ./../lib/standard//string_search.nit:142 */
595 if (UNTAG_Bool(REGB0
)) {
597 fprintf(stderr
, "Uninitialized attribute %s", "_length");
598 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 142);
601 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
603 /* ./../lib/standard//string_search.nit:144 */
606 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
607 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
608 /* ./../lib/standard//string_search.nit:144 */
609 if (UNTAG_Bool(REGB2
)) {
610 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
611 /* ./../lib/standard//string_search.nit:145 */
612 if (UNTAG_Bool(REGB2
)) {
614 fprintf(stderr
, "Uninitialized attribute %s", "_bc_table");
615 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 145);
618 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
619 REGB2
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
620 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
622 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
623 /* ./../lib/standard//string_search.nit:145 */
624 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
626 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
628 /* ./../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 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
659 /* ./../lib/standard//string_search.nit:152 */
660 if (UNTAG_Bool(REGB0
)) {
662 fprintf(stderr
, "Uninitialized attribute %s", "_motif");
663 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 152);
666 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
667 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
668 /* ./../lib/standard//string_search.nit:153 */
669 if (UNTAG_Bool(REGB0
)) {
671 fprintf(stderr
, "Uninitialized attribute %s", "_length");
672 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 153);
675 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
676 fra
.me
.REG
[0] = NEW_Array_array___Array___filled_with(REGB0
, REGB0
);
679 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
681 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
682 /* ./../lib/standard//string_search.nit:159 */
685 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
686 /* ./../lib/standard//string_search.nit:159 */
687 if (UNTAG_Bool(REGB4
)) {
688 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
689 /* ./../lib/standard//string_search.nit:160 */
690 if (UNTAG_Bool(REGB4
)) {
691 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
693 REGB5
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB5
));
694 REGB5
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB1
));
695 fra
.me
.REG
[2] = fra
.me
.REG
[0];
697 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
698 /* ./../lib/standard//collection//array.nit:233 */
699 if (UNTAG_Bool(REGB4
)) {
700 REGB4
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
701 if (UNTAG_Bool(REGB4
)) {
703 fprintf(stderr
, "Uninitialized attribute %s", "_length");
704 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
707 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
708 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
709 /* ./../lib/standard//collection//array.nit:233 */
711 REGB6
= TAG_Bool(false);
714 if (UNTAG_Bool(REGB4
)) {
716 fprintf(stderr
, "Assert %s failed", "'index'");
717 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
720 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
721 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
722 /* ./../lib/standard//collection//array.nit:234 */
723 if (UNTAG_Bool(REGB4
)) {
724 fprintf(stderr
, "Reciever is null");
725 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
728 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
729 /* ./../lib/standard//collection//array.nit:234 */
732 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
733 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
734 /* ./../lib/standard//string_search.nit:160 */
735 if (UNTAG_Bool(REGB4
)) {
736 fprintf(stderr
, "Reciever is null");
737 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 160);
740 REGB5
= TAG_Bool(UNTAG_Int(fra
.me
.REG
[2])<UNTAG_Int(REGB5
));
741 /* ./../lib/standard//string_search.nit:160 */
743 REGB4
= TAG_Bool(false);
746 if (UNTAG_Bool(REGB5
)) {
747 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
749 REGB4
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB4
));
750 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
751 fra
.me
.REG
[2] = fra
.me
.REG
[0];
753 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
754 /* ./../lib/standard//collection//array.nit:233 */
755 if (UNTAG_Bool(REGB5
)) {
756 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
757 if (UNTAG_Bool(REGB5
)) {
759 fprintf(stderr
, "Uninitialized attribute %s", "_length");
760 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
763 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
764 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
765 /* ./../lib/standard//collection//array.nit:233 */
767 REGB6
= TAG_Bool(false);
770 if (UNTAG_Bool(REGB5
)) {
772 fprintf(stderr
, "Assert %s failed", "'index'");
773 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
776 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
777 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
778 /* ./../lib/standard//collection//array.nit:234 */
779 if (UNTAG_Bool(REGB5
)) {
780 fprintf(stderr
, "Reciever is null");
781 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
784 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
785 /* ./../lib/standard//collection//array.nit:234 */
788 /* ./../lib/standard//string_search.nit:161 */
789 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, fra
.me
.REG
[2]);
791 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
792 /* ./../lib/standard//string_search.nit:163 */
793 if (UNTAG_Bool(REGB4
)) {
797 /* ./../lib/standard//string_search.nit:165 */
800 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB4
));
801 /* ./../lib/standard//string_search.nit:165 */
802 if (UNTAG_Bool(REGB4
)) {
803 REGB4
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
804 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
806 REGB6
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB6
));
807 REGB6
= TAG_Int(UNTAG_Int(REGB6
)-UNTAG_Int(REGB1
));
808 REGB6
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB6
);
809 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB6
));
810 /* ./../lib/standard//string_search.nit:165 */
811 if (UNTAG_Bool(REGB5
)) {
813 REGB6
= TAG_Bool((REGB4
)==(REGB6
));
815 /* ./../lib/standard//string_search.nit:165 */
818 REGB6
= TAG_Bool(false);
821 if (UNTAG_Bool(REGB5
)) {
823 REGB5
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB5
));
825 /* ./../lib/standard//string_search.nit:165 */
831 REGB5
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
832 /* ./../lib/standard//string_search.nit:166 */
833 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB5
);
836 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
838 /* ./../lib/standard//string_search.nit:168 */
840 /* ./../lib/standard//string_search.nit:159 */
845 /* ./../lib/standard//string_search.nit:170 */
848 stack_frame_head
= fra
.me
.prev
;
849 return fra
.me
.REG
[0];
851 void string_search___BM_Pattern___compute_gs(val_t p0
){
852 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
861 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
862 fra
.me
.file
= LOCATE_string_search
;
864 fra
.me
.meth
= LOCATE_string_search___BM_Pattern___compute_gs
;
865 fra
.me
.has_broke
= 0;
867 fra
.me
.REG
[0] = NIT_NULL
;
868 fra
.me
.REG
[1] = NIT_NULL
;
869 fra
.me
.REG
[2] = NIT_NULL
;
870 fra
.me
.REG
[3] = NIT_NULL
;
872 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
873 /* ./../lib/standard//string_search.nit:175 */
874 if (UNTAG_Bool(REGB0
)) {
876 fprintf(stderr
, "Uninitialized attribute %s", "_motif");
877 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 175);
880 fra
.me
.REG
[1] = ATTR_string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
881 REGB0
= TAG_Bool(ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
882 /* ./../lib/standard//string_search.nit:176 */
883 if (UNTAG_Bool(REGB0
)) {
885 fprintf(stderr
, "Uninitialized attribute %s", "_length");
886 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 176);
889 REGB0
= ATTR_string_search___BM_Pattern____length(fra
.me
.REG
[0]);
890 fra
.me
.REG
[1] = CALL_string_search___BM_Pattern___suffixes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
892 /* ./../lib/standard//string_search.nit:179 */
894 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
895 /* ./../lib/standard//string_search.nit:179 */
896 if (UNTAG_Bool(REGB2
)) {
897 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
898 /* ./../lib/standard//string_search.nit:180 */
899 if (UNTAG_Bool(REGB2
)) {
901 fprintf(stderr
, "Uninitialized attribute %s", "_gs");
902 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 180);
905 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
906 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
, REGB0
);
908 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
910 /* ./../lib/standard//string_search.nit:181 */
912 /* ./../lib/standard//string_search.nit:179 */
919 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
921 /* ./../lib/standard//string_search.nit:185 */
924 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
925 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
926 /* ./../lib/standard//string_search.nit:185 */
927 if (UNTAG_Bool(REGB3
)) {
929 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
930 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB3
));
931 /* ./../lib/standard//string_search.nit:186 */
932 if (UNTAG_Bool(REGB4
)) {
934 REGB3
= TAG_Bool((REGB1
)==(REGB3
));
936 /* ./../lib/standard//string_search.nit:186 */
938 if (UNTAG_Bool(REGB4
)) {
939 REGB4
= TAG_Bool(true);
941 fra
.me
.REG
[2] = fra
.me
.REG
[1];
944 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB5
));
945 /* ./../lib/standard//collection//array.nit:233 */
946 if (UNTAG_Bool(REGB5
)) {
947 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
948 if (UNTAG_Bool(REGB5
)) {
950 fprintf(stderr
, "Uninitialized attribute %s", "_length");
951 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
954 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
955 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
956 /* ./../lib/standard//collection//array.nit:233 */
958 REGB6
= TAG_Bool(false);
961 if (UNTAG_Bool(REGB5
)) {
963 fprintf(stderr
, "Assert %s failed", "'index'");
964 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
967 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
968 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
969 /* ./../lib/standard//collection//array.nit:234 */
970 if (UNTAG_Bool(REGB5
)) {
971 fprintf(stderr
, "Reciever is null");
972 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
975 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
976 /* ./../lib/standard//collection//array.nit:234 */
980 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
981 REGB5
= TAG_Bool(IS_EQUAL_ON(REGB3
,fra
.me
.REG
[2]));
982 /* ./../lib/standard//string_search.nit:186 */
983 if (UNTAG_Bool(REGB5
)) {
985 REGB6
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
986 if (UNTAG_Bool(REGB6
)) {
987 REGB6
= TAG_Bool(false);
990 REGB3
= TAG_Bool((fra
.me
.REG
[2])==(REGB3
));
992 /* ./../lib/standard//string_search.nit:186 */
997 if (UNTAG_Bool(REGB4
)) {
998 /* ./../lib/standard//string_search.nit:187 */
1001 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1002 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1003 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB4
));
1004 /* ./../lib/standard//string_search.nit:187 */
1005 if (UNTAG_Bool(REGB4
)) {
1006 REGB4
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1007 /* ./../lib/standard//string_search.nit:188 */
1008 if (UNTAG_Bool(REGB4
)) {
1010 fprintf(stderr
, "Uninitialized attribute %s", "_gs");
1011 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 188);
1014 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1017 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1018 /* ./../lib/standard//collection//array.nit:233 */
1019 if (UNTAG_Bool(REGB5
)) {
1020 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1021 if (UNTAG_Bool(REGB5
)) {
1023 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1024 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1027 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1028 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1029 /* ./../lib/standard//collection//array.nit:233 */
1031 REGB3
= TAG_Bool(false);
1034 if (UNTAG_Bool(REGB5
)) {
1036 fprintf(stderr
, "Assert %s failed", "'index'");
1037 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1040 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1041 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1042 /* ./../lib/standard//collection//array.nit:234 */
1043 if (UNTAG_Bool(REGB5
)) {
1044 fprintf(stderr
, "Reciever is null");
1045 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
1048 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
1049 /* ./../lib/standard//collection//array.nit:234 */
1052 REGB4
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[2]));
1053 /* ./../lib/standard//string_search.nit:188 */
1054 if (UNTAG_Bool(REGB4
)) {
1056 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1057 if (UNTAG_Bool(REGB5
)) {
1058 REGB5
= TAG_Bool(false);
1061 REGB5
= TAG_Bool((fra
.me
.REG
[2])==(REGB0
));
1063 /* ./../lib/standard//string_search.nit:188 */
1066 if (UNTAG_Bool(REGB4
)) {
1067 REGB4
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1068 if (UNTAG_Bool(REGB4
)) {
1070 fprintf(stderr
, "Uninitialized attribute %s", "_gs");
1071 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 188);
1074 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1076 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1077 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1078 /* ./../lib/standard//string_search.nit:188 */
1079 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1082 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
1084 /* ./../lib/standard//string_search.nit:189 */
1086 /* ./../lib/standard//string_search.nit:187 */
1093 REGB4
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB4
));
1095 /* ./../lib/standard//string_search.nit:192 */
1097 /* ./../lib/standard//string_search.nit:185 */
1104 /* ./../lib/standard//string_search.nit:195 */
1107 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1108 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1109 /* ./../lib/standard//string_search.nit:195 */
1110 if (UNTAG_Bool(REGB2
)) {
1111 REGB2
= TAG_Bool(ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1112 /* ./../lib/standard//string_search.nit:196 */
1113 if (UNTAG_Bool(REGB2
)) {
1115 fprintf(stderr
, "Uninitialized attribute %s", "_gs");
1116 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 196);
1119 fra
.me
.REG
[2] = ATTR_string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1121 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1122 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1125 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1126 /* ./../lib/standard//collection//array.nit:233 */
1127 if (UNTAG_Bool(REGB5
)) {
1128 REGB5
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1129 if (UNTAG_Bool(REGB5
)) {
1131 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1132 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1135 REGB5
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1136 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1137 /* ./../lib/standard//collection//array.nit:233 */
1139 REGB3
= TAG_Bool(false);
1142 if (UNTAG_Bool(REGB5
)) {
1144 fprintf(stderr
, "Assert %s failed", "'index'");
1145 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1148 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1149 REGB5
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1150 /* ./../lib/standard//collection//array.nit:234 */
1151 if (UNTAG_Bool(REGB5
)) {
1152 fprintf(stderr
, "Reciever is null");
1153 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
1156 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB4
)];
1157 /* ./../lib/standard//collection//array.nit:234 */
1160 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(fra
.me
.REG
[3]));
1162 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1163 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1164 /* ./../lib/standard//string_search.nit:196 */
1165 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1167 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1169 /* ./../lib/standard//string_search.nit:197 */
1171 /* ./../lib/standard//string_search.nit:195 */
1176 stack_frame_head
= fra
.me
.prev
;
1179 val_t
string_search___Match___to_s(val_t p0
){
1180 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1185 fra
.me
.file
= LOCATE_string_search
;
1187 fra
.me
.meth
= LOCATE_string_search___Match___to_s
;
1188 fra
.me
.has_broke
= 0;
1189 fra
.me
.REG_size
= 2;
1190 fra
.me
.REG
[0] = NIT_NULL
;
1191 fra
.me
.REG
[1] = NIT_NULL
;
1193 REGB0
= TAG_Bool(ATTR_string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1194 /* ./../lib/standard//string_search.nit:218 */
1195 if (UNTAG_Bool(REGB0
)) {
1197 fprintf(stderr
, "Uninitialized attribute %s", "_string");
1198 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 218);
1201 fra
.me
.REG
[1] = ATTR_string_search___Match____string(fra
.me
.REG
[0]);
1202 REGB0
= TAG_Bool(ATTR_string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1203 if (UNTAG_Bool(REGB0
)) {
1205 fprintf(stderr
, "Uninitialized attribute %s", "_from");
1206 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 218);
1209 REGB0
= ATTR_string_search___Match____from(fra
.me
.REG
[0]);
1210 REGB1
= TAG_Bool(ATTR_string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1211 if (UNTAG_Bool(REGB1
)) {
1213 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1214 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 218);
1217 REGB1
= ATTR_string_search___Match____length(fra
.me
.REG
[0]);
1218 fra
.me
.REG
[1] = CALL_string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB1
);
1221 stack_frame_head
= fra
.me
.prev
;
1222 return fra
.me
.REG
[1];
1224 val_t
string_search___Match___string(val_t p0
){
1225 struct {struct stack_frame_t me
;} fra
;
1228 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1229 fra
.me
.file
= LOCATE_string_search
;
1231 fra
.me
.meth
= LOCATE_string_search___Match___string
;
1232 fra
.me
.has_broke
= 0;
1233 fra
.me
.REG_size
= 1;
1234 fra
.me
.REG
[0] = NIT_NULL
;
1236 REGB0
= TAG_Bool(ATTR_string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1237 /* ./../lib/standard//string_search.nit:204 */
1238 if (UNTAG_Bool(REGB0
)) {
1240 fprintf(stderr
, "Uninitialized attribute %s", "_string");
1241 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 204);
1244 fra
.me
.REG
[0] = ATTR_string_search___Match____string(fra
.me
.REG
[0]);
1245 stack_frame_head
= fra
.me
.prev
;
1246 return fra
.me
.REG
[0];
1248 val_t
string_search___Match___from(val_t p0
){
1249 struct {struct stack_frame_t me
;} fra
;
1252 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1253 fra
.me
.file
= LOCATE_string_search
;
1255 fra
.me
.meth
= LOCATE_string_search___Match___from
;
1256 fra
.me
.has_broke
= 0;
1257 fra
.me
.REG_size
= 1;
1258 fra
.me
.REG
[0] = NIT_NULL
;
1260 REGB0
= TAG_Bool(ATTR_string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1261 /* ./../lib/standard//string_search.nit:207 */
1262 if (UNTAG_Bool(REGB0
)) {
1264 fprintf(stderr
, "Uninitialized attribute %s", "_from");
1265 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 207);
1268 REGB0
= ATTR_string_search___Match____from(fra
.me
.REG
[0]);
1269 stack_frame_head
= fra
.me
.prev
;
1272 val_t
string_search___Match___length(val_t p0
){
1273 struct {struct stack_frame_t me
;} fra
;
1276 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1277 fra
.me
.file
= LOCATE_string_search
;
1279 fra
.me
.meth
= LOCATE_string_search___Match___length
;
1280 fra
.me
.has_broke
= 0;
1281 fra
.me
.REG_size
= 1;
1282 fra
.me
.REG
[0] = NIT_NULL
;
1284 REGB0
= TAG_Bool(ATTR_string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1285 /* ./../lib/standard//string_search.nit:210 */
1286 if (UNTAG_Bool(REGB0
)) {
1288 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1289 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 210);
1292 REGB0
= ATTR_string_search___Match____length(fra
.me
.REG
[0]);
1293 stack_frame_head
= fra
.me
.prev
;
1296 val_t
string_search___Match___after(val_t p0
){
1297 struct {struct stack_frame_t me
;} fra
;
1301 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1302 fra
.me
.file
= LOCATE_string_search
;
1304 fra
.me
.meth
= LOCATE_string_search___Match___after
;
1305 fra
.me
.has_broke
= 0;
1306 fra
.me
.REG_size
= 1;
1307 fra
.me
.REG
[0] = NIT_NULL
;
1309 REGB0
= TAG_Bool(ATTR_string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1310 /* ./../lib/standard//string_search.nit:215 */
1311 if (UNTAG_Bool(REGB0
)) {
1313 fprintf(stderr
, "Uninitialized attribute %s", "_from");
1314 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 215);
1317 REGB0
= ATTR_string_search___Match____from(fra
.me
.REG
[0]);
1318 REGB1
= TAG_Bool(ATTR_string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1319 if (UNTAG_Bool(REGB1
)) {
1321 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1322 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 215);
1325 REGB1
= ATTR_string_search___Match____length(fra
.me
.REG
[0]);
1326 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1327 /* ./../lib/standard//string_search.nit:215 */
1330 stack_frame_head
= fra
.me
.prev
;
1333 void string_search___Match___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1334 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Match
].i
;
1335 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1341 if (init_table
[itpos2
]) return;
1342 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1343 fra
.me
.file
= LOCATE_string_search
;
1345 fra
.me
.meth
= LOCATE_string_search___Match___init
;
1346 fra
.me
.has_broke
= 0;
1347 fra
.me
.REG_size
= 2;
1348 fra
.me
.REG
[0] = NIT_NULL
;
1349 fra
.me
.REG
[1] = NIT_NULL
;
1355 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1356 /* ./../lib/standard//string_search.nit:223 */
1357 if (UNTAG_Bool(REGB2
)) {
1359 fprintf(stderr
, "Assert %s failed", "'positive_length'");
1360 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 223);
1364 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
1365 /* ./../lib/standard//string_search.nit:224 */
1366 if (UNTAG_Bool(REGB2
)) {
1368 fprintf(stderr
, "Assert %s failed", "'valid_from'");
1369 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 224);
1372 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1373 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1374 /* ./../lib/standard//collection//array.nit:23 */
1375 if (UNTAG_Bool(REGB3
)) {
1377 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1378 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1381 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1382 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB3
));
1383 /* ./../lib/standard//string_search.nit:225 */
1384 if (UNTAG_Bool(REGB3
)) {
1386 fprintf(stderr
, "Assert %s failed", "'valid_after'");
1387 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 225);
1390 /* ./../lib/standard//string_search.nit:226 */
1391 ATTR_string_search___Match____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1392 /* ./../lib/standard//string_search.nit:227 */
1393 ATTR_string_search___Match____from(fra
.me
.REG
[0]) = REGB0
;
1394 /* ./../lib/standard//string_search.nit:228 */
1395 ATTR_string_search___Match____length(fra
.me
.REG
[0]) = REGB1
;
1396 stack_frame_head
= fra
.me
.prev
;
1397 init_table
[itpos2
] = 1;
1400 val_t
string_search___Char___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1401 struct {struct stack_frame_t me
;} fra
;
1408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1409 fra
.me
.file
= LOCATE_string_search
;
1411 fra
.me
.meth
= LOCATE_string_search___Char___search_index_in
;
1412 fra
.me
.has_broke
= 0;
1413 fra
.me
.REG_size
= 1;
1414 fra
.me
.REG
[0] = NIT_NULL
;
1418 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1419 /* ./../lib/standard//collection//array.nit:23 */
1420 if (UNTAG_Bool(REGB2
)) {
1422 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1423 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1426 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1427 /* ./../lib/standard//string_search.nit:237 */
1429 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1430 /* ./../lib/standard//string_search.nit:237 */
1431 if (UNTAG_Bool(REGB3
)) {
1432 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1433 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB0
));
1434 /* ./../lib/standard//string_search.nit:238 */
1435 if (UNTAG_Bool(REGB4
)) {
1437 REGB3
= TAG_Bool((REGB3
)==(REGB0
));
1439 /* ./../lib/standard//string_search.nit:238 */
1441 if (UNTAG_Bool(REGB4
)) {
1446 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1448 /* ./../lib/standard//string_search.nit:239 */
1450 /* ./../lib/standard//string_search.nit:237 */
1456 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
1458 /* ./../lib/standard//string_search.nit:241 */
1461 stack_frame_head
= fra
.me
.prev
;
1464 val_t
string_search___Char___search_in(val_t p0
, val_t p1
, val_t p2
){
1465 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1469 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1470 fra
.me
.file
= LOCATE_string_search
;
1472 fra
.me
.meth
= LOCATE_string_search___Char___search_in
;
1473 fra
.me
.has_broke
= 0;
1474 fra
.me
.REG_size
= 2;
1475 fra
.me
.REG
[0] = NIT_NULL
;
1476 fra
.me
.REG
[1] = NIT_NULL
;
1480 REGB1
= CALL_string_search___Pattern___search_index_in(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
);
1482 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1483 /* ./../lib/standard//string_search.nit:247 */
1484 if (UNTAG_Bool(REGB0
)) {
1485 fra
.me
.REG
[1] = NIT_NULL
;
1486 /* ./../lib/standard//string_search.nit:248 */
1490 fra
.me
.REG
[0] = NEW_Match_string_search___Match___init(fra
.me
.REG
[0], REGB1
, REGB0
);
1491 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1492 /* ./../lib/standard//string_search.nit:250 */
1496 stack_frame_head
= fra
.me
.prev
;
1497 return fra
.me
.REG
[1];
1499 val_t
string_search___String___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1500 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1508 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1509 fra
.me
.file
= LOCATE_string_search
;
1511 fra
.me
.meth
= LOCATE_string_search___String___search_index_in
;
1512 fra
.me
.has_broke
= 0;
1513 fra
.me
.REG_size
= 2;
1514 fra
.me
.REG
[0] = NIT_NULL
;
1515 fra
.me
.REG
[1] = NIT_NULL
;
1520 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1521 /* ./../lib/standard//string_search.nit:259 */
1522 if (UNTAG_Bool(REGB1
)) {
1524 fprintf(stderr
, "Assert failed");
1525 fprintf(stderr
, " (%s:%d)\n", LOCATE_string_search
, 259);
1528 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1529 /* ./../lib/standard//collection//array.nit:23 */
1530 if (UNTAG_Bool(REGB1
)) {
1532 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1533 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1536 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1537 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1538 if (UNTAG_Bool(REGB2
)) {
1540 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1541 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1544 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1545 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1547 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
1548 /* ./../lib/standard//string_search.nit:261 */
1550 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1551 /* ./../lib/standard//string_search.nit:261 */
1552 if (UNTAG_Bool(REGB2
)) {
1553 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1554 /* ./../lib/standard//collection//array.nit:23 */
1555 if (UNTAG_Bool(REGB2
)) {
1557 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1558 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1561 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1563 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
1564 /* ./../lib/standard//string_search.nit:263 */
1567 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB2
));
1568 /* ./../lib/standard//string_search.nit:263 */
1569 if (UNTAG_Bool(REGB2
)) {
1570 REGB2
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
1571 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1572 REGB4
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB4
);
1573 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
1574 /* ./../lib/standard//string_search.nit:263 */
1575 if (UNTAG_Bool(REGB5
)) {
1577 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
1579 /* ./../lib/standard//string_search.nit:263 */
1582 REGB4
= TAG_Bool(false);
1585 if (UNTAG_Bool(REGB5
)) {
1587 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
1589 /* ./../lib/standard//string_search.nit:263 */
1596 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
1597 /* ./../lib/standard//string_search.nit:265 */
1598 if (UNTAG_Bool(REGB5
)) {
1603 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1605 /* ./../lib/standard//string_search.nit:267 */
1607 /* ./../lib/standard//string_search.nit:261 */
1613 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
1615 /* ./../lib/standard//string_search.nit:269 */
1618 stack_frame_head
= fra
.me
.prev
;
1621 val_t
string_search___String___search_in(val_t p0
, val_t p1
, val_t p2
){
1622 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1626 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1627 fra
.me
.file
= LOCATE_string_search
;
1629 fra
.me
.meth
= LOCATE_string_search___String___search_in
;
1630 fra
.me
.has_broke
= 0;
1631 fra
.me
.REG_size
= 3;
1632 fra
.me
.REG
[0] = NIT_NULL
;
1633 fra
.me
.REG
[1] = NIT_NULL
;
1634 fra
.me
.REG
[2] = NIT_NULL
;
1638 REGB0
= CALL_string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1640 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1641 /* ./../lib/standard//string_search.nit:275 */
1642 if (UNTAG_Bool(REGB1
)) {
1643 fra
.me
.REG
[2] = NIT_NULL
;
1644 /* ./../lib/standard//string_search.nit:276 */
1647 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1648 /* ./../lib/standard//collection//array.nit:23 */
1649 if (UNTAG_Bool(REGB1
)) {
1651 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1652 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1655 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1656 fra
.me
.REG
[1] = NEW_Match_string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
1657 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1658 /* ./../lib/standard//string_search.nit:278 */
1662 stack_frame_head
= fra
.me
.prev
;
1663 return fra
.me
.REG
[2];
1665 val_t
string_search___String___search(val_t p0
, val_t p1
){
1666 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1669 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1670 fra
.me
.file
= LOCATE_string_search
;
1672 fra
.me
.meth
= LOCATE_string_search___String___search
;
1673 fra
.me
.has_broke
= 0;
1674 fra
.me
.REG_size
= 2;
1675 fra
.me
.REG
[0] = NIT_NULL
;
1676 fra
.me
.REG
[1] = NIT_NULL
;
1680 fra
.me
.REG
[0] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1681 /* ./../lib/standard//string_search.nit:283 */
1684 stack_frame_head
= fra
.me
.prev
;
1685 return fra
.me
.REG
[0];
1687 val_t
string_search___String___search_from(val_t p0
, val_t p1
, val_t p2
){
1688 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1691 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1692 fra
.me
.file
= LOCATE_string_search
;
1694 fra
.me
.meth
= LOCATE_string_search___String___search_from
;
1695 fra
.me
.has_broke
= 0;
1696 fra
.me
.REG_size
= 2;
1697 fra
.me
.REG
[0] = NIT_NULL
;
1698 fra
.me
.REG
[1] = NIT_NULL
;
1702 fra
.me
.REG
[0] = CALL_string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1703 /* ./../lib/standard//string_search.nit:288 */
1706 stack_frame_head
= fra
.me
.prev
;
1707 return fra
.me
.REG
[0];
1709 val_t
string_search___String___search_all(val_t p0
, val_t p1
){
1710 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1713 fra
.me
.file
= LOCATE_string_search
;
1715 fra
.me
.meth
= LOCATE_string_search___String___search_all
;
1716 fra
.me
.has_broke
= 0;
1717 fra
.me
.REG_size
= 2;
1718 fra
.me
.REG
[0] = NIT_NULL
;
1719 fra
.me
.REG
[1] = NIT_NULL
;
1722 fra
.me
.REG
[0] = CALL_string_search___Pattern___search_all_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1723 /* ./../lib/standard//string_search.nit:297 */
1726 stack_frame_head
= fra
.me
.prev
;
1727 return fra
.me
.REG
[0];
1729 val_t
string_search___String___split_with(val_t p0
, val_t p1
){
1730 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1734 fra
.me
.file
= LOCATE_string_search
;
1736 fra
.me
.meth
= LOCATE_string_search___String___split_with
;
1737 fra
.me
.has_broke
= 0;
1738 fra
.me
.REG_size
= 3;
1739 fra
.me
.REG
[0] = NIT_NULL
;
1740 fra
.me
.REG
[1] = NIT_NULL
;
1741 fra
.me
.REG
[2] = NIT_NULL
;
1744 fra
.me
.REG
[0] = CALL_string_search___Pattern___split_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1745 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1746 /* ./../lib/standard//collection//array.nit:23 */
1747 if (UNTAG_Bool(REGB0
)) {
1749 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1750 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1753 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1754 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
1755 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1756 /* ./../lib/standard//string_search.nit:305 */
1758 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1759 if (UNTAG_Bool(REGB0
)) {
1760 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1761 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1762 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1766 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1769 /* ./../lib/standard//string_search.nit:306 */
1772 stack_frame_head
= fra
.me
.prev
;
1773 return fra
.me
.REG
[1];
1775 val_t
string_search___String___split(val_t p0
){
1776 struct {struct stack_frame_t me
;} fra
;
1779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1780 fra
.me
.file
= LOCATE_string_search
;
1782 fra
.me
.meth
= LOCATE_string_search___String___split
;
1783 fra
.me
.has_broke
= 0;
1784 fra
.me
.REG_size
= 1;
1785 fra
.me
.REG
[0] = NIT_NULL
;
1787 REGB0
= TAG_Char('\n');
1788 fra
.me
.REG
[0] = CALL_string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1789 /* ./../lib/standard//string_search.nit:311 */
1792 stack_frame_head
= fra
.me
.prev
;
1793 return fra
.me
.REG
[0];