X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FyaccParser%2Futils.h;h=3b5b2ed7093b4f03e4621e9a48dbd4b456e67138;hb=b52838bcf54a3d5d07cf29f17f3af6f584fc0f4e;hp=e43303e72089a2e70e6288730ecb3ed4f778f571;hpb=e7d21ee4f8ac907665a7e170c71d59e13a01da09;p=ghc-hetmet.git diff --git a/ghc/compiler/yaccParser/utils.h b/ghc/compiler/yaccParser/utils.h index e43303e..3b5b2ed 100644 --- a/ghc/compiler/yaccParser/utils.h +++ b/ghc/compiler/yaccParser/utils.h @@ -34,14 +34,14 @@ extern list sys_imports_dirlist; extern char HiSuffix[]; extern char PreludeHiSuffix[]; -extern void process_args PROTO((int, char **)); +void process_args PROTO((int, char **)); /* end of util.c stuff */ -extern list mklcons PROTO((void *h, list t)); /* if we have PROTO, we have "void *" */ -extern list lapp PROTO((list l1, void *l2)); -extern list lconc PROTO((list l1, list l2)); -extern list mktruecase PROTO((tree t)); +list mklcons PROTO((void *h, list t)); /* if we have PROTO, we have "void *" */ +list lapp PROTO((list l1, void *l2)); +list lconc PROTO((list l1, list l2)); +list mktruecase PROTO((tree t)); #define lsing(l) mklcons(l, Lnil) /* Singleton Lists */ #define ldub(l1, l2) mklcons(l1, lsing(l2)) /* Two-element Lists */ @@ -50,91 +50,90 @@ extern list mktruecase PROTO((tree t)); #define SAMEFN samefn[icontexts] #define PREVPATT prevpatt[icontexts] -extern tree *Rginfun PROTO((struct Sap *)); -extern tree *Rginarg1 PROTO((struct Sap *)); -extern tree *Rginarg2 PROTO((struct Sap *)); +tree *Rginfun PROTO((struct Sap *)); +tree *Rginarg1 PROTO((struct Sap *)); +tree *Rginarg2 PROTO((struct Sap *)); #define ginfun(xx) *Rginfun(xx) #define ginarg1(xx) *Rginarg1(xx) #define ginarg2(xx) *Rginarg2(xx) -extern id installid PROTO((char *)); /* Create a new identifier */ -extern hstring installHstring PROTO((int, char *)); /* Create a new literal string */ +id installid PROTO((char *)); /* Create a new identifier */ +hstring installHstring PROTO((int, char *)); /* Create a new literal string */ -extern id install_literal PROTO((char *)); -extern char *id_to_string PROTO((id)); +id install_literal PROTO((char *)); +char *id_to_string PROTO((id)); -extern struct infix *infixlookup(); +struct infix *infixlookup PROTO((id)); /* partain additions */ -extern char *xmalloc PROTO((unsigned)); /* just a GNU-style error-checking malloc */ -extern int printf PROTO((const char *, ...)); -extern int fprintf PROTO((FILE *, const char *, ...)); -/*varies (sun/alpha): extern int fputc PROTO((char, FILE *)); */ -extern int fputs PROTO((const char *, FILE *)); -extern int sscanf PROTO((const char *, const char *, ...)); -extern long strtol PROTO((const char *, char **, int)); -extern size_t fread PROTO((void *, size_t, size_t, FILE *)); -extern int fclose PROTO((FILE *)); -extern int isatty PROTO((int)); +char *xmalloc PROTO((unsigned)); /* just a GNU-style error-checking malloc */ +int printf PROTO((const char *, ...)); +int fprintf PROTO((FILE *, const char *, ...)); +/*varies (sun/alpha): int fputc PROTO((char, FILE *)); */ +int fputs PROTO((const char *, FILE *)); +int sscanf PROTO((const char *, const char *, ...)); +long strtol PROTO((const char *, char **, int)); +size_t fread PROTO((void *, size_t, size_t, FILE *)); +int fclose PROTO((FILE *)); +int isatty PROTO((int)); /*extern ??? _filbuf */ /*extern ??? _flsbuf */ -extern void format_string PROTO((FILE *, unsigned char *, int)); -extern tree mkbinop PROTO((char *, tree, tree)); -extern tree mkinfixop PROTO((char *, tree, tree)); -extern list type2context PROTO((ttype)); -extern pbinding createpat PROTO((list, binding)); -extern void process_args PROTO((int, char **)); -extern void hash_init PROTO((void)); -extern void print_hash_table PROTO((void)); -extern long int hash_index PROTO((id)); -extern void yyinit PROTO((void)); -extern int yyparse PROTO((void)); -extern int yylex PROTO((void)); -extern void setyyin PROTO((char *)); -extern void yyerror PROTO((char *)); -extern void error PROTO((char *)); -extern void hsperror PROTO((char *)); -extern void enteriscope PROTO((void)); -extern void exposeis PROTO((void)); -extern void makeinfix PROTO((id, int, int)); -extern int nfixes PROTO((void)); -extern long int precedence PROTO((int)); -extern int pprecedence PROTO((struct infix *)); -extern void rearrangeprec PROTO((tree, tree)); -extern int pfixity PROTO((struct infix *)); -extern void hsincindent PROTO((void)); -extern void hssetindent PROTO((void)); -extern void hsentercontext PROTO((int)); -extern void hsendindent PROTO((void)); -extern void hsindentoff PROTO((void)); - -extern int checkfixity PROTO((char *)); -extern void checksamefn PROTO((char *)); -extern void checkcontext PROTO((list)); -extern void checkinpat PROTO((void)); -extern void checkpatt PROTO((tree)); -extern BOOLEAN lhs_is_patt PROTO((tree)); -extern tree function PROTO((tree)); -extern void checkconap PROTO((tree, tree)); -extern void extendfn PROTO((binding, binding)); -extern void precparse PROTO((tree)); -extern void checkorder PROTO((binding)); -extern BOOLEAN checkorder2 PROTO((binding, BOOLEAN)); -extern BOOLEAN checksig PROTO((BOOLEAN, binding)); -extern void checkprec PROTO((tree, id, BOOLEAN)); -extern BOOLEAN isconstr PROTO((char *)); -extern void setstartlineno PROTO((void)); -extern void pprogram PROTO((tree)); -extern void who_am_i PROTO((void)); -extern void new_filename PROTO((char *)); -extern int Return PROTO((int)); +void format_string PROTO((FILE *, unsigned char *, int)); +tree mkbinop PROTO((char *, tree, tree)); +tree mkinfixop PROTO((char *, tree, tree)); +list type2context PROTO((ttype)); +pbinding createpat PROTO((list, binding)); +void process_args PROTO((int, char **)); +void hash_init PROTO((void)); +void print_hash_table PROTO((void)); +long int hash_index PROTO((id)); +void yyinit PROTO((void)); +int yyparse PROTO((void)); +int yylex PROTO((void)); +void setyyin PROTO((char *)); +void yyerror PROTO((char *)); +void error PROTO((char *)); +void hsperror PROTO((char *)); +void enteriscope PROTO((void)); +void exposeis PROTO((void)); +void makeinfix PROTO((id, int, int)); +int nfixes PROTO((void)); +long int precedence PROTO((int)); +int pprecedence PROTO((struct infix *)); +int pfixity PROTO((struct infix *)); +void pprogram PROTO((tree)); +void hsincindent PROTO((void)); +void hssetindent PROTO((void)); +void hsendindent PROTO((void)); +void hsindentoff PROTO((void)); + +int checkfixity PROTO((char *)); +void checksamefn PROTO((char *)); +void checkinpat PROTO((void)); + +void patternOrExpr PROTO((int,tree)); +/* the "int" arg says what we want; it is one of: */ +#define LEGIT_PATT 1 +#define LEGIT_EXPR 2 + +BOOLEAN lhs_is_patt PROTO((tree)); +tree function PROTO((tree)); +void extendfn PROTO((binding, binding)); +void precparse PROTO((tree)); +void checkorder PROTO((binding)); +void checkprec PROTO((tree, id, BOOLEAN)); +BOOLEAN isconstr PROTO((char *)); +void setstartlineno PROTO((void)); +void find_module_on_imports_dirlist PROTO((char *, BOOLEAN, char *)); +char *fixop PROTO((int)); +char *fixtype PROTO((int)); /* mattson additions */ -extern char *xstrdup PROTO((char *)); /* Duplicate a string */ -extern char *xstrndup PROTO((char *, unsigned));/* Duplicate a substring */ -extern char *xrealloc PROTO((char *, unsigned));/* Re-allocate a string */ +char *xstrdup PROTO((char *)); /* Duplicate a string */ +char *xstrndup PROTO((char *, unsigned)); /* Duplicate a substring */ +char *xrealloc PROTO((char *, unsigned)); /* Re-allocate a string */ #endif /* __UTILS_H */