--- /dev/null
+/* CM32 prototype file */\r
+\r
+static S8 is_alpha(S8 chr);\r
+static S8 is_digit(S8 chr);\r
+static S8 is_alnum(S8 chr);\r
+static void copystring(S8 *dest, S8 *source);\r
+static S8 equal_string(S8 *str1, S8 *str2);\r
+static S8 skip_blanks(void);\r
+static S32 more_parms(void);\r
+static void skip_comment(void);\r
+static void copy_name(void);\r
+static void copy_string(void);\r
+static U32 lookup_macro(S8 eflag);\r
+static void resolve_macro(void);\r
+static U32 match(S8 *ptr);\r
+static long compareT(S8 *ptable, long peep);\r
+static void exchange(U32 old, S8 *pnew);\r
+static char *fgetcode(char *pout, long maxout);\r
+static S32 read_line(void);\r
+static void write_line(void);\r
+static void optimize(void);\r
+static S32 readline(void);\r
+static U32 test_exit(void);\r
+static void t_warn(S8 *msg, S8 *txt);\r
+static void t_error(S8 *msg, S8 *txt);\r
+static void symbol_error(S8 *msg);\r
+static void syntax_error(void);\r
+static void type_error(void);\r
+static char test_token(U32 token);\r
+static void expect(U32 token);\r
+static void UTC_error(void);\r
+static void line_error(S8 *message);\r
+static void fatal_error(S8 *string);\r
+static void check_loop(U32 stack[]);\r
+static U32 check_switch(void);\r
+static void test_jump(U32 label);\r
+static void cond_jump(S8 cond, U32 label, S8 ljmp);\r
+static U32 get_number(U32 base, U32 digits);\r
+static void clean_up(void);\r
+static S8 read_char(void);\r
+static void unget_token(U32 token);\r
+static U32 read_special(S8 delim);\r
+static U32 get_token(void);\r
+static U32 lookup_local(void);\r
+static U32 lookup_global(void);\r
+static U32 lookup_member(U32 CrntStruc);\r
+static void define_symbol(U32 type, U32 dim_index);\r
+static void push(U32 token, U32 value, U32 type, U32 offset);\r
+static void pop(U32 *token, U32 *value, U32 *type, U32 *offset);\r
+static void get_constant(U32 *token, U32 *value);\r
+static void define_var(U32 type);\r
+static void check_func(void);\r
+static void declare(U32 token, U32 type);\r
+static void define_func(U32 type);\r
+static void sub_eval(U32 term);\r
+static void eval(U32 term, char flag);\r
+static void out_inst(S8 *ptr);\r
+static void write_oper(U32 token, U32 value, U32 type, U32 offset);\r
+static void GenCodeOper(char *ptr, U32 token, U32 value, U32 type, U32 offset);\r
+static void StackAcc(void);\r
+static void StackTop(void);\r
+static void StackIndex(void);\r
+static void load_index(U32 t, U32 v, U32 tt, U32 o);\r
+static void do_unary(U32 oper);\r
+static S8 eval_index(U32 t, U32 v, U32 tp, U32 ofs, U32 *tpRet);\r
+static void get_value(void);\r
+static U32 combine(U32 type1, U32 type2);\r
+static U32 do_oper(U32 token);\r
+static void do_lr2op(U32 oper);\r
+static U32 CheckStack(U32 token, U32 type);\r
+static void accval(U32 oper, U32 rtype, U32 token, U32 value, U32 type, U32 offset);\r
+static void test_not(void);\r
+static void LoadAcc(U32 token, U32 value, U32 type, U32 offset);\r
+static void store(U32 atype, U32 token, U32 value, U32 type, U32 offset);\r
+static void LoadSec(U32 token, U32 value, U32 type, U32 offset);\r
+static U32 ispStruct(U32 type, U32 value);\r
+static U32 isp32(U32 type);\r
+static U32 isp16(U32 type);\r
+static void do_asm(S8 *ptr);\r
+static void out_source(S8 *line);\r
+static void init_static(U32 token, U32 value, S8 word);\r
+static void end_static(void);\r
+static void gen_global(U32 symbol, U32 size);\r
+static void gen_extern(U32 symbol);\r
+static void gen_extern_DASM (U32 symbol);\r
+static void gen_ext_data_DASM (U32 symbol);\r
+static void enter_func(U32 symbol, U32 size);\r
+static void end_func(U32 stackpop);\r
+static void gen_label(U32 label);\r
+static void gen_literal(U8 *ptr, U32 size);\r
+static void call(U32 token, U32 value, U32 type, U32 offset, U32 clean);\r
+static void jump(U32 label, S8 ljmp);\r
+static void jump_if(S8 cond, U32 label, S8 ljmp);\r
+static void do_switch(U32 label);\r
+static void build_switch(U32 d);\r
+static void index_ptr(U32 token, U32 value, U32 type, U32 offset);\r
+static void index_adr(U32 token, U32 value, U32 type, U32 offset);\r
+static void code_global(U32 symbol);\r
+static void data_global(U32 symbol);\r
+static void code_chr(S8 chr);\r
+static void code_str(S8 *ptr);\r
+static void code_num(U32 value);\r
+static void data_chr(S8 chr);\r
+static void data_str(S8 *ptr);\r
+static void data_num(U32 value);\r
+static void put_num(U32 value, FILE *outfile);\r
+static void statement(U32 token);\r
+static void begin_data(void);\r
+static void begin_code(void);\r
+static void compile(void);\r
+void main(S32 argc, S8 *argv[]);\r
+\r
+/* END of PROTOTYPES */\r