diff mc-parse.h @ 327:da2e3f2d127d

macro/codegen reorganization
author kono
date Mon, 21 Jun 2004 23:50:34 +0900
parents
children 7ecb023d29b8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mc-parse.h	Mon Jun 21 23:50:34 2004 +0900
@@ -0,0 +1,97 @@
+/* for mc-parse.c */
+
+extern int sym,type,mode,stmode;
+extern int labelno,gpc,disp;
+extern int args,init_vars,heap[HEAPSIZE];
+extern int cslabel,control;
+extern NMTBL *nptr,*gnptr;
+extern NMTBL *fnptr;
+extern int gtypedefed;
+extern int retlabel,retpending,retcont;
+extern int chk;
+#if BITFIELD_CODE
+extern int bit_field_disp;
+#endif
+extern int fields;
+extern int struct_return;
+extern int lastexp;
+extern int debug; 
+
+/* used in mc-macro.c */
+
+extern int asmf;
+extern int ch;
+extern char cheap[CHEAPSIZE]; // should be extendable
+extern char *cheapp;
+extern int chptrsave; 
+extern int chsave; 
+extern char linebuf[LBUFSIZE],namebuf[LBUFSIZE],*chptr;
+extern int glineno; 
+extern int in_comment; 
+extern int in_quote; 
+extern int lfree; 
+extern int lineno; 
+extern int lsrc; 
+extern char *include_path[MAX_INCLUDE_PATH_COUNT];
+
+/* used in mc-code-* */
+
+extern  NMTBL null_nptr;
+extern NMTBL ntable[GSYMS+LSYMS];
+
+/* used in mc-switch */
+
+extern void free_glist3(int e1);
+extern int csvalue1;
+extern int blabel,dlabel;
+
+/* used in mc-tree.c */
+
+extern int typedefed;
+
+/* global variable end */
+
+extern void free_glist2(int e1);
+
+/* used in mc-codegen.c */
+
+extern NMTBL * anonymous_nptr();;
+extern int append4(int p,int a1,int a2,int a3);
+extern void display_ntable(NMTBL *n, char *s);
+#if FLOAT_CODE
+extern int
+dlist2(int e1, double d1);
+#endif
+extern void error(int n);
+extern int glist2(int e1,int e2);
+extern int glist3(int e1,int e2,int e3);
+
+extern int insert_ascend(int p,int e,int eq());
+extern int length(int list);
+extern int list2(int e1, int e2);
+extern int list3(int e1, int e2, int e3);
+extern int list4(int e1, int e2, int e3, int e4);
+extern void extern_define(char *s,int d,int type,int use);
+
+#if LONGLONG_CODE
+extern int llist2(int e1, long long d1);
+#endif
+extern int neqname(char *p,char *q);
+extern char *new_static_name(char *name,int delimit);
+extern int reverse0(int t1);
+extern int size(int t);
+extern int typespec(void);
+
+/* used in mc-macro.c */
+
+extern int getsym(int sc);
+extern int getch(void);
+extern int skipspc(void);
+extern void copy_current_file_dir(char *name);
+extern int expr(int noconv);
+
+extern NMTBL *msearch0(char *name);
+extern int alpha(int c);
+extern int digit(int c);
+
+/* end */