!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/home/scripts/pba/phc-read-only/src/generated/   drwxrwxr-x
Free 83.21 GB of 96.73 GB (86.02%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     MICG_transform.cpp (15.39 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#include "MICG_transform.h"

namespace MICG{
Transform::~Transform()
{
}

/* Invoked before the children are transformed */
All* Transform::pre_all(All* in)
{
    return in;
}

void Transform::pre_macro(Macro* in, Macro_list* out)
{
    out->push_back(in);
}

Signature* Transform::pre_signature(Signature* in)
{
    return in;
}

void Transform::pre_formal_parameter(Formal_parameter* in, Formal_parameter_list* out)
{
    out->push_back(in);
}

Lookup* Transform::pre_lookup(Lookup* in)
{
    return in;
}

void Transform::pre_equals(Equals* in, Rule_list* out)
{
    out->push_back(in);
}

Expr* Transform::pre_param(Param* in)
{
    return in;
}

Body* Transform::pre_body(Body* in)
{
    return in;
}

Macro_call* Transform::pre_macro_call(Macro_call* in)
{
    return in;
}

Callback* Transform::pre_callback(Callback* in)
{
    return in;
}

MACRO_NAME* Transform::pre_macro_name(MACRO_NAME* in)
{
    return in;
}

TYPE_NAME* Transform::pre_type_name(TYPE_NAME* in)
{
    return in;
}

PARAM_NAME* Transform::pre_param_name(PARAM_NAME* in)
{
    return in;
}

ATTR_NAME* Transform::pre_attr_name(ATTR_NAME* in)
{
    return in;
}

Expr* Transform::pre_string(STRING* in)
{
    return in;
}

void Transform::pre_c_code(C_CODE* in, Body_part_list* out)
{
    out->push_back(in);
}

/* Invoked after the children have been transformed */
All* Transform::post_all(All* in)
{
    return in;
}

void Transform::post_macro(Macro* in, Macro_list* out)
{
    out->push_back(in);
}

Signature* Transform::post_signature(Signature* in)
{
    return in;
}

void Transform::post_formal_parameter(Formal_parameter* in, Formal_parameter_list* out)
{
    out->push_back(in);
}

Lookup* Transform::post_lookup(Lookup* in)
{
    return in;
}

void Transform::post_equals(Equals* in, Rule_list* out)
{
    out->push_back(in);
}

Expr* Transform::post_param(Param* in)
{
    return in;
}

Body* Transform::post_body(Body* in)
{
    return in;
}

Macro_call* Transform::post_macro_call(Macro_call* in)
{
    return in;
}

Callback* Transform::post_callback(Callback* in)
{
    return in;
}

MACRO_NAME* Transform::post_macro_name(MACRO_NAME* in)
{
    return in;
}

TYPE_NAME* Transform::post_type_name(TYPE_NAME* in)
{
    return in;
}

PARAM_NAME* Transform::post_param_name(PARAM_NAME* in)
{
    return in;
}

ATTR_NAME* Transform::post_attr_name(ATTR_NAME* in)
{
    return in;
}

Expr* Transform::post_string(STRING* in)
{
    return in;
}

void Transform::post_c_code(C_CODE* in, Body_part_list* out)
{
    out->push_back(in);
}

/* Transform the children of the node */
void Transform::children_all(All* in)
{
    in->macros = transform_macro_list(in->macros);
}

void Transform::children_macro(Macro* in)
{
    in->signature = transform_signature(in->signature);
    in->rules = transform_rule_list(in->rules);
    in->body = transform_body(in->body);
}

void Transform::children_signature(Signature* in)
{
    in->macro_name = transform_macro_name(in->macro_name);
    in->formal_parameters = transform_formal_parameter_list(in->formal_parameters);
}

void Transform::children_formal_parameter(Formal_parameter* in)
{
    in->type_name = transform_type_name(in->type_name);
    in->param_name = transform_param_name(in->param_name);
}

void Transform::children_lookup(Lookup* in)
{
    in->param_name = transform_param_name(in->param_name);
    in->attr_name = transform_attr_name(in->attr_name);
}

void Transform::children_equals(Equals* in)
{
    in->left = transform_expr(in->left);
    in->right = transform_expr(in->right);
}

void Transform::children_param(Param* in)
{
    in->param_name = transform_param_name(in->param_name);
    in->attr_names = transform_attr_name_list(in->attr_names);
}

void Transform::children_body(Body* in)
{
    in->body_parts = transform_body_part_list(in->body_parts);
}

void Transform::children_macro_call(Macro_call* in)
{
    in->macro_name = transform_macro_name(in->macro_name);
    in->exprs = transform_expr_list(in->exprs);
}

void Transform::children_callback(Callback* in)
{
    in->macro_name = transform_macro_name(in->macro_name);
    in->exprs = transform_expr_list(in->exprs);
}

/* Tokens don't have children, so these methods do nothing by default */
void Transform::children_macro_name(MACRO_NAME* in)
{
}

void Transform::children_type_name(TYPE_NAME* in)
{
}

void Transform::children_param_name(PARAM_NAME* in)
{
}

void Transform::children_attr_name(ATTR_NAME* in)
{
}

void Transform::children_string(STRING* in)
{
}

void Transform::children_c_code(C_CODE* in)
{
}

/* Call the pre-transform, transform-children post-transform methods in order */
/* Do not override unless you know what you are doing */
Macro_list* Transform::transform_macro_list(Macro_list* in)
{
    Macro_list::const_iterator i;
    Macro_list* out = new Macro_list;
    
    if(in == NULL)
        return NULL;
    
    for(i = in->begin(); i != in->end(); i++)
    {
        out->push_back_all(transform_macro(*i));
    }
    
    return out;
}

Macro_list* Transform::transform_macro(Macro* in)
{
    Macro_list::const_iterator i;
    Macro_list* out1 = new Macro_list;
    Macro_list* out2 = new Macro_list;
    
    if(in == NULL) out1->push_back(NULL);
    else pre_macro(in, out1);
    for(i = out1->begin(); i != out1->end(); i++)
    {
        if(*i != NULL)
        {
            children_macro(*i);
            post_macro(*i, out2);
        }
        else out2->push_back(NULL);
    }
    
    return out2;
}

Signature* Transform::transform_signature(Signature* in)
{
    if(in == NULL) return NULL;
    
    Signature* out;
    
    out = pre_signature(in);
    if(out != NULL)
    {
        children_signature(out);
        out = post_signature(out);
    }
    
    return out;
}

Rule_list* Transform::transform_rule_list(Rule_list* in)
{
    Rule_list::const_iterator i;
    Rule_list* out = new Rule_list;
    
    if(in == NULL)
        return NULL;
    
    for(i = in->begin(); i != in->end(); i++)
    {
        out->push_back_all(transform_rule(*i));
    }
    
    return out;
}

Rule_list* Transform::transform_rule(Rule* in)
{
    Rule_list::const_iterator i;
    Rule_list* out1 = new Rule_list;
    Rule_list* out2 = new Rule_list;
    
    if(in == NULL) out1->push_back(NULL);
    else pre_rule(in, out1);
    for(i = out1->begin(); i != out1->end(); i++)
    {
        if(*i != NULL)
        {
            children_rule(*i);
            post_rule(*i, out2);
        }
        else out2->push_back(NULL);
    }
    
    return out2;
}

Body* Transform::transform_body(Body* in)
{
    if(in == NULL) return NULL;
    
    Body* out;
    
    out = pre_body(in);
    if(out != NULL)
    {
        children_body(out);
        out = post_body(out);
    }
    
    return out;
}

MACRO_NAME* Transform::transform_macro_name(MACRO_NAME* in)
{
    if(in == NULL) return NULL;
    
    MACRO_NAME* out;
    
    out = pre_macro_name(in);
    if(out != NULL)
    {
        children_macro_name(out);
        out = post_macro_name(out);
    }
    
    return out;
}

Formal_parameter_list* Transform::transform_formal_parameter_list(Formal_parameter_list* in)
{
    Formal_parameter_list::const_iterator i;
    Formal_parameter_list* out = new Formal_parameter_list;
    
    if(in == NULL)
        return NULL;
    
    for(i = in->begin(); i != in->end(); i++)
    {
        out->push_back_all(transform_formal_parameter(*i));
    }
    
    return out;
}

Formal_parameter_list* Transform::transform_formal_parameter(Formal_parameter* in)
{
    Formal_parameter_list::const_iterator i;
    Formal_parameter_list* out1 = new Formal_parameter_list;
    Formal_parameter_list* out2 = new Formal_parameter_list;
    
    if(in == NULL) out1->push_back(NULL);
    else pre_formal_parameter(in, out1);
    for(i = out1->begin(); i != out1->end(); i++)
    {
        if(*i != NULL)
        {
            children_formal_parameter(*i);
            post_formal_parameter(*i, out2);
        }
        else out2->push_back(NULL);
    }
    
    return out2;
}

TYPE_NAME* Transform::transform_type_name(TYPE_NAME* in)
{
    if(in == NULL) return NULL;
    
    TYPE_NAME* out;
    
    out = pre_type_name(in);
    if(out != NULL)
    {
        children_type_name(out);
        out = post_type_name(out);
    }
    
    return out;
}

PARAM_NAME* Transform::transform_param_name(PARAM_NAME* in)
{
    if(in == NULL) return NULL;
    
    PARAM_NAME* out;
    
    out = pre_param_name(in);
    if(out != NULL)
    {
        children_param_name(out);
        out = post_param_name(out);
    }
    
    return out;
}

ATTR_NAME* Transform::transform_attr_name(ATTR_NAME* in)
{
    if(in == NULL) return NULL;
    
    ATTR_NAME* out;
    
    out = pre_attr_name(in);
    if(out != NULL)
    {
        children_attr_name(out);
        out = post_attr_name(out);
    }
    
    return out;
}

Expr* Transform::transform_expr(Expr* in)
{
    if(in == NULL) return NULL;
    
    Expr* out;
    
    out = pre_expr(in);
    if(out != NULL)
    {
        children_expr(out);
        out = post_expr(out);
    }
    
    return out;
}

ATTR_NAME_list* Transform::transform_attr_name_list(ATTR_NAME_list* in)
{
    ATTR_NAME_list::const_iterator i;
    ATTR_NAME_list* out = new ATTR_NAME_list;
    
    if(in == NULL)
        return NULL;
    
    for(i = in->begin(); i != in->end(); i++)
    {
        out->push_back(transform_attr_name(*i));
    }
    
    return out;
}

Body_part_list* Transform::transform_body_part_list(Body_part_list* in)
{
    Body_part_list::const_iterator i;
    Body_part_list* out = new Body_part_list;
    
    if(in == NULL)
        return NULL;
    
    for(i = in->begin(); i != in->end(); i++)
    {
        out->push_back_all(transform_body_part(*i));
    }
    
    return out;
}

Body_part_list* Transform::transform_body_part(Body_part* in)
{
    Body_part_list::const_iterator i;
    Body_part_list* out1 = new Body_part_list;
    Body_part_list* out2 = new Body_part_list;
    
    if(in == NULL) out1->push_back(NULL);
    else pre_body_part(in, out1);
    for(i = out1->begin(); i != out1->end(); i++)
    {
        if(*i != NULL)
        {
            children_body_part(*i);
            post_body_part(*i, out2);
        }
        else out2->push_back(NULL);
    }
    
    return out2;
}

Expr_list* Transform::transform_expr_list(Expr_list* in)
{
    Expr_list::const_iterator i;
    Expr_list* out = new Expr_list;
    
    if(in == NULL)
        return NULL;
    
    for(i = in->begin(); i != in->end(); i++)
    {
        out->push_back(transform_expr(*i));
    }
    
    return out;
}

All* Transform::transform_all(All* in)
{
    if(in == NULL) return NULL;
    
    All* out;
    
    out = pre_all(in);
    if(out != NULL)
    {
        children_all(out);
        out = post_all(out);
    }
    
    return out;
}

/* Invoke the right pre-transform (manual dispatching) */
/* Do not override unless you know what you are doing */
void Transform::pre_rule(Rule* in, Rule_list* out)
{
    switch(in->classid())
    {
    case Equals::ID: 
        {
            Rule_list* local_out = new Rule_list;
            Rule_list::const_iterator i;
            pre_equals(dynamic_cast<Equals*>(in), local_out);
            for(i = local_out->begin(); i != local_out->end(); i++)
                out->push_back(*i);
        }
        return;
    case Lookup::ID: 
        out->push_back(pre_lookup(dynamic_cast<Lookup*>(in)));
        return;
    }
    assert(0);
}

Expr* Transform::pre_expr(Expr* in)
{
    switch(in->classid())
    {
    case Param::ID: return pre_param(dynamic_cast<Param*>(in));
    case STRING::ID: return pre_string(dynamic_cast<STRING*>(in));
    case Lookup::ID: return pre_lookup(dynamic_cast<Lookup*>(in));
    case Macro_call::ID: return pre_macro_call(dynamic_cast<Macro_call*>(in));
    case Callback::ID: return pre_callback(dynamic_cast<Callback*>(in));
    }
    assert(0);
}

void Transform::pre_body_part(Body_part* in, Body_part_list* out)
{
    switch(in->classid())
    {
    case C_CODE::ID: 
        {
            Body_part_list* local_out = new Body_part_list;
            Body_part_list::const_iterator i;
            pre_c_code(dynamic_cast<C_CODE*>(in), local_out);
            for(i = local_out->begin(); i != local_out->end(); i++)
                out->push_back(*i);
        }
        return;
    case Lookup::ID: 
        out->push_back(pre_lookup(dynamic_cast<Lookup*>(in)));
        return;
    case PARAM_NAME::ID: 
        out->push_back(pre_param_name(dynamic_cast<PARAM_NAME*>(in)));
        return;
    case Macro_call::ID: 
        out->push_back(pre_macro_call(dynamic_cast<Macro_call*>(in)));
        return;
    case Callback::ID: 
        out->push_back(pre_callback(dynamic_cast<Callback*>(in)));
        return;
    }
    assert(0);
}

/* Invoke the right post-transform (manual dispatching) */
/* Do not override unless you know what you are doing */
void Transform::post_rule(Rule* in, Rule_list* out)
{
    switch(in->classid())
    {
    case Equals::ID: 
        {
            Rule_list* local_out = new Rule_list;
            Rule_list::const_iterator i;
            post_equals(dynamic_cast<Equals*>(in), local_out);
            for(i = local_out->begin(); i != local_out->end(); i++)
                out->push_back(*i);
        }
        return;
    case Lookup::ID: 
        out->push_back(post_lookup(dynamic_cast<Lookup*>(in)));
        return;
    }
    assert(0);
}

Expr* Transform::post_expr(Expr* in)
{
    switch(in->classid())
    {
    case Param::ID: return post_param(dynamic_cast<Param*>(in));
    case STRING::ID: return post_string(dynamic_cast<STRING*>(in));
    case Lookup::ID: return post_lookup(dynamic_cast<Lookup*>(in));
    case Macro_call::ID: return post_macro_call(dynamic_cast<Macro_call*>(in));
    case Callback::ID: return post_callback(dynamic_cast<Callback*>(in));
    }
    assert(0);
}

void Transform::post_body_part(Body_part* in, Body_part_list* out)
{
    switch(in->classid())
    {
    case C_CODE::ID: 
        {
            Body_part_list* local_out = new Body_part_list;
            Body_part_list::const_iterator i;
            post_c_code(dynamic_cast<C_CODE*>(in), local_out);
            for(i = local_out->begin(); i != local_out->end(); i++)
                out->push_back(*i);
        }
        return;
    case Lookup::ID: 
        out->push_back(post_lookup(dynamic_cast<Lookup*>(in)));
        return;
    case PARAM_NAME::ID: 
        out->push_back(post_param_name(dynamic_cast<PARAM_NAME*>(in)));
        return;
    case Macro_call::ID: 
        out->push_back(post_macro_call(dynamic_cast<Macro_call*>(in)));
        return;
    case Callback::ID: 
        out->push_back(post_callback(dynamic_cast<Callback*>(in)));
        return;
    }
    assert(0);
}

/* Invoke the right transform-children (manual dispatching) */
/* Do not override unless you what you are doing */
void Transform::children_rule(Rule* in)
{
    switch(in->classid())
    {
    case Equals::ID:
        children_equals(dynamic_cast<Equals*>(in));
        break;
    case Lookup::ID:
        children_lookup(dynamic_cast<Lookup*>(in));
        break;
    }
}

void Transform::children_expr(Expr* in)
{
    switch(in->classid())
    {
    case Param::ID:
        children_param(dynamic_cast<Param*>(in));
        break;
    case STRING::ID:
        children_string(dynamic_cast<STRING*>(in));
        break;
    case Lookup::ID:
        children_lookup(dynamic_cast<Lookup*>(in));
        break;
    case Macro_call::ID:
        children_macro_call(dynamic_cast<Macro_call*>(in));
        break;
    case Callback::ID:
        children_callback(dynamic_cast<Callback*>(in));
        break;
    }
}

void Transform::children_body_part(Body_part* in)
{
    switch(in->classid())
    {
    case C_CODE::ID:
        children_c_code(dynamic_cast<C_CODE*>(in));
        break;
    case Lookup::ID:
        children_lookup(dynamic_cast<Lookup*>(in));
        break;
    case PARAM_NAME::ID:
        children_param_name(dynamic_cast<PARAM_NAME*>(in));
        break;
    case Macro_call::ID:
        children_macro_call(dynamic_cast<Macro_call*>(in));
        break;
    case Callback::ID:
        children_callback(dynamic_cast<Callback*>(in));
        break;
    }
}
}


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0058 ]--