1 | #ifndef P_ |
---|
2 | #if defined(__STDC__) || defined(__cplusplus) |
---|
3 | # define P_(s) s |
---|
4 | #else |
---|
5 | # define P_(s) () |
---|
6 | #endif |
---|
7 | #endif |
---|
8 | |
---|
9 | |
---|
10 | /* aisc.c */ |
---|
11 | char *read_aisc_file P_((char *path)); |
---|
12 | void aisc_init P_((void)); |
---|
13 | void p_err_eof P_((void)); |
---|
14 | void p_error_brih P_((void)); |
---|
15 | void p_error_nobr P_((void)); |
---|
16 | void p_error_nocbr P_((void)); |
---|
17 | void p_error_emwbr P_((void)); |
---|
18 | void p_error_hewnoid P_((void)); |
---|
19 | void p_error_mixhnh P_((void)); |
---|
20 | void p_error_misscom P_((void)); |
---|
21 | void p_error_missco P_((void)); |
---|
22 | void p_error_exp_string P_((void)); |
---|
23 | char *read_aisc_string P_((char **in, int *is_m)); |
---|
24 | AD *make_AD P_((void)); |
---|
25 | HS *make_HS P_((void)); |
---|
26 | CL *make_CL P_((void)); |
---|
27 | AD *read_aisc_line P_((char **in, HS **hs)); |
---|
28 | AD *read_aisc P_((char **in)); |
---|
29 | CL *read_prog P_((char **in, char *file)); |
---|
30 | int main P_((int argc, char **argv)); |
---|
31 | |
---|
32 | /* aisc_commands.c */ |
---|
33 | int print_error P_((const char *err)); |
---|
34 | void memcopy P_((char *dest, const char *source, int len)); |
---|
35 | char *find_string P_((const char *str, const char *key)); |
---|
36 | char *calc_rest_line P_((char *str, int size, int presize)); |
---|
37 | int calc_line P_((char *str, char *buf)); |
---|
38 | int calc_line2 P_((char *str, char *buf)); |
---|
39 | void write_aisc P_((AD *ad, FILE *out, int deep)); |
---|
40 | void write_prg P_((CL *cl, FILE *out, int deep)); |
---|
41 | int do_com_dbg P_((char *str)); |
---|
42 | int do_com_data P_((char *str)); |
---|
43 | int do_com_write P_((FILE *out, char *str)); |
---|
44 | int do_com_print P_((char *str)); |
---|
45 | int do_com_print2 P_((char *str)); |
---|
46 | int do_com_tabstop P_((char *str)); |
---|
47 | int do_com_tab P_((char *str)); |
---|
48 | int do_com_error P_((char *str)); |
---|
49 | int do_com_open P_((char *str)); |
---|
50 | void aisc_remove_files P_((void)); |
---|
51 | int do_com_close P_((char *str)); |
---|
52 | int do_com_out P_((char *str)); |
---|
53 | int do_com_moveto P_((char *str)); |
---|
54 | int do_com_set P_((char *str)); |
---|
55 | int do_com_create P_((char *str)); |
---|
56 | int do_com_if P_((char *str)); |
---|
57 | int do_com_for_add P_((CL *co)); |
---|
58 | int do_com_for_sub P_((CL *co)); |
---|
59 | int do_com_push P_((const char *str)); |
---|
60 | int do_com_pop P_((const char *str)); |
---|
61 | int do_com_gosub P_((char *str)); |
---|
62 | int do_com_goto P_((char *str)); |
---|
63 | int do_com_return P_((char *str)); |
---|
64 | int do_com_exit P_((char *str)); |
---|
65 | int do_com_for P_((char *str)); |
---|
66 | int do_com_next P_((const char *str)); |
---|
67 | int run_prg P_((void)); |
---|
68 | |
---|
69 | /* aisc_mix.c */ |
---|
70 | CL *aisc_calc_blocks P_((CL *co, CL *afor, CL *aif, int up)); |
---|
71 | int aisc_calc_special_commands P_((void)); |
---|
72 | int hash_index P_((const char *key, int size)); |
---|
73 | struct hash_struct *create_hash P_((int size)); |
---|
74 | char *read_hash_local P_((char *key, struct hash_struct **hs)); |
---|
75 | char *read_hash P_((struct hash_struct *hs, char *key)); |
---|
76 | char *write_hash P_((struct hash_struct *hs, const char *key, const char *val)); |
---|
77 | int free_hash P_((struct hash_struct *hs)); |
---|
78 | |
---|
79 | /* aisc_var_ref.c */ |
---|
80 | AD *aisc_match P_((AD *var, char *varid, char *varct)); |
---|
81 | AD *aisc_find_var_hier P_((AD *cursor, char *str, int next, int extended, int goup)); |
---|
82 | AD *aisc_find_var P_((AD *cursor, char *str, int next, int extended, int goup)); |
---|
83 | char *get_var_string P_((char *var)); |
---|
84 | |
---|
85 | #undef P_ |
---|