Mercurial > hg > CbC > old > device
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 */