#ifndef _PARSE_ACTION_H_cb57472e_ #define _PARSE_ACTION_H_cb57472e_ typedef enum { CPU_SH = 1, CPU_VMU, } CPUTYPE; typedef enum { PP_PUSH = 1, PP_POP, } PUSHPOP; extern void pl_trace(int, const char *); extern void pl_action(const char *); extern int false_if(void); extern void do_assignment(void); extern void set_label(void); extern void set_loclabel(void); extern void do_locsymbar(void); extern void fsize_is_pr(void); extern void fsize_is_sz(void); extern void set_data_size(int); extern void assemble_instruction(void); extern void assemble_data_expression(void); extern void assemble_space_expression(void); extern void assemble_repeat_count(void); extern void assemble_repeat_value(void); extern void assemble_ascii(void); extern void assemble_ascic(void); extern void assemble_asciz(void); extern void assemble_error_start(void); extern void assemble_error_char(int); extern void assemble_error_done(void); extern void push_include(void); extern void set_listing(int); extern void push_listing(void); extern void pop_listing(void); extern void do_if(void); extern void do_elif(void); extern void do_else(void); extern void do_endif(void); extern void do_align(void); extern void save_symbol_space(CPUTYPE); extern void save_symbol_space_cur(void); extern void save_symbol_name(const char *); extern void save_label_symbol(void); extern void locsym_set_digit(char); extern void save_assignment_symbol(void); extern void save_assignment_symbol_dot(void); extern void save_assignment_expression(void); extern void begin_expression(void); extern void end_expression(void); extern void abort_expression(void); extern int xst_terminal_ok(void); extern int expr_str_op(const char *); extern int expr_op(char); extern int expr_comma(void); extern int expr_paren(char); extern void expr_locsymref(void); extern int expr_symbol(void); extern int expr_symbol_dot(void); extern int expr_constant(unsigned long int); extern int expr_constant_init(void); extern void expr_constant_digit(unsigned int, int); extern int expr_constant_done(void); extern int expr_can_end(void); extern void locsym_set_direction(char); extern void init_string(void); extern void begin_string_part(char); extern int end_string(int); extern int is_string_term(char); extern void save_string_char(char); extern void save_string_expr(void); extern void abort_string(void); extern void fsize_is_0(void); extern void fsize_is_1(void); extern void fsize_is_any(void); extern void opc_base(unsigned short int, unsigned short int); extern void opc_extra(unsigned short int, unsigned short int); extern void pr_mustbe(int); extern void sz_mustbe(int); extern void reset_ops(void); extern void branch_displacement(int); extern void expr_offset(int); extern void offset_shift(int); extern void immediate_value(void); extern void set_register_params(const char *, unsigned int, int, unsigned int, unsigned int); extern int register_name(const char *); extern int register_prefix(const char *); extern int expr_names_register(void); extern void assemble_entry_expression(void); extern void pcrel_w(unsigned short int, unsigned short int); extern void pcrel_l(unsigned short int, unsigned short int); extern int function_call_name(const char *); extern void push_function_open(void); extern int in_macro_def(void); extern void set_macro_name(const char *); extern void set_macro_arg(const char *); extern void start_macro_def(void); extern void push_macro_depth(void); extern void pop_macro_depth(void); extern void save_macro_line(void); extern void undefine_macro(void); extern void macro_locals(void); extern int name_for_call(const char *); extern void do_macro_call(void); extern void pseudo_shll(void); extern void pseudo_shlr(void); extern void pseudo_shar(void); extern void pseudo_shxr(void); extern void pseudo_set_inline(void); extern void pseudo_set_separate(void); extern void pseudo_set_constants(void); extern void pseudo_set_setup(int, const char *); extern void opc_delay_slot_illegal_if_sr(void); extern void opc_delay_slot_illegal(void); extern void opc_delay_slot_has(void); extern void opc_delay_slot_empty(void); extern void use_cpu(CPUTYPE); extern int if_cpu(CPUTYPE); extern void v_base(int); #define VAS_BASEADD 1000 #define VAS_BASE 1001 #define VAS_IMM8 1002 #define VAS_END 1003 #define VAS_ADDI 1004 #define VAS_ADDD8 1005 #define VAS_DLOW 1006 #define VAS_ADDA12H 1007 #define VAS_A12LOW 1008 #define VAS_A16 1009 #define VAS_R8 1010 #define VAS_R16 1011 #define VAS_ADDD9B3 1012 extern void v_assemble(int, ...); extern void v_seti(int); extern void v_save_d9(void); extern void v_save_aref(void); extern void v_save_b3(void); extern void pushpop_is(PUSHPOP); extern void pushpop_dot(void); extern void pushpop_symbol(void); extern void float_start(void); extern int float_decpt(void); extern void float_digit(char); extern int float_wrapup(void); extern void float_exp_sign(char); extern int float_wrapup_exp(int); extern void change_sz(void); #endif