!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_factory.cpp (5.22 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#include "MICG_factory.h"

namespace MICG{
/* If type_id corresponds to an AST node, the elements in args must */
/* correspond to the children of the node. */
/*  */
/* If type_id corresponds to a list (of the form "..._list"), */
/* the elements of arg must be of the same type as the elements */
/* in the list, and all elements in args are added to the list. */
/*  */
/* If type_id corresponds to a token (terminal symbol), args must */
/* contain a single node of type String. Terminal symbols */
/* with non-default values are not supported. */
/*  */
/* If the node type is not recognized, NULL is returned. */
Object* Node_factory::create(char const* type_id, List<Object*>* args)
{
    List<Object*>::const_iterator i = args->begin();
    if(!strcmp(type_id, "All"))
    {
        Macro_list* macros = dynamic_cast<Macro_list*>(*i++);
        assert(i == args->end());
        return new All(macros);
    }
    if(!strcmp(type_id, "Macro"))
    {
        Signature* signature = dynamic_cast<Signature*>(*i++);
        Rule_list* rules = dynamic_cast<Rule_list*>(*i++);
        Body* body = dynamic_cast<Body*>(*i++);
        assert(i == args->end());
        return new Macro(signature, rules, body);
    }
    if(!strcmp(type_id, "Signature"))
    {
        MACRO_NAME* macro_name = dynamic_cast<MACRO_NAME*>(*i++);
        Formal_parameter_list* formal_parameters = dynamic_cast<Formal_parameter_list*>(*i++);
        assert(i == args->end());
        return new Signature(macro_name, formal_parameters);
    }
    if(!strcmp(type_id, "Formal_parameter"))
    {
        TYPE_NAME* type_name = dynamic_cast<TYPE_NAME*>(*i++);
        PARAM_NAME* param_name = dynamic_cast<PARAM_NAME*>(*i++);
        assert(i == args->end());
        return new Formal_parameter(type_name, param_name);
    }
    if(!strcmp(type_id, "Lookup"))
    {
        PARAM_NAME* param_name = dynamic_cast<PARAM_NAME*>(*i++);
        ATTR_NAME* attr_name = dynamic_cast<ATTR_NAME*>(*i++);
        assert(i == args->end());
        return new Lookup(param_name, attr_name);
    }
    if(!strcmp(type_id, "Equals"))
    {
        Expr* left = dynamic_cast<Expr*>(*i++);
        Expr* right = dynamic_cast<Expr*>(*i++);
        assert(i == args->end());
        return new Equals(left, right);
    }
    if(!strcmp(type_id, "Param"))
    {
        PARAM_NAME* param_name = dynamic_cast<PARAM_NAME*>(*i++);
        ATTR_NAME_list* attr_names = dynamic_cast<ATTR_NAME_list*>(*i++);
        assert(i == args->end());
        return new Param(param_name, attr_names);
    }
    if(!strcmp(type_id, "Body"))
    {
        Body_part_list* body_parts = dynamic_cast<Body_part_list*>(*i++);
        assert(i == args->end());
        return new Body(body_parts);
    }
    if(!strcmp(type_id, "Macro_call"))
    {
        MACRO_NAME* macro_name = dynamic_cast<MACRO_NAME*>(*i++);
        Expr_list* exprs = dynamic_cast<Expr_list*>(*i++);
        assert(i == args->end());
        return new Macro_call(macro_name, exprs);
    }
    if(!strcmp(type_id, "Callback"))
    {
        MACRO_NAME* macro_name = dynamic_cast<MACRO_NAME*>(*i++);
        Expr_list* exprs = dynamic_cast<Expr_list*>(*i++);
        assert(i == args->end());
        return new Callback(macro_name, exprs);
    }
    if(!strcmp(type_id, "MACRO_NAME"))
    {
        String* value = dynamic_cast<String*>(*i++);
        assert(i == args->end());
        return new MACRO_NAME(value);
    }
    if(!strcmp(type_id, "TYPE_NAME"))
    {
        String* value = dynamic_cast<String*>(*i++);
        assert(i == args->end());
        return new TYPE_NAME(value);
    }
    if(!strcmp(type_id, "PARAM_NAME"))
    {
        String* value = dynamic_cast<String*>(*i++);
        assert(i == args->end());
        return new PARAM_NAME(value);
    }
    if(!strcmp(type_id, "ATTR_NAME"))
    {
        String* value = dynamic_cast<String*>(*i++);
        assert(i == args->end());
        return new ATTR_NAME(value);
    }
    if(!strcmp(type_id, "STRING"))
    {
        String* value = dynamic_cast<String*>(*i++);
        assert(i == args->end());
        return new STRING(value);
    }
    if(!strcmp(type_id, "C_CODE"))
    {
        String* value = dynamic_cast<String*>(*i++);
        assert(i == args->end());
        return new C_CODE(value);
    }
    if(!strcmp(type_id, "Macro_list"))
    {
        Macro_list* list = new Macro_list;
        while(i != args->end())
            list->push_back(dynamic_cast<Macro*>(*i++));
        return list;
    }
    if(!strcmp(type_id, "Rule_list"))
    {
        Rule_list* list = new Rule_list;
        while(i != args->end())
            list->push_back(dynamic_cast<Rule*>(*i++));
        return list;
    }
    if(!strcmp(type_id, "Formal_parameter_list"))
    {
        Formal_parameter_list* list = new Formal_parameter_list;
        while(i != args->end())
            list->push_back(dynamic_cast<Formal_parameter*>(*i++));
        return list;
    }
    if(!strcmp(type_id, "ATTR_NAME_list"))
    {
        ATTR_NAME_list* list = new ATTR_NAME_list;
        while(i != args->end())
            list->push_back(dynamic_cast<ATTR_NAME*>(*i++));
        return list;
    }
    if(!strcmp(type_id, "Body_part_list"))
    {
        Body_part_list* list = new Body_part_list;
        while(i != args->end())
            list->push_back(dynamic_cast<Body_part*>(*i++));
        return list;
    }
    if(!strcmp(type_id, "Expr_list"))
    {
        Expr_list* list = new Expr_list;
        while(i != args->end())
            list->push_back(dynamic_cast<Expr*>(*i++));
        return list;
    }
    return NULL;
}
}


:: 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.0043 ]--