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 /*
|
|
22 STRING nptr
|
|
23 MACRO nptr
|
|
24 FMACRO nptr
|
|
25 RESERVE nptr
|
|
26 TAG nptr
|
|
27 FIELD nptr
|
|
28 TYPE nptr
|
|
29 */
|
|
30
|
|
31 typedef struct cheap
|
|
32 {
|
|
33 char *ptr;
|
|
34 char *last;
|
|
35 char *first;
|
|
36 struct cheap *next;
|
|
37 } CHEAP;
|
|
38
|
327
|
39
|
|
40 /* used in mc-macro.c */
|
|
41
|
|
42 extern int asmf;
|
|
43 extern int ch;
|
|
44 extern int chptrsave;
|
|
45 extern int chsave;
|
346
|
46 extern char linebuf[LBUFSIZE],*chptr;
|
327
|
47 extern int glineno;
|
|
48 extern int in_comment;
|
|
49 extern int in_quote;
|
|
50 extern int lfree;
|
|
51 extern int lineno;
|
|
52 extern int lsrc;
|
|
53 extern char *include_path[MAX_INCLUDE_PATH_COUNT];
|
|
54
|
|
55 /* used in mc-code-* */
|
|
56
|
|
57 extern NMTBL null_nptr;
|
|
58
|
346
|
59 extern char * make_filename_with_extension(char *filename,char *ext);
|
|
60
|
327
|
61 /* used in mc-switch */
|
|
62
|
|
63 extern void free_glist3(int e1);
|
|
64 extern int csvalue1;
|
|
65 extern int blabel,dlabel;
|
|
66
|
|
67 /* used in mc-tree.c */
|
|
68
|
|
69 extern int typedefed;
|
|
70
|
|
71 /* global variable end */
|
|
72
|
|
73 extern void free_glist2(int e1);
|
|
74
|
|
75 /* used in mc-codegen.c */
|
|
76
|
|
77 extern NMTBL * anonymous_nptr();;
|
|
78 extern int append4(int p,int a1,int a2,int a3);
|
|
79 extern void display_ntable(NMTBL *n, char *s);
|
|
80 #if FLOAT_CODE
|
|
81 extern int
|
|
82 dlist2(int e1, double d1);
|
|
83 #endif
|
|
84 extern void error(int n);
|
|
85 extern int glist2(int e1,int e2);
|
|
86 extern int glist3(int e1,int e2,int e3);
|
|
87
|
|
88 extern int insert_ascend(int p,int e,int eq());
|
|
89 extern int length(int list);
|
|
90 extern int list2(int e1, int e2);
|
|
91 extern int list3(int e1, int e2, int e3);
|
|
92 extern int list4(int e1, int e2, int e3, int e4);
|
|
93 extern void extern_define(char *s,int d,int type,int use);
|
|
94
|
|
95 #if LONGLONG_CODE
|
|
96 extern int llist2(int e1, long long d1);
|
|
97 #endif
|
|
98 extern int neqname(char *p,char *q);
|
347
|
99 extern NMTBL *new_static_name(char *name,int delimit);
|
327
|
100 extern int reverse0(int t1);
|
|
101 extern int size(int t);
|
|
102 extern int typespec(void);
|
|
103
|
|
104 /* used in mc-macro.c */
|
|
105
|
346
|
106 extern struct cheap *cheap;
|
347
|
107 extern NMTBL *get_name(char *name,int *i);
|
|
108 extern NMTBL *name_space_search(NMTBL *ns,int sc);
|
346
|
109
|
327
|
110 extern int getsym(int sc);
|
|
111 extern int getch(void);
|
|
112 extern int skipspc(void);
|
|
113 extern void copy_current_file_dir(char *name);
|
|
114 extern int expr(int noconv);
|
|
115
|
|
116 extern NMTBL *msearch0(char *name);
|
|
117 extern int alpha(int c);
|
|
118 extern int digit(int c);
|
|
119
|
346
|
120 extern struct cheap * increment_cheap(struct cheap *cheap,char **save);
|
|
121 extern void save_cheap(struct cheap *scheap,struct cheap *cheap);
|
|
122 extern struct cheap * reset_cheap(struct cheap *scheap);
|
|
123
|
327
|
124 /* end */
|