1 /* This C file is generated by NIT to compile module standard___string_search. */
2 #include "standard___string_search._sep.h"
3 static const char LOCATE_standard___string_search___Pattern___search_index_in
[] = "string_search::Pattern::search_index_in";
4 val_t
standard___string_search___Pattern___search_index_in(val_t p0
, val_t p1
, val_t p2
){
5 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_standard___string_search
;
10 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___search_index_in
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 /* ../lib/standard/string_search.nit:20 */
15 nit_abort("Deferred method called", NULL
, LOCATE_standard___string_search
, 20);
16 stack_frame_head
= fra
.me
.prev
;
19 static const char LOCATE_standard___string_search___Pattern___search_in
[] = "string_search::Pattern::search_in";
20 val_t
standard___string_search___Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
21 struct {struct stack_frame_t me
;} fra
;
23 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
24 fra
.me
.file
= LOCATE_standard___string_search
;
26 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___search_in
;
29 fra
.me
.nitni_local_ref_head
= NULL
;
30 /* ../lib/standard/string_search.nit:25 */
31 nit_abort("Deferred method called", NULL
, LOCATE_standard___string_search
, 25);
32 stack_frame_head
= fra
.me
.prev
;
35 static const char LOCATE_standard___string_search___Pattern___search_all_in
[] = "string_search::Pattern::search_all_in";
36 val_t
standard___string_search___Pattern___search_all_in(val_t p0
, val_t p1
){
37 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
41 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
42 fra
.me
.file
= LOCATE_standard___string_search
;
44 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___search_all_in
;
47 fra
.me
.nitni_local_ref_head
= NULL
;
48 fra
.me
.REG
[0] = NIT_NULL
;
49 fra
.me
.REG
[1] = NIT_NULL
;
50 fra
.me
.REG
[2] = NIT_NULL
;
51 fra
.me
.REG
[3] = NIT_NULL
;
52 fra
.me
.REG
[4] = NIT_NULL
;
55 /* ../lib/standard/string_search.nit:32 */
56 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
57 /* ../lib/standard/string_search.nit:33 */
59 fra
.me
.REG
[3] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
60 /* ../lib/standard/string_search.nit:34 */
62 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
63 if (UNTAG_Bool(REGB0
)) {
65 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
66 if (UNTAG_Bool(REGB1
)) {
70 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
74 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
75 if (UNTAG_Bool(REGB0
)) {
76 /* ../lib/standard/string_search.nit:35 */
77 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
78 /* ../lib/standard/string_search.nit:36 */
79 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
80 if (UNTAG_Bool(REGB0
)) {
81 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 36);
83 REGB0
= CALL_standard___string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
84 fra
.me
.REG
[4] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
85 fra
.me
.REG
[3] = fra
.me
.REG
[4];
87 /* ../lib/standard/string_search.nit:34 */
92 /* ../lib/standard/string_search.nit:38 */
95 stack_frame_head
= fra
.me
.prev
;
98 static const char LOCATE_standard___string_search___Pattern___split_in
[] = "string_search::Pattern::split_in";
99 val_t
standard___string_search___Pattern___split_in(val_t p0
, val_t p1
){
100 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
105 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
106 fra
.me
.file
= LOCATE_standard___string_search
;
108 fra
.me
.meth
= LOCATE_standard___string_search___Pattern___split_in
;
109 fra
.me
.has_broke
= 0;
111 fra
.me
.nitni_local_ref_head
= NULL
;
112 fra
.me
.REG
[0] = NIT_NULL
;
113 fra
.me
.REG
[1] = NIT_NULL
;
114 fra
.me
.REG
[2] = NIT_NULL
;
115 fra
.me
.REG
[3] = NIT_NULL
;
116 fra
.me
.REG
[4] = NIT_NULL
;
119 /* ../lib/standard/string_search.nit:44 */
120 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
121 /* ../lib/standard/string_search.nit:45 */
123 /* ../lib/standard/string_search.nit:46 */
125 fra
.me
.REG
[3] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
126 /* ../lib/standard/string_search.nit:47 */
128 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
129 if (UNTAG_Bool(REGB1
)) {
131 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
132 if (UNTAG_Bool(REGB2
)) {
136 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
140 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
141 if (UNTAG_Bool(REGB1
)) {
142 /* ../lib/standard/string_search.nit:49 */
143 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
144 if (UNTAG_Bool(REGB1
)) {
145 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 49);
147 REGB1
= CALL_standard___string_search___Match___from(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
148 /* ../lib/standard/kernel.nit:240 */
149 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
150 /* ../lib/standard/string_search.nit:50 */
151 fra
.me
.REG
[4] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
153 /* ../lib/standard/string_search.nit:51 */
154 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
155 if (UNTAG_Bool(REGB1
)) {
156 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 51);
158 REGB1
= CALL_standard___string_search___Match___after(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
160 /* ../lib/standard/string_search.nit:52 */
161 fra
.me
.REG
[4] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
162 fra
.me
.REG
[3] = fra
.me
.REG
[4];
164 /* ../lib/standard/string_search.nit:47 */
169 /* ../lib/standard/collection/array.nit:24 */
170 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
171 if (UNTAG_Bool(REGB1
)) {
173 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
175 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
176 /* ../lib/standard/kernel.nit:240 */
177 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
178 /* ../lib/standard/string_search.nit:55 */
179 fra
.me
.REG
[1] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
181 /* ../lib/standard/string_search.nit:56 */
184 stack_frame_head
= fra
.me
.prev
;
185 return fra
.me
.REG
[2];
187 static const char LOCATE_standard___string_search___BM_Pattern___to_s
[] = "string_search::BM_Pattern::(string::Object::to_s)";
188 val_t
standard___string_search___BM_Pattern___to_s(val_t p0
){
189 struct {struct stack_frame_t me
;} fra
;
192 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
193 fra
.me
.file
= LOCATE_standard___string_search
;
195 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___to_s
;
196 fra
.me
.has_broke
= 0;
198 fra
.me
.nitni_local_ref_head
= NULL
;
199 fra
.me
.REG
[0] = NIT_NULL
;
201 /* ../lib/standard/string_search.nit:67 */
202 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
203 if (UNTAG_Bool(REGB0
)) {
205 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 67);
207 fra
.me
.REG
[0] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
210 stack_frame_head
= fra
.me
.prev
;
211 return fra
.me
.REG
[0];
213 static const char LOCATE_standard___string_search___BM_Pattern___search_index_in
[] = "string_search::BM_Pattern::(string_search::Pattern::search_index_in)";
214 val_t
standard___string_search___BM_Pattern___search_index_in(val_t p0
, val_t p1
, val_t p2
){
215 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
225 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
226 fra
.me
.file
= LOCATE_standard___string_search
;
228 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___search_index_in
;
229 fra
.me
.has_broke
= 0;
231 fra
.me
.nitni_local_ref_head
= NULL
;
232 fra
.me
.REG
[0] = NIT_NULL
;
233 fra
.me
.REG
[1] = NIT_NULL
;
234 fra
.me
.REG
[2] = NIT_NULL
;
238 /* ../lib/standard/string_search.nit:72 */
240 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
241 if (UNTAG_Bool(REGB2
)) {
243 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
245 /* ../lib/standard/kernel.nit:236 */
246 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
247 /* ../lib/standard/string_search.nit:72 */
248 if (UNTAG_Bool(REGB1
)) {
250 nit_abort("Assert failed", NULL
, LOCATE_standard___string_search
, 72);
252 /* ../lib/standard/collection/array.nit:24 */
253 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
254 if (UNTAG_Bool(REGB1
)) {
256 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
258 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
259 /* ../lib/standard/string_search.nit:74 */
260 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
261 if (UNTAG_Bool(REGB2
)) {
263 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 74);
265 REGB2
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
266 /* ../lib/standard/string_search.nit:77 */
268 /* ../lib/standard/kernel.nit:240 */
269 REGB3
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
270 /* ../lib/standard/string_search.nit:77 */
272 /* ../lib/standard/kernel.nit:238 */
273 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
274 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
275 if (UNTAG_Bool(REGB3
)) {
277 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
279 /* ../lib/standard/kernel.nit:235 */
280 REGB4
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB4
));
281 /* ../lib/standard/string_search.nit:77 */
282 if (UNTAG_Bool(REGB4
)) {
283 /* ../lib/standard/string_search.nit:78 */
285 /* ../lib/standard/kernel.nit:240 */
286 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB4
));
287 /* ../lib/standard/string_search.nit:79 */
290 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
291 if (UNTAG_Bool(REGB5
)) {
293 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
295 /* ../lib/standard/kernel.nit:236 */
296 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB3
));
297 /* ../lib/standard/string_search.nit:79 */
298 if (UNTAG_Bool(REGB3
)) {
299 REGB3
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
300 if (UNTAG_Bool(REGB3
)) {
302 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 79);
304 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
305 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB4
);
306 /* ../lib/standard/kernel.nit:238 */
307 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
308 /* ../lib/standard/string_search.nit:79 */
309 REGB5
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB5
);
310 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB5
));
311 if (UNTAG_Bool(REGB6
)) {
313 /* ../lib/standard/kernel.nit:381 */
314 REGB5
= TAG_Bool((REGB3
)==(REGB5
));
315 /* ../lib/standard/string_search.nit:79 */
322 if (UNTAG_Bool(REGB6
)) {
324 /* ../lib/standard/kernel.nit:240 */
325 REGB6
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB6
));
326 /* ../lib/standard/string_search.nit:79 */
333 /* ../lib/standard/string_search.nit:80 */
335 REGB5
= TAG_Bool(VAL_ISA(REGB6
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
336 if (UNTAG_Bool(REGB5
)) {
338 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
340 /* ../lib/standard/kernel.nit:235 */
341 REGB6
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB6
));
342 /* ../lib/standard/string_search.nit:80 */
343 if (UNTAG_Bool(REGB6
)) {
344 /* ../lib/standard/string_search.nit:81 */
348 /* ../lib/standard/string_search.nit:83 */
349 REGB5
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
350 if (UNTAG_Bool(REGB5
)) {
352 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 83);
354 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
355 /* ../lib/standard/collection/array.nit:278 */
357 /* ../lib/standard/collection/array.nit:280 */
359 REGB7
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
360 if (UNTAG_Bool(REGB7
)) {
362 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
364 /* ../lib/standard/kernel.nit:236 */
365 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB3
));
366 /* ../lib/standard/collection/array.nit:280 */
367 if (UNTAG_Bool(REGB3
)) {
368 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
369 if (UNTAG_Bool(REGB3
)) {
371 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
373 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
374 REGB7
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
375 if (UNTAG_Bool(REGB7
)) {
377 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
379 /* ../lib/standard/kernel.nit:235 */
380 REGB3
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB3
));
382 /* ../lib/standard/collection/array.nit:280 */
386 if (UNTAG_Bool(REGB3
)) {
388 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
390 /* ../lib/standard/collection/array.nit:281 */
391 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
392 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
393 if (UNTAG_Bool(REGB3
)) {
394 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
396 /* ../lib/standard/collection/array.nit:718 */
397 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
398 /* ../lib/standard/collection/array.nit:281 */
401 /* ../lib/standard/string_search.nit:83 */
402 REGB5
= fra
.me
.REG
[2];
403 /* ../lib/standard/kernel.nit:238 */
404 REGB3
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
405 /* ../lib/standard/string_search.nit:84 */
406 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
407 REGB3
= CALL_standard___string_search___BM_Pattern___bc(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
408 /* ../lib/standard/kernel.nit:240 */
409 REGB3
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
410 /* ../lib/standard/string_search.nit:84 */
412 /* ../lib/standard/kernel.nit:238 */
413 REGB7
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB7
));
414 REGB4
= TAG_Int(UNTAG_Int(REGB7
)+UNTAG_Int(REGB4
));
415 REGB7
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
416 if (UNTAG_Bool(REGB7
)) {
418 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
420 /* ../lib/standard/kernel.nit:237 */
421 REGB7
= TAG_Bool(UNTAG_Int(REGB5
)>UNTAG_Int(REGB4
));
422 /* ../lib/standard/string_search.nit:86 */
423 if (UNTAG_Bool(REGB7
)) {
424 /* ../lib/standard/kernel.nit:238 */
425 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
426 /* ../lib/standard/string_search.nit:87 */
429 /* ../lib/standard/kernel.nit:238 */
430 REGB4
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB4
));
431 /* ../lib/standard/string_search.nit:89 */
436 /* ../lib/standard/string_search.nit:77 */
441 /* ../lib/standard/string_search.nit:93 */
443 /* ../lib/standard/kernel.nit:239 */
444 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
445 /* ../lib/standard/string_search.nit:93 */
449 stack_frame_head
= fra
.me
.prev
;
452 static const char LOCATE_standard___string_search___BM_Pattern___search_in
[] = "string_search::BM_Pattern::(string_search::Pattern::search_in)";
453 val_t
standard___string_search___BM_Pattern___search_in(val_t p0
, val_t p1
, val_t p2
){
454 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
459 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
460 fra
.me
.file
= LOCATE_standard___string_search
;
462 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___search_in
;
463 fra
.me
.has_broke
= 0;
465 fra
.me
.nitni_local_ref_head
= NULL
;
466 fra
.me
.REG
[0] = NIT_NULL
;
467 fra
.me
.REG
[1] = NIT_NULL
;
468 fra
.me
.REG
[2] = NIT_NULL
;
472 /* ../lib/standard/string_search.nit:99 */
473 REGB0
= CALL_standard___string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
474 /* ../lib/standard/string_search.nit:100 */
476 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
477 if (UNTAG_Bool(REGB2
)) {
479 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
481 /* ../lib/standard/kernel.nit:235 */
482 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
483 /* ../lib/standard/string_search.nit:100 */
484 if (UNTAG_Bool(REGB1
)) {
485 /* ../lib/standard/string_search.nit:101 */
486 fra
.me
.REG
[2] = NIT_NULL
;
489 /* ../lib/standard/string_search.nit:103 */
490 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
491 if (UNTAG_Bool(REGB1
)) {
493 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 103);
495 REGB1
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
496 fra
.me
.REG
[1] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
497 fra
.me
.REG
[2] = fra
.me
.REG
[1];
501 stack_frame_head
= fra
.me
.prev
;
502 return fra
.me
.REG
[2];
504 static const char LOCATE_standard___string_search___BM_Pattern___init
[] = "string_search::BM_Pattern::init";
505 void standard___string_search___BM_Pattern___init(val_t p0
, val_t p1
, int* init_table
){
506 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string_search___BM_Pattern
].i
;
507 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
510 if (init_table
[itpos0
]) return;
511 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
512 fra
.me
.file
= LOCATE_standard___string_search
;
514 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___init
;
515 fra
.me
.has_broke
= 0;
517 fra
.me
.nitni_local_ref_head
= NULL
;
518 fra
.me
.REG
[0] = NIT_NULL
;
519 fra
.me
.REG
[1] = NIT_NULL
;
522 /* ../lib/standard/string_search.nit:110 */
523 ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
524 /* ../lib/standard/collection/array.nit:24 */
525 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
526 if (UNTAG_Bool(REGB0
)) {
528 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
530 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
531 /* ../lib/standard/string_search.nit:111 */
532 ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]) = REGB0
;
533 /* ../lib/standard/string_search.nit:112 */
534 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
535 if (UNTAG_Bool(REGB0
)) {
537 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 112);
539 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
540 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
541 ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
542 /* ../lib/standard/string_search.nit:113 */
543 fra
.me
.REG
[1] = NEW_ArrayMap_standard___collection___array___ArrayMap___init();
544 ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
545 /* ../lib/standard/string_search.nit:114 */
546 CALL_standard___string_search___BM_Pattern___compute_gs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
547 /* ../lib/standard/string_search.nit:115 */
548 CALL_standard___string_search___BM_Pattern___compute_bc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
549 stack_frame_head
= fra
.me
.prev
;
550 init_table
[itpos0
] = 1;
553 static const char LOCATE_standard___string_search___BM_Pattern___bc
[] = "string_search::BM_Pattern::bc";
554 val_t
standard___string_search___BM_Pattern___bc(val_t p0
, val_t p1
){
555 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
559 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
560 fra
.me
.file
= LOCATE_standard___string_search
;
562 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___bc
;
563 fra
.me
.has_broke
= 0;
565 fra
.me
.nitni_local_ref_head
= NULL
;
566 fra
.me
.REG
[0] = NIT_NULL
;
567 fra
.me
.REG
[1] = NIT_NULL
;
570 /* ../lib/standard/string_search.nit:126 */
571 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
572 if (UNTAG_Bool(REGB1
)) {
574 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_standard___string_search
, 126);
576 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
577 REGB1
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
578 if (UNTAG_Bool(REGB1
)) {
579 /* ../lib/standard/string_search.nit:127 */
580 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
581 if (UNTAG_Bool(REGB1
)) {
583 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_standard___string_search
, 127);
585 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
586 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
587 REGB0
= fra
.me
.REG
[1];
590 /* ../lib/standard/string_search.nit:129 */
591 REGB1
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
592 if (UNTAG_Bool(REGB1
)) {
594 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 129);
596 REGB1
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
601 stack_frame_head
= fra
.me
.prev
;
604 static const char LOCATE_standard___string_search___BM_Pattern___compute_bc
[] = "string_search::BM_Pattern::compute_bc";
605 void standard___string_search___BM_Pattern___compute_bc(val_t p0
){
606 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
613 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
614 fra
.me
.file
= LOCATE_standard___string_search
;
616 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___compute_bc
;
617 fra
.me
.has_broke
= 0;
619 fra
.me
.nitni_local_ref_head
= NULL
;
620 fra
.me
.REG
[0] = NIT_NULL
;
621 fra
.me
.REG
[1] = NIT_NULL
;
622 fra
.me
.REG
[2] = NIT_NULL
;
624 /* ../lib/standard/string_search.nit:141 */
625 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
626 if (UNTAG_Bool(REGB0
)) {
628 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 141);
630 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
631 /* ../lib/standard/string_search.nit:142 */
632 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
633 if (UNTAG_Bool(REGB0
)) {
635 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 142);
637 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
638 /* ../lib/standard/string_search.nit:143 */
640 /* ../lib/standard/string_search.nit:144 */
643 /* ../lib/standard/kernel.nit:240 */
644 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
645 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
646 if (UNTAG_Bool(REGB3
)) {
648 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
650 /* ../lib/standard/kernel.nit:235 */
651 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
652 /* ../lib/standard/string_search.nit:144 */
653 if (UNTAG_Bool(REGB2
)) {
654 /* ../lib/standard/string_search.nit:145 */
655 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0])!=NIT_NULL
);
656 if (UNTAG_Bool(REGB2
)) {
658 nit_abort("Uninitialized attribute %s", "_bc_table", LOCATE_standard___string_search
, 145);
660 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____bc_table(fra
.me
.REG
[0]);
661 REGB2
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
662 /* ../lib/standard/kernel.nit:240 */
663 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
664 /* ../lib/standard/string_search.nit:145 */
666 /* ../lib/standard/kernel.nit:240 */
667 REGB4
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB4
));
668 /* ../lib/standard/string_search.nit:145 */
669 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
670 /* ../lib/standard/string_search.nit:146 */
672 /* ../lib/standard/kernel.nit:238 */
673 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
674 /* ../lib/standard/string_search.nit:146 */
677 /* ../lib/standard/string_search.nit:144 */
682 stack_frame_head
= fra
.me
.prev
;
685 static const char LOCATE_standard___string_search___BM_Pattern___suffixes
[] = "string_search::BM_Pattern::suffixes";
686 val_t
standard___string_search___BM_Pattern___suffixes(val_t p0
){
687 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
697 fra
.me
.file
= LOCATE_standard___string_search
;
699 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___suffixes
;
700 fra
.me
.has_broke
= 0;
702 fra
.me
.nitni_local_ref_head
= NULL
;
703 fra
.me
.REG
[0] = NIT_NULL
;
704 fra
.me
.REG
[1] = NIT_NULL
;
705 fra
.me
.REG
[2] = NIT_NULL
;
707 /* ../lib/standard/string_search.nit:152 */
708 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
709 if (UNTAG_Bool(REGB0
)) {
711 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 152);
713 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
714 /* ../lib/standard/string_search.nit:153 */
715 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
716 if (UNTAG_Bool(REGB0
)) {
718 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 153);
720 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
721 /* ../lib/standard/string_search.nit:154 */
722 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___filled_with(REGB0
, REGB0
);
723 /* ../lib/standard/string_search.nit:156 */
725 /* ../lib/standard/string_search.nit:157 */
727 /* ../lib/standard/kernel.nit:240 */
728 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
729 /* ../lib/standard/string_search.nit:158 */
731 /* ../lib/standard/kernel.nit:240 */
732 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
733 /* ../lib/standard/string_search.nit:159 */
736 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
737 if (UNTAG_Bool(REGB5
)) {
739 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
741 /* ../lib/standard/kernel.nit:236 */
742 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
743 /* ../lib/standard/string_search.nit:159 */
744 if (UNTAG_Bool(REGB4
)) {
745 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
746 if (UNTAG_Bool(REGB4
)) {
748 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
750 /* ../lib/standard/kernel.nit:237 */
751 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB2
));
752 /* ../lib/standard/string_search.nit:160 */
753 if (UNTAG_Bool(REGB4
)) {
754 /* ../lib/standard/kernel.nit:238 */
755 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
756 /* ../lib/standard/string_search.nit:160 */
758 /* ../lib/standard/kernel.nit:240 */
759 REGB5
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB5
));
760 REGB5
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB1
));
761 /* ../lib/standard/collection/array.nit:278 */
762 fra
.me
.REG
[2] = fra
.me
.REG
[0];
763 /* ../lib/standard/collection/array.nit:280 */
765 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
766 if (UNTAG_Bool(REGB6
)) {
768 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
770 /* ../lib/standard/kernel.nit:236 */
771 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
772 /* ../lib/standard/collection/array.nit:280 */
773 if (UNTAG_Bool(REGB4
)) {
774 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
775 if (UNTAG_Bool(REGB4
)) {
777 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
779 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
780 REGB6
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
781 if (UNTAG_Bool(REGB6
)) {
783 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
785 /* ../lib/standard/kernel.nit:235 */
786 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
788 /* ../lib/standard/collection/array.nit:280 */
792 if (UNTAG_Bool(REGB4
)) {
794 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
796 /* ../lib/standard/collection/array.nit:281 */
797 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
798 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
799 if (UNTAG_Bool(REGB4
)) {
800 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
802 /* ../lib/standard/collection/array.nit:718 */
803 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB5
)];
804 /* ../lib/standard/collection/array.nit:281 */
807 /* ../lib/standard/kernel.nit:240 */
808 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB2
));
809 /* ../lib/standard/string_search.nit:160 */
810 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
811 if (UNTAG_Bool(REGB4
)) {
812 nit_abort("Reciever is null", NULL
, LOCATE_standard___string_search
, 160);
814 REGB4
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(fra
.me
.REG
[2]), VTID_standard___kernel___Comparable___OTHER(fra
.me
.REG
[2]))) /*cast OTHER*/;
815 if (UNTAG_Bool(REGB4
)) {
817 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
819 /* ../lib/standard/kernel.nit:235 */
820 REGB5
= TAG_Bool(UNTAG_Int(fra
.me
.REG
[2])<UNTAG_Int(REGB5
));
822 /* ../lib/standard/string_search.nit:160 */
826 if (UNTAG_Bool(REGB5
)) {
827 /* ../lib/standard/kernel.nit:238 */
828 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
829 /* ../lib/standard/string_search.nit:161 */
831 /* ../lib/standard/kernel.nit:240 */
832 REGB4
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB4
));
833 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
834 /* ../lib/standard/collection/array.nit:278 */
835 fra
.me
.REG
[2] = fra
.me
.REG
[0];
836 /* ../lib/standard/collection/array.nit:280 */
838 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
839 if (UNTAG_Bool(REGB6
)) {
841 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
843 /* ../lib/standard/kernel.nit:236 */
844 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
845 /* ../lib/standard/collection/array.nit:280 */
846 if (UNTAG_Bool(REGB5
)) {
847 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
848 if (UNTAG_Bool(REGB5
)) {
850 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
852 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
853 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
854 if (UNTAG_Bool(REGB6
)) {
856 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
858 /* ../lib/standard/kernel.nit:235 */
859 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
861 /* ../lib/standard/collection/array.nit:280 */
865 if (UNTAG_Bool(REGB5
)) {
867 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
869 /* ../lib/standard/collection/array.nit:281 */
870 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
871 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
872 if (UNTAG_Bool(REGB5
)) {
873 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
875 /* ../lib/standard/collection/array.nit:718 */
876 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
877 /* ../lib/standard/collection/array.nit:281 */
880 /* ../lib/standard/string_search.nit:161 */
881 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, fra
.me
.REG
[2]);
883 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
884 if (UNTAG_Bool(REGB4
)) {
886 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
888 /* ../lib/standard/kernel.nit:235 */
889 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
890 /* ../lib/standard/string_search.nit:163 */
891 if (UNTAG_Bool(REGB4
)) {
894 /* ../lib/standard/string_search.nit:164 */
896 /* ../lib/standard/string_search.nit:165 */
899 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
900 if (UNTAG_Bool(REGB5
)) {
902 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
904 /* ../lib/standard/kernel.nit:236 */
905 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB4
));
906 /* ../lib/standard/string_search.nit:165 */
907 if (UNTAG_Bool(REGB4
)) {
908 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
909 /* ../lib/standard/kernel.nit:238 */
910 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
911 /* ../lib/standard/string_search.nit:165 */
913 /* ../lib/standard/kernel.nit:240 */
914 REGB6
= TAG_Int(UNTAG_Int(REGB5
)-UNTAG_Int(REGB6
));
915 REGB6
= TAG_Int(UNTAG_Int(REGB6
)-UNTAG_Int(REGB1
));
916 /* ../lib/standard/string_search.nit:165 */
917 REGB6
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB6
);
918 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB6
));
919 if (UNTAG_Bool(REGB5
)) {
921 /* ../lib/standard/kernel.nit:381 */
922 REGB6
= TAG_Bool((REGB4
)==(REGB6
));
923 /* ../lib/standard/string_search.nit:165 */
930 if (UNTAG_Bool(REGB5
)) {
932 /* ../lib/standard/kernel.nit:240 */
933 REGB5
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB5
));
934 /* ../lib/standard/string_search.nit:165 */
941 /* ../lib/standard/kernel.nit:240 */
942 REGB5
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
943 /* ../lib/standard/string_search.nit:166 */
944 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB5
);
946 /* ../lib/standard/string_search.nit:168 */
948 /* ../lib/standard/kernel.nit:240 */
949 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
950 /* ../lib/standard/string_search.nit:168 */
953 /* ../lib/standard/string_search.nit:159 */
958 /* ../lib/standard/string_search.nit:170 */
961 stack_frame_head
= fra
.me
.prev
;
962 return fra
.me
.REG
[0];
964 static const char LOCATE_standard___string_search___BM_Pattern___compute_gs
[] = "string_search::BM_Pattern::compute_gs";
965 void standard___string_search___BM_Pattern___compute_gs(val_t p0
){
966 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
975 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
976 fra
.me
.file
= LOCATE_standard___string_search
;
978 fra
.me
.meth
= LOCATE_standard___string_search___BM_Pattern___compute_gs
;
979 fra
.me
.has_broke
= 0;
981 fra
.me
.nitni_local_ref_head
= NULL
;
982 fra
.me
.REG
[0] = NIT_NULL
;
983 fra
.me
.REG
[1] = NIT_NULL
;
984 fra
.me
.REG
[2] = NIT_NULL
;
985 fra
.me
.REG
[3] = NIT_NULL
;
987 /* ../lib/standard/string_search.nit:175 */
988 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0])!=NIT_NULL
);
989 if (UNTAG_Bool(REGB0
)) {
991 nit_abort("Uninitialized attribute %s", "_motif", LOCATE_standard___string_search
, 175);
993 fra
.me
.REG
[1] = ATTR_standard___string_search___BM_Pattern____motif(fra
.me
.REG
[0]);
994 /* ../lib/standard/string_search.nit:176 */
995 REGB0
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0])!=NIT_NULL
);
996 if (UNTAG_Bool(REGB0
)) {
998 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 176);
1000 REGB0
= ATTR_standard___string_search___BM_Pattern____length(fra
.me
.REG
[0]);
1001 /* ../lib/standard/string_search.nit:177 */
1002 fra
.me
.REG
[1] = CALL_standard___string_search___BM_Pattern___suffixes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1003 /* ../lib/standard/string_search.nit:178 */
1005 /* ../lib/standard/string_search.nit:179 */
1007 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1008 if (UNTAG_Bool(REGB2
)) {
1010 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1012 /* ../lib/standard/kernel.nit:235 */
1013 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1014 /* ../lib/standard/string_search.nit:179 */
1015 if (UNTAG_Bool(REGB2
)) {
1016 /* ../lib/standard/string_search.nit:180 */
1017 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1018 if (UNTAG_Bool(REGB2
)) {
1020 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 180);
1022 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1023 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
, REGB0
);
1024 /* ../lib/standard/string_search.nit:181 */
1026 /* ../lib/standard/kernel.nit:238 */
1027 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1028 /* ../lib/standard/string_search.nit:181 */
1031 /* ../lib/standard/string_search.nit:179 */
1036 /* ../lib/standard/string_search.nit:183 */
1038 /* ../lib/standard/string_search.nit:184 */
1040 /* ../lib/standard/kernel.nit:240 */
1041 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
1042 /* ../lib/standard/string_search.nit:184 */
1044 /* ../lib/standard/string_search.nit:185 */
1047 /* ../lib/standard/kernel.nit:239 */
1048 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
1049 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1050 if (UNTAG_Bool(REGB4
)) {
1052 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1054 /* ../lib/standard/kernel.nit:236 */
1055 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1056 /* ../lib/standard/string_search.nit:185 */
1057 if (UNTAG_Bool(REGB3
)) {
1058 /* ../lib/standard/string_search.nit:186 */
1060 /* ../lib/standard/kernel.nit:239 */
1061 REGB3
= TAG_Int(-UNTAG_Int(REGB3
));
1062 /* ../lib/standard/string_search.nit:186 */
1063 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB3
));
1064 if (UNTAG_Bool(REGB4
)) {
1066 /* ../lib/standard/kernel.nit:230 */
1067 REGB3
= TAG_Bool((REGB1
)==(REGB3
));
1068 /* ../lib/standard/string_search.nit:186 */
1071 if (UNTAG_Bool(REGB4
)) {
1072 REGB4
= TAG_Bool(1);
1074 /* ../lib/standard/collection/array.nit:278 */
1075 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1077 /* ../lib/standard/collection/array.nit:280 */
1079 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1080 if (UNTAG_Bool(REGB6
)) {
1082 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1084 /* ../lib/standard/kernel.nit:236 */
1085 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB5
));
1086 /* ../lib/standard/collection/array.nit:280 */
1087 if (UNTAG_Bool(REGB5
)) {
1088 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1089 if (UNTAG_Bool(REGB5
)) {
1091 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1093 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1094 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1095 if (UNTAG_Bool(REGB6
)) {
1097 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1099 /* ../lib/standard/kernel.nit:235 */
1100 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
1102 /* ../lib/standard/collection/array.nit:280 */
1103 REGB6
= TAG_Bool(0);
1106 if (UNTAG_Bool(REGB5
)) {
1108 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1110 /* ../lib/standard/collection/array.nit:281 */
1111 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1112 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1113 if (UNTAG_Bool(REGB5
)) {
1114 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1116 /* ../lib/standard/collection/array.nit:718 */
1117 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
1118 /* ../lib/standard/collection/array.nit:281 */
1121 /* ../lib/standard/string_search.nit:186 */
1123 /* ../lib/standard/kernel.nit:238 */
1124 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1125 /* ../lib/standard/string_search.nit:186 */
1126 REGB5
= TAG_Bool(IS_EQUAL_ON(REGB3
,fra
.me
.REG
[2]));
1127 if (UNTAG_Bool(REGB5
)) {
1129 REGB6
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1130 if (UNTAG_Bool(REGB6
)) {
1131 REGB6
= TAG_Bool(0);
1134 /* ../lib/standard/kernel.nit:230 */
1135 REGB3
= TAG_Bool((fra
.me
.REG
[2])==(REGB3
));
1136 /* ../lib/standard/string_search.nit:186 */
1142 if (UNTAG_Bool(REGB4
)) {
1143 /* ../lib/standard/string_search.nit:187 */
1146 /* ../lib/standard/kernel.nit:240 */
1147 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1148 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1149 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1150 if (UNTAG_Bool(REGB5
)) {
1152 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1154 /* ../lib/standard/kernel.nit:235 */
1155 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB4
));
1156 /* ../lib/standard/string_search.nit:187 */
1157 if (UNTAG_Bool(REGB4
)) {
1158 /* ../lib/standard/string_search.nit:188 */
1159 REGB4
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1160 if (UNTAG_Bool(REGB4
)) {
1162 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 188);
1164 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1165 /* ../lib/standard/collection/array.nit:278 */
1167 /* ../lib/standard/collection/array.nit:280 */
1169 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1170 if (UNTAG_Bool(REGB3
)) {
1172 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1174 /* ../lib/standard/kernel.nit:236 */
1175 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1176 /* ../lib/standard/collection/array.nit:280 */
1177 if (UNTAG_Bool(REGB5
)) {
1178 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1179 if (UNTAG_Bool(REGB5
)) {
1181 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1183 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1184 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1185 if (UNTAG_Bool(REGB3
)) {
1187 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1189 /* ../lib/standard/kernel.nit:235 */
1190 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1192 /* ../lib/standard/collection/array.nit:280 */
1193 REGB3
= TAG_Bool(0);
1196 if (UNTAG_Bool(REGB5
)) {
1198 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1200 /* ../lib/standard/collection/array.nit:281 */
1201 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1202 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1203 if (UNTAG_Bool(REGB5
)) {
1204 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1206 /* ../lib/standard/collection/array.nit:718 */
1207 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
1208 /* ../lib/standard/collection/array.nit:281 */
1211 /* ../lib/standard/string_search.nit:188 */
1212 REGB4
= TAG_Bool(IS_EQUAL_ON(REGB0
,fra
.me
.REG
[2]));
1213 if (UNTAG_Bool(REGB4
)) {
1215 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1216 if (UNTAG_Bool(REGB5
)) {
1217 REGB5
= TAG_Bool(0);
1220 /* ../lib/standard/kernel.nit:230 */
1221 REGB5
= TAG_Bool((fra
.me
.REG
[2])==(REGB0
));
1222 /* ../lib/standard/string_search.nit:188 */
1226 if (UNTAG_Bool(REGB4
)) {
1227 REGB4
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1228 if (UNTAG_Bool(REGB4
)) {
1230 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 188);
1232 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1234 /* ../lib/standard/kernel.nit:240 */
1235 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1236 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1237 /* ../lib/standard/string_search.nit:188 */
1238 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1240 /* ../lib/standard/string_search.nit:189 */
1242 /* ../lib/standard/kernel.nit:238 */
1243 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
1244 /* ../lib/standard/string_search.nit:189 */
1247 /* ../lib/standard/string_search.nit:187 */
1253 /* ../lib/standard/string_search.nit:192 */
1255 /* ../lib/standard/kernel.nit:240 */
1256 REGB4
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB4
));
1257 /* ../lib/standard/string_search.nit:192 */
1260 /* ../lib/standard/string_search.nit:185 */
1265 /* ../lib/standard/string_search.nit:194 */
1268 /* ../lib/standard/string_search.nit:195 */
1271 /* ../lib/standard/kernel.nit:240 */
1272 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1273 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1274 if (UNTAG_Bool(REGB4
)) {
1276 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1278 /* ../lib/standard/kernel.nit:235 */
1279 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1280 /* ../lib/standard/string_search.nit:195 */
1281 if (UNTAG_Bool(REGB2
)) {
1282 /* ../lib/standard/string_search.nit:196 */
1283 REGB2
= TAG_Bool(ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0])!=NIT_NULL
);
1284 if (UNTAG_Bool(REGB2
)) {
1286 nit_abort("Uninitialized attribute %s", "_gs", LOCATE_standard___string_search
, 196);
1288 fra
.me
.REG
[2] = ATTR_standard___string_search___BM_Pattern____gs(fra
.me
.REG
[0]);
1290 /* ../lib/standard/kernel.nit:240 */
1291 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1292 /* ../lib/standard/collection/array.nit:278 */
1293 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1295 /* ../lib/standard/collection/array.nit:280 */
1297 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1298 if (UNTAG_Bool(REGB3
)) {
1300 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1302 /* ../lib/standard/kernel.nit:236 */
1303 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1304 /* ../lib/standard/collection/array.nit:280 */
1305 if (UNTAG_Bool(REGB5
)) {
1306 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1307 if (UNTAG_Bool(REGB5
)) {
1309 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1311 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1312 REGB3
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1313 if (UNTAG_Bool(REGB3
)) {
1315 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1317 /* ../lib/standard/kernel.nit:235 */
1318 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1320 /* ../lib/standard/collection/array.nit:280 */
1321 REGB3
= TAG_Bool(0);
1324 if (UNTAG_Bool(REGB5
)) {
1326 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1328 /* ../lib/standard/collection/array.nit:281 */
1329 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1330 REGB5
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1331 if (UNTAG_Bool(REGB5
)) {
1332 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1334 /* ../lib/standard/collection/array.nit:718 */
1335 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB4
)];
1336 /* ../lib/standard/collection/array.nit:281 */
1339 /* ../lib/standard/kernel.nit:240 */
1340 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(fra
.me
.REG
[3]));
1341 /* ../lib/standard/string_search.nit:196 */
1343 /* ../lib/standard/kernel.nit:240 */
1344 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
1345 REGB4
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB1
));
1346 /* ../lib/standard/string_search.nit:196 */
1347 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB4
);
1348 /* ../lib/standard/string_search.nit:197 */
1350 /* ../lib/standard/kernel.nit:238 */
1351 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1352 /* ../lib/standard/string_search.nit:197 */
1355 /* ../lib/standard/string_search.nit:195 */
1360 stack_frame_head
= fra
.me
.prev
;
1363 static const char LOCATE_standard___string_search___Match___string
[] = "string_search::Match::string";
1364 val_t
standard___string_search___Match___string(val_t p0
){
1365 struct {struct stack_frame_t me
;} fra
;
1368 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1369 fra
.me
.file
= LOCATE_standard___string_search
;
1371 fra
.me
.meth
= LOCATE_standard___string_search___Match___string
;
1372 fra
.me
.has_broke
= 0;
1373 fra
.me
.REG_size
= 1;
1374 fra
.me
.nitni_local_ref_head
= NULL
;
1375 fra
.me
.REG
[0] = NIT_NULL
;
1377 /* ../lib/standard/string_search.nit:204 */
1378 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1379 if (UNTAG_Bool(REGB0
)) {
1381 nit_abort("Uninitialized attribute %s", "_string", LOCATE_standard___string_search
, 204);
1383 fra
.me
.REG
[0] = ATTR_standard___string_search___Match____string(fra
.me
.REG
[0]);
1384 stack_frame_head
= fra
.me
.prev
;
1385 return fra
.me
.REG
[0];
1387 static const char LOCATE_standard___string_search___Match___from
[] = "string_search::Match::from";
1388 val_t
standard___string_search___Match___from(val_t p0
){
1389 struct {struct stack_frame_t me
;} fra
;
1392 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1393 fra
.me
.file
= LOCATE_standard___string_search
;
1395 fra
.me
.meth
= LOCATE_standard___string_search___Match___from
;
1396 fra
.me
.has_broke
= 0;
1397 fra
.me
.REG_size
= 1;
1398 fra
.me
.nitni_local_ref_head
= NULL
;
1399 fra
.me
.REG
[0] = NIT_NULL
;
1401 /* ../lib/standard/string_search.nit:207 */
1402 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1403 if (UNTAG_Bool(REGB0
)) {
1405 nit_abort("Uninitialized attribute %s", "_from", LOCATE_standard___string_search
, 207);
1407 REGB0
= ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]);
1408 stack_frame_head
= fra
.me
.prev
;
1411 static const char LOCATE_standard___string_search___Match___length
[] = "string_search::Match::length";
1412 val_t
standard___string_search___Match___length(val_t p0
){
1413 struct {struct stack_frame_t me
;} fra
;
1416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1417 fra
.me
.file
= LOCATE_standard___string_search
;
1419 fra
.me
.meth
= LOCATE_standard___string_search___Match___length
;
1420 fra
.me
.has_broke
= 0;
1421 fra
.me
.REG_size
= 1;
1422 fra
.me
.nitni_local_ref_head
= NULL
;
1423 fra
.me
.REG
[0] = NIT_NULL
;
1425 /* ../lib/standard/string_search.nit:210 */
1426 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1427 if (UNTAG_Bool(REGB0
)) {
1429 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 210);
1431 REGB0
= ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]);
1432 stack_frame_head
= fra
.me
.prev
;
1435 static const char LOCATE_standard___string_search___Match___after
[] = "string_search::Match::after";
1436 val_t
standard___string_search___Match___after(val_t p0
){
1437 struct {struct stack_frame_t me
;} fra
;
1441 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1442 fra
.me
.file
= LOCATE_standard___string_search
;
1444 fra
.me
.meth
= LOCATE_standard___string_search___Match___after
;
1445 fra
.me
.has_broke
= 0;
1446 fra
.me
.REG_size
= 1;
1447 fra
.me
.nitni_local_ref_head
= NULL
;
1448 fra
.me
.REG
[0] = NIT_NULL
;
1450 /* ../lib/standard/string_search.nit:215 */
1451 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1452 if (UNTAG_Bool(REGB0
)) {
1454 nit_abort("Uninitialized attribute %s", "_from", LOCATE_standard___string_search
, 215);
1456 REGB0
= ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]);
1457 REGB1
= TAG_Bool(ATTR_standard___string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1458 if (UNTAG_Bool(REGB1
)) {
1460 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 215);
1462 REGB1
= ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]);
1463 /* ../lib/standard/kernel.nit:238 */
1464 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1465 /* ../lib/standard/string_search.nit:215 */
1468 stack_frame_head
= fra
.me
.prev
;
1471 static const char LOCATE_standard___string_search___Match___to_s
[] = "string_search::Match::(string::Object::to_s)";
1472 val_t
standard___string_search___Match___to_s(val_t p0
){
1473 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1478 fra
.me
.file
= LOCATE_standard___string_search
;
1480 fra
.me
.meth
= LOCATE_standard___string_search___Match___to_s
;
1481 fra
.me
.has_broke
= 0;
1482 fra
.me
.REG_size
= 2;
1483 fra
.me
.nitni_local_ref_head
= NULL
;
1484 fra
.me
.REG
[0] = NIT_NULL
;
1485 fra
.me
.REG
[1] = NIT_NULL
;
1487 /* ../lib/standard/string_search.nit:218 */
1488 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____string(fra
.me
.REG
[0])!=NIT_NULL
);
1489 if (UNTAG_Bool(REGB0
)) {
1491 nit_abort("Uninitialized attribute %s", "_string", LOCATE_standard___string_search
, 218);
1493 fra
.me
.REG
[1] = ATTR_standard___string_search___Match____string(fra
.me
.REG
[0]);
1494 REGB0
= TAG_Bool(ATTR_standard___string_search___Match____from(fra
.me
.REG
[0])!=NIT_NULL
);
1495 if (UNTAG_Bool(REGB0
)) {
1497 nit_abort("Uninitialized attribute %s", "_from", LOCATE_standard___string_search
, 218);
1499 REGB0
= ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]);
1500 REGB1
= TAG_Bool(ATTR_standard___string_search___Match____length(fra
.me
.REG
[0])!=NIT_NULL
);
1501 if (UNTAG_Bool(REGB1
)) {
1503 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string_search
, 218);
1505 REGB1
= ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]);
1506 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB1
);
1509 stack_frame_head
= fra
.me
.prev
;
1510 return fra
.me
.REG
[1];
1512 static const char LOCATE_standard___string_search___Match___init
[] = "string_search::Match::init";
1513 void standard___string_search___Match___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1514 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string_search___Match
].i
;
1515 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1522 if (init_table
[itpos1
]) return;
1523 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1524 fra
.me
.file
= LOCATE_standard___string_search
;
1526 fra
.me
.meth
= LOCATE_standard___string_search___Match___init
;
1527 fra
.me
.has_broke
= 0;
1528 fra
.me
.REG_size
= 2;
1529 fra
.me
.nitni_local_ref_head
= NULL
;
1530 fra
.me
.REG
[0] = NIT_NULL
;
1531 fra
.me
.REG
[1] = NIT_NULL
;
1536 /* ../lib/standard/string_search.nit:223 */
1538 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1539 if (UNTAG_Bool(REGB3
)) {
1541 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1543 /* ../lib/standard/kernel.nit:236 */
1544 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1545 /* ../lib/standard/string_search.nit:223 */
1546 if (UNTAG_Bool(REGB2
)) {
1548 nit_abort("Assert '%s' failed", "positive_length", LOCATE_standard___string_search
, 223);
1550 /* ../lib/standard/string_search.nit:224 */
1552 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1553 if (UNTAG_Bool(REGB3
)) {
1555 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1557 /* ../lib/standard/kernel.nit:236 */
1558 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
1559 /* ../lib/standard/string_search.nit:224 */
1560 if (UNTAG_Bool(REGB2
)) {
1562 nit_abort("Assert '%s' failed", "valid_from", LOCATE_standard___string_search
, 224);
1564 /* ../lib/standard/kernel.nit:238 */
1565 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1566 /* ../lib/standard/collection/array.nit:24 */
1567 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1568 if (UNTAG_Bool(REGB3
)) {
1570 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1572 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1573 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1574 if (UNTAG_Bool(REGB4
)) {
1576 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1578 /* ../lib/standard/kernel.nit:234 */
1579 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<=UNTAG_Int(REGB3
));
1580 /* ../lib/standard/string_search.nit:225 */
1581 if (UNTAG_Bool(REGB3
)) {
1583 nit_abort("Assert '%s' failed", "valid_after", LOCATE_standard___string_search
, 225);
1585 /* ../lib/standard/string_search.nit:226 */
1586 ATTR_standard___string_search___Match____string(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1587 /* ../lib/standard/string_search.nit:227 */
1588 ATTR_standard___string_search___Match____from(fra
.me
.REG
[0]) = REGB0
;
1589 /* ../lib/standard/string_search.nit:228 */
1590 ATTR_standard___string_search___Match____length(fra
.me
.REG
[0]) = REGB1
;
1591 stack_frame_head
= fra
.me
.prev
;
1592 init_table
[itpos1
] = 1;
1595 static const char LOCATE_standard___string_search___Char___search_index_in
[] = "string_search::Char::(string_search::Pattern::search_index_in)";
1596 val_t
standard___string_search___Char___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1597 struct {struct stack_frame_t me
;} fra
;
1604 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1605 fra
.me
.file
= LOCATE_standard___string_search
;
1607 fra
.me
.meth
= LOCATE_standard___string_search___Char___search_index_in
;
1608 fra
.me
.has_broke
= 0;
1609 fra
.me
.REG_size
= 1;
1610 fra
.me
.nitni_local_ref_head
= NULL
;
1611 fra
.me
.REG
[0] = NIT_NULL
;
1615 /* ../lib/standard/collection/array.nit:24 */
1616 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1617 if (UNTAG_Bool(REGB2
)) {
1619 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1621 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1622 /* ../lib/standard/string_search.nit:238 */
1624 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1625 if (UNTAG_Bool(REGB3
)) {
1627 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1629 /* ../lib/standard/kernel.nit:235 */
1630 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1631 /* ../lib/standard/string_search.nit:238 */
1632 if (UNTAG_Bool(REGB3
)) {
1633 /* ../lib/standard/string_search.nit:239 */
1634 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1635 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB0
));
1636 if (UNTAG_Bool(REGB4
)) {
1638 /* ../lib/standard/kernel.nit:381 */
1639 REGB3
= TAG_Bool((REGB3
)==(REGB0
));
1640 /* ../lib/standard/string_search.nit:239 */
1643 if (UNTAG_Bool(REGB4
)) {
1647 /* ../lib/standard/string_search.nit:240 */
1649 /* ../lib/standard/kernel.nit:238 */
1650 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1651 /* ../lib/standard/string_search.nit:240 */
1654 /* ../lib/standard/string_search.nit:238 */
1659 /* ../lib/standard/string_search.nit:242 */
1661 /* ../lib/standard/kernel.nit:239 */
1662 REGB1
= TAG_Int(-UNTAG_Int(REGB1
));
1663 /* ../lib/standard/string_search.nit:242 */
1667 stack_frame_head
= fra
.me
.prev
;
1670 static const char LOCATE_standard___string_search___Char___search_in
[] = "string_search::Char::(string_search::Pattern::search_in)";
1671 val_t
standard___string_search___Char___search_in(val_t p0
, val_t p1
, val_t p2
){
1672 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1678 fra
.me
.file
= LOCATE_standard___string_search
;
1680 fra
.me
.meth
= LOCATE_standard___string_search___Char___search_in
;
1681 fra
.me
.has_broke
= 0;
1682 fra
.me
.REG_size
= 2;
1683 fra
.me
.nitni_local_ref_head
= NULL
;
1684 fra
.me
.REG
[0] = NIT_NULL
;
1685 fra
.me
.REG
[1] = NIT_NULL
;
1689 /* ../lib/standard/string_search.nit:247 */
1690 REGB1
= CALL_standard___string_search___Pattern___search_index_in(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
);
1691 /* ../lib/standard/string_search.nit:248 */
1693 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1694 if (UNTAG_Bool(REGB2
)) {
1696 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1698 /* ../lib/standard/kernel.nit:235 */
1699 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1700 /* ../lib/standard/string_search.nit:248 */
1701 if (UNTAG_Bool(REGB0
)) {
1702 /* ../lib/standard/string_search.nit:249 */
1703 fra
.me
.REG
[1] = NIT_NULL
;
1706 /* ../lib/standard/string_search.nit:251 */
1708 fra
.me
.REG
[0] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[0], REGB1
, REGB0
);
1709 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1713 stack_frame_head
= fra
.me
.prev
;
1714 return fra
.me
.REG
[1];
1716 static const char LOCATE_standard___string_search___String___search_index_in
[] = "string_search::String::(string_search::Pattern::search_index_in)";
1717 val_t
standard___string_search___String___search_index_in(val_t p0
, val_t p1
, val_t p2
){
1718 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1727 fra
.me
.file
= LOCATE_standard___string_search
;
1729 fra
.me
.meth
= LOCATE_standard___string_search___String___search_index_in
;
1730 fra
.me
.has_broke
= 0;
1731 fra
.me
.REG_size
= 2;
1732 fra
.me
.nitni_local_ref_head
= NULL
;
1733 fra
.me
.REG
[0] = NIT_NULL
;
1734 fra
.me
.REG
[1] = NIT_NULL
;
1738 /* ../lib/standard/string_search.nit:261 */
1740 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1741 if (UNTAG_Bool(REGB2
)) {
1743 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1745 /* ../lib/standard/kernel.nit:236 */
1746 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1747 /* ../lib/standard/string_search.nit:261 */
1748 if (UNTAG_Bool(REGB1
)) {
1750 nit_abort("Assert failed", NULL
, LOCATE_standard___string_search
, 261);
1752 /* ../lib/standard/collection/array.nit:24 */
1753 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1754 if (UNTAG_Bool(REGB1
)) {
1756 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1758 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1759 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1760 if (UNTAG_Bool(REGB2
)) {
1762 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1764 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1765 /* ../lib/standard/kernel.nit:240 */
1766 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1767 /* ../lib/standard/string_search.nit:262 */
1769 /* ../lib/standard/kernel.nit:238 */
1770 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
1771 /* ../lib/standard/string_search.nit:263 */
1773 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1774 if (UNTAG_Bool(REGB2
)) {
1776 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1778 /* ../lib/standard/kernel.nit:235 */
1779 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1780 /* ../lib/standard/string_search.nit:263 */
1781 if (UNTAG_Bool(REGB2
)) {
1782 /* ../lib/standard/collection/array.nit:24 */
1783 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1784 if (UNTAG_Bool(REGB2
)) {
1786 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1788 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1789 /* ../lib/standard/string_search.nit:264 */
1791 /* ../lib/standard/kernel.nit:240 */
1792 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
1793 /* ../lib/standard/string_search.nit:265 */
1796 REGB4
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1797 if (UNTAG_Bool(REGB4
)) {
1799 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1801 /* ../lib/standard/kernel.nit:236 */
1802 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB2
));
1803 /* ../lib/standard/string_search.nit:265 */
1804 if (UNTAG_Bool(REGB2
)) {
1805 REGB2
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
1806 /* ../lib/standard/kernel.nit:238 */
1807 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
1808 /* ../lib/standard/string_search.nit:265 */
1809 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB4
);
1810 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
1811 if (UNTAG_Bool(REGB5
)) {
1813 /* ../lib/standard/kernel.nit:381 */
1814 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
1815 /* ../lib/standard/string_search.nit:265 */
1819 REGB4
= TAG_Bool(0);
1822 if (UNTAG_Bool(REGB5
)) {
1824 /* ../lib/standard/kernel.nit:240 */
1825 REGB5
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB5
));
1826 /* ../lib/standard/string_search.nit:265 */
1833 /* ../lib/standard/string_search.nit:267 */
1835 REGB4
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1836 if (UNTAG_Bool(REGB4
)) {
1838 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1840 /* ../lib/standard/kernel.nit:235 */
1841 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
1842 /* ../lib/standard/string_search.nit:267 */
1843 if (UNTAG_Bool(REGB5
)) {
1847 /* ../lib/standard/string_search.nit:269 */
1849 /* ../lib/standard/kernel.nit:238 */
1850 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1851 /* ../lib/standard/string_search.nit:269 */
1854 /* ../lib/standard/string_search.nit:263 */
1859 /* ../lib/standard/string_search.nit:271 */
1861 /* ../lib/standard/kernel.nit:239 */
1862 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
1863 /* ../lib/standard/string_search.nit:271 */
1867 stack_frame_head
= fra
.me
.prev
;
1870 static const char LOCATE_standard___string_search___String___search_in
[] = "string_search::String::(string_search::Pattern::search_in)";
1871 val_t
standard___string_search___String___search_in(val_t p0
, val_t p1
, val_t p2
){
1872 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1877 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1878 fra
.me
.file
= LOCATE_standard___string_search
;
1880 fra
.me
.meth
= LOCATE_standard___string_search___String___search_in
;
1881 fra
.me
.has_broke
= 0;
1882 fra
.me
.REG_size
= 3;
1883 fra
.me
.nitni_local_ref_head
= NULL
;
1884 fra
.me
.REG
[0] = NIT_NULL
;
1885 fra
.me
.REG
[1] = NIT_NULL
;
1886 fra
.me
.REG
[2] = NIT_NULL
;
1890 /* ../lib/standard/string_search.nit:276 */
1891 REGB0
= CALL_standard___string_search___Pattern___search_index_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1892 /* ../lib/standard/string_search.nit:277 */
1894 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1895 if (UNTAG_Bool(REGB2
)) {
1897 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1899 /* ../lib/standard/kernel.nit:235 */
1900 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1901 /* ../lib/standard/string_search.nit:277 */
1902 if (UNTAG_Bool(REGB1
)) {
1903 /* ../lib/standard/string_search.nit:278 */
1904 fra
.me
.REG
[2] = NIT_NULL
;
1907 /* ../lib/standard/collection/array.nit:24 */
1908 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1909 if (UNTAG_Bool(REGB1
)) {
1911 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1913 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1914 /* ../lib/standard/string_search.nit:280 */
1915 fra
.me
.REG
[1] = NEW_Match_standard___string_search___Match___init(fra
.me
.REG
[1], REGB0
, REGB1
);
1916 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1920 stack_frame_head
= fra
.me
.prev
;
1921 return fra
.me
.REG
[2];
1923 static const char LOCATE_standard___string_search___String___search
[] = "string_search::String::search";
1924 val_t
standard___string_search___String___search(val_t p0
, val_t p1
){
1925 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1928 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1929 fra
.me
.file
= LOCATE_standard___string_search
;
1931 fra
.me
.meth
= LOCATE_standard___string_search___String___search
;
1932 fra
.me
.has_broke
= 0;
1933 fra
.me
.REG_size
= 2;
1934 fra
.me
.nitni_local_ref_head
= NULL
;
1935 fra
.me
.REG
[0] = NIT_NULL
;
1936 fra
.me
.REG
[1] = NIT_NULL
;
1939 /* ../lib/standard/string_search.nit:285 */
1941 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1944 stack_frame_head
= fra
.me
.prev
;
1945 return fra
.me
.REG
[0];
1947 static const char LOCATE_standard___string_search___String___search_from
[] = "string_search::String::search_from";
1948 val_t
standard___string_search___String___search_from(val_t p0
, val_t p1
, val_t p2
){
1949 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1952 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1953 fra
.me
.file
= LOCATE_standard___string_search
;
1955 fra
.me
.meth
= LOCATE_standard___string_search___String___search_from
;
1956 fra
.me
.has_broke
= 0;
1957 fra
.me
.REG_size
= 2;
1958 fra
.me
.nitni_local_ref_head
= NULL
;
1959 fra
.me
.REG
[0] = NIT_NULL
;
1960 fra
.me
.REG
[1] = NIT_NULL
;
1964 /* ../lib/standard/string_search.nit:290 */
1965 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___search_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], REGB0
);
1968 stack_frame_head
= fra
.me
.prev
;
1969 return fra
.me
.REG
[0];
1971 static const char LOCATE_standard___string_search___String___search_all
[] = "string_search::String::search_all";
1972 val_t
standard___string_search___String___search_all(val_t p0
, val_t p1
){
1973 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1975 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1976 fra
.me
.file
= LOCATE_standard___string_search
;
1978 fra
.me
.meth
= LOCATE_standard___string_search___String___search_all
;
1979 fra
.me
.has_broke
= 0;
1980 fra
.me
.REG_size
= 2;
1981 fra
.me
.nitni_local_ref_head
= NULL
;
1982 fra
.me
.REG
[0] = NIT_NULL
;
1983 fra
.me
.REG
[1] = NIT_NULL
;
1986 /* ../lib/standard/string_search.nit:299 */
1987 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___search_all_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1990 stack_frame_head
= fra
.me
.prev
;
1991 return fra
.me
.REG
[0];
1993 static const char LOCATE_standard___string_search___String___split_with
[] = "string_search::String::split_with";
1994 val_t
standard___string_search___String___split_with(val_t p0
, val_t p1
){
1995 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2000 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2001 fra
.me
.file
= LOCATE_standard___string_search
;
2003 fra
.me
.meth
= LOCATE_standard___string_search___String___split_with
;
2004 fra
.me
.has_broke
= 0;
2005 fra
.me
.REG_size
= 4;
2006 fra
.me
.nitni_local_ref_head
= NULL
;
2007 fra
.me
.REG
[0] = NIT_NULL
;
2008 fra
.me
.REG
[1] = NIT_NULL
;
2009 fra
.me
.REG
[2] = NIT_NULL
;
2010 fra
.me
.REG
[3] = NIT_NULL
;
2013 /* ../lib/standard/string_search.nit:305 */
2014 fra
.me
.REG
[0] = CALL_standard___string_search___Pattern___split_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2015 /* ../lib/standard/collection/array.nit:24 */
2016 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2017 if (UNTAG_Bool(REGB0
)) {
2019 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2021 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2022 /* ../lib/standard/string_search.nit:306 */
2023 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2024 /* ../lib/standard/collection/array.nit:269 */
2026 /* ../lib/standard/collection/array.nit:270 */
2027 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2028 if (UNTAG_Bool(REGB1
)) {
2030 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2032 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2033 /* ../lib/standard/collection/array.nit:271 */
2034 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
2035 /* ../lib/standard/collection/array.nit:272 */
2037 /* ../lib/standard/collection/array.nit:24 */
2038 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2039 if (UNTAG_Bool(REGB1
)) {
2041 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2043 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2044 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2045 if (UNTAG_Bool(REGB2
)) {
2047 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2049 /* ../lib/standard/kernel.nit:235 */
2050 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2051 /* ../lib/standard/collection/array.nit:272 */
2052 if (UNTAG_Bool(REGB1
)) {
2053 /* ../lib/standard/collection/array.nit:273 */
2054 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2055 if (UNTAG_Bool(REGB1
)) {
2056 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2058 /* ../lib/standard/collection/array.nit:718 */
2059 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2060 /* ../lib/standard/string_search.nit:307 */
2061 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2063 /* ../lib/standard/collection/array.nit:274 */
2065 /* ../lib/standard/kernel.nit:238 */
2066 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2067 /* ../lib/standard/collection/array.nit:274 */
2070 /* ../lib/standard/collection/array.nit:272 */
2075 /* ../lib/standard/string_search.nit:308 */
2078 stack_frame_head
= fra
.me
.prev
;
2079 return fra
.me
.REG
[1];
2081 static const char LOCATE_standard___string_search___String___split
[] = "string_search::String::split";
2082 val_t
standard___string_search___String___split(val_t p0
){
2083 struct {struct stack_frame_t me
;} fra
;
2086 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2087 fra
.me
.file
= LOCATE_standard___string_search
;
2089 fra
.me
.meth
= LOCATE_standard___string_search___String___split
;
2090 fra
.me
.has_broke
= 0;
2091 fra
.me
.REG_size
= 1;
2092 fra
.me
.nitni_local_ref_head
= NULL
;
2093 fra
.me
.REG
[0] = NIT_NULL
;
2095 /* ../lib/standard/string_search.nit:313 */
2096 REGB0
= TAG_Char('\n');
2097 fra
.me
.REG
[0] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2100 stack_frame_head
= fra
.me
.prev
;
2101 return fra
.me
.REG
[0];
2103 static const char LOCATE_standard___string_search___String___replace
[] = "string_search::String::replace";
2104 val_t
standard___string_search___String___replace(val_t p0
, val_t p1
, val_t p2
){
2105 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2107 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2108 fra
.me
.file
= LOCATE_standard___string_search
;
2110 fra
.me
.meth
= LOCATE_standard___string_search___String___replace
;
2111 fra
.me
.has_broke
= 0;
2112 fra
.me
.REG_size
= 3;
2113 fra
.me
.nitni_local_ref_head
= NULL
;
2114 fra
.me
.REG
[0] = NIT_NULL
;
2115 fra
.me
.REG
[1] = NIT_NULL
;
2116 fra
.me
.REG
[2] = NIT_NULL
;
2120 /* ../lib/standard/string_search.nit:321 */
2121 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2122 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2125 stack_frame_head
= fra
.me
.prev
;
2126 return fra
.me
.REG
[2];
2128 static const char LOCATE_standard___string_search___String___html_escape
[] = "string_search::String::html_escape";
2129 val_t
standard___string_search___String___html_escape(val_t p0
){
2130 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2134 static val_t once_value_1
; /* Once value */
2135 static val_t once_value_2
; /* Once value */
2136 static val_t once_value_3
; /* Once value */
2137 static val_t once_value_4
; /* Once value */
2138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2139 fra
.me
.file
= LOCATE_standard___string_search
;
2141 fra
.me
.meth
= LOCATE_standard___string_search___String___html_escape
;
2142 fra
.me
.has_broke
= 0;
2143 fra
.me
.REG_size
= 2;
2144 fra
.me
.nitni_local_ref_head
= NULL
;
2145 fra
.me
.REG
[0] = NIT_NULL
;
2146 fra
.me
.REG
[1] = NIT_NULL
;
2148 /* ../lib/standard/string_search.nit:330 */
2149 REGB0
= TAG_Char('&');
2150 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2151 if (UNTAG_Bool(REGB0
)) {
2152 REGB0
= TAG_Char('&');
2153 if (!once_value_1
) {
2154 fra
.me
.REG
[1] = BOX_NativeString("&");
2156 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2157 once_value_1
= fra
.me
.REG
[1];
2158 register_static_object(&once_value_1
);
2159 } else fra
.me
.REG
[1] = once_value_1
;
2160 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2161 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2162 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2164 /* ../lib/standard/string_search.nit:331 */
2165 REGB0
= TAG_Char('<');
2166 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2167 if (UNTAG_Bool(REGB0
)) {
2168 REGB0
= TAG_Char('<');
2169 if (!once_value_2
) {
2170 fra
.me
.REG
[1] = BOX_NativeString("<");
2172 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2173 once_value_2
= fra
.me
.REG
[1];
2174 register_static_object(&once_value_2
);
2175 } else fra
.me
.REG
[1] = once_value_2
;
2176 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2177 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2178 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2180 /* ../lib/standard/string_search.nit:332 */
2181 REGB0
= TAG_Char('>');
2182 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2183 if (UNTAG_Bool(REGB0
)) {
2184 REGB0
= TAG_Char('>');
2185 if (!once_value_3
) {
2186 fra
.me
.REG
[1] = BOX_NativeString(">");
2188 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2189 once_value_3
= fra
.me
.REG
[1];
2190 register_static_object(&once_value_3
);
2191 } else fra
.me
.REG
[1] = once_value_3
;
2192 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2193 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2194 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2196 /* ../lib/standard/string_search.nit:333 */
2197 REGB0
= TAG_Char('"');
2198 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2199 if (UNTAG_Bool(REGB0
)) {
2200 REGB0
= TAG_Char('"');
2201 if (!once_value_4
) {
2202 fra
.me
.REG
[1] = BOX_NativeString(""");
2204 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
2205 once_value_4
= fra
.me
.REG
[1];
2206 register_static_object(&once_value_4
);
2207 } else fra
.me
.REG
[1] = once_value_4
;
2208 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2209 fra
.me
.REG
[1] = CALL_standard___string_search___String___replace(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, fra
.me
.REG
[1]);
2210 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2212 /* ../lib/standard/string_search.nit:334 */
2215 stack_frame_head
= fra
.me
.prev
;
2216 return fra
.me
.REG
[0];