
#ifndef __PARSE_ACTIONS_H
#define __PARSE_ACTIONS_H

/*
 * declaration of functions describing parse actions
 */

void pa_null(string_s &source_string,script_parser_s &_this);
void pa_definition_struct_end(string_s &source_string,script_parser_s &_this);
void pa_definition_struct_begin(string_s &source_string,script_parser_s &_this);
void pa_definition_struct_variable(string_s &source_string,script_parser_s &_this);
void pa_definition_fun_end(string_s &source_string,script_parser_s &_this);
void pa_definition_fun_begin(string_s &source_string,script_parser_s &_this);
void pa_definition_fun_params(string_s &source_string,script_parser_s &_this);
void pa_definition_fun_parameter(string_s &source_string,script_parser_s &_this);
void pa_definition_fun_ref_parameter(string_s &source_string,script_parser_s &_this);
void pa_definition_cmd_block_end(string_s &source_string,script_parser_s &_this);
void pa_definition_cmd_block_begin(string_s &source_string,script_parser_s &_this);
void pa_if_end(string_s &source_string,script_parser_s &_this);
void pa_if_cond(string_s &source_string,script_parser_s &_this);
void pa_if_else(string_s &source_string,script_parser_s &_this);
void pa_do_begin(string_s &source_string,script_parser_s &_this);
void pa_do_cond(string_s &source_string,script_parser_s &_this);
void pa_do_exp(string_s &source_string,script_parser_s &_this);
void pa_while_end(string_s &source_string,script_parser_s &_this);
void pa_while_cond(string_s &source_string,script_parser_s &_this);
void pa_while_exp(string_s &source_string,script_parser_s &_this);
void pa_cmd_break(string_s &source_string,script_parser_s &_this);
void pa_cmd_continue(string_s &source_string,script_parser_s &_this);
void pa_cmd_return(string_s &source_string,script_parser_s &_this);
void pa_exp_end(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_plus_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_minus_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_asterisk_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_slash_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_percent_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_ls_br_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_rs_br_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_ampersand_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_pipe_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_circumflex_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_ampersand(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_pipe(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_ampersand(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_pipe(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_circumflex(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_exclamation_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_rs_br(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_ls_br(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_rs_br_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_ls_br_equal(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_rs_br(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_double_ls_br(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_plus(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_minus(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_asterisk(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_slash(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_percent(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_post_double_plus(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_post_double_minus(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_pre_double_plus(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_pre_double_minus(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_pre_plus(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_pre_minus(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_pre_exclamation(string_s &source_string,script_parser_s &_this);
void pa_operator_unary_pre_tilde(string_s &source_string,script_parser_s &_this);
void pa_operator_binary_le_br_re_br(string_s &source_string,script_parser_s &_this);
void pa_identifier(string_s &source_string,script_parser_s &_this);
void pa_function_call(string_s &source_string,script_parser_s &_this);
void pa_fcall_param_begin(string_s &source_string,script_parser_s &_this);
void pa_fcall_parameter(string_s &source_string,script_parser_s &_this);
void pa_struct_element(string_s &source_string,script_parser_s &_this);
void pa_method_call(string_s &source_string,script_parser_s &_this);
void pa_struct_member(string_s &source_string,script_parser_s &_this);
void pa_mcall_param_begin(string_s &source_string,script_parser_s &_this);
void pa_mcall_parameter(string_s &source_string,script_parser_s &_this);
void pa_new_object(string_s &source_string,script_parser_s &_this);
void pa_this(string_s &source_string,script_parser_s &_this);
void pa_thread_def_end(string_s &source_string,script_parser_s &_this);
void pa_thread_def_begin(string_s &source_string,script_parser_s &_this);
void pa_thread_def_parameters(string_s &source_string,script_parser_s &_this);
void pa_thread_parameter(string_s &source_string,script_parser_s &_this);
void pa_new_char_array(string_s &source_string,script_parser_s &_this);
void pa_new_int_array(string_s &source_string,script_parser_s &_this);
void pa_new_double_array(string_s &source_string,script_parser_s &_this);
void pa_new_array(string_s &source_string,script_parser_s &_this);
void pa_array_element(string_s &source_string,script_parser_s &_this);
void pa_single_char_const(string_s &source_string,script_parser_s &_this);
void pa_octal_char_const(string_s &source_string,script_parser_s &_this);
void pa_hex_char_const(string_s &source_string,script_parser_s &_this);
void pa_backslash_char_const(string_s &source_string,script_parser_s &_this);
void pa_oct_int_const(string_s &source_string,script_parser_s &_this);
void pa_dec_int_const(string_s &source_string,script_parser_s &_this);
void pa_hex_int_const(string_s &source_string,script_parser_s &_this);
void pa_oct_long_int_const(string_s &source_string,script_parser_s &_this);
void pa_dec_long_int_const(string_s &source_string,script_parser_s &_this);
void pa_hex_long_int_const(string_s &source_string,script_parser_s &_this);
void pa_oct_unsigned_int_const(string_s &source_string,script_parser_s &_this);
void pa_dec_unsigned_int_const(string_s &source_string,script_parser_s &_this);
void pa_hex_unsigned_int_const(string_s &source_string,script_parser_s &_this);
void pa_oct_unsigned_long_int_const(string_s &source_string,script_parser_s &_this);
void pa_dec_unsigned_long_int_const(string_s &source_string,script_parser_s &_this);
void pa_hex_unsigned_long_int_const(string_s &source_string,script_parser_s &_this);
void pa_double_const(string_s &source_string,script_parser_s &_this);
void pa_float_const(string_s &source_string,script_parser_s &_this);
void pa_long_double_const(string_s &source_string,script_parser_s &_this);
void pa_string_const(string_s &source_string,script_parser_s &_this);

/*
 * access to function callers
 */

extern void(*script_pa_callers[])(string_s &source_string,script_parser_s &_this);

#endif

