RemoveWhiteSpaces {
e.Head ' ' '+' e.Tail = <RemoveWhiteSpaces e.Head '+' e.Tail>;
e.Head '+' ' ' e.Tail = <RemoveWhiteSpaces e.Head '+' e.Tail>;
e.Head ' ' '*' e.Tail = <RemoveWhiteSpaces e.Head '*' e.Tail>;
e.Head '*' ' ' e.Tail = <RemoveWhiteSpaces e.Head '*' e.Tail>;
e.All = e.All;
}
static refalrts::FnResult RemoveWhiteSpaces(refalrts::Rope<refalrts::Node> arg, refalrts::Iter begin, refalrts::Iter end) {
refalrts::this_is_generated_function();
do {
refalrts::Rope<refalrts::Node> rope_0 = arg;
size_t rope_0_lshift = 0;
size_t rope_0_rshift = 0;
size_t rope_0_lshift_saved = 0;
size_t rope_0_rshift_saved = 0;
static refalrts::Node eHead;
refalrts::use(eHead);
static refalrts::Node eTail;
refalrts::use(eTail);
rope_0_lshift_saved = rope_0_lshift;
rope_0_rshift_saved = rope_0_rshift;
for(rope_0_lshift=rope_0_lshift_saved+1; rope_0_lshift<rope_0_rshift; rope_0_lshift++) {
get_closed_evar(eHead, rope_0, rope_0_lshift_saved, rope_0_lshift);
std::vector<refalrts::Node> v_0_left_0 = read_vector_left(rope_0, rope_0_lshift, rope_0_rshift, 2);
if (!char_check( v_0_left_0[0], ' '))
continue;
if (!char_check( v_0_left_0[1], '+'))
continue;
get_closed_evar( eTail, rope_0, rope_0_lshift, rope_0_rshift);
refalrts::reset_allocator();
auto res = refalrts::alloc_node_list(5);
refalrts::fill_open_call_node(res[0], & RemoveWhiteSpaces, "RemoveWhiteSpaces");
refalrts::fill_evar_node(res[1], eHead);
refalrts::fill_char_node(res[2], '+');
refalrts::fill_evar_node(res[3], eTail);
refalrts::fill_close_call_node(res[4]);
refalrts::push_stack( res[4] );
refalrts::push_stack( res[0] );
refalrts::splice_to_freelist( begin, end );
refalrts::insert_sublist( begin, res[0], res[res.size() - 1]);
return refalrts::cSuccess;
}
} while ( 0 );
do {
refalrts::Rope<refalrts::Node> rope_0 = arg;
size_t rope_0_lshift = 0;
size_t rope_0_rshift = 0;
size_t rope_0_lshift_saved = 0;
size_t rope_0_rshift_saved = 0;
static refalrts::Node eHead;
refalrts::use(eHead);
static refalrts::Node eTail;
refalrts::use(eTail);
rope_0_lshift_saved = rope_0_lshift;
rope_0_rshift_saved = rope_0_rshift;
for(rope_0_lshift=rope_0_lshift_saved+1; rope_0_lshift<rope_0_rshift; rope_0_lshift++) {
get_closed_evar(eHead, rope_0, rope_0_lshift_saved, rope_0_lshift);
std::vector<refalrts::Node> v_0_left_0 = read_vector_left(rope_0, rope_0_lshift, rope_0_rshift, 2);
if (!char_check( v_0_left_0[0], '+'))
continue;
if (!char_check( v_0_left_0[1], ' '))
continue;
get_closed_evar( eTail, rope_0, rope_0_lshift, rope_0_rshift);
refalrts::reset_allocator();
auto res = refalrts::alloc_node_list(5);
refalrts::fill_open_call_node(res[0], & RemoveWhiteSpaces, "RemoveWhiteSpaces");
refalrts::fill_evar_node(res[1], eHead);
refalrts::fill_char_node(res[2], '+');
refalrts::fill_evar_node(res[3], eTail);
refalrts::fill_close_call_node(res[4]);
refalrts::push_stack( res[4] );
refalrts::push_stack( res[0] );
refalrts::splice_to_freelist( begin, end );
refalrts::insert_sublist( begin, res[0], res[res.size() - 1]);
return refalrts::cSuccess;
}
} while ( 0 );
do {
refalrts::Rope<refalrts::Node> rope_0 = arg;
size_t rope_0_lshift = 0;
size_t rope_0_rshift = 0;
size_t rope_0_lshift_saved = 0;
size_t rope_0_rshift_saved = 0;
static refalrts::Node eHead;
refalrts::use(eHead);
static refalrts::Node eTail;
refalrts::use(eTail);
rope_0_lshift_saved = rope_0_lshift;
rope_0_rshift_saved = rope_0_rshift;
for(rope_0_lshift=rope_0_lshift_saved+1; rope_0_lshift<rope_0_rshift; rope_0_lshift++) {
get_closed_evar(eHead, rope_0, rope_0_lshift_saved, rope_0_lshift);
std::vector<refalrts::Node> v_0_left_0 = read_vector_left(rope_0, rope_0_lshift, rope_0_rshift, 2);
if (!char_check( v_0_left_0[0], ' '))
continue;
if (!char_check( v_0_left_0[1], '*'))
continue;
get_closed_evar( eTail, rope_0, rope_0_lshift, rope_0_rshift);
refalrts::reset_allocator();
auto res = refalrts::alloc_node_list(5);
refalrts::fill_open_call_node(res[0], & RemoveWhiteSpaces, "RemoveWhiteSpaces");
refalrts::fill_evar_node(res[1], eHead);
refalrts::fill_char_node(res[2], '*');
refalrts::fill_evar_node(res[3], eTail);
refalrts::fill_close_call_node(res[4]);
refalrts::push_stack( res[4] );
refalrts::push_stack( res[0] );
refalrts::splice_to_freelist( begin, end );
refalrts::insert_sublist( begin, res[0], res[res.size() - 1]);
return refalrts::cSuccess;
}
} while ( 0 );
do {
refalrts::Rope<refalrts::Node> rope_0 = arg;
size_t rope_0_lshift = 0;
size_t rope_0_rshift = 0;
size_t rope_0_lshift_saved = 0;
size_t rope_0_rshift_saved = 0;
static refalrts::Node eHead;
refalrts::use(eHead);
static refalrts::Node eTail;
refalrts::use(eTail);
rope_0_lshift_saved = rope_0_lshift;
rope_0_rshift_saved = rope_0_rshift;
for(rope_0_lshift=rope_0_lshift_saved+1; rope_0_lshift<rope_0_rshift; rope_0_lshift++) {
get_closed_evar(eHead, rope_0, rope_0_lshift_saved, rope_0_lshift);
std::vector<refalrts::Node> v_0_left_0 = read_vector_left(rope_0, rope_0_lshift, rope_0_rshift, 2);
if (!char_check( v_0_left_0[0], '*'))
continue;
if (!char_check( v_0_left_0[1], ' '))
continue;
get_closed_evar( eTail, rope_0, rope_0_lshift, rope_0_rshift);
refalrts::reset_allocator();
auto res = refalrts::alloc_node_list(5);
refalrts::fill_open_call_node(res[0], & RemoveWhiteSpaces, "RemoveWhiteSpaces");
refalrts::fill_evar_node(res[1], eHead);
refalrts::fill_char_node(res[2], '*');
refalrts::fill_evar_node(res[3], eTail);
refalrts::fill_close_call_node(res[4]);
refalrts::push_stack( res[4] );
refalrts::push_stack( res[0] );
refalrts::splice_to_freelist( begin, end );
refalrts::insert_sublist( begin, res[0], res[res.size() - 1]);
return refalrts::cSuccess;
}
} while ( 0 );
do {
refalrts::Rope<refalrts::Node> rope_0 = arg;
size_t rope_0_lshift = 0;
size_t rope_0_rshift = 0;
size_t rope_0_lshift_saved = 0;
size_t rope_0_rshift_saved = 0;
static refalrts::Node eAll;
refalrts::use(eAll);
get_closed_evar( eAll, rope_0, rope_0_lshift, rope_0_rshift);
refalrts::reset_allocator();
auto res = refalrts::alloc_node_list(1);
refalrts::fill_evar_node(res[0], eAll);
refalrts::splice_to_freelist( begin, end );
refalrts::insert_sublist( begin, res[0], res[res.size() - 1]);
return refalrts::cSuccess;
} while ( 0 );
return refalrts::cRecognitionImpossible;
}