/*
-- 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 "short.h"
/*No:POSITION.line*/
void r627make(T627* C,int a1,int a2){
C->_mem_line_column=((a1)*(1000))+(a2);
C->_base_class_name=/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/;
}
T0* r627get_line(T627* C){
T0* R=NULL;
int _i=0;
T0* _p=NULL;
_p=r627path(C);
/*IF*/if ((_p)!=((void*)(NULL))) {
r675connect_to(((T675*)(oBC364tmp_file_read)),_p);
while (!((_i)==(/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/))) {
r675read_line(((T675*)(oBC364tmp_file_read)));
_i=(_i)+(1);
}
R=oBC762last_string;
r675disconnect(((T675*)(oBC364tmp_file_read)));
}
/*FI*/return R;
}
T0* r627path(T627* C){
T0* R=NULL;
T0* _bc=NULL;
T0* _bcn=NULL;
_bcn=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/;
/*IF*/if ((_bcn)!=((void*)(NULL))) {
/*IF*/if (r604is_used(_bcn)) {
_bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
}
 else if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
/*IF*/if (((((T451*)((T451*)(/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/)==((void*)(_bcn))) {
_bc=/*(IRF4.3current_class*/(((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*//*)*/;
}
/*FI*/}
else {
_bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
}
/*FI*//*IF*/if ((_bc)!=((void*)(NULL))) {
R=(((T605*)((T605*)_bc)))->_path/*4*/;
}
/*FI*/}
/*FI*/return R;
}
/*No:POSITION.column*/
void r627with(T627* C,int a1,int a2,T0* a3){
C->_mem_line_column=((a1)*(1000))+(a2);
C->_base_class_name=a3;
}
int r627is_equal(T627* C,T0* a1){
int R=0;
R=(((((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/))&&((/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/)==(/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/)))&&(((((T627*)C))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T627*)((T627*)a1)))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)==((void*)((((T451*)((T451*)((((T627*)((T627*)a1)))->_base_class_name/*0*/))))->_to_string/*0*/)));
return R;
}
void r627show(T627* C){
T0* _the_line=NULL;
T0* _str=NULL;
T0* _n=NULL;
int _nb=0;
int _c=0;
_n=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/;
r441put_string(((T441*)(oBC1std_error)),((T0*)ms3_627));
r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/);
r441put_string(((T441*)(oBC1std_error)),((T0*)ms4_627));
r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/);
r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_627));
r441put_string(((T441*)(oBC1std_error)),_n);
_str=r627path(C);
/*IF*/if ((_str)!=((void*)(NULL))) {
r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_627));
r441put_string(((T441*)(oBC1std_error)),_str);
/*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
char b1='\51';
putc(b1,((FILE*)(stderr)));
}/*]*/
}
/*FI*/r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_627));
_the_line=r627get_line(C);
/*IF*/if ((_the_line)!=((void*)(NULL))) {
_c=/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/;
r441put_string(((T441*)(oBC1std_error)),_the_line);
/*[IRF3.4put_new_line*//*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
char b1='\n';
putc(b1,((FILE*)(stderr)));
}/*]*/
/*]*/
_nb=1;
while (!((_nb)==(_c))) {
/*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_the_line)))->_storage/*0*/)[(_nb)-(1)]/*)*/)==('\11')) {
/*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
char b1='\11';
putc(b1,((FILE*)(stderr)));
}/*]*/
}
else {
/*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
char b1='\40';
putc(b1,((FILE*)(stderr)));
}/*]*/
}
/*FI*/_nb=(_nb)+(1);
}
r441put_string(((T441*)(oBC1std_error)),((T0*)ms8_627));
}
else {
r441put_string(((T441*)(oBC1std_error)),((T0*)ms9_627));
r441put_string(((T441*)(oBC1std_error)),_n);
r441put_string(((T441*)(oBC1std_error)),((T0*)ms10_627));
}
/*FI*/}
T0* r627base_class(T627* C){
T0* R=NULL;
/*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
/*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/))))->_count/*4*/)==(0)/*)*/) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_627);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
 else if (r604is_used((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)) {
R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
}
else {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_627);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
else {
R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
}
/*FI*/return R;
}
/*No:POSITION.fatal_error*/
/*No:POSITION.mem_line_column*/
/*No:POSITION.base_class_name*/
void r627set_line_column(T627* C,int a1,int a2){
C->_mem_line_column=((a1)*(1000))+(a2);
}
/*No:BOOLEAN_REF.item*/

