ftp.nice.ch/pub/next/developer/languages/eiffel/SmallEiffel.0.95.N.bs.tar.gz#/SmallEiffel/bin_c/compile_to_c11.c

This is compile_to_c11.c in view mode; [Download] [Up]

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.95)    --      FRANCE
-- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
-- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
-- CRIN (Centre de Recherche en Informatique de Nancy)
-- FRANCE 
*/
#include "compile_to_c.h"
void rT51a_r3(T51 *C,T0* a1){
T0* _sp=NULL;
T0* _infix_and=NULL;
T0* _infix_and_then=NULL;
/*IF*/if (rT51a_keyword(C,(T0 *)ms97)) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_keyword(C,(T0 *)ms98)) {
/*IF*/if (rT51a_e3(C)) {
{T198 *n=((T198*)se_new(198));
rT198make(n,a1,_sp,(C)->_last_expression);
_infix_and_then=(T0 *)n;}
rT51a_r3(C,_infix_and_then);
}
else {
rT51err_exp(_sp,(T0 *)ms99);
}
/*FI*/}
else {
/*IF*/if (rT51a_e3(C)) {
{T199 *n=((T199*)se_new(199));
rT199make(n,a1,_sp,(C)->_last_expression);
_infix_and=(T0 *)n;}
rT51a_r3(C,_infix_and);
}
else {
rT51err_exp(_sp,(T0 *)ms97);
}
/*FI*/}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
void rT51a_r4(T51 *C,T0* a1){
T0* _sp=NULL;
T0* _infix_gt=NULL;
T0* _infix_ge=NULL;
T0* _infix_lt=NULL;
T0* _infix_le=NULL;
T0* _infix_not_equal=NULL;
T0* _infix_equal=NULL;
/*IF*/if (rT51skip1(C,'\75')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e4(C)) {
{T192 *n=((T192*)se_new(192));
rT192make(n,a1,_sp,(C)->_last_expression);
_infix_equal=(T0 *)n;}
rT51a_r4(C,_infix_equal);
}
else {
rT51err_exp(_sp,(T0 *)ms311);
}
/*FI*/}
 else if (rT51skip2(C,'\57','\75')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e4(C)) {
{T193 *n=((T193*)se_new(193));
rT193make(n,a1,_sp,(C)->_last_expression);
_infix_not_equal=(T0 *)n;}
rT51a_r4(C,_infix_not_equal);
}
else {
rT51err_exp(_sp,(T0 *)ms313);
}
/*FI*/}
 else if (rT51skip2(C,'\74','\75')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e4(C)) {
{T194 *n=((T194*)se_new(194));
rT194make(n,a1,_sp,(C)->_last_expression);
_infix_le=(T0 *)n;}
rT51a_r4(C,_infix_le);
}
else {
rT51err_exp(_sp,(T0 *)ms315);
}
/*FI*/}
 else if (rT51skip2(C,'\76','\75')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e4(C)) {
{T196 *n=((T196*)se_new(196));
rT196make(n,a1,_sp,(C)->_last_expression);
_infix_ge=(T0 *)n;}
rT51a_r4(C,_infix_ge);
}
else {
rT51err_exp(_sp,(T0 *)ms317);
}
/*FI*/}
 else if (rT51skip1(C,'\74')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e4(C)) {
{T195 *n=((T195*)se_new(195));
rT195make(n,a1,_sp,(C)->_last_expression);
_infix_lt=(T0 *)n;}
rT51a_r4(C,_infix_lt);
}
else {
rT51err_exp(_sp,(T0 *)ms319);
}
/*FI*/}
 else if (rT51skip1unless2(C,'\76','\76')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e4(C)) {
{T197 *n=((T197*)se_new(197));
rT197make(n,a1,_sp,(C)->_last_expression);
_infix_gt=(T0 *)n;}
rT51a_r4(C,_infix_gt);
}
else {
rT51err_exp(_sp,(T0 *)ms321);
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
void rT51a_r5(T51 *C,T0* a1){
T0* _sp=NULL;
T0* _infix_minus=NULL;
T0* _infix_plus=NULL;
/*IF*/if (rT51skip1(C,'\53')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e5(C)) {
{T190 *n=((T190*)se_new(190));
rT190make(n,a1,_sp,(C)->_last_expression);
_infix_plus=(T0 *)n;}
rT51a_r5(C,_infix_plus);
}
else {
rT51err_exp(_sp,(T0 *)ms80);
}
/*FI*/}
 else if (rT51skip1(C,'\55')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e5(C)) {
{T191 *n=((T191*)se_new(191));
rT191make(n,a1,_sp,(C)->_last_expression);
_infix_minus=(T0 *)n;}
rT51a_r5(C,_infix_minus);
}
else {
rT51err_exp(_sp,(T0 *)ms81);
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
void rT51a_r6(T51 *C,T0* a1){
T0* _sp=NULL;
T0* _infix_div=NULL;
T0* _infix_int_rem=NULL;
T0* _infix_int_div=NULL;
T0* _infix_times=NULL;
/*IF*/if (rT51skip1(C,'\52')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e6(C)) {
{T186 *n=((T186*)se_new(186));
rT186make(n,a1,_sp,(C)->_last_expression);
_infix_times=(T0 *)n;}
rT51a_r6(C,_infix_times);
}
else {
rT51err_exp(_sp,(T0 *)ms305);
}
/*FI*/}
 else if (rT51skip2(C,'\57','\57')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e6(C)) {
{T187 *n=((T187*)se_new(187));
rT187make(n,a1,_sp,(C)->_last_expression);
_infix_int_div=(T0 *)n;}
rT51a_r6(C,_infix_int_div);
}
else {
rT51err_exp(_sp,(T0 *)ms307);
}
/*FI*/}
 else if (rT51skip2(C,'\134','\134')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e6(C)) {
{T188 *n=((T188*)se_new(188));
rT188make(n,a1,_sp,(C)->_last_expression);
_infix_int_rem=(T0 *)n;}
rT51a_r6(C,_infix_int_rem);
}
else {
rT51err_exp(_sp,(T0 *)ms309);
}
/*FI*/}
 else if (rT51skip1unless2(C,'\57','\75')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e6(C)) {
{T189 *n=((T189*)se_new(189));
rT189make(n,a1,_sp,(C)->_last_expression);
_infix_div=(T0 *)n;}
rT51a_r6(C,_infix_div);
}
else {
rT51err_exp(_sp,(T0 *)ms91);
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int rT51skip1unless2(T51 *C,char a1,char a2){
int R=0;
C->_start_line=(C)->_line;
C->_start_column=(C)->_column;
/*IF*/if (((C)->_cc)==(a1)) {
rT51next_char(C);
/*IF*/if (((C)->_cc)==(a2)) {
rT51prev_char(C);
}
else {
R=1;
rT51skip_comments(C);
}
/*FI*/}
/*FI*/return R;
}
int rT51skip1(T51 *C,char a1){
int R=0;
/*IF*/if ((a1)==((C)->_cc)) {
C->_start_line=(C)->_line;
C->_start_column=(C)->_column;
R=1;
rT51next_char(C);
rT51skip_comments(C);
}
/*FI*/return R;
}
void rT51a_r7(T51 *C,T0* a1){
T0* _sp=NULL;
T0* _infix_power=NULL;
/*IF*/if (rT51skip1(C,'\136')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51a_e7(C)) {
{T185 *n=((T185*)se_new(185));
rT185make(n,a1,_sp,(C)->_last_expression);
_infix_power=(T0 *)n;}
rT51a_r7(C,_infix_power);
}
else {
rT51err_exp(_sp,(T0 *)ms303);
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int rT51skip2(T51 *C,char a1,char a2){
int R=0;
/*IF*/if ((a1)==((C)->_cc)) {
C->_start_line=(C)->_line;
C->_start_column=(C)->_column;
rT51next_char(C);
/*IF*/if ((a2)==((C)->_cc)) {
R=1;
rT51next_char(C);
rT51skip_comments(C);
}
else {
rT51prev_char(C);
}
/*FI*/}
/*FI*/return R;
}
void rT51a_r8(T51 *C,T0* a1){
T0* _infix_freeop=NULL;
T0* _infix_name=NULL;
/*IF*/if (rT51a_free_operator(C)) {
_infix_name=rT69to_infix_name_use((T69*)rT51tmp_operator());
/*IF*/if (rT51a_e8(C)) {
{T183 *n=((T183*)se_new(183));
rT183make(n,a1,_infix_name,(C)->_last_expression);
_infix_freeop=(T0 *)n;}
rT51a_r8(C,_infix_freeop);
}
else {
rT51err_exp(((T70*)_infix_name)->_start_position,((T70*)_infix_name)->_to_string);
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int rT51a_debug(T51 *C){
int R=0;
T0* _e_debug=NULL;
T0* _list=NULL;
T0* _sp=NULL;
/*IF*/if (rT51a_keyword(C,(T0 *)ms342)) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (rT51skip1(C,'\50')) {
while (!(!(rT51a_manifest_string(C)))) {
/*IF*/if (!(_list)) {
_list=ma(151,0,1,(C)->_last_manifest_string);
}
else {
rT151add_last((T151*)_list,(C)->_last_manifest_string);
}
/*FI*/C->_ok=rT51skip1(C,'\54');
}
/*IF*/if (!(_list)) {
rT51wcp(C,(T0 *)ms343);
}
/*FI*//*IF*/if (!(rT51skip1(C,'\51'))) {
rT51fcp(C,(T0 *)ms344);
}
/*FI*/}
/*FI*/R=1;
{T216 *n=((T216*)se_new(216));
rT216make(n,_sp,_list,rT51a_compound2(C,(T0 *)ms348,(T0 *)ms115));
_e_debug=(T0 *)n;}
C->_last_instruction=_e_debug;
}
/*FI*/return R;
}
int rT51a_feature_declaration(T51 *C){
int R=0;
rT136initialize((T136*)oRBC51tmp_feature);
/*IF*/if (rT51a_keyword(C,(T0 *)ms248)) {
/*IF*/if (rT51a_feature_name(C)) {
R=1;
XrT67set_is_frozen((C)->_last_feature_name,1);
(/*UT*/(void)(T136*)oRBC51tmp_feature);
rT136add_synonym((C)->_last_feature_name);
}
else {
rT51fcp(C,(T0 *)ms234);
}
/*FI*/}
 else if (rT51a_feature_name(C)) {
R=1;
(/*UT*/(void)(T136*)oRBC51tmp_feature);
rT136add_synonym((C)->_last_feature_name);
}
/*FI*/while (!(!(rT51skip1(C,'\54')))) {
/*IF*/if (rT51a_keyword(C,(T0 *)ms249)) {
/*IF*/if (rT51a_feature_name(C)) {
XrT67set_is_frozen((C)->_last_feature_name,1);
(/*UT*/(void)(T136*)oRBC51tmp_feature);
rT136add_synonym((C)->_last_feature_name);
}
else {
rT51fcp(C,(T0 *)ms250);
}
/*FI*/}
 else if (rT51a_feature_name(C)) {
(/*UT*/(void)(T136*)oRBC51tmp_feature);
rT136add_synonym((C)->_last_feature_name);
}
else {
rT51ecp(C,(T0 *)ms251);
}
/*FI*/}
/*IF*/if (R) {
rT51a_formal_arg_list(C);
C->_function_type=NULL;
/*IF*/if (rT51skip1(C,'\72')) {
/*IF*/if (!(rT51a_type(C))) {
rT51fcp(C,(T0 *)ms257);
}
else {
C->_function_type=(C)->_last_type;
/*(IRF3*/(((T136*)oRBC51tmp_feature)->_type)=((C)->_last_type);
/*)*/}
/*FI*/}
/*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms258)) {
/*IF*/if (rT51a_keyword(C,(T0 *)ms259)) {
C->_last_feature_declaration=rT136to_cst_att_unique((T136*)oRBC51tmp_feature);
}
 else if (rT51a_boolean_constant(C)) {
C->_last_feature_declaration=rT136to_cst_att_boolean((T136*)oRBC51tmp_feature,(C)->_last_boolean_constant);
}
 else if (rT51a_character_constant(C)) {
C->_last_feature_declaration=rT136to_cst_att_character((T136*)oRBC51tmp_feature,(C)->_last_character_constant);
}
 else if (rT51a_manifest_string(C)) {
C->_last_feature_declaration=rT136to_cst_att_string((T136*)oRBC51tmp_feature,(C)->_last_manifest_string);
}
 else if (rT51a_bit_constant(C)) {
C->_last_feature_declaration=rT136to_cst_att_bit((T136*)oRBC51tmp_feature,(C)->_last_bit_constant);
}
 else if (rT51a_real_constant(C)) {
C->_last_feature_declaration=rT136to_cst_att_real((T136*)oRBC51tmp_feature,(C)->_last_real_constant);
}
 else if (rT51a_integer_constant(C)) {
C->_last_feature_declaration=rT136to_cst_att_integer((T136*)oRBC51tmp_feature,(C)->_last_integer_constant);
}
else {
C->_last_feature_declaration=rT51a_routine(C);
}
/*FI*/}
else {
C->_last_feature_declaration=rT136to_writable_attribute((T136*)oRBC51tmp_feature);
}
/*FI*/C->_function_type=NULL;
C->_arguments=NULL;
}
/*FI*/return R;
}
void rT51a_feature_clause(T51 *C){
T0* _aof=NULL;
T0* _comment=NULL;
T0* _clients=NULL;
T0* _feature_clause=NULL;
_clients=rT51a_clients(C);
_comment=rT51get_comments(C);
while (!(!(rT51a_feature_declaration(C)))) {
C->_ok=rT51skip1(C,'\73');
/*IF*/if (((int)(C)->_last_feature_declaration)) {
/*IF*/if (!(_aof)) {
_aof=ma(63,0,1,(C)->_last_feature_declaration);
}
else {
XrT63add_last(_aof,(C)->_last_feature_declaration);
}
/*FI*/XrT62set_header_comment((C)->_last_feature_declaration,rT51get_comments(C));
}
/*FI*/}
/*IF*/if ((((int)_aof))||(((int)_comment))) {
{T135 *n=((T135*)se_new(135));
rT135make(n,_clients,_comment,_aof);
_feature_clause=(T0 *)n;}
rT50add_feature_clause((T50*)(C)->_last_base_class,_feature_clause);
}
/*FI*/}
int rT51a_feature_list(T51 *C){
int R=0;
int _state=0;
C->_last_feature_list=NULL;
while (!((_state)>=(3))) {
{int iv1=_state;
if (0 == iv1) goto l199;
goto l200;
 l199: ;
/*IF*/if (rT51a_feature_name(C)) {
C->_last_feature_list=ma(129,0,1,(C)->_last_feature_name);
R=1;
_state=1;
}
 else if (((C)->_cc)==('\54')) {
rT51wcp(C,(T0 *)ms228);
C->_ok=rT51skip1(C,'\54');
}
else {
_state=3;
}
/*FI*/goto l198;
 l200: ;
if (1 == iv1) goto l201;
goto l202;
 l201: ;
/*IF*/if (((C)->_cc)==('\54')) {
C->_ok=rT51skip1(C,'\54');
_state=2;
}
 else if (rT51a_feature_name(C)) {
rT51warning(XrT67start_position((C)->_last_feature_name),(T0 *)ms211);
rT129add_last((T129*)(C)->_last_feature_list,(C)->_last_feature_name);
}
else {
_state=3;
}
/*FI*/goto l198;
 l202: ;
if (2 == iv1) goto l203;
goto l204;
 l203: ;
/*IF*/if (rT51a_feature_name(C)) {
rT129add_last((T129*)(C)->_last_feature_list,(C)->_last_feature_name);
_state=1;
}
 else if (((C)->_cc)==('\54')) {
rT51wcp(C,(T0 *)ms208);
C->_ok=rT51skip1(C,'\54');
}
else {
rT51ecp(C,(T0 *)ms234);
_state=3;
}
/*FI*/goto l198;
 l204: ;
 l198: ;
}
}
return R;
}
int rT51a_feature_name(T51 *C){
int R=0;
/*IF*/if (rT51a_prefix(C)) {
C->_last_feature_name=(C)->_last_prefix;
R=1;
}
 else if (rT51a_infix(C)) {
C->_last_feature_name=(C)->_last_infix;
R=1;
}
 else if (rT51a_identifier(C)) {
C->_last_feature_name=rT69to_feature_name((T69*)rT51tmp_name());
R=1;
}
/*FI*/return R;
}
int rT51a_character_constant(T51 *C){
int R=0;
char _value=0;
int _printing_mode=0;
int _state=0;
T0* _sp=NULL;
/*IF*/if (((C)->_cc)==('\47')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_line,(C)->_column);
_sp=(T0 *)n;}
R=1;
while (!((_state)>(2))) {
rT51next_char(C);
{int iv1=_state;
if (0 == iv1) goto l206;
goto l207;
 l206: ;
{int iv2=(C)->_cc;
if (37 == iv2) goto l209;
goto l210;
 l209: ;
_state=1;
goto l208;
 l210: ;
if (39 == iv2) goto l211;
goto l212;
 l211: ;
rT51fcp(C,(T0 *)ms156);
_state=2;
goto l208;
 l212: ;
_value=(C)->_cc;
_printing_mode=0;
_state=2;
 l208: ;
}
goto l205;
 l207: ;
if (1 == iv1) goto l213;
goto l214;
 l213: ;
_printing_mode=1;
_state=2;
{int iv2=(C)->_cc;
if (65 == iv2) goto l216;
goto l217;
 l216: ;
_value='\100';
goto l215;
 l217: ;
if (66 == iv2) goto l218;
goto l219;
 l218: ;
_value='\10';
goto l215;
 l219: ;
if (67 == iv2) goto l220;
goto l221;
 l220: ;
_value='\136';
goto l215;
 l221: ;
if (68 == iv2) goto l222;
goto l223;
 l222: ;
_value='\44';
goto l215;
 l223: ;
if (70 == iv2) goto l224;
goto l225;
 l224: ;
_value='\14';
goto l215;
 l225: ;
if (72 == iv2) goto l226;
goto l227;
 l226: ;
_value='\134';
goto l215;
 l227: ;
if (76 == iv2) goto l228;
goto l229;
 l228: ;
_value='\176';
goto l215;
 l229: ;
if (78 == iv2) goto l230;
goto l231;
 l230: ;
_value='\12';
goto l215;
 l231: ;
if (81 == iv2) goto l232;
goto l233;
 l232: ;
_value='\140';
goto l215;
 l233: ;
if (82 == iv2) goto l234;
goto l235;
 l234: ;
_value='\15';
goto l215;
 l235: ;
if (83 == iv2) goto l236;
goto l237;
 l236: ;
_value='\43';
goto l215;
 l237: ;
if (84 == iv2) goto l238;
goto l239;
 l238: ;
_value='\11';
goto l215;
 l239: ;
if (85 == iv2) goto l240;
goto l241;
 l240: ;
_value='\0';
goto l215;
 l241: ;
if (86 == iv2) goto l242;
goto l243;
 l242: ;
_value='\174';
goto l215;
 l243: ;
if (37 == iv2) goto l244;
goto l245;
 l244: ;
_value='\45';
goto l215;
 l245: ;
if (39 == iv2) goto l246;
goto l247;
 l246: ;
_value='\47';
goto l215;
 l247: ;
if (34 == iv2) goto l248;
goto l249;
 l248: ;
_value='\42';
goto l215;
 l249: ;
if (40 == iv2) goto l250;
goto l251;
 l250: ;
_value='\133';
goto l215;
 l251: ;
if (41 == iv2) goto l252;
goto l253;
 l252: ;
_value='\135';
goto l215;
 l253: ;
if (60 == iv2) goto l254;
goto l255;
 l254: ;
_value='\173';
goto l215;
 l255: ;
if (62 == iv2) goto l256;
goto l257;
 l256: ;
_value='\175';
goto l215;
 l257: ;
if (47 == iv2) goto l258;
goto l259;
 l258: ;
rT51a_ascii_code(C);
_value=(C)->_last_ascii_code;
_printing_mode=2;
goto l215;
 l259: ;
rT51fcp(C,(T0 *)ms160);
 l215: ;
}
goto l205;
 l214: ;
_state=3;
{int iv2=(C)->_cc;
if (39 == iv2) goto l261;
goto l262;
 l261: ;
goto l260;
 l262: ;
rT51fcp(C,(T0 *)ms156);
 l260: ;
}
rT51next_char(C);
rT51skip_comments(C);
 l205: ;
}
}
{T75 *n=((T75*)se_new(75));
rT75make(n,_sp,_value,_printing_mode);
C->_last_character_constant=(T0 *)n;}
}
/*FI*/return R;
}
int rT51a_check(T51 *C){
int R=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
/*IF*/if (rT51a_keyword(C,(T0 *)ms108)) {
R=1;
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
_hc=rT51get_comments(C);
_al=rT51a_assertion(C);
/*IF*/if ((((int)_hc))||(((int)_al))) {
{T214 *n=((T214*)se_new(214));
rT214make(n,_sp,_hc,_al);
C->_last_instruction=(T0 *)n;}}
else {
rT51wcp(C,(T0 *)ms340);
}
/*FI*//*IF*/if (!(rT51a_keyword(C,(T0 *)ms115))) {
rT51fcp(C,(T0 *)ms341);
}
/*FI*/}
/*FI*/return R;
}
void rT51a_class_declaration(T51 *C){
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
rT51a_indexing(C);
/*IF*/if (rT51a_keyword(C,(T0 *)ms171)) {
rT50set_is_deferred((T50*)(C)->_last_base_class);
}
/*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms117)) {
rT50set_is_expanded((T50*)(C)->_last_base_class);
/*IF*/if (rT51a_keyword(C,(T0 *)ms173)) {
rT50set_is_deferred((T50*)(C)->_last_base_class);
}
/*FI*/}
/*FI*//*(IRF3*/(((T50*)(C)->_last_base_class)->_heading_comment1)=(rT51get_comments(C));
/*)*//*IF*/if (!(rT51a_keyword(C,(T0 *)ms174))) {
rT51fcp(C,(T0 *)ms175);
}
/*FI*//*IF*/if (rT51a_base_class_name(C)) {
rT48set_with((T48*)rT51current_class_name(C),(C)->_last_class_name);
/*IF*/if (rT34fast_has((T34*)oRBC51forbidden_class,((T48*)(C)->_last_class_name)->_to_string)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(((T48*)(C)->_last_class_name)->_start_position);
rT51fatal_error((T0 *)ms196);
}
/*FI*/}
else {
rT51fcp(C,(T0 *)ms197);
}
/*FI*/rT51a_formal_generic_list(C);
/*IF*/if (rT51a_keyword(C,(T0 *)ms216)) {
/*IF*/if (rT51a_manifest_string(C)) {
/*(IRF3*/(((T50*)(C)->_last_base_class)->_obsolete_type_string)=((C)->_last_manifest_string);
/*)*/}
else {
rT51fcp(C,(T0 *)ms217);
}
/*FI*/}
/*FI*//*(IRF3*/(((T50*)(C)->_last_base_class)->_heading_comment2)=(rT51get_comments(C));
/*)*//*IF*/if (rT51a_keyword(C,(T0 *)ms218)) {
rT51a_parent_list(C,rT51pos((C)->_start_line,(C)->_start_column),rT51get_comments(C));
}
/*FI*/while (!(!(rT51a_keyword(C,(T0 *)ms110)))) {
rT51a_creation_clause(C);
}
while (!(!(rT51a_keyword(C,(T0 *)ms247)))) {
rT51a_feature_clause(C);
}
/*IF*/if (rT51a_keyword(C,(T0 *)ms402)) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
_hc=rT51get_comments(C);
_al=rT51a_assertion(C);
rT50set_invariant((T50*)(C)->_last_base_class,_sp,_hc,_al);
}
/*FI*//*(IRF3*/(((T50*)(C)->_last_base_class)->_end_comment)=(rT51get_comments(C));
/*)*//*IF*/if ((rT51a_keyword(C,(T0 *)ms115))||(((T0 *)(C)->_last_keyword)==((T0 *)(T0 *)ms115))) {
/*IF*/if (((C)->_cc)==('\73')) {
rT51wcp(C,(T0 *)ms232);
C->_ok=rT51skip1(C,'\73');
}
/*FI*//*IF*/if (((C)->_cc)!=('\0')) {
rT51fcp(C,(T0 *)ms403);
}
/*FI*//*IF*/if ((((int)(C)->_last_comments))&&((rT59count((T59*)(C)->_last_comments))>(1))) {
rT51fcp(C,(T0 *)ms404);
}
/*FI*/}
else {
rT51fcp(C,(T0 *)ms405);
}
/*FI*/}
int rT51a_class_type(T51 *C){
int R=0;
T0* _generic_list=NULL;
T0* _base_class_name=NULL;
int _state=0;
/*IF*/if (rT51a_base_type(C)) {
C->_last_class_type=(C)->_last_base_type;
R=1;
}
 else if (rT51a_base_class_name(C)) {
R=1;
_base_class_name=(C)->_last_class_name;
while (!((_state)>(2))) {
{int iv1=_state;
if (0 == iv1) goto l264;
goto l265;
 l264: ;
/*IF*/if (rT51skip1(C,'\133')) {
_state=1;
}
else {
{T116 *n=((T116*)se_new(116));
/*(IRF3*/((n)->_base_class_name)=(_base_class_name);
/*)*/C->_last_class_type=(T0 *)n;}_state=3;
}
/*FI*/goto l263;
 l265: ;
if (1 == iv1) goto l266;
goto l267;
 l266: ;
/*IF*/if (rT51a_type(C)) {
/*IF*/if (!(_generic_list)) {
_generic_list=ma(106,0,1,(C)->_last_type);
}
else {
rT106add_last((T106*)_generic_list,(C)->_last_type);
}
/*FI*/_state=2;
}
 else if (((C)->_cc)==('\54')) {
rT51wcp(C,(T0 *)ms208);
C->_ok=rT51skip1(C,'\54');
}
 else if (((C)->_cc)==('\135')) {
_state=2;
}
else {
rT51fcp(C,(T0 *)ms209);
_state=2;
}
/*FI*/goto l263;
 l267: ;
/*IF*/if (rT51skip1(C,'\54')) {
_state=1;
}
 else if (((C)->_cc)==('\135')) {
/*IF*/if (!(_generic_list)) {
rT51wcp(C,(T0 *)ms210);
{T116 *n=((T116*)se_new(116));
/*(IRF3*/((n)->_base_class_name)=(_base_class_name);
/*)*/C->_last_class_type=(T0 *)n;}}
else {
{T117 *n=((T117*)se_new(117));
rT117make(n,_base_class_name,_generic_list);
C->_last_class_type=(T0 *)n;}}
/*FI*/C->_ok=rT51skip1(C,'\135');
_state=3;
}
 else if (rT51a_type(C)) {
/*IF*/if (!(_generic_list)) {
_generic_list=ma(106,0,1,(C)->_last_type);
}
else {
rT106add_last((T106*)_generic_list,(C)->_last_type);
}
/*FI*/rT51warning(XrT58start_position((C)->_last_type),(T0 *)ms211);
}
else {
rT51fcp(C,(T0 *)ms212);
_state=3;
}
/*FI*/ l263: ;
}
}
}
/*FI*/return R;
}
int rT51a_identifier(T51 *C){
int R=0;
int _do_warning=0;
int _state=0;
/*IF*/if (rT3is_letter((C)->_cc)) {
rT69make((T69*)rT51tmp_name(),(C)->_line,(C)->_column);
rT69extend((T69*)rT51tmp_name(),(C)->_cc);
while (!((_state)>(0))) {
rT51next_char(C);
{int iv1=(C)->_cc;
if ((48<=iv1)&&(iv1<=57)) goto l269;
if (95 == iv1) goto l269;
if ((97<=iv1)&&(iv1<=122)) goto l269;
goto l270;
 l269: ;
rT69extend((T69*)rT51tmp_name(),(C)->_cc);
goto l268;
 l270: ;
if ((65<=iv1)&&(iv1<=90)) goto l271;
goto l272;
 l271: ;
_do_warning=1;
rT69extend((T69*)rT51tmp_name(),rT3to_lower((C)->_cc));
goto l268;
 l272: ;
_state=1;
 l268: ;
}
}
/*IF*/if (rT69isa_keyword((T69*)rT51tmp_name())) {
_state=rT69count((T69*)rT51tmp_name());
while (!((_state)==(0))) {
_state=(_state)-(1);
rT51prev_char(C);
}
}
else {
R=1;
rT51skip_comments(C);
/*IF*/if (_do_warning) {
rT51warning(rT69start_position((T69*)rT51tmp_name()),(T0 *)ms153);
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
int rT51a_base_class_name(T51 *C){
int R=0;
int _do_warning=0;
int _state=0;
/*IF*/if (rT3is_letter((C)->_cc)) {
/*IF*/if (((C)->_cc)>=('a')) {
_do_warning=1;
C->_cc=rT3to_upper((C)->_cc);
}
/*FI*/rT69make((T69*)rT51tmp_name(),(C)->_line,(C)->_column);
rT69extend((T69*)rT51tmp_name(),(C)->_cc);
while (!((_state)>(0))) {
rT51next_char(C);
{int iv1=(C)->_cc;
if ((48<=iv1)&&(iv1<=57)) goto l274;
if ((65<=iv1)&&(iv1<=90)) goto l274;
if (95 == iv1) goto l274;
goto l275;
 l274: ;
rT69extend((T69*)rT51tmp_name(),(C)->_cc);
goto l273;
 l275: ;
if ((97<=iv1)&&(iv1<=122)) goto l276;
goto l277;
 l276: ;
_do_warning=1;
rT69extend((T69*)rT51tmp_name(),rT3to_upper((C)->_cc));
goto l273;
 l277: ;
_state=1;
 l273: ;
}
}
/*IF*/if (rT69isa_keyword((T69*)rT51tmp_name())) {
_state=rT69count((T69*)rT51tmp_name());
while (!((_state)==(0))) {
_state=(_state)-(1);
rT51prev_char(C);
}
}
else {
R=1;
rT51skip_comments(C);
/*IF*/if (_do_warning) {
rT51warning(rT69start_position((T69*)rT51tmp_name()),(T0 *)ms176);
}
/*FI*/C->_last_class_name=rT69to_class_name((T69*)rT51tmp_name());
}
/*FI*/}
/*FI*/return R;
}
int rT51a_base_type(T51 *C){
int R=0;
T0* _sp=NULL;
R=1;
/*IF*/if (rT51a_keyword(C,(T0 *)ms177)) {
{T87 *n=((T87*)se_new(87));
rT87make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms182)) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (((rT51skip1(C,'\133'))&&(rT51a_type(C)))&&(rT51skip1(C,'\135'))) {
{T105 *n=((T105*)se_new(105));
rT105make(n,_sp,(C)->_last_type);
C->_last_base_type=(T0 *)n;}}
else {
rT51fcp(C,(T0 *)ms207);
}
/*FI*/}
 else if (rT51a_keyword(C,(T0 *)ms184)) {
{T107 *n=((T107*)se_new(107));
rT107make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms186)) {
{T109 *n=((T109*)se_new(109));
rT109make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms193)) {
{T110 *n=((T110*)se_new(110));
rT110make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms189)) {
{T111 *n=((T111*)se_new(111));
rT111make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms179)) {
{T112 *n=((T112*)se_new(112));
rT112make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms180)) {
{T113 *n=((T113*)se_new(113));
rT113make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms191)) {
{T114 *n=((T114*)se_new(114));
rT114make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
 else if (rT51a_keyword(C,(T0 *)ms183)) {
{T115 *n=((T115*)se_new(115));
rT115make(n,rT51pos((C)->_start_line,(C)->_start_column));
C->_last_base_type=(T0 *)n;}}
else {
R=0;
}
/*FI*/return R;
}
void rT51a_ascii_code(T51 *C){
int _counter=0;
rT51next_char(C);
_counter=0;
C->_last_ascii_code=0;
while (!((((_counter)>(3))||(((C)->_cc)==('\57'))))) {
{int iv1=(C)->_cc;
if ((48<=iv1)&&(iv1<=57)) goto l279;
goto l280;
 l279: ;
C->_last_ascii_code=(((C)->_last_ascii_code)*(10))+(rT3value((C)->_cc));
goto l278;
 l280: ;
rT51fcp(C,(T0 *)ms157);
 l278: ;
}
_counter=(_counter)+(1);
rT51next_char(C);
}
/*IF*/if ((_counter)==(0)) {
rT51fcp(C,(T0 *)ms158);
}
 else if ((_counter)>(3)) {
rT51fcp(C,(T0 *)ms159);
}
else {
}
/*FI*/}
int rT51a_actual(T51 *C){
int R=0;
/*IF*/if (rT51skip1(C,'\44')) {
/*IF*/if (rT51a_identifier(C)) {
{T174 *n=((T174*)se_new(174));
/*(IRF3*/((n)->_feature_name)=(rT69to_feature_name((T69*)rT51tmp_name()));
/*)*/C->_last_expression=(T0 *)n;}R=1;
}
else {
rT51fcp(C,(T0 *)ms234);
}
/*FI*/}
 else if (rT51a_expression(C)) {
R=1;
}
/*FI*/return R;
}
T0* rT51a_actuals(T51 *C){
T0* R=NULL;
T0* _args=NULL;
/*IF*/if (rT51skip1(C,'\50')) {
while (!(!(rT51a_actual(C)))) {
/*IF*/if (!(_args)) {
_args=ma(81,0,1,(C)->_last_expression);
}
else {
XrT81add_last(_args,(C)->_last_expression);
}
/*FI*/C->_ok=rT51skip1(C,'\54');
}
/*IF*/if (!(_args)) {
rT51wcp(C,(T0 *)ms293);
}
else {
{T171 *n=((T171*)se_new(171));
/*(IRF3*/((n)->_list)=(_args);
/*)*/R=(T0 *)n;}
}
/*FI*//*IF*/if (!(rT51skip1(C,'\51'))) {
rT51fcp(C,(T0 *)ms294);
}
/*FI*/}
/*FI*/return R;
}
T0* rT51a_clients(T51 *C){
T0* R=NULL;
int _state=0;
T0* _list=NULL;
T0* _sp=NULL;
/*IF*/if (rT51skip1(C,'\173')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
while (!((_state)>(3))) {
{int iv1=_state;
if (0 == iv1) goto l282;
goto l283;
 l282: ;
/*IF*/if (rT51a_base_class_name(C)) {
_list=ma(125,0,1,(C)->_last_class_name);
_state=2;
}
 else if (rT51skip1(C,'\175')) {
_state=4;
}
 else if (((C)->_cc)==('\54')) {
rT51wcp(C,(T0 *)ms228);
C->_ok=rT51skip1(C,'\54');
}
else {
_state=3;
}
/*FI*/goto l281;
 l283: ;
if (1 == iv1) goto l284;
goto l285;
 l284: ;
/*IF*/if (rT51a_base_class_name(C)) {
rT125add_last((T125*)_list,(C)->_last_class_name);
_state=2;
}
 else if (((C)->_cc)==('\54')) {
rT51wcp(C,(T0 *)ms228);
C->_ok=rT51skip1(C,'\54');
}
 else if (((C)->_cc)==('\175')) {
rT51wcp(C,(T0 *)ms229);
C->_ok=rT51skip1(C,'\175');
_state=4;
}
else {
_state=3;
}
/*FI*/goto l281;
 l285: ;
if (2 == iv1) goto l286;
goto l287;
 l286: ;
/*IF*/if (rT51skip1(C,'\54')) {
_state=1;
}
 else if (rT51skip1(C,'\175')) {
_state=4;
}
 else if (rT51a_base_class_name(C)) {
rT51warning(((T48*)(C)->_last_class_name)->_start_position,(T0 *)ms211);
rT125add_last((T125*)_list,(C)->_last_class_name);
}
else {
_state=3;
}
/*FI*/goto l281;
 l287: ;
rT51fcp(C,(T0 *)ms230);
_state=4;
 l281: ;
}
}
{T123 *n=((T123*)se_new(123));
rT123make(n,_sp,_list);
R=(T0 *)n;}
}
else {
{T123 *n=((T123*)se_new(123));
/*(IRF3*//*)*/R=(T0 *)n;}
}
/*FI*/return R;
}
void rT51go_back(T51 *C,T0* a1){
rT51go_back_at(C,((T46*)a1)->_line,((T46*)a1)->_column);
}
int rT51a_real_constant(T51 *C){
int R=0;
int _old_column=0;
int _old_line=0;
_old_line=(C)->_line;
_old_column=(C)->_column;
/*IF*/if (rT51skip1(C,'\53')) {
/*IF*/if (rT51a_real(C)) {
R=1;
}
else {
rT51go_back_at(C,_old_line,_old_column);
}
/*FI*/}
 else if (rT51skip1(C,'\55')) {
/*IF*/if (rT51a_real(C)) {
C->_last_real_constant=rT79_px45((T79*)(C)->_last_real_constant);
R=1;
}
else {
rT51go_back_at(C,_old_line,_old_column);
}
/*FI*/}
 else if (rT51a_real(C)) {
R=1;
}
/*FI*/return R;
}
int rT51a_real(T51 *C){
int R=0;
float _frac_i=0;
float _frac_part=0;
int _integral_part=0;
int _back_count=0;
int _exponent_sign=0;
int _exponent=0;
int _state=0;
T0* _ts=NULL;
T0* _sp=NULL;
/*IF*/if ((rT3is_digit((C)->_cc))||(((C)->_cc)==('\56'))) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_line,(C)->_column);
_sp=(T0 *)n;}
_exponent_sign=1;
_frac_i=((float)1.);
/*IF*/if (((C)->_cc)==('\56')) {
_state=5;
}
else {
_integral_part=rT3value((C)->_cc);
}
/*FI*/while (!((_state)>(11))) {
rT51next_char(C);
_back_count=(_back_count)+(1);
{int iv1=_state;
if (0 == iv1) goto l289;
goto l290;
 l289: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l292;
goto l293;
 l292: ;
_integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
goto l291;
 l293: ;
if (46 == iv2) goto l294;
goto l295;
 l294: ;
_state=4;
goto l291;
 l295: ;
_state=13;
 l291: ;
}
goto l288;
 l290: ;
if (1 == iv1) goto l296;
goto l297;
 l296: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l299;
goto l300;
 l299: ;
_integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
_state=2;
goto l298;
 l300: ;
rT51fcp(C,(T0 *)ms165);
 l298: ;
}
goto l288;
 l297: ;
if (2 == iv1) goto l301;
goto l302;
 l301: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l304;
goto l305;
 l304: ;
_integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
_state=3;
goto l303;
 l305: ;
rT51fcp(C,(T0 *)ms165);
 l303: ;
}
goto l288;
 l302: ;
if (3 == iv1) goto l306;
goto l307;
 l306: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l309;
goto l310;
 l309: ;
_integral_part=((_integral_part)*(10))+(rT3value((C)->_cc));
_state=0;
goto l308;
 l310: ;
rT51fcp(C,(T0 *)ms165);
 l308: ;
}
goto l288;
 l307: ;
if (4 == iv1) goto l311;
goto l312;
 l311: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l314;
goto l315;
 l314: ;
_frac_i=((float)10.);
_frac_part=(rT2to_real(rT3value((C)->_cc)))/(_frac_i);
_state=6;
goto l313;
 l315: ;
if (69 == iv2) goto l316;
if (101 == iv2) goto l316;
goto l317;
 l316: ;
_state=10;
goto l313;
 l317: ;
_state=12;
 l313: ;
}
goto l288;
 l312: ;
if (5 == iv1) goto l318;
goto l319;
 l318: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l321;
goto l322;
 l321: ;
_frac_i=((float)10.);
_frac_part=(rT2to_real(rT3value((C)->_cc)))/(_frac_i);
_state=6;
goto l320;
 l322: ;
_state=13;
 l320: ;
}
goto l288;
 l319: ;
if (6 == iv1) goto l323;
goto l324;
 l323: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l326;
goto l327;
 l326: ;
_frac_i=(_frac_i)*(((float)10.));
_frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
goto l325;
 l327: ;
if (69 == iv2) goto l328;
if (101 == iv2) goto l328;
goto l329;
 l328: ;
_state=10;
goto l325;
 l329: ;
if (95 == iv2) goto l330;
goto l331;
 l330: ;
_state=7;
goto l325;
 l331: ;
_state=12;
 l325: ;
}
goto l288;
 l324: ;
if (7 == iv1) goto l332;
goto l333;
 l332: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l335;
goto l336;
 l335: ;
_frac_i=(_frac_i)*(((float)10.));
_frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
_state=8;
goto l334;
 l336: ;
rT51fcp(C,(T0 *)ms166);
 l334: ;
}
goto l288;
 l333: ;
if (8 == iv1) goto l337;
goto l338;
 l337: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l340;
goto l341;
 l340: ;
_frac_i=(_frac_i)*(((float)10.));
_frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
_state=9;
goto l339;
 l341: ;
rT51fcp(C,(T0 *)ms166);
 l339: ;
}
goto l288;
 l338: ;
if (9 == iv1) goto l342;
goto l343;
 l342: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l345;
goto l346;
 l345: ;
_frac_i=(_frac_i)*(((float)10.));
_frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i));
_state=6;
goto l344;
 l346: ;
rT51fcp(C,(T0 *)ms166);
 l344: ;
}
goto l288;
 l343: ;
if (10 == iv1) goto l347;
goto l348;
 l347: ;
{int iv2=(C)->_cc;
if (43 == iv2) goto l350;
goto l351;
 l350: ;
_state=11;
goto l349;
 l351: ;
if (45 == iv2) goto l352;
goto l353;
 l352: ;
_exponent_sign=-(1);
_state=11;
goto l349;
 l353: ;
if ((48<=iv2)&&(iv2<=57)) goto l354;
goto l355;
 l354: ;
_exponent=rT3value((C)->_cc);
_state=11;
goto l349;
 l355: ;
rT51fcp(C,(T0 *)ms167);
_state=13;
 l349: ;
}
goto l288;
 l348: ;
{int iv2=(C)->_cc;
if ((48<=iv2)&&(iv2<=57)) goto l357;
goto l358;
 l357: ;
_exponent=((_exponent)*(10))+(rT3value((C)->_cc));
goto l356;
 l358: ;
_state=12;
 l356: ;
}
 l288: ;
}
}
/*IF*/if ((_state)==(12)) {
_ts=rT7substring((T7*)(C)->_current_line,((T46*)_sp)->_column,((C)->_column)-(1));
{T79 *n=((T79*)se_new(79));
rT79make(n,_sp,_ts,_integral_part,_frac_part,(_exponent)*(_exponent_sign));
C->_last_real_constant=(T0 *)n;}
R=1;
rT51skip_comments(C);
}
else {
while (!((_back_count)==(0))) {
_back_count=(_back_count)-(1);
rT51prev_char(C);
}
}
/*FI*/}
/*FI*/return R;
}
void rT51go_back_at(T51 *C,int a1,int a2){
C->_line=a1;
C->_column=a2;
C->_current_line=((/*UT*/(void)(T60*)oRBC51text),
rT60item((C)->_line));
/*IF*/if (((C)->_column)==((((T7*)(C)->_current_line)->_count)+(1))) {
C->_cc='\12';
}
 else if (((C)->_column)==(0)) {
C->_cc='\0';
}
else {
C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column);
}
/*FI*/}
int rT51a_binary(T51 *C,T0* a1){
int R=0;
R=1;
/*IF*/if (rT51skip2(C,'\74','\75')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms86,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip2(C,'\76','\75')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms87,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip2(C,'\57','\57')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms88,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip2(C,'\134','\134')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms89,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\53')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms80,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\55')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms81,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\52')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms90,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\57')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms91,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\76')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms92,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\74')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms93,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51skip1(C,'\136')) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms94,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51a_keyword(C,(T0 *)ms95)) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms95,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51a_keyword(C,(T0 *)ms96)) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms96,a1);
C->_last_binary=(T0 *)n;}
}
 else if (rT51a_keyword(C,(T0 *)ms97)) {
/*IF*/if (rT51a_keyword(C,(T0 *)ms98)) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms99,a1);
C->_last_binary=(T0 *)n;}
}
else {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms97,a1);
C->_last_binary=(T0 *)n;}
}
/*FI*/}
 else if (rT51a_keyword(C,(T0 *)ms100)) {
/*IF*/if (rT51a_keyword(C,(T0 *)ms101)) {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms102,a1);
C->_last_binary=(T0 *)n;}
}
else {
{T70 *n=((T70*)se_new(70));
rT70make(n,(T0 *)ms100,a1);
C->_last_binary=(T0 *)n;}
}
/*FI*/}
else {
C->_last_binary=NULL;
R=0;
}
/*FI*/return R;
}
int rT51a_creation(T51 *C){
int R=0;
int _state=0;
T0* _call=NULL;
T0* _proc_name=NULL;
T0* _writable=NULL;
T0* _type=NULL;
T0* _sp=NULL;
while (!((_state)>(6))) {
{int iv1=_state;
if (0 == iv1) goto l360;
goto l361;
 l360: ;
/*IF*/if (rT51skip1(C,'\41')) {
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
_state=1;
}
else {
_state=7;
}
/*FI*/goto l359;
 l361: ;
if (1 == iv1) goto l362;
goto l363;
 l362: ;
/*IF*/if (rT51a_type(C)) {
_type=(C)->_last_type;
/*IF*/if (XrT58is_anchored(_type)) {
rT51warning(XrT58start_position(_type),(T0 *)ms379);
}
/*FI*/_state=2;
}
 else if (rT51skip1(C,'\41')) {
_state=3;
}
else {
rT51fcp(C,(T0 *)ms380);
_state=8;
}
/*FI*/goto l359;
 l363: ;
if (2 == iv1) goto l364;
goto l365;
 l364: ;
/*IF*/if (rT51skip1(C,'\41')) {
_state=3;
}
else {
_state=8;
rT51fcp(C,(T0 *)ms381);
}
/*FI*/goto l359;
 l365: ;
if (3 == iv1) goto l366;
goto l367;
 l366: ;
/*IF*/if (rT51a_identifier(C)) {
/*IF*/if (rT51a_current(C)) {
_state=8;
rT51error(XrT68start_position((C)->_last_expression),(T0 *)ms382);
}
 else if (rT51a_argument(C)) {
_state=8;
rT51error(XrT68start_position((C)->_last_expression),(T0 *)ms383);
}
 else if ((rT51a_result(C))||(rT51a_local_variable(C))) {
_writable=(C)->_last_expression;
_state=4;
}
else {
_writable=rT69to_feature_name((T69*)rT51tmp_name());
_state=4;
}
/*FI*/}
else {
_state=8;
rT51fcp(C,(T0 *)ms384);
}
/*FI*/goto l359;
 l367: ;
if (4 == iv1) goto l368;
goto l369;
 l368: ;
/*IF*/if (rT51skip1unless2(C,'\56','\56')) {
_state=5;
}
else {
_state=7;
}
/*FI*/goto l359;
 l369: ;
if (5 == iv1) goto l370;
goto l371;
 l370: ;
/*IF*/if (rT51a_identifier(C)) {
_proc_name=rT69to_feature_name((T69*)rT51tmp_name());
_state=6;
}
else {
_state=8;
rT51fcp(C,(T0 *)ms385);
}
/*FI*/goto l359;
 l371: ;
/*IF*/if (((C)->_cc)==('\50')) {
_call=rT51to_proc_call(C,_writable,_proc_name,rT51a_actuals(C));
}
else {
{T179 *n=((T179*)se_new(179));
rT179make(n,_writable,_proc_name);
_call=(T0 *)n;}}
/*FI*/_state=7;
 l359: ;
}
}
/*IF*/if (((_state)==(7))&&(((int)_sp))) {
R=1;
/*IF*/if (((!(_type))&&(!(_call)))) {
{T241 *n=((T241*)se_new(241));
rT241make(n,_sp,_writable);
C->_last_instruction=(T0 *)n;}}
 else if (((((int)_type))&&(!(_call)))) {
{T244 *n=((T244*)se_new(244));
rT244make(n,_sp,_type,_writable);
C->_last_instruction=(T0 *)n;}}
 else if (((!(_type))&&(((int)_call)))) {
{T246 *n=((T246*)se_new(246));
rT246make(n,_sp,_writable,_call);
C->_last_instruction=(T0 *)n;}}
else {
{T248 *n=((T248*)se_new(248));
rT248make(n,_sp,_type,_writable,_call);
C->_last_instruction=(T0 *)n;}}
/*FI*/}
/*FI*/return R;
}
void rT51a_creation_clause(T51 *C){
T0* _creation_clause=NULL;
T0* _list=NULL;
T0* _comments=NULL;
T0* _clients=NULL;
_clients=rT51a_clients(C);
_comments=rT51get_comments(C);
/*IF*/if (rT51a_feature_list(C)) {
_list=(C)->_last_feature_list;
{T132 *n=((T132*)se_new(132));
rT132make(n,_clients,_comments,_list);
_creation_clause=(T0 *)n;}
rT50add_creation_clause((T50*)(C)->_last_base_class,_creation_clause);
}
else {
/*IF*/if (((((int)_comments))||(((int)_clients)))) {
/*IF*/if (((int)_comments)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(((T59*)_comments)->_start_position);
}
/*FI*//*IF*/if (((int)_clients)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(((T123*)_clients)->_start_position);
}
/*FI*/rT45warning((T45*)oRBC27eh,(T0 *)ms246);
}
/*FI*/}
/*FI*/}
int rT51a_argument(T51 *C){
int R=0;
int _rank=0;
/*IF*/if (((int)(C)->_arguments)) {
_rank=rT92rank_of((T92*)(C)->_arguments,rT51tmp_name());
/*IF*/if ((_rank)>(0)) {
C->_last_expression=rT69to_argument_name((T69*)rT51tmp_name(),(C)->_arguments,_rank);
R=1;
}
/*FI*/}
/*FI*/return R;
}
void rT51a_after_a_dot(T51 *C,int a1,T0* a2){
T0* _eal=NULL;
T0* _fn=NULL;
/*IF*/if (rT51a_identifier(C)) {
/*IF*/if (((rT51a_result(C))||(rT51a_void(C)))||(rT51a_current(C))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT68start_position((C)->_last_expression));
rT45error((T45*)oRBC27eh,(T0 *)ms292);
}
/*FI*/_fn=rT69to_feature_name((T69*)rT51tmp_name());
_eal=rT51a_actuals(C);
rT51a_r10(C,a1,a2,_fn,_eal);
}
else {
rT51fcp(C,(T0 *)ms295);
}
/*FI*/}
void rT51a_redefine_list(T51 *C){
/*IF*/if (rT51a_feature_list(C)) {
rT118set_redefine((T118*)(C)->_last_parent,(C)->_last_feature_list);
}
/*FI*/}
int rT51a_index_clause(T51 *C){
int R=0;
T0* _index_clause=NULL;
/*IF*/if (rT51a_feature_name(C)) {
R=1;
/*IF*/if (rT51skip1(C,'\72')) {
{T65 *n=((T65*)se_new(65));
/*(IRF3*/((n)->_index)=(XrT67to_string((C)->_last_feature_name));
/*)*/_index_clause=(T0 *)n;}
/*IF*/if (rT51a_index_value(C)) {
rT65add_index_value((T65*)_index_clause,(C)->_last_index_value);
}
else {
rT51fcp(C,(T0 *)ms170);
}
/*FI*/}
else {
{T65 *n=((T65*)se_new(65));
/*(IRF3*/((n)->_index)=(NULL);
/*)*/_index_clause=(T0 *)n;}
rT65add_index_value((T65*)_index_clause,(C)->_last_feature_name);
}
/*FI*/}
 else if (rT51a_manifest_constant(C)) {
R=1;
{T65 *n=((T65*)se_new(65));
/*(IRF3*/((n)->_index)=(NULL);
/*)*/_index_clause=(T0 *)n;}
rT65add_index_value((T65*)_index_clause,(C)->_last_manifest_constant);
}
/*FI*//*IF*/if (R) {
while (!(!(rT51skip1(C,'\54')))) {
/*IF*/if (rT51a_index_value(C)) {
rT65add_index_value((T65*)_index_clause,(C)->_last_index_value);
}
else {
rT51fcp(C,(T0 *)ms170);
}
/*FI*/}
rT50add_index_clause((T50*)(C)->_last_base_class,_index_clause);
}
/*FI*/return R;
}
void rT51a_index_list(T51 *C){
while (!(!(rT51a_index_clause(C)))) {
C->_ok=rT51skip1(C,'\73');
}
}
void rT51a_indexing(T51 *C){
/*IF*/if (rT51a_keyword(C,(T0 *)ms74)) {
rT51a_index_list(C);
}
/*FI*/}
int rT51a_index_value(T51 *C){
int R=0;
/*IF*/if (rT51a_feature_name(C)) {
C->_last_index_value=(C)->_last_feature_name;
R=1;
}
 else if (rT51a_manifest_constant(C)) {
C->_last_index_value=(C)->_last_manifest_constant;
R=1;
}
/*FI*/return R;
}
int rT51a_tag_mark(T51 *C){
int R=0;
/*IF*/if (rT51a_identifier(C)) {
/*IF*/if (rT51skip1unless2(C,'\72','\75')) {
R=1;
C->_last_tag_mark=rT69to_tag_name((T69*)rT51tmp_name());
}
else {
C->_last_tag_mark=NULL;
rT51go_back_at(C,((T69*)rT51tmp_name())->_li,((T69*)rT51tmp_name())->_co);
}
/*FI*/}
else {
C->_last_tag_mark=NULL;
}
/*FI*/return R;
}
int rT51a_manifest_constant(T51 *C){
int R=0;
/*IF*/if (rT51a_boolean_constant(C)) {
C->_last_manifest_constant=(C)->_last_boolean_constant;
R=1;
}
 else if (rT51a_character_constant(C)) {
C->_last_manifest_constant=(C)->_last_character_constant;
R=1;
}
 else if (rT51a_manifest_string(C)) {
C->_last_manifest_constant=(C)->_last_manifest_string;
R=1;
}
 else if (rT51a_bit_constant(C)) {
C->_last_manifest_constant=(C)->_last_bit_constant;
R=1;
}
 else if (rT51a_real_constant(C)) {
C->_last_manifest_constant=(C)->_last_real_constant;
R=1;
}
 else if (rT51a_integer_constant(C)) {
C->_last_manifest_constant=(C)->_last_integer_constant;
R=1;
}
/*FI*/return R;
}
int rT51a_manifest_string(T51 *C){
int R=0;
int _state=0;
/*IF*/if (((C)->_cc)==('\42')) {
R=1;
{T76 *n=((T76*)se_new(76));
rT76make(n,rT51pos((C)->_line,(C)->_column));
C->_last_manifest_string=(T0 *)n;}
while (!((_state)>(3))) {
rT51next_char(C);
{int iv1=_state;
if (0 == iv1) goto l373;
goto l374;
 l373: ;
{int iv2=(C)->_cc;
if (10 == iv2) goto l376;
goto l377;
 l376: ;
rT51fcp(C,(T0 *)ms161);
goto l375;
 l377: ;
if (34 == iv2) goto l378;
goto l379;
 l378: ;
_state=4;
goto l375;
 l379: ;
if (37 == iv2) goto l380;
goto l381;
 l380: ;
_state=1;
goto l375;
 l381: ;
rT76add((T76*)(C)->_last_manifest_string,(C)->_cc);
 l375: ;
}
goto l372;
 l374: ;
if (1 == iv1) goto l382;
goto l383;
 l382: ;
_state=0;
{int iv2=(C)->_cc;
if (10 == iv2) goto l385;
goto l386;
 l385: ;
_state=3;
goto l384;
 l386: ;
if (65 == iv2) goto l387;
goto l388;
 l387: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\100');
goto l384;
 l388: ;
if (66 == iv2) goto l389;
goto l390;
 l389: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\10');
goto l384;
 l390: ;
if (67 == iv2) goto l391;
goto l392;
 l391: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\136');
goto l384;
 l392: ;
if (68 == iv2) goto l393;
goto l394;
 l393: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\44');
goto l384;
 l394: ;
if (70 == iv2) goto l395;
goto l396;
 l395: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\14');
goto l384;
 l396: ;
if (72 == iv2) goto l397;
goto l398;
 l397: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\134');
goto l384;
 l398: ;
if (76 == iv2) goto l399;
goto l400;
 l399: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\176');
goto l384;
 l400: ;
if (78 == iv2) goto l401;
goto l402;
 l401: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\12');
goto l384;
 l402: ;
if (81 == iv2) goto l403;
goto l404;
 l403: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\140');
goto l384;
 l404: ;
if (82 == iv2) goto l405;
goto l406;
 l405: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\15');
goto l384;
 l406: ;
if (83 == iv2) goto l407;
goto l408;
 l407: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\43');
goto l384;
 l408: ;
if (84 == iv2) goto l409;
goto l410;
 l409: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\11');
goto l384;
 l410: ;
if (85 == iv2) goto l411;
goto l412;
 l411: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\0');
goto l384;
 l412: ;
if (86 == iv2) goto l413;
goto l414;
 l413: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\174');
goto l384;
 l414: ;
if (37 == iv2) goto l415;
goto l416;
 l415: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\45');
goto l384;
 l416: ;
if (39 == iv2) goto l417;
goto l418;
 l417: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\47');
goto l384;
 l418: ;
if (34 == iv2) goto l419;
goto l420;
 l419: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\42');
goto l384;
 l420: ;
if (40 == iv2) goto l421;
goto l422;
 l421: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\133');
goto l384;
 l422: ;
if (41 == iv2) goto l423;
goto l424;
 l423: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\135');
goto l384;
 l424: ;
if (60 == iv2) goto l425;
goto l426;
 l425: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\173');
goto l384;
 l426: ;
if (62 == iv2) goto l427;
goto l428;
 l427: ;
rT76add_percent((T76*)(C)->_last_manifest_string,'\175');
goto l384;
 l428: ;
if (47 == iv2) goto l429;
goto l430;
 l429: ;
rT51a_ascii_code(C);
rT76add_ascii((T76*)(C)->_last_manifest_string,(C)->_last_ascii_code);
goto l384;
 l430: ;
if (9 == iv2) goto l431;
if (32 == iv2) goto l431;
goto l432;
 l431: ;
_state=2;
goto l384;
 l432: ;
rT51fcp(C,(T0 *)ms162);
_state=0;
 l384: ;
}
goto l372;
 l383: ;
if (2 == iv1) goto l433;
goto l434;
 l433: ;
{int iv2=(C)->_cc;
if (10 == iv2) goto l436;
goto l437;
 l436: ;
_state=3;
goto l435;
 l437: ;
if (9 == iv2) goto l438;
if (32 == iv2) goto l438;
goto l439;
 l438: ;
goto l435;
 l439: ;
rT51fcp(C,(T0 *)ms163);
 l435: ;
}
goto l372;
 l434: ;
{int iv2=(C)->_cc;
if (9 == iv2) goto l441;
if (32 == iv2) goto l441;
goto l442;
 l441: ;
goto l440;
 l442: ;
if (37 == iv2) goto l443;
goto l444;
 l443: ;
rT76break_line((T76*)(C)->_last_manifest_string);
_state=0;
goto l440;
 l444: ;
if (10 == iv2) goto l445;
goto l446;
 l445: ;
rT51fcp(C,(T0 *)ms161);
_state=0;
goto l440;
 l446: ;
rT51fcp(C,(T0 *)ms164);
_state=0;
 l440: ;
}
 l372: ;
}
}
rT51next_char(C);
rT51skip_comments(C);
}
/*FI*/return R;
}
int rT51a_infix(T51 *C){
int R=0;
T0* _sp=NULL;
/*IF*/if (rT51a_keyword(C,(T0 *)ms84)) {
R=1;
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_start_line,(C)->_start_column);
_sp=(T0 *)n;}
/*IF*/if (((C)->_cc)==('\42')) {
rT51next_char(C);
}
else {
rT51wcp(C,(T0 *)ms85);
}
/*FI*//*IF*/if (rT51a_binary(C,_sp)) {
C->_last_infix=(C)->_last_binary;
}
 else if (rT51a_free_operator(C)) {
C->_last_infix=rT69to_infix_name((T69*)rT51tmp_operator(),_sp);
}
else {
rT51fcp(C,(T0 *)ms103);
}
/*FI*//*IF*/if (!(rT51skip1(C,'\42'))) {
rT51wcp(C,(T0 *)ms104);
}
/*FI*/}
/*FI*/return R;
}
int rT51a_free_operator(T51 *C){
int R=0;
/*IF*/if ((((((C)->_cc)==('\100'))||(((C)->_cc)==('\43')))||(((C)->_cc)==('\174')))||(((C)->_cc)==('\46'))) {
R=1;
rT69make((T69*)rT51tmp_operator(),(C)->_line,(C)->_column);
rT69extend((T69*)rT51tmp_operator(),(C)->_cc);
rT51next_char(C);
while (!((((((C)->_cc)==('\12'))||(((C)->_cc)==('\40')))||(((C)->_cc)==('\11')))||(((C)->_cc)==('\42')))) {
rT69extend((T69*)rT51tmp_operator(),(C)->_cc);
rT51next_char(C);
}
rT51skip_comments(C);
}
/*FI*/return R;
}
void rT51a_local_var_list(T51 *C,T0* a1){
int _state=0;
int _rank=0;
T0* _list=NULL;
T0* _declaration=NULL;
T0* _name_list=NULL;
T0* _name=NULL;
while (!((_state)>(4))) {
{int iv1=_state;
if (0 == iv1) goto l448;
goto l449;
 l448: ;
/*IF*/if (rT51a_identifier(C)) {
_name=rT69to_decl_name((T69*)rT51tmp_name());
_state=1;
/*IF*/if (((int)(C)->_arguments)) {
_rank=rT92rank_of((T92*)(C)->_arguments,_name);
/*IF*/if ((_rank)>(0)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(((T97*)_name)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT49start_position(rT92name((T92*)(C)->_arguments,_rank)));
rT45error((T45*)oRBC27eh,(T0 *)ms324);
}
/*FI*/}
/*FI*/}
 else if (((((C)->_cc)==('\54'))||(((C)->_cc)==('\73')))) {
rT51wcp(C,(T0 *)ms252);
C->_ok=(rT51skip1(C,'\54'))||(rT51skip1(C,'\73'));
}
else {
_state=5;
}
/*FI*/goto l447;
 l449: ;
if (1 == iv1) goto l450;
goto l451;
 l450: ;
/*IF*/if (rT51skip1(C,'\72')) {
/*IF*/if (((int)_name_list)) {
rT141add_last((T141*)_name_list,_name);
_name=NULL;
}
/*FI*/_state=3;
}
else {
/*IF*/if (((C)->_cc)==('\73')) {
rT51wcp(C,(T0 *)ms325);
C->_ok=rT51skip1(C,'\73');
}
else {
C->_ok=rT51skip1(C,'\54');
}
/*FI*//*IF*/if (!(_name_list)) {
_name_list=ma(141,0,1,_name);
}
else {
rT141add_last((T141*)_name_list,_name);
}
/*FI*/_name=NULL;
_state=2;
}
/*FI*/goto l447;
 l451: ;
if (2 == iv1) goto l452;
goto l453;
 l452: ;
/*IF*/if (rT51a_identifier(C)) {
_name=rT69to_decl_name((T69*)rT51tmp_name());
_state=1;
/*IF*/if (((int)(C)->_arguments)) {
_rank=rT92rank_of((T92*)(C)->_arguments,_name);
/*IF*/if ((_rank)>(0)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(((T97*)_name)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT49start_position(rT92name((T92*)(C)->_arguments,_rank)));
rT45error((T45*)oRBC27eh,(T0 *)ms326);
}
/*FI*/}
/*FI*/}
 else if (((((C)->_cc)==('\54'))||(((C)->_cc)==('\73')))) {
rT51wcp(C,(T0 *)ms252);
C->_ok=(rT51skip1(C,'\54'))||(rT51skip1(C,'\73'));
}
else {
_state=6;
}
/*FI*/goto l447;
 l453: ;
if (3 == iv1) goto l454;
goto l455;
 l454: ;
/*IF*/if (rT51a_type(C)) {
/*IF*/if (((int)_name_list)) {
{T142 *n=((T142*)se_new(142));
rT142make(n,_name_list,(C)->_last_type);
_declaration=(T0 *)n;}_name_list=NULL;
}
else {
{T94 *n=((T94*)se_new(94));
rT94make(n,_name,(C)->_last_type);
_declaration=(T0 *)n;}_name=NULL;
}
/*FI*//*IF*/if (!(_list)) {
_list=ma(143,0,1,_declaration);
}
else {
XrT143add_last(_list,_declaration);
}
/*FI*/_state=4;
}
else {
_state=6;
}
/*FI*/goto l447;
 l455: ;
/*IF*/if (((C)->_cc)==('\54')) {
rT51wcp(C,(T0 *)ms327);
C->_ok=rT51skip1(C,'\54');
_state=0;
}
else {
C->_ok=rT51skip1(C,'\73');
_state=0;
}
/*FI*/ l447: ;
}
}
/*IF*/if ((_state)==(6)) {
rT51fcp(C,(T0 *)ms328);
}
 else if (((int)_list)) {
{T139 *n=((T139*)se_new(139));
rT139make(n,a1,_list);
C->_local_vars=(T0 *)n;}
/*(IRF3*/(((T136*)oRBC51tmp_feature)->_local_vars)=((C)->_local_vars);
/*)*/}
/*FI*/}
int rT51a_local_variable(T51 *C){
int R=0;
int _rank=0;
/*IF*/if (((int)(C)->_local_vars)) {
_rank=rT139rank_of((T139*)(C)->_local_vars,rT51tmp_name());
/*IF*/if ((_rank)>(0)) {
C->_last_expression=rT69to_local_name((T69*)rT51tmp_name(),(C)->_local_vars,_rank);
R=1;
}
/*FI*/}
/*FI*/return R;
}
T0* rT51a_compound2(T51 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _instruction=NULL;
T0* _list=NULL;
T0* _hc=NULL;
_hc=rT51get_comments(C);
while (!(((C)->_cc)!=('\73'))) {
rT51wcp(C,(T0 *)ms232);
C->_ok=rT51skip1(C,'\73');
}
while (!(((!(rT51a_instruction(C)))||((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)>(10))))) {
_instruction=(C)->_last_instruction;
/*IF*/if (((C)->_cc)==('\50')) {
rT51wcp(C,(T0 *)ms236);
}
/*FI*/C->_ok=rT51skip1(C,'\73');
while (!(((C)->_cc)!=('\73'))) {
rT51wcp(C,(T0 *)ms232);
C->_ok=rT51skip1(C,'\73');
}
/*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (!(_list)) {
_list=ma(218,0,1,XrT177add_comment(_instruction,rT51get_comments(C)));
}
else {
rT218add_last((T218*)_list,XrT177add_comment(_instruction,rT51get_comments(C)));
}
/*FI*/}
/*FI*/}
/*IF*/if (!(rT51a_keyword(C,a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms345);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(a1);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms346);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(a2);
rT51fcp(C,(T0 *)ms347);
}
/*FI*//*IF*/if ((((int)_hc))||(((int)_list))) {
{T140 *n=((T140*)se_new(140));
rT140make(n,_hc,_list);
R=(T0 *)n;}
}
/*FI*/return R;
}
T0* rT51a_compound1(T51 *C,T0* a1){
T0* R=NULL;
T0* _instruction=NULL;
T0* _list=NULL;
T0* _hc=NULL;
_hc=rT51get_comments(C);
while (!(((C)->_cc)!=('\73'))) {
rT51wcp(C,(T0 *)ms232);
C->_ok=rT51skip1(C,'\73');
}
while (!(((!(rT51a_instruction(C)))||((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)>(10))))) {
_instruction=(C)->_last_instruction;
/*IF*/if (((C)->_cc)==('\50')) {
rT51wcp(C,(T0 *)ms236);
}
/*FI*/C->_ok=rT51skip1(C,'\73');
while (!(((C)->_cc)!=('\73'))) {
rT51wcp(C,(T0 *)ms232);
C->_ok=rT51skip1(C,'\73');
}
/*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (!(_list)) {
_list=ma(218,0,1,XrT177add_comment(_instruction,rT51get_comments(C)));
}
else {
rT218add_last((T218*)_list,XrT177add_comment(_instruction,rT51get_comments(C)));
}
/*FI*/}
/*FI*/}
/*IF*/if ((((int)_hc))||(((int)_list))) {
{T140 *n=((T140*)se_new(140));
rT140make(n,_hc,_list);
R=(T0 *)n;}
}
/*FI*/return R;
}
int rT51a_bit_constant(T51 *C){
int R=0;
T0* _sequence=NULL;
int _state=0;
/*IF*/if ((((C)->_cc)==('0'))||(((C)->_cc)==('1'))) {
{T7 *n=((T7*)se_new(7));
rT7make(n,16);
_sequence=(T0 *)n;}
rT7extend((T7*)_sequence,(C)->_cc);
while (!((_state)>(0))) {
rT51next_char(C);
{int iv1=(C)->_cc;
if ((48<=iv1)&&(iv1<=49)) goto l457;
goto l458;
 l457: ;
rT7extend((T7*)_sequence,(C)->_cc);
goto l456;
 l458: ;
if (66 == iv1) goto l459;
if (98 == iv1) goto l459;
goto l460;
 l459: ;
{T77 *n=((T77*)se_new(77));
/*(IRF3*/((n)->_value)=(_sequence);
/*)*/C->_last_bit_constant=(T0 *)n;}
rT51next_char(C);
rT51skip_comments(C);
_state=1;
R=1;
goto l456;
 l460: ;
_state=((T7*)_sequence)->_count;
while (!((_state)==(0))) {
_state=(_state)-(1);
rT51prev_char(C);
}
_state=2;
 l456: ;
}
}
}
/*FI*/return R;
}
int rT44invariant_check(T44 *C){
int R=0;
R=((C)->_level)>=(-2);
return R;
}
int rT44require_check(T44 *C){
int R=0;
R=((C)->_level)>=(-4);
return R;
}
int rT44boost(T44 *C){
int R=0;
R=((C)->_level)==(-6);
return R;
}
int rT44no_check(T44 *C){
int R=0;
R=((C)->_level)>=(-5);
return R;
}
void rT44set_all_check(T44 *C){
C->_level=0;
}
int rT44ensure_check(T44 *C){
int R=0;
R=((C)->_level)>=(-3);
return R;
}
void rT44set_boost(T44 *C){
C->_level=-6;
}
void rT44set_debug_check(T44 *C){
C->_level=1;
}
void rT44set_ensure_check(T44 *C){
C->_level=-3;
}
void rT44set_invariant_check(T44 *C){
C->_level=-2;
}
void rT44set_loop_check(T44 *C){
C->_level=-1;
}
int rT44loop_check(T44 *C){
int R=0;
R=((C)->_level)>=(-1);
return R;
}
void rT44set_no_check(T44 *C){
C->_level=-5;
}
int rT44all_check(T44 *C){
int R=0;
R=((C)->_level)>=(0);
return R;
}
void rT44set_require_check(T44 *C){
C->_level=-4;
}
int rT3same_as(T3 C,char a1){
int R=0;
/*IF*/if ((C)==(a1)) {
R=1;
}
else {
{int iv1=((unsigned char)C);
if ((65<=iv1)&&(iv1<=90)) goto l462;
goto l463;
 l462: ;
R=(C)==(rT3to_upper(a1));
goto l461;
 l463: ;
if ((97<=iv1)&&(iv1<=122)) goto l464;
goto l465;
 l464: ;
R=(C)==(rT3to_lower(a1));
goto l461;
 l465: ;
 l461: ;
}
}
/*FI*/return R;
}
char rT3to_upper(T3 C){
char R=0;
/*IF*/if ((((unsigned char)C))<(97)) {
R=C;
}
 else if ((((unsigned char)C))>(122)) {
R=C;
}
else {
R=(((unsigned char)C))-(32);
}
/*FI*/return R;
}
int rT3is_digit(T3 C){
int R=0;
{int iv1=C;
if ((48<=iv1)&&(iv1<=57)) goto l467;
goto l468;
 l467: ;
R=1;
goto l466;
 l468: ;
 l466: ;
}
return R;
}
int rT3is_letter(T3 C){
int R=0;
{int iv1=C;
if ((65<=iv1)&&(iv1<=90)) goto l470;
if ((97<=iv1)&&(iv1<=122)) goto l470;
goto l471;
 l470: ;
R=1;
goto l469;
 l471: ;
 l469: ;
}
return R;
}
int rT3is_separator(T3 C){
int R=0;
{int iv1=C;
if (0 == iv1) goto l473;
if ((9<=iv1)&&(iv1<=10)) goto l473;
if (13 == iv1) goto l473;
if (32 == iv1) goto l473;
goto l474;
 l473: ;
R=1;
goto l472;
 l474: ;
 l472: ;
}
return R;
}
int rT3_ix6261(T3 C,char a1){
int R=0;
R=(((unsigned char)C))>=(((unsigned char)a1));
return R;
}
int rT3value(T3 C){
int R=0;
R=(((unsigned char)C))-(48);
return R;
}
char rT3to_lower(T3 C){
char R=0;
/*IF*/if ((((unsigned char)C))<(65)) {
R=C;
}
 else if ((((unsigned char)C))>(90)) {
R=C;
}
else {
R=(((unsigned char)C))+(32);
}
/*FI*/return R;
}
int ofBC27type_pointer=0;
T0*oRBC27type_pointer;
T0* rT174type_pointer(/*C*/void){
if (ofBC27type_pointer==0){
T0* R=NULL;
ofBC27type_pointer=1;
{T113 *n=((T113*)se_new(113));
rT113make(n,NULL);
R=(T0 *)n;}
oRBC27type_pointer=R;}
return oRBC27type_pointer;}
int rT174static_value(T174 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT174to_runnable(T174 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
C->_rf=rT261get_feature((T261*)XrT58run_class(a1),(C)->_feature_name);
/*IF*/if (!((C)->_rf)) {
rT174error(rT174start_position(C),(T0 *)ms1149);
}
/*FI*/R=(T0 *)C;
}
else {
{T174 *n=((T174*)se_new(174));
/*(IRF3*/((n)->_feature_name)=((C)->_feature_name);
/*)*/R=(T0 *)n;}
R=rT174to_runnable((T174*)R,a1);
}
/*FI*/return R;
}
void rT174error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT174add_comment(T174 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT174start_position(T174 *C){
T0* R=NULL;
R=XrT67start_position((C)->_feature_name);
return R;
}
void rT174compile_to_c(T174 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1206);
XrT262address_of((C)->_rf);
rT43put_character((T43*)oRBC27cpp,'\51');
}
int rT174to_integer(T174 *C){
int R=0;
rT174error(rT174start_position(C),(T0 *)ms169);
return R;
}
T0* rT174written_in(T174 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=rT174start_position(C);
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
int rT174is_a(T174 *C,T0* a1){
int R=0;
R=XrT58is_a(rT113run_type((T113*)/*(IRF4*/rT174type_pointer()/*)*/),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT174start_position(C));
rT174error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT206fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT206first_name(T206 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
T0* rT206to_run_feature(T206 *C,T0* a1,T0* a2){
T0* R=NULL;
{T279 *n=((T279*)se_new(279));
rT279make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
void rT206error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT206fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT206fatal_error((T0 *)ms481);
}
int rT206is_merge_with(T206 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT206start_position(T206 *C){
T0* R=NULL;
R=XrT67start_position(rT206first_name(C));
return R;
}
void rT206collect_for(T206 *C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,(C)->_require_assertion))) {
rT269add_last((T269*)oRBC62require_collector,(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT206add_into(T206 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT206try_to_undefine(T206 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT206start_position(C));
rT206error(XrT67start_position(a1),(T0 *)ms478);
rT206fe_undefine(a1,a2);
}
else {
R=rT206try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT206fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT206try_to_undefine_aux(T206 *C,T0* a1,T0* a2){
T0* R=NULL;
R=(T0 *)C;
return R;
}
void rT206set_header_comment(T206 *C,T0* a1){
/*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
C->_end_comment=a1;
}
/*FI*/}
void rT206from_effective(T206 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
{T128 *n=((T128*)se_new(128));
rT128make(n,ma(129,0,1,a1));
C->_names=(T0 *)n;}
rT206make(C,(C)->_names,a2,a3,NULL,NULL,a4);
/*(IRF3*/((C)->_ensure_assertion)=(a5);
/*)*/C->_base_class=a6;
}
int rT206can_hide(T206 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT206error(rT206start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT206start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT206base_class_name(T206 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
void rT206set_rescue_compound(T206 *C,T0* a1){
/*IF*/if ((((int)a1))&&(/*(IRF4*/1/*)*/)) {
rT206error(rT206start_position(C),(T0 *)ms397);
}
/*FI*/C->_rescue_compound=a1;
}
void rT206make_e_feature(T206 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT206make_routine(T206 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT206make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void rT206make(T206 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
rT206make_routine(C,a1,a2,a4,a5,a6);
C->_result_type=a3;
}
void rT205fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT205first_name(T205 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
T0* rT205to_run_feature(T205 *C,T0* a1,T0* a2){
T0* R=NULL;
{T279 *n=((T279*)se_new(279));
rT279make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
void rT205error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT205fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT205fatal_error((T0 *)ms481);
}
int rT205is_merge_with(T205 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT205start_position(T205 *C){
T0* R=NULL;
R=XrT67start_position(rT205first_name(C));
return R;
}
void rT205collect_for(T205 *C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,(C)->_require_assertion))) {
rT269add_last((T269*)oRBC62require_collector,(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT205add_into(T205 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT205try_to_undefine(T205 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT205start_position(C));
rT205error(XrT67start_position(a1),(T0 *)ms478);
rT205fe_undefine(a1,a2);
}
else {
R=rT205try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT205fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT205try_to_undefine_aux(T205 *C,T0* a1,T0* a2){
T0* R=NULL;
R=(T0 *)C;
return R;
}
void rT205set_header_comment(T205 *C,T0* a1){
/*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
C->_end_comment=a1;
}
/*FI*/}
void rT205from_effective(T205 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
{T128 *n=((T128*)se_new(128));
rT128make(n,ma(129,0,1,a1));
C->_names=(T0 *)n;}
rT205make_routine(C,(C)->_names,a2,NULL,NULL,a3);
/*(IRF3*/((C)->_ensure_assertion)=(a4);
/*)*/C->_base_class=a5;
}
int rT205can_hide(T205 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT205error(rT205start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT205start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT205base_class_name(T205 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
void rT205set_rescue_compound(T205 *C,T0* a1){
/*IF*/if ((((int)a1))&&(/*(IRF4*/1/*)*/)) {
rT205error(rT205start_position(C),(T0 *)ms397);
}
/*FI*/C->_rescue_compound=a1;
}
void rT205make_e_feature(T205 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT205make_routine(T205 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT205make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void rT205make(T205 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT205make_routine(C,a1,a2,a3,a4,a5);
}
T0* rT182twin(T182 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT182copy((T182*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT182static_value(T182 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT182to_runnable(T182 *C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _rt=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
_rt=XrT58to_runnable((C)->_result_type,a1);
/*IF*/if (!(_rt)) {
rT182error(XrT58start_position((C)->_result_type),(T0 *)ms1160);
}
else {
C->_result_type=_rt;
R=(T0 *)C;
}
/*FI*//*IF*/if (rT50has_feature((T50*)rT182base_class_written(C),(C)->_to_string)) {
_rf=rT261get_feature_with((T261*)XrT58run_class(a1),(C)->_to_string);
/*IF*/if (((int)_rf)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT262start_position(_rf));
}
/*FI*/rT182error((C)->_start_position,(T0 *)ms1161);
}
/*FI*/}
else {
R=rT182twin(C);
/*(IRF3*/(((T182*)R)->_current_type)=(NULL);
/*)*/R=rT182to_runnable((T182*)R,a1);
}
/*FI*/return R;
}
void rT182error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT182add_comment(T182 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT182to_key(T182 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
int rT182can_be_dropped(T182 *C){
int R=0;
R=XrT58is_expanded(XrT58run_type((C)->_result_type));
return R;
}
void rT182compile_to_c(T182 *C){
rT43put_character((T43*)oRBC27cpp,'\137');
rT43put_string((T43*)oRBC27cpp,(C)->_to_string);
}
int rT182to_integer(T182 *C){
int R=0;
rT182error((C)->_start_position,(T0 *)ms169);
return R;
}
T0* rT182written_in(T182 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
T0* rT182base_class_written(T182 *C){
T0* R=NULL;
R=rT48base_class((T48*)rT182written_in(C));
return R;
}
void rT182copy(T182 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
int rT182is_a(T182 *C,T0* a1){
int R=0;
R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT182error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT182make(T182 *C,T0* a1,T0* a2,T0* a3,int a4){
C->_start_position=a1;
C->_to_string=a2;
C->_result_type=a3;
C->_rank=a4;
}
int ofBC27type_string=0;
T0*oRBC27type_string;
T0* rT76type_string(/*C*/void){
if (ofBC27type_string==0){
T0* R=NULL;
ofBC27type_string=1;
{T115 *n=((T115*)se_new(115));
rT115make(n,NULL);
R=(T0 *)n;}
oRBC27type_string=R;}
return oRBC27type_string;}
T0* rT76twin(T76 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT76copy((T76*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT76static_value(T76 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
void rT76break_line(T76 *C){
/*IF*/if (!((C)->_break)) {
C->_break=ma(55,2,1,(((T7*)(C)->_to_string)->_count)+(1));
}
else {
rT55add_last((T55*)(C)->_break,(((T7*)(C)->_to_string)->_count)+(1));
}
/*FI*/}
T0* rT76to_runnable(T76 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
/*IF*/if (((C)->_id)==(0)) {
C->_id=rT43add_manifest_string((T43*)oRBC27cpp,(T0 *)C);
}
/*FI*/rT76set_at_run_time();
}
else {
R=rT76twin(C);
/*(IRF3*/(((T76*)R)->_current_type)=(a1);
/*)*/}
/*FI*/return R;
}
void rT76add_ascii(T76 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
/*IF*/if (!((C)->_ascii)) {
C->_ascii=ma(55,2,1,((T7*)(C)->_to_string)->_count);
}
else {
rT55add_last((T55*)(C)->_ascii,((T7*)(C)->_to_string)->_count);
}
/*FI*/}
void rT76add(T76 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
}
void rT76error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT76add_comment(T76 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int ofBC76set_at_run_time=0;
void rT76set_at_run_time(/*C*/void){
if (ofBC76set_at_run_time==0){
ofBC76set_at_run_time=1;
rT261set_at_run_time((T261*)XrT58run_class(rT115run_type((T115*)/*(IRF4*/rT76type_string()/*)*/)));
}}
void rT76compile_to_c(T76 *C){
rT43manifest_string_mapping_c((T43*)oRBC27cpp,(C)->_id);
}
void rT76add_percent(T76 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
/*IF*/if (!((C)->_percent)) {
C->_percent=ma(55,2,1,((T7*)(C)->_to_string)->_count);
}
else {
rT55add_last((T55*)(C)->_percent,((T7*)(C)->_to_string)->_count);
}
/*FI*/}
int rT76to_integer(T76 *C){
int R=0;
rT76error((C)->_start_position,(T0 *)ms169);
return R;
}
T0* rT76written_in(T76 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
void rT76copy(T76 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
int rT76is_a(T76 *C,T0* a1){
int R=0;
R=XrT58is_a(rT115run_type((T115*)/*(IRF4*/rT76type_string()/*)*/),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT76error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT76make(T76 *C,T0* a1){
C->_start_position=a1;
{T7 *n=((T7*)se_new(7));
rT7make(n,0);
C->_to_string=(T0 *)n;}
}
void rT123error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT123merge_with(T123 *C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*IF*/if (((T0 *)C)==((T0 *)a1)) {
R=(T0 *)C;
}
 else if ((rT123is_omitted(C))||(rT123gives_permission_to_any(C))) {
R=(T0 *)C;
}
 else if ((rT123is_omitted((T123*)a1))||(rT123gives_permission_to_any((T123*)a1))) {
R=a1;
}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT123error(((T123*)a1)->_start_position,(T0 *)ms1142);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(a2));
rT123error(XrT62start_position(a3),(T0 *)ms1143);
}
/*FI*/return R;
}
T0* rT123class_with(/*C*/T0* a1){
T0* R=NULL;
R=((/*UT*/(void)(T52*)oRBC27small_eiffel),
rT52get_class(a1));
return R;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.