!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.2 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:     AST_visitor.h (22.46 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef _AST_VISITOR_H_
#define _AST_VISITOR_H_

#include <iostream>
#include <sstream>
#include <iomanip>
#include "lib/error.h"
#include "lib/Object.h"
#include "lib/List.h"
#include "lib/String.h"
#include "lib/Boolean.h"
#include "lib/Integer.h"
#include "lib/AttrMap.h"
#include "process_ir/IR.h"
#include "process_ir/Foreach.h"
#include <list>
#include <string>
#include <cstring>
#include <cassert>


#include "AST.h"

namespace AST{
class Visitor
{
public:
    virtual ~Visitor();
/* Invoked before the children are visited */
public:
    virtual void pre_node(Node* in);
    virtual void pre_php_script(PHP_script* in);
    virtual void pre_statement(Statement* in);
    virtual void pre_class_def(Class_def* in);
    virtual void pre_class_mod(Class_mod* in);
    virtual void pre_interface_def(Interface_def* in);
    virtual void pre_member(Member* in);
    virtual void pre_method(Method* in);
    virtual void pre_signature(Signature* in);
    virtual void pre_method_mod(Method_mod* in);
    virtual void pre_formal_parameter(Formal_parameter* in);
    virtual void pre_type(Type* in);
    virtual void pre_attribute(Attribute* in);
    virtual void pre_attr_mod(Attr_mod* in);
    virtual void pre_name_with_default(Name_with_default* in);
    virtual void pre_if(If* in);
    virtual void pre_while(While* in);
    virtual void pre_do(Do* in);
    virtual void pre_for(For* in);
    virtual void pre_foreach(Foreach* in);
    virtual void pre_switch(Switch* in);
    virtual void pre_switch_case(Switch_case* in);
    virtual void pre_break(Break* in);
    virtual void pre_continue(Continue* in);
    virtual void pre_return(Return* in);
    virtual void pre_static_declaration(Static_declaration* in);
    virtual void pre_global(Global* in);
    virtual void pre_declare(Declare* in);
    virtual void pre_directive(Directive* in);
    virtual void pre_try(Try* in);
    virtual void pre_catch(Catch* in);
    virtual void pre_throw(Throw* in);
    virtual void pre_eval_expr(Eval_expr* in);
    virtual void pre_nop(Nop* in);
    virtual void pre_expr(Expr* in);
    virtual void pre_literal(Literal* in);
    virtual void pre_assignment(Assignment* in);
    virtual void pre_op_assignment(Op_assignment* in);
    virtual void pre_list_assignment(List_assignment* in);
    virtual void pre_list_element(List_element* in);
    virtual void pre_nested_list_elements(Nested_list_elements* in);
    virtual void pre_cast(Cast* in);
    virtual void pre_unary_op(Unary_op* in);
    virtual void pre_bin_op(Bin_op* in);
    virtual void pre_conditional_expr(Conditional_expr* in);
    virtual void pre_ignore_errors(Ignore_errors* in);
    virtual void pre_constant(Constant* in);
    virtual void pre_instanceof(Instanceof* in);
    virtual void pre_variable(Variable* in);
    virtual void pre_variable_name(Variable_name* in);
    virtual void pre_reflection(Reflection* in);
    virtual void pre_target(Target* in);
    virtual void pre_pre_op(Pre_op* in);
    virtual void pre_post_op(Post_op* in);
    virtual void pre_array(Array* in);
    virtual void pre_array_elem(Array_elem* in);
    virtual void pre_method_invocation(Method_invocation* in);
    virtual void pre_method_name(Method_name* in);
    virtual void pre_actual_parameter(Actual_parameter* in);
    virtual void pre_new(New* in);
    virtual void pre_class_name(Class_name* in);
    virtual void pre_commented_node(Commented_node* in);
    virtual void pre_identifier(Identifier* in);
    virtual void pre_source_rep(Source_rep* in);
    virtual void pre_foreign(FOREIGN* in);
    virtual void pre_class_name(CLASS_NAME* in);
    virtual void pre_interface_name(INTERFACE_NAME* in);
    virtual void pre_method_name(METHOD_NAME* in);
    virtual void pre_variable_name(VARIABLE_NAME* in);
    virtual void pre_directive_name(DIRECTIVE_NAME* in);
    virtual void pre_int(INT* in);
    virtual void pre_real(REAL* in);
    virtual void pre_string(STRING* in);
    virtual void pre_bool(BOOL* in);
    virtual void pre_nil(NIL* in);
    virtual void pre_op(OP* in);
    virtual void pre_cast(CAST* in);
    virtual void pre_constant_name(CONSTANT_NAME* in);
/* Invoked after the children have been visited */
public:
    virtual void post_node(Node* in);
    virtual void post_php_script(PHP_script* in);
    virtual void post_statement(Statement* in);
    virtual void post_class_def(Class_def* in);
    virtual void post_class_mod(Class_mod* in);
    virtual void post_interface_def(Interface_def* in);
    virtual void post_member(Member* in);
    virtual void post_method(Method* in);
    virtual void post_signature(Signature* in);
    virtual void post_method_mod(Method_mod* in);
    virtual void post_formal_parameter(Formal_parameter* in);
    virtual void post_type(Type* in);
    virtual void post_attribute(Attribute* in);
    virtual void post_attr_mod(Attr_mod* in);
    virtual void post_name_with_default(Name_with_default* in);
    virtual void post_if(If* in);
    virtual void post_while(While* in);
    virtual void post_do(Do* in);
    virtual void post_for(For* in);
    virtual void post_foreach(Foreach* in);
    virtual void post_switch(Switch* in);
    virtual void post_switch_case(Switch_case* in);
    virtual void post_break(Break* in);
    virtual void post_continue(Continue* in);
    virtual void post_return(Return* in);
    virtual void post_static_declaration(Static_declaration* in);
    virtual void post_global(Global* in);
    virtual void post_declare(Declare* in);
    virtual void post_directive(Directive* in);
    virtual void post_try(Try* in);
    virtual void post_catch(Catch* in);
    virtual void post_throw(Throw* in);
    virtual void post_eval_expr(Eval_expr* in);
    virtual void post_nop(Nop* in);
    virtual void post_expr(Expr* in);
    virtual void post_literal(Literal* in);
    virtual void post_assignment(Assignment* in);
    virtual void post_op_assignment(Op_assignment* in);
    virtual void post_list_assignment(List_assignment* in);
    virtual void post_list_element(List_element* in);
    virtual void post_nested_list_elements(Nested_list_elements* in);
    virtual void post_cast(Cast* in);
    virtual void post_unary_op(Unary_op* in);
    virtual void post_bin_op(Bin_op* in);
    virtual void post_conditional_expr(Conditional_expr* in);
    virtual void post_ignore_errors(Ignore_errors* in);
    virtual void post_constant(Constant* in);
    virtual void post_instanceof(Instanceof* in);
    virtual void post_variable(Variable* in);
    virtual void post_variable_name(Variable_name* in);
    virtual void post_reflection(Reflection* in);
    virtual void post_target(Target* in);
    virtual void post_pre_op(Pre_op* in);
    virtual void post_post_op(Post_op* in);
    virtual void post_array(Array* in);
    virtual void post_array_elem(Array_elem* in);
    virtual void post_method_invocation(Method_invocation* in);
    virtual void post_method_name(Method_name* in);
    virtual void post_actual_parameter(Actual_parameter* in);
    virtual void post_new(New* in);
    virtual void post_class_name(Class_name* in);
    virtual void post_commented_node(Commented_node* in);
    virtual void post_identifier(Identifier* in);
    virtual void post_source_rep(Source_rep* in);
    virtual void post_foreign(FOREIGN* in);
    virtual void post_class_name(CLASS_NAME* in);
    virtual void post_interface_name(INTERFACE_NAME* in);
    virtual void post_method_name(METHOD_NAME* in);
    virtual void post_variable_name(VARIABLE_NAME* in);
    virtual void post_directive_name(DIRECTIVE_NAME* in);
    virtual void post_int(INT* in);
    virtual void post_real(REAL* in);
    virtual void post_string(STRING* in);
    virtual void post_bool(BOOL* in);
    virtual void post_nil(NIL* in);
    virtual void post_op(OP* in);
    virtual void post_cast(CAST* in);
    virtual void post_constant_name(CONSTANT_NAME* in);
/* Visit the children of a node */
public:
    virtual void children_php_script(PHP_script* in);
    virtual void children_class_def(Class_def* in);
    virtual void children_class_mod(Class_mod* in);
    virtual void children_interface_def(Interface_def* in);
    virtual void children_method(Method* in);
    virtual void children_signature(Signature* in);
    virtual void children_method_mod(Method_mod* in);
    virtual void children_formal_parameter(Formal_parameter* in);
    virtual void children_type(Type* in);
    virtual void children_attribute(Attribute* in);
    virtual void children_attr_mod(Attr_mod* in);
    virtual void children_name_with_default(Name_with_default* in);
    virtual void children_if(If* in);
    virtual void children_while(While* in);
    virtual void children_do(Do* in);
    virtual void children_for(For* in);
    virtual void children_foreach(Foreach* in);
    virtual void children_switch(Switch* in);
    virtual void children_switch_case(Switch_case* in);
    virtual void children_break(Break* in);
    virtual void children_continue(Continue* in);
    virtual void children_return(Return* in);
    virtual void children_static_declaration(Static_declaration* in);
    virtual void children_global(Global* in);
    virtual void children_declare(Declare* in);
    virtual void children_directive(Directive* in);
    virtual void children_try(Try* in);
    virtual void children_catch(Catch* in);
    virtual void children_throw(Throw* in);
    virtual void children_eval_expr(Eval_expr* in);
    virtual void children_nop(Nop* in);
    virtual void children_assignment(Assignment* in);
    virtual void children_op_assignment(Op_assignment* in);
    virtual void children_list_assignment(List_assignment* in);
    virtual void children_nested_list_elements(Nested_list_elements* in);
    virtual void children_cast(Cast* in);
    virtual void children_unary_op(Unary_op* in);
    virtual void children_bin_op(Bin_op* in);
    virtual void children_conditional_expr(Conditional_expr* in);
    virtual void children_ignore_errors(Ignore_errors* in);
    virtual void children_constant(Constant* in);
    virtual void children_instanceof(Instanceof* in);
    virtual void children_variable(Variable* in);
    virtual void children_reflection(Reflection* in);
    virtual void children_pre_op(Pre_op* in);
    virtual void children_post_op(Post_op* in);
    virtual void children_array(Array* in);
    virtual void children_array_elem(Array_elem* in);
    virtual void children_method_invocation(Method_invocation* in);
    virtual void children_actual_parameter(Actual_parameter* in);
    virtual void children_new(New* in);
/* Tokens don't have children, so these methods do nothing by default */
public:
    virtual void children_foreign(FOREIGN* in);
    virtual void children_class_name(CLASS_NAME* in);
    virtual void children_interface_name(INTERFACE_NAME* in);
    virtual void children_method_name(METHOD_NAME* in);
    virtual void children_variable_name(VARIABLE_NAME* in);
    virtual void children_directive_name(DIRECTIVE_NAME* in);
    virtual void children_int(INT* in);
    virtual void children_real(REAL* in);
    virtual void children_string(STRING* in);
    virtual void children_bool(BOOL* in);
    virtual void children_nil(NIL* in);
    virtual void children_op(OP* in);
    virtual void children_cast(CAST* in);
    virtual void children_constant_name(CONSTANT_NAME* in);
/* Unparser support */
public:
    virtual void visit_marker(char const* name, bool value);
    virtual void visit_null(char const* name_space, char const* type_id);
    virtual void visit_null_list(char const* name_space, char const* type_id);
    virtual void pre_list(char const* name_space, char const* type_id, int size);
    virtual void post_list(char const* name_space, char const* type_id, int size);
/* Invoke the chain of pre-visit methods along the inheritance hierachy */
/* Do not override unless you know what you are doing */
public:
    virtual void pre_php_script_chain(PHP_script* in);
    virtual void pre_class_def_chain(Class_def* in);
    virtual void pre_class_mod_chain(Class_mod* in);
    virtual void pre_interface_def_chain(Interface_def* in);
    virtual void pre_method_chain(Method* in);
    virtual void pre_signature_chain(Signature* in);
    virtual void pre_method_mod_chain(Method_mod* in);
    virtual void pre_formal_parameter_chain(Formal_parameter* in);
    virtual void pre_type_chain(Type* in);
    virtual void pre_attribute_chain(Attribute* in);
    virtual void pre_attr_mod_chain(Attr_mod* in);
    virtual void pre_name_with_default_chain(Name_with_default* in);
    virtual void pre_if_chain(If* in);
    virtual void pre_while_chain(While* in);
    virtual void pre_do_chain(Do* in);
    virtual void pre_for_chain(For* in);
    virtual void pre_foreach_chain(Foreach* in);
    virtual void pre_switch_chain(Switch* in);
    virtual void pre_switch_case_chain(Switch_case* in);
    virtual void pre_break_chain(Break* in);
    virtual void pre_continue_chain(Continue* in);
    virtual void pre_return_chain(Return* in);
    virtual void pre_static_declaration_chain(Static_declaration* in);
    virtual void pre_global_chain(Global* in);
    virtual void pre_declare_chain(Declare* in);
    virtual void pre_directive_chain(Directive* in);
    virtual void pre_try_chain(Try* in);
    virtual void pre_catch_chain(Catch* in);
    virtual void pre_throw_chain(Throw* in);
    virtual void pre_eval_expr_chain(Eval_expr* in);
    virtual void pre_nop_chain(Nop* in);
    virtual void pre_assignment_chain(Assignment* in);
    virtual void pre_op_assignment_chain(Op_assignment* in);
    virtual void pre_list_assignment_chain(List_assignment* in);
    virtual void pre_nested_list_elements_chain(Nested_list_elements* in);
    virtual void pre_cast_chain(Cast* in);
    virtual void pre_unary_op_chain(Unary_op* in);
    virtual void pre_bin_op_chain(Bin_op* in);
    virtual void pre_conditional_expr_chain(Conditional_expr* in);
    virtual void pre_ignore_errors_chain(Ignore_errors* in);
    virtual void pre_constant_chain(Constant* in);
    virtual void pre_instanceof_chain(Instanceof* in);
    virtual void pre_variable_chain(Variable* in);
    virtual void pre_reflection_chain(Reflection* in);
    virtual void pre_pre_op_chain(Pre_op* in);
    virtual void pre_post_op_chain(Post_op* in);
    virtual void pre_array_chain(Array* in);
    virtual void pre_array_elem_chain(Array_elem* in);
    virtual void pre_method_invocation_chain(Method_invocation* in);
    virtual void pre_actual_parameter_chain(Actual_parameter* in);
    virtual void pre_new_chain(New* in);
    virtual void pre_foreign_chain(FOREIGN* in);
    virtual void pre_class_name_chain(CLASS_NAME* in);
    virtual void pre_interface_name_chain(INTERFACE_NAME* in);
    virtual void pre_method_name_chain(METHOD_NAME* in);
    virtual void pre_variable_name_chain(VARIABLE_NAME* in);
    virtual void pre_directive_name_chain(DIRECTIVE_NAME* in);
    virtual void pre_int_chain(INT* in);
    virtual void pre_real_chain(REAL* in);
    virtual void pre_string_chain(STRING* in);
    virtual void pre_bool_chain(BOOL* in);
    virtual void pre_nil_chain(NIL* in);
    virtual void pre_op_chain(OP* in);
    virtual void pre_cast_chain(CAST* in);
    virtual void pre_constant_name_chain(CONSTANT_NAME* in);
/* Invoke the chain of post-visit methods along the inheritance hierarchy */
/* (invoked in opposite order to the pre-chain) */
/* Do not override unless you know what you are doing */
public:
    virtual void post_php_script_chain(PHP_script* in);
    virtual void post_class_def_chain(Class_def* in);
    virtual void post_class_mod_chain(Class_mod* in);
    virtual void post_interface_def_chain(Interface_def* in);
    virtual void post_method_chain(Method* in);
    virtual void post_signature_chain(Signature* in);
    virtual void post_method_mod_chain(Method_mod* in);
    virtual void post_formal_parameter_chain(Formal_parameter* in);
    virtual void post_type_chain(Type* in);
    virtual void post_attribute_chain(Attribute* in);
    virtual void post_attr_mod_chain(Attr_mod* in);
    virtual void post_name_with_default_chain(Name_with_default* in);
    virtual void post_if_chain(If* in);
    virtual void post_while_chain(While* in);
    virtual void post_do_chain(Do* in);
    virtual void post_for_chain(For* in);
    virtual void post_foreach_chain(Foreach* in);
    virtual void post_switch_chain(Switch* in);
    virtual void post_switch_case_chain(Switch_case* in);
    virtual void post_break_chain(Break* in);
    virtual void post_continue_chain(Continue* in);
    virtual void post_return_chain(Return* in);
    virtual void post_static_declaration_chain(Static_declaration* in);
    virtual void post_global_chain(Global* in);
    virtual void post_declare_chain(Declare* in);
    virtual void post_directive_chain(Directive* in);
    virtual void post_try_chain(Try* in);
    virtual void post_catch_chain(Catch* in);
    virtual void post_throw_chain(Throw* in);
    virtual void post_eval_expr_chain(Eval_expr* in);
    virtual void post_nop_chain(Nop* in);
    virtual void post_assignment_chain(Assignment* in);
    virtual void post_op_assignment_chain(Op_assignment* in);
    virtual void post_list_assignment_chain(List_assignment* in);
    virtual void post_nested_list_elements_chain(Nested_list_elements* in);
    virtual void post_cast_chain(Cast* in);
    virtual void post_unary_op_chain(Unary_op* in);
    virtual void post_bin_op_chain(Bin_op* in);
    virtual void post_conditional_expr_chain(Conditional_expr* in);
    virtual void post_ignore_errors_chain(Ignore_errors* in);
    virtual void post_constant_chain(Constant* in);
    virtual void post_instanceof_chain(Instanceof* in);
    virtual void post_variable_chain(Variable* in);
    virtual void post_reflection_chain(Reflection* in);
    virtual void post_pre_op_chain(Pre_op* in);
    virtual void post_post_op_chain(Post_op* in);
    virtual void post_array_chain(Array* in);
    virtual void post_array_elem_chain(Array_elem* in);
    virtual void post_method_invocation_chain(Method_invocation* in);
    virtual void post_actual_parameter_chain(Actual_parameter* in);
    virtual void post_new_chain(New* in);
    virtual void post_foreign_chain(FOREIGN* in);
    virtual void post_class_name_chain(CLASS_NAME* in);
    virtual void post_interface_name_chain(INTERFACE_NAME* in);
    virtual void post_method_name_chain(METHOD_NAME* in);
    virtual void post_variable_name_chain(VARIABLE_NAME* in);
    virtual void post_directive_name_chain(DIRECTIVE_NAME* in);
    virtual void post_int_chain(INT* in);
    virtual void post_real_chain(REAL* in);
    virtual void post_string_chain(STRING* in);
    virtual void post_bool_chain(BOOL* in);
    virtual void post_nil_chain(NIL* in);
    virtual void post_op_chain(OP* in);
    virtual void post_cast_chain(CAST* in);
    virtual void post_constant_name_chain(CONSTANT_NAME* in);
/* Call the pre-chain, visit children and post-chain in order */
/* Do not override unless you know what you are doing */
public:
    virtual void visit_statement_list(Statement_list* in);
    virtual void visit_statement(Statement* in);
    virtual void visit_class_mod(Class_mod* in);
    virtual void visit_class_name(CLASS_NAME* in);
    virtual void visit_interface_name_list(INTERFACE_NAME_list* in);
    virtual void visit_member_list(Member_list* in);
    virtual void visit_member(Member* in);
    virtual void visit_interface_name(INTERFACE_NAME* in);
    virtual void visit_signature(Signature* in);
    virtual void visit_method_mod(Method_mod* in);
    virtual void visit_method_name(METHOD_NAME* in);
    virtual void visit_formal_parameter_list(Formal_parameter_list* in);
    virtual void visit_formal_parameter(Formal_parameter* in);
    virtual void visit_type(Type* in);
    virtual void visit_name_with_default(Name_with_default* in);
    virtual void visit_attr_mod(Attr_mod* in);
    virtual void visit_name_with_default_list(Name_with_default_list* in);
    virtual void visit_variable_name(VARIABLE_NAME* in);
    virtual void visit_expr(Expr* in);
    virtual void visit_variable(Variable* in);
    virtual void visit_switch_case_list(Switch_case_list* in);
    virtual void visit_switch_case(Switch_case* in);
    virtual void visit_variable_name_list(Variable_name_list* in);
    virtual void visit_directive_list(Directive_list* in);
    virtual void visit_directive(Directive* in);
    virtual void visit_directive_name(DIRECTIVE_NAME* in);
    virtual void visit_catch_list(Catch_list* in);
    virtual void visit_catch(Catch* in);
    virtual void visit_op(OP* in);
    virtual void visit_list_element_list(List_element_list* in);
    virtual void visit_list_element(List_element* in);
    virtual void visit_cast(CAST* in);
    virtual void visit_constant_name(CONSTANT_NAME* in);
    virtual void visit_class_name(Class_name* in);
    virtual void visit_target(Target* in);
    virtual void visit_variable_name(Variable_name* in);
    virtual void visit_expr_list(Expr_list* in);
    virtual void visit_array_elem_list(Array_elem_list* in);
    virtual void visit_array_elem(Array_elem* in);
    virtual void visit_method_name(Method_name* in);
    virtual void visit_actual_parameter_list(Actual_parameter_list* in);
    virtual void visit_actual_parameter(Actual_parameter* in);
    virtual void visit_php_script(PHP_script* in);
/* Invoke the right pre-chain (manual dispatching) */
/* Do not override unless you know what you are doing */
public:
    virtual void pre_statement_chain(Statement* in);
    virtual void pre_member_chain(Member* in);
    virtual void pre_expr_chain(Expr* in);
    virtual void pre_variable_name_chain(Variable_name* in);
    virtual void pre_list_element_chain(List_element* in);
    virtual void pre_class_name_chain(Class_name* in);
    virtual void pre_target_chain(Target* in);
    virtual void pre_method_name_chain(Method_name* in);
/* Invoke the right post-chain (manual dispatching) */
/* Do not override unless you know what you are doing */
public:
    virtual void post_statement_chain(Statement* in);
    virtual void post_member_chain(Member* in);
    virtual void post_expr_chain(Expr* in);
    virtual void post_variable_name_chain(Variable_name* in);
    virtual void post_list_element_chain(List_element* in);
    virtual void post_class_name_chain(Class_name* in);
    virtual void post_target_chain(Target* in);
    virtual void post_method_name_chain(Method_name* in);
/* Invoke the right visit-children (manual dispatching) */
/* Do not override unless you know what you are doing */
public:
    virtual void children_statement(Statement* in);
    virtual void children_member(Member* in);
    virtual void children_expr(Expr* in);
    virtual void children_variable_name(Variable_name* in);
    virtual void children_list_element(List_element* in);
    virtual void children_class_name(Class_name* in);
    virtual void children_target(Target* in);
    virtual void children_method_name(Method_name* in);
};
}


#endif

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