/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile_to_jvm.h"
T0* r199at(T199* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r199has(C,a1);
R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_has_mem/*24*/));
return R;
}
void r199expand(T199* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=X477count((((T199*)C))->_store/*4*/);
r429resize(((T429*)((((T199*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T199*)C))->_keys/*0*/)),1,(2)*(_old_size));
X477resize((((T199*)C))->_store/*4*/,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T199*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=(((T199*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[RUN_FEATURE,STRING].free*/
void r199make(T199* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T199*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T477*n=malloc(sizeof(*n));
*n=M477;
r477make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r199initialize(C);
}
T0* r199item(T199* C,int a1){
T0* R=NULL;
/*IF*/if (((((T199*)C))->_item_mem/*28*/)==(0)) {
r199first(C);
while (!((a1)==((((T199*)C))->_item_mem/*28*/))) {
r199forth(C);
}
R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_item_mem_j/*32*/));
}
 else if (((((T199*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T199*)C))->_item_mem/*28*/))) {
r199forth(C);
}
R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_item_mem_j/*32*/));
}
else {
C->_item_mem=0;
R=r199item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].item_mem_i*/
void r199resize(T199* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T199*)C))->_buckets/*8*/);
r226make(((T226*)((((T199*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T199*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T199*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T199*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].item_mem_j*/
/*No:DICTIONARY[RUN_FEATURE,STRING].item_mem*/
/*No:DICTIONARY[RUN_FEATURE,STRING].chain*/
/*No:DICTIONARY[RUN_FEATURE,STRING].buckets*/
/*No:DICTIONARY[RUN_FEATURE,STRING].keys*/
int r199has(T199* C,T0* a1){
int R=0;
/*IF*/if ((((((T199*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T199*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T199*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T199*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].Min_size*/
void r199forth(T199* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T199*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T199*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[RUN_FEATURE,STRING].store*/
void r199with_capacity(T199* C,int a1){
int _i=0;
_i=32;
while (!((_i)>=(a1))) {
_i=(2)*(_i);
}
C->_modulus=(2)*(_i);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T199*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,_i);
C->_chain=(T0*)n;
}
{T477*n=malloc(sizeof(*n));
*n=M477;
r477make(n,1,_i);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_keys=(T0*)n;
}
r199initialize(C);
}
void r199put(T199* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T199*)C))->_modulus/*20*/);
/*IF*/if ((((((T199*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T199*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T199*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T199*)C))->_count/*40*/)>=(X477count((((T199*)C))->_store/*4*/))) {
r199expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T199*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T199*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*X477*//*[IRF3.6put*/{T477* C1=((T477*)((((T199*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T199*)C))->_free/*16*/;
((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
}/*]*/
C->_has_mem=(((T199*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T199*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T199*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T199*)C))->_count/*40*/)+(1);
/*IF*/if (((((T199*)C))->_count/*40*/)>(((((T199*)C))->_modulus/*20*/)*(2))) {
r199resize(C,(2)*((((T199*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*X477*//*[IRF3.6put*/{T477* C1=((T477*)((((T199*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T199*)C))->_has_mem/*24*/;
((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[RUN_FEATURE,STRING].modulus*/
/*No:DICTIONARY[RUN_FEATURE,STRING].count*/
/*No:DICTIONARY[RUN_FEATURE,STRING].has_mem*/
void r199initialize(T199* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T199*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T199*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
void r199first(T199* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
T0* r718at(T718* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r718has(C,a1);
R=r863item(((T863*)((((T718*)C))->_store/*4*/)),(((T718*)C))->_has_mem/*24*/);
return R;
}
void r718expand(T718* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r863count(((T863*)((((T718*)C))->_store/*4*/)));
r429resize(((T429*)((((T718*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T718*)C))->_keys/*0*/)),1,(2)*(_old_size));
r863resize(((T863*)((((T718*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T718*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=(((T718*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[BASE_CLASS,STRING].free*/
void r718make(T718* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T718*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T863*n=malloc(sizeof(*n));
*n=M863;
r863make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r718initialize(C);
}
void r718resize(T718* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T718*)C))->_buckets/*8*/);
r226make(((T226*)((((T718*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T718*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T718*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T718*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[BASE_CLASS,STRING].item_mem*/
/*No:DICTIONARY[BASE_CLASS,STRING].chain*/
/*No:DICTIONARY[BASE_CLASS,STRING].keys*/
/*No:DICTIONARY[BASE_CLASS,STRING].buckets*/
int r718has(T718* C,T0* a1){
int R=0;
/*IF*/if ((((((T718*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T718*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T718*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T718*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[BASE_CLASS,STRING].Min_size*/
/*No:DICTIONARY[BASE_CLASS,STRING].store*/
void r718put(T718* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T718*)C))->_modulus/*20*/);
/*IF*/if ((((((T718*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T718*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T718*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T718*)C))->_count/*32*/)>=(r863count(((T863*)((((T718*)C))->_store/*4*/))))) {
r718expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T718*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T718*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T863* C1=((T863*)((((T718*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T718*)C))->_free/*16*/;
((((T863*)C1))->_storage/*0*/)[(b2)-((((T863*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T718*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T718*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T718*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T718*)C))->_count/*32*/)+(1);
/*IF*/if (((((T718*)C))->_count/*32*/)>(((((T718*)C))->_modulus/*20*/)*(2))) {
r718resize(C,(2)*((((T718*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T863* C1=((T863*)((((T718*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T718*)C))->_has_mem/*24*/;
((((T863*)C1))->_storage/*0*/)[(b2)-((((T863*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[BASE_CLASS,STRING].modulus*/
/*No:DICTIONARY[BASE_CLASS,STRING].count*/
/*No:DICTIONARY[BASE_CLASS,STRING].has_mem*/
void r718initialize(T718* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T718*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T718*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
/*No:MEMO[COMMENT].item*/
/*No:MEMO[COMMENT].clear*/
/*No:MEMO[COMMENT].set_item*/
T0* r250at(T250* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r250has(C,a1);
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_has_mem/*24*/);
return R;
}
void r250expand(T250* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r396count(((T396*)((((T250*)C))->_store/*4*/)));
r429resize(((T429*)((((T250*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T250*)C))->_keys/*0*/)),1,(2)*(_old_size));
r396resize(((T396*)((((T250*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=(((T250*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[RUN_CLASS,STRING].free*/
void r250make(T250* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T250*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T396*n=malloc(sizeof(*n));
*n=M396;
r396make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r250initialize(C);
}
T0* r250item(T250* C,int a1){
T0* R=NULL;
/*IF*/if (((((T250*)C))->_item_mem/*28*/)==(0)) {
r250first(C);
while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
r250forth(C);
}
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
}
 else if (((((T250*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
r250forth(C);
}
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
}
else {
C->_item_mem=0;
R=r250item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem_i*/
void r250resize(T250* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T250*)C))->_buckets/*8*/);
r226make(((T226*)((((T250*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T250*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T250*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem_j*/
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem*/
/*No:DICTIONARY[RUN_CLASS,STRING].chain*/
/*No:DICTIONARY[RUN_CLASS,STRING].keys*/
/*No:DICTIONARY[RUN_CLASS,STRING].buckets*/
int r250has(T250* C,T0* a1){
int R=0;
/*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T250*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T250*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[RUN_CLASS,STRING].Min_size*/
void r250forth(T250* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T250*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T250*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[RUN_CLASS,STRING].store*/
void r250put(T250* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T250*)C))->_modulus/*20*/);
/*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T250*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T250*)C))->_count/*40*/)>=(r396count(((T396*)((((T250*)C))->_store/*4*/))))) {
r250expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T250*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T250*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T250*)C))->_free/*16*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T250*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T250*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T250*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T250*)C))->_count/*40*/)+(1);
/*IF*/if (((((T250*)C))->_count/*40*/)>(((((T250*)C))->_modulus/*20*/)*(2))) {
r250resize(C,(2)*((((T250*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T250*)C))->_has_mem/*24*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[RUN_CLASS,STRING].modulus*/
/*No:DICTIONARY[RUN_CLASS,STRING].count*/
/*No:DICTIONARY[RUN_CLASS,STRING].has_mem*/
void r250first(T250* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
void r250initialize(T250* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0* r237at(T237* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r237has(C,a1);
R=r495item(((T495*)((((T237*)C))->_store/*4*/)),(((T237*)C))->_has_mem/*24*/);
return R;
}
void r237expand(T237* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r495count(((T495*)((((T237*)C))->_store/*4*/)));
r429resize(((T429*)((((T237*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T237*)C))->_keys/*0*/)),1,(2)*(_old_size));
r495resize(((T495*)((((T237*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=(((T237*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[E_FEATURE,STRING].free*/
void r237resize(T237* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T237*)C))->_buckets/*8*/);
r226make(((T226*)((((T237*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T237*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T237*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[E_FEATURE,STRING].item_mem*/
/*No:DICTIONARY[E_FEATURE,STRING].chain*/
/*No:DICTIONARY[E_FEATURE,STRING].buckets*/
/*No:DICTIONARY[E_FEATURE,STRING].keys*/
int r237has(T237* C,T0* a1){
int R=0;
/*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T237*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T237*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[E_FEATURE,STRING].Min_size*/
/*No:DICTIONARY[E_FEATURE,STRING].store*/
void r237with_capacity(T237* C,int a1){
int _i=0;
_i=32;
while (!((_i)>=(a1))) {
_i=(2)*(_i);
}
C->_modulus=(2)*(_i);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T237*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,_i);
C->_chain=(T0*)n;
}
{T495*n=malloc(sizeof(*n));
*n=M495;
r495make(n,1,_i);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_keys=(T0*)n;
}
r237initialize(C);
}
void r237put(T237* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T237*)C))->_modulus/*20*/);
/*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T237*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T237*)C))->_count/*32*/)>=(r495count(((T495*)((((T237*)C))->_store/*4*/))))) {
r237expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T237*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T237*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T237*)C))->_free/*16*/;
((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T237*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T237*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T237*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T237*)C))->_count/*32*/)+(1);
/*IF*/if (((((T237*)C))->_count/*32*/)>(((((T237*)C))->_modulus/*20*/)*(2))) {
r237resize(C,(2)*((((T237*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T237*)C))->_has_mem/*24*/;
((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[E_FEATURE,STRING].modulus*/
/*No:DICTIONARY[E_FEATURE,STRING].count*/
/*No:DICTIONARY[E_FEATURE,STRING].has_mem*/
void r237initialize(T237* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0*oBC364eh=NULL;
/*No:COMPILE_TO_JVM.dos_system*/
/*No:COMPILE_TO_JVM.fz_system_se*/
/*No:COMPILE_TO_JVM.fz_sys*/
T0*oBC364run_control=NULL;
T0*oBC364tmp_file_read=NULL;
/*No:COMPILE_TO_JVM.unix_system*/
/*No:COMPILE_TO_JVM.us_compile_to_jvm*/
/*No:COMPILE_TO_JVM.exit_failure_code*/
/*No:COMPILE_TO_JVM.vms_system*/
int fBC364small_eiffel_directory=0;
T0*oBC364small_eiffel_directory=NULL;
T0* r632small_eiffel_directory(T632* C){
if (fBC364small_eiffel_directory==0){
T0* R=NULL;
char _slash=0;
int _i=0;
fBC364small_eiffel_directory=1;
R=r632get_environment_variable(C,((T0*)ms121_470));
/*IF*/if ((R)==((void*)(NULL))) {
R=r7twin(((T7*)(((T0*)ms121_470))));
r7to_upper(((T7*)R));
R=r632get_environment_variable(C,R);
/*IF*/if ((R)!=((void*)(NULL))) {
r7to_upper(((T7*)(((T0*)ms121_470))));
}
/*FI*/}
/*FI*//*IF*/if ((R)==((void*)(NULL))) {
R=((T0*)ms1_364);
}
/*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
while (!((_i)<(0))) {
_slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) {
_i=(_i)-(1);
}
else {
_i=-(1);
}
/*FI*/}
/*IF*/if ((_i)==(0)) {
r7extend(((T7*)R),'\57');
}
 else if (!((r7last(((T7*)R)))==(_slash))) {
r7extend(((T7*)R),_slash);
}
/*FI*/oBC364small_eiffel_directory=R;}
return oBC364small_eiffel_directory;}
/*No:COMPILE_TO_JVM.root_class*/
T0* r632command_name(void){
T0* R=NULL;
R=((T0*)ms59_473);
return R;
}
void r632automat(T632* C){
T0* _a=NULL;
int _arg=0;
_arg=1;
while (!(((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r632command_arguments()))))->_upper/*8*//*)*/))||(((((T632*)C))->_state/*0*/)>(7)))) {
_a=r632argument(_arg);
{int z1=(((T632*)C))->_state/*0*/;

if((0==z1)){
/*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')) {
C->_root_class=_a;
/*[IRF3.3set_root_class*/((((T590*)(((T590*)(oBC364run_control)))))->_root_class)=(_a);
/*]*/
C->_state=1;
}
 else if (r7is_equal(ms3_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_boost*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-6);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms4_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms5_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_require_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-4);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms6_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_ensure_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-3);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms7_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_invariant_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-2);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms8_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_loop_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-1);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms9_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_all_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(0);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms10_632,_a)) {
/*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
r632error_level(C,_a);
}
else {
/*[IRF3.3set_debug_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(1);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms11_632,_a)) {
/*[IRF3.3set_no_warning*/((((T683*)(((T683*)(oBC364eh)))))->_no_warning)=(1);
/*]*/
}
 else if (r7is_equal(ms12_632,_a)) {
/*[IRF3.3set_verbose*/((((T306*)(((T306*)(oBC364echo)))))->_verbose)=(1);
/*]*/
}
 else if (r7is_equal(ms13_632,_a)) {
/*[IRF3.3set_trace*/((((T590*)(((T590*)(oBC364run_control)))))->_trace)=(1);
/*]*/
}
 else if (r7is_equal(ms14_632,_a)) {
C->_state=2;
}
 else if (r7is_equal(ms15_632,_a)) {
C->_state=3;
}
else {
/*[IRF3.6append*/{T0* b1=((T0*)ms16_632);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=_a;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms17_632);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_error(((T683*)(oBC364eh)));
C->_state=9;
}
/*FI*/}
 else 
if((1==z1)){
/*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55')) {
_arg=(_arg)-(1);
}
else {
C->_start_proc=_a;
}
/*FI*/C->_state=0;
}
 else 
if((2==z1)){
/*[IRF3.3set_cecil_path*/((((T590*)(((T590*)(oBC364run_control)))))->_cecil_path)=(_a);
/*]*/
C->_state=0;
}
 else {/*[IRF3.3set_output_name*/((((T228*)(((T228*)(oBC364jvm)))))->_output_name)=(_a);
/*]*/
C->_state=0;
}}
_arg=(_arg)+(1);
}
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
/*IF*/if (r590boost(((T590*)(oBC364run_control)))) {
/*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5);
/*]*/
}
/*FI*/}
/*FI*/r604compile_to_jvm(((T604*)(oBC364small_eiffel)),(((T632*)C))->_root_class/*8*/,(((T632*)C))->_start_proc/*12*/);
}
/*FI*/}
/*No:COMPILE_TO_JVM.amiga_system*/
void r632make(T632* C){
C->_start_proc=((T0*)ms89_473);
/*[IRF3.3set_drop_comments*/((((T818*)(((T818*)(oBC364eiffel_parser)))))->_drop_comments)=(1);
/*]*/
/*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r632command_arguments()))))->_upper/*8*//*)*/)<(1)) {
r441put_string(((T441*)(oBC1std_error)),((T0*)ms1_632));
r632print_help(C,((T0*)ms2_632));
exit(1);
}
else {
r632automat(C);
}
/*FI*/}
/*No:COMPILE_TO_JVM.nb_errors*/
/*No:COMPILE_TO_JVM.help_suffix*/
T0*oBC364help_file_name=NULL;
T0*oBC1std_error=NULL;
void r632add_directory(T632* C,T0* a1,T0* a2){
/*IF*/if ((((T0*)ms17_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms19_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms15_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if ((((T0*)ms14_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms16_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms13_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms18_364))==((void*)(r632system_name(C)))) {
r7set_last(((T7*)a1),'\135');
r7remove_last(((T7*)a1),1);
r7set_last(((T7*)a1),'\56');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\135');
}
/*FI*/}
T670 oBC1file_tools=0;
T0*oBC1std_output=NULL;
/*No:COMPILE_TO_JVM.level*/
/*No:COMPILE_TO_JVM.windows_system*/
T0*oBC364eiffel_parser=NULL;
T0*oBC364echo=NULL;
T0* r632get_environment_variable(T632* C,T0* a1){
T0* R=NULL;
void* _p=0;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
return R;
}
void r632print_help(T632* C,T0* a1){
r7copy(((T7*)(oBC364help_file_name)),r632small_eiffel_directory(C));
r632add_directory(C,oBC364help_file_name,((T0*)ms2_364));
r7append(((T7*)(oBC364help_file_name)),a1);
/*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) {
r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364));
}
/*FI*//*IF*/if (!(r632file_exists(oBC364help_file_name))) {
r306w_put_string(((T0*)ms3_364));
r306w_put_string(oBC364help_file_name);
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name);
}
int fBC1command_arguments=0;
T0*oBC1command_arguments=NULL;
T0* r632command_arguments(void){
if (fBC1command_arguments==0){
T0* R=NULL;
T0* _arg=NULL;
int _i=0;
fBC1command_arguments=1;
_i=se_argc;
{T927*n=malloc(sizeof(*n));
*n=M927;
r927make(n,_i);
R=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
_arg=((T0*)e2s(se_argv[_i]));
/*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg);
/*]*/
}
oBC1command_arguments=R;}
return oBC1command_arguments;}
/*No:COMPILE_TO_JVM.us_make*/
T0*oBC364system_list=NULL;
int fBC364system_name=0;
T0*oBC364system_name=NULL;
T0* r632system_name(T632* C){
if (fBC364system_name==0){
T0* R=NULL;
int _i=0;
fBC364system_name=1;
r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) {
r7set_last(((T7*)(oBC364tmp_path)),'\57');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\57');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) {
r7set_last(((T7*)(oBC364tmp_path)),'\134');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\134');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) {
r7set_last(((T7*)(oBC364tmp_path)),'\72');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\72');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) {
r7set_last(((T7*)(oBC364tmp_path)),'\135');
r7remove_last(((T7*)(oBC364tmp_path)),1);
r7extend(((T7*)(oBC364tmp_path)),'\56');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\135');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r306w_put_string(((T0*)ms20_364));
r306w_put_string(((T0*)ms127_470));
r306w_put_string(((T0*)ms21_364));
r306w_put_string(r632small_eiffel_directory(C));
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
R=oBC762last_string;
_i=r52index_of(((T52*)(oBC364system_list)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
/*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
r306w_put_string(((T0*)ms22_364));
r306w_put_string(oBC364tmp_path);
r306w_put_string(((T0*)ms23_364));
_i=1;
while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
r306w_put_character('\n');
_i=(_i)+(1);
}
}
else {
R=r52item(((T52*)(oBC364system_list)),_i);
r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
r306put_string(((T306*)(oBC364echo)),R);
r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
}
/*FI*/oBC364system_name=R;}
return oBC364system_name;}
T0*oBC364jvm=NULL;
T0*oBC364tmp_path=NULL;
/*No:COMPILE_TO_JVM.fz_b0*/
/*No:COMPILE_TO_JVM.fz_se*/
/*No:COMPILE_TO_JVM.os2_system*/
T0*oBC364small_eiffel=NULL;
/*No:COMPILE_TO_JVM.state*/
int r632file_exists(T0* a1){
int R=0;
R=r670is_readable(a1);
return R;
}
/*No:COMPILE_TO_JVM.argument_count*/
/*No:COMPILE_TO_JVM.macintosh_system*/
/*No:COMPILE_TO_JVM.fz_dot*/
void r632error_level(T632* C,T0* a1){
C->_state=9;
/*[IRF3.6append*/{T0* b1=r632command_name();
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms1_765);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T632*)C))->_level/*4*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms2_765);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms67_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_error(((T683*)(oBC364eh)));
}
/*No:COMPILE_TO_JVM.start_proc*/
T0* r632argument(int a1){
T0* R=NULL;
R=/*(IRF4.6item*/((((T927*)((T927*)(r632command_arguments()))))->_storage/*0*/)[a1]/*)*/;
return R;
}
void r376check_creation_clause(T376* C,T0* a1){
/*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
/*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms2_334));
r376error((((T376*)C))->_start_position/*8*/,((T0*)ms3_334));
}
/*FI*/}
T0* r376add_comment(T376* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
/*AF*/else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r376check_created_type(T376* C,T0* a1){
T0* _rt=NULL;
_rt=X291run_type(a1);
/*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
}
 else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
r683add_type(_rt,((T0*)ms2_747));
r683add_position((((T376*)C))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if (X291is_formal_generic(a1)) {
r683add_position((((T376*)C))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms5_747));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt))));
}
/*No:CREATION_CALL_2.writable*/
void r376make(T376* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
}
/*No:CREATION_CALL_2.type*/
/*No:CREATION_CALL_2.start_position*/
T0* r376to_runnable(T376* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T376*)C))->_run_compound/*4*/)==((void*)(NULL))) {
r376check_writable(C,a1);
r376check_explicit_type(C);
r376check_created_type(C,(((T376*)C))->_type/*16*/);
r376check_creation_clause(C,(((T376*)C))->_type/*16*/);
R=(T0*)C;
}
else {
{T376*n=malloc(sizeof(*n));
*n=M376;
r376make(n,(((T376*)C))->_start_position/*8*/,(((T376*)C))->_type/*16*/,(((T376*)C))->_writable/*12*/);
R=(T0*)n;
}
R=r376to_runnable(((T376*)R),a1);
}
/*FI*/return R;
}
T0* r376current_type(T376* C){
T0* R=NULL;
/*IF*/if (((((T376*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
R=(((T592*)((T592*)((((T376*)C))->_run_compound/*4*/))))->_current_type/*4*/;
}
/*FI*/return R;
}
/*No:CREATION_CALL_2.run_compound*/
void r376check_explicit_type(T376* C){
T0* _t=NULL;
_t=X291to_runnable((((T376*)C))->_type/*16*/,r376current_type(C));
/*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) {
r683add_position(X291start_position((((T376*)C))->_type/*16*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_type=_t;
}
/*FI*//*IF*/if (!(X291is_a((((T376*)C))->_type/*16*/,X662result_type((((T376*)C))->_writable/*12*/)))) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
/*No:CREATION_CALL_2.compile_to_jvm0*/
void r376compile_to_jvm(T376* C){
T0* _t=NULL;
_t=X291run_type((((T376*)C))->_type/*16*/);
/*[IRF3.6compile_to_jvm0*/{T0* b1=_t;
r355jvm_push_default(((T355*)(X291run_class(b1))));
}/*]*/
X291jvm_check_class_invariant(_t);
X662jvm_assign((((T376*)C))->_writable/*12*/);
}
int r376is_pre_computable(T376* C){
int R=0;
R=X662is_result((((T376*)C))->_writable/*12*/);
return R;
}
int r376use_current(T376* C){
int R=0;
R=X662use_current((((T376*)C))->_writable/*12*/);
return R;
}
void r376check_writable(T376* C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=X662to_runnable((((T376*)C))->_writable/*12*/,r376current_type(C));
/*IF*/if ((_w)==((void*)(NULL))) {
r683add_position(X662start_position((((T376*)C))->_writable/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_writable=_w;
}
/*FI*/}
void r376error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CREATION_CALL_2.fatal_error*/
/*No:CREATION_CALL_2.end_mark_comment*/
/*No:CREATION_CALL_2.afd_check*/
T0*oBC364code_attribute=NULL;
/*No:E_REQUIRE.is_require_else*/
/*No:E_REQUIRE.empty*/
void r343from_runnable(T343* C,T0* a1){
C->_list=a1;
C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
}
void r343make(T343* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
T0*oBC596points_false=NULL;
/*No:E_REQUIRE.set_header_comment*/
/*No:E_REQUIRE.start_position*/
/*No:E_REQUIRE.list*/
/*No:E_REQUIRE.current_type*/
/*No:E_REQUIRE.header_comment*/
void r343compile_to_jvm(T343* C,int a1){
T0* _ca=NULL;
int _i=0;
int _point_true=0;
/*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
_ca=oBC364code_attribute;
r256check_opening(((T256*)_ca));
/*IF*/if (a1) {
_i=1;
while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
r348compile_to_jvm(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))),1);
_i=(_i)+(1);
}
}
else {
/*[IRF3.3clear*/((((T226*)(((T226*)(oBC596points_false)))))->_upper)=(-(1));
/*]*/
_i=1;
while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
r348compile_to_jvm(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))),0);
r226add_last(((T226*)(oBC596points_false)),r256opcode_ifeq(((T256*)_ca)));
_i=(_i)+(1);
}
/*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
/*]*/
_point_true=r256opcode_goto(((T256*)_ca));
r256resolve_with(oBC596points_false);
/*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
/*]*/
r256resolve_u2_branch(_point_true);
}
/*FI*/r256check_closing(((T256*)_ca));
}
/*FI*/}
int r343use_current(T343* C){
int R=0;
int _i=0;
/*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r348use_current(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*No:E_REQUIRE.set_require_else*/
void r343afd_check(T343* C){
int _i=0;
/*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=(((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/;
while (!((_i)==(0))) {
r348afd_check(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
_i=(_i)-(1);
}
}
/*FI*/}
T0*oBC364unique_string=NULL;
/*No:INFIX_NAME.set_is_frozen*/
void r454make(T454* C,T0* a1,T0* a2){
C->_to_string=r902item(a1);
C->_start_position=a2;
C->_to_key=r902for_infix((((T454*)C))->_to_string/*4*/);
}
/*No:INFIX_NAME.to_string*/
/*No:INFIX_NAME.start_position*/
/*No:INFIX_NAME.to_key*/
/*No:INFIX_NAME.is_frozen*/
void r454undefine_in(T454* C,T0* a1){
/*IF*/if ((((T454*)C))->_is_frozen/*12*/) {
r454error((((T454*)C))->_start_position/*8*/,((T0*)ms1_776));
r605fatal_undefine(((T605*)a1),(T0*)C);
}
/*FI*/}
void r454error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
T0* r454origin_base_class(T454* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(((T454*)C))->_start_position/*8*/;
/*IF*/if ((_sp)!=((void*)(NULL))) {
R=r627base_class(((T627*)_sp));
}
/*FI*/return R;
}
/*No:ONCE_PROCEDURE.arguments*/
T0* r134try_to_undefine(T134* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=r134try_to_undefine_aux(C,a1,a2);
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T134*)C))->_clients/*24*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
T0*oBC359assertion_collector=NULL;
/*No:ONCE_PROCEDURE.is_deferred*/
/*No:ONCE_PROCEDURE.fz_bad_assertion*/
T0* r134runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
int _i=0;
/*IF*/if (!(r608empty(((T608*)a1)))) {
R=r608twin(((T608*)a1));
_i=(((T608*)((T608*)R)))->_upper/*8*/;
while (!((_i)==(0))) {
r604push(((T604*)(oBC364small_eiffel)),a3);
_a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
/*IF*/if ((_a)==((void*)(NULL))) {
r134error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
}
else {
/*[IRF3.6put*/{T608* C1=((T608*)R);
T0* b1=_a;
int b2=_i;
((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/r604pop(((T604*)(oBC364small_eiffel)));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*No:ONCE_PROCEDURE.rescue_compound*/
void r134add_into(T134* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
/*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
_fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
r683add_position(X776start_position(_fn));
r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
/*[IRF3.6append*/{T0* b1=X776to_string(_fn);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
else {
r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
/*No:ONCE_PROCEDURE.end_comment*/
T0*oBC359header_comment_memory=NULL;
T0* r134try_to_undefine_aux(T134* C,T0* a1,T0* a2){
T0* R=NULL;
{T853*n=malloc(sizeof(*n));
*n=M853;
r853from_effective(n,a1,(((T134*)C))->_arguments/*28*/,(((T134*)C))->_require_assertion/*36*/,(((T134*)C))->_ensure_assertion/*40*/,a2);
R=(T0*)n;
}
return R;
}
void r134make(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r134make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=1024;
}
/*No:ONCE_PROCEDURE.not_computed*/
/*No:ONCE_PROCEDURE.nb_errors*/
void r134make_routine(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
r134make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
/*No:ONCE_PROCEDURE.local_vars*/
void r134set_header_comment(T134* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
C->_end_comment=a1;
}
/*FI*/}
T0* r134start_position(T134* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r134to_run_feature(T134* C,T0* a1,T0* a2){
T0* R=NULL;
r134check_obsolete(C);
{T869*n=malloc(sizeof(*n));
*n=M869;
r869make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
/*No:ONCE_PROCEDURE.ensure_assertion*/
/*No:ONCE_PROCEDURE.code_require*/
T0* r134run_ensure(T0* a1){
T0* R=NULL;
T0* _r=NULL;
r608clear(((T608*)(oBC359assertion_collector)));
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
}/*]*/
r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/));
_r=r134runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1);
/*IF*/if ((_r)!=((void*)(NULL))) {
{T633*n=malloc(sizeof(*n));
*n=M633;
r633from_runnable(n,_r);
R=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/);
/*]*/
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
}/*]*/
}
/*FI*/return R;
}
T0* r134run_require(T0* a1){
T0* R=NULL;
T0* _ar=NULL;
T0* _hc=NULL;
T0* _er=NULL;
T0* _r=NULL;
int _i=0;
r522clear(((T522*)(oBC359require_collector)));
r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/));
/*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) {
_i=1;
while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) {
_er=r522item(((T522*)(oBC359require_collector)),_i);
_hc=(((T343*)((T343*)_er)))->_header_comment/*4*/;
/*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) {
_r=r134runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1);
/*IF*/if ((_r)!=((void*)(NULL))) {
{T343*n=malloc(sizeof(*n));
*n=M343;
r343from_runnable(n,_r);
_er=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc);
/*]*/
/*IF*/if ((_ar)==((void*)(NULL))) {
_ar=se_ma522(1,_er);
}
else {
r522add_last(((T522*)_ar),_er);
}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)+(1);
}
/*IF*/if ((_ar)!=((void*)(NULL))) {
{T567*n=malloc(sizeof(*n));
*n=M567;
/*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar);
/*]*/
R=(T0*)n;
}
}
/*FI*/}
/*FI*/return R;
}
/*No:ONCE_PROCEDURE.result_type*/
/*No:ONCE_PROCEDURE.fz_03*/
/*No:ONCE_PROCEDURE.em1*/
/*No:ONCE_PROCEDURE.obsolete_mark*/
/*No:ONCE_PROCEDURE.set_clients*/
/*No:ONCE_PROCEDURE.em2*/
/*No:ONCE_PROCEDURE.names*/
/*No:ONCE_PROCEDURE.require_assertion*/
/*No:ONCE_PROCEDURE.use_current_state*/
/*No:ONCE_PROCEDURE.code_ensure*/
void r134set_rescue_compound(T134* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) {
r134error(r134start_position(C),((T0*)ms6_368));
}
/*FI*/C->_rescue_compound=a1;
}
int r134can_hide(T134* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms6_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms7_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r683add_position(r134start_position(C));
/*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/}
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:ONCE_PROCEDURE.header_comment*/
/*No:ONCE_PROCEDURE.routine_body*/
int r134is_merge_with(T134* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms3_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms4_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms12_359));
}
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:ONCE_PROCEDURE.fz_dot*/
/*No:ONCE_PROCEDURE.set_ensure_assertion*/
/*No:ONCE_PROCEDURE.first_name*/
/*No:ONCE_PROCEDURE.clients*/
void r134collect_for(T134* C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
/*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/))) {
r522add_last(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
/*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T134*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/);
/*]*/
r633add_into(((T633*)((((T134*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector);
}
/*FI*/}
/*FI*/}
void r134error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:ONCE_PROCEDURE.base_class*/
T0*oBC359require_collector=NULL;
void r134make_e_feature(T134* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void r134check_obsolete(T134* C){
/*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
/*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms7_368);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T134*)C))->_obsolete_mark/*32*/))))->_to_string/*16*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r134warning(r134start_position(C),((T0*)ms137_470));
}
/*FI*/}
/*FI*/}
void r134warning(T0* a1,T0* a2){
r683add_position(a1);
r683warning(((T683*)(oBC364eh)),a2);
}

