327
|
1 /* for mc-parse.c */
|
|
2
|
|
3 extern int sym,type,mode,stmode;
|
|
4 extern int labelno,gpc,disp;
|
|
5 extern int args,init_vars,heap[HEAPSIZE];
|
|
6 extern int cslabel,control;
|
|
7 extern NMTBL *nptr,*gnptr;
|
|
8 extern NMTBL *fnptr;
|
|
9 extern int gtypedefed;
|
|
10 extern int retlabel,retpending,retcont;
|
|
11 extern int chk;
|
329
|
12 #if BIT_FIELD_CODE
|
327
|
13 extern int bit_field_disp;
|
|
14 #endif
|
|
15 extern int fields;
|
|
16 extern int struct_return;
|
|
17 extern int lastexp;
|
|
18 extern int debug;
|
328
|
19 extern int decl_str_init;
|
|
20
|
346
|
21 typedef struct hash
|
|
22 {
|
|
23 char *nm;
|
|
24 int len;
|
|
25 NMTBL *nptr;
|
|
26 } HASH;
|
|
27
|
|
28 /*
|
|
29 STRING nptr
|
|
30 MACRO nptr
|
|
31 FMACRO nptr
|
|
32 RESERVE nptr
|
|
33 TAG nptr
|
|
34 FIELD nptr
|
|
35 TYPE nptr
|
|
36 */
|
|
37
|
|
38 typedef struct cheap
|
|
39 {
|
|
40 char *ptr;
|
|
41 char *last;
|
|
42 char *first;
|
|
43 struct cheap *next;
|
|
44 } CHEAP;
|
|
45
|
327
|
46
|
|
47 /* used in mc-macro.c */
|
|
48
|
|
49 extern int asmf;
|
|
50 extern int ch;
|
|
51 extern int chptrsave;
|
|
52 extern int chsave;
|
346
|
53 extern char linebuf[LBUFSIZE],*chptr;
|
327
|
54 extern int glineno;
|
|
55 extern int in_comment;
|
|
56 extern int in_quote;
|
|
57 extern int lfree;
|
|
58 extern int lineno;
|
|
59 extern int lsrc;
|
|
60 extern char *include_path[MAX_INCLUDE_PATH_COUNT];
|
|
61
|
|
62 /* used in mc-code-* */
|
|
63
|
|
64 extern NMTBL null_nptr;
|
|
65 extern NMTBL ntable[GSYMS+LSYMS];
|
|
66
|
346
|
67 extern char * make_filename_with_extension(char *filename,char *ext);
|
|
68
|
327
|
69 /* used in mc-switch */
|
|
70
|
|
71 extern void free_glist3(int e1);
|
|
72 extern int csvalue1;
|
|
73 extern int blabel,dlabel;
|
|
74
|
|
75 /* used in mc-tree.c */
|
|
76
|
|
77 extern int typedefed;
|
|
78
|
|
79 /* global variable end */
|
|
80
|
|
81 extern void free_glist2(int e1);
|
|
82
|
|
83 /* used in mc-codegen.c */
|
|
84
|
|
85 extern NMTBL * anonymous_nptr();;
|
|
86 extern int append4(int p,int a1,int a2,int a3);
|
|
87 extern void display_ntable(NMTBL *n, char *s);
|
|
88 #if FLOAT_CODE
|
|
89 extern int
|
|
90 dlist2(int e1, double d1);
|
|
91 #endif
|
|
92 extern void error(int n);
|
|
93 extern int glist2(int e1,int e2);
|
|
94 extern int glist3(int e1,int e2,int e3);
|
|
95
|
|
96 extern int insert_ascend(int p,int e,int eq());
|
|
97 extern int length(int list);
|
|
98 extern int list2(int e1, int e2);
|
|
99 extern int list3(int e1, int e2, int e3);
|
|
100 extern int list4(int e1, int e2, int e3, int e4);
|
|
101 extern void extern_define(char *s,int d,int type,int use);
|
|
102
|
|
103 #if LONGLONG_CODE
|
|
104 extern int llist2(int e1, long long d1);
|
|
105 #endif
|
|
106 extern int neqname(char *p,char *q);
|
|
107 extern char *new_static_name(char *name,int delimit);
|
|
108 extern int reverse0(int t1);
|
|
109 extern int size(int t);
|
|
110 extern int typespec(void);
|
|
111
|
|
112 /* used in mc-macro.c */
|
|
113
|
346
|
114 extern struct cheap *cheap;
|
|
115
|
327
|
116 extern int getsym(int sc);
|
|
117 extern int getch(void);
|
|
118 extern int skipspc(void);
|
|
119 extern void copy_current_file_dir(char *name);
|
|
120 extern int expr(int noconv);
|
|
121
|
|
122 extern NMTBL *msearch0(char *name);
|
|
123 extern int alpha(int c);
|
|
124 extern int digit(int c);
|
|
125
|
346
|
126 extern struct cheap * increment_cheap(struct cheap *cheap,char **save);
|
|
127 extern void save_cheap(struct cheap *scheap,struct cheap *cheap);
|
|
128 extern struct cheap * reset_cheap(struct cheap *scheap);
|
|
129
|
327
|
130 /* end */
|