| |
| /* Declarations created by "makeproto" on Mon Feb 16 16:39:12 2004 */ |
| |
| |
| |
| /* Declarations from trans.c */ |
| extern void saveoldfile PP( (char *fname) ); |
| extern void closelogfile PV(); |
| extern void showinitfile PV(); |
| extern void usage PV(); |
| extern int main PP( (int argc, char **argv) ); |
| extern int outmem PV(); |
| extern int ISBOGUS PP( (char *p) ); |
| extern char *meaningkindname PP( (enum meaningkind kind) ); |
| extern char *typekindname PP( (enum typekind kind) ); |
| extern char *exprkindname PP( (enum exprkind kind) ); |
| extern char *stmtkindname PP( (enum stmtkind kind) ); |
| extern void dumptype PP( (Type *tp) ); |
| extern void dumpmeaning PP( (Meaning *mp) ); |
| extern void dumpsymtable PP( (Symbol *sym) ); |
| extern void dumptypename PP( (Type *tp, int waddr) ); |
| extern void dumptypename_file PP( (FILE *f, Type *tp) ); |
| extern void dumpexpr PP( (Expr *ex) ); |
| extern void dumpexpr_file PP( (FILE *f, Expr *ex) ); |
| extern void innerdumpstmt PP( (Stmt *sp, int indent) ); |
| extern void dumpstmt PP( (Stmt *sp, int indent) ); |
| extern void dumpstmt_file PP( (FILE *f, Stmt *sp) ); |
| extern void wrapup PV(); |
| extern void mem_summary PV(); |
| extern anyptr test_malloc PP( (int size, int *total, int *final) ); |
| extern void test_free PP( (anyptr p) ); |
| extern anyptr test_realloc PP( (anyptr p, int size) ); |
| |
| /* Declarations from stuff.c */ |
| extern void debughook PV(); |
| extern Strlist *strlist_append PP( (Strlist **base, char *s) ); |
| extern Strlist *strlist_insert PP( (Strlist **base, char *s) ); |
| extern Strlist *strlist_add PP( (Strlist **base, char *s) ); |
| extern void strlist_mix PP( (Strlist **base, Strlist *sl) ); |
| extern void strlist_eat PP( (Strlist **base) ); |
| extern void strlist_empty PP( (Strlist **base) ); |
| extern void strlist_remove PP( (Strlist **base, char *s) ); |
| extern void strlist_delete PP( (Strlist **base, Strlist *sl) ); |
| extern Strlist *strlist_find PP( (Strlist *base, char *s) ); |
| extern Strlist *strlist_cifind PP( (Strlist *base, char *s) ); |
| extern int strcincmp PP( (char *s1, char *s2, int n) ); |
| extern int strcicmp PP( (char *s1, char *s2) ); |
| extern void fixfname PP( (char *fn, char *ext) ); |
| extern void removesuffix PP( (char *fn) ); |
| extern char *stralloc PP( (char *s) ); |
| extern void strchange PP( (char **v, char *s) ); |
| extern char *format_gen PP( (char *fmt, long i1, long i2, double dbl, |
| char *s1, char *s2, char *s3) ); |
| extern char *format_none PP( (char *fmt) ); |
| extern char *format_d PP( (char *fmt, int a1) ); |
| extern char *format_g PP( (char *fmt, double a1) ); |
| extern char *format_s PP( (char *fmt, char *a1) ); |
| extern char *format_ss PP( (char *fmt, char *a1, char *a2) ); |
| extern char *format_sd PP( (char *fmt, char *a1, int a2) ); |
| extern char *format_ds PP( (char *fmt, long a1, char *a2) ); |
| extern char *format_dd PP( (char *fmt, long a1, long a2) ); |
| extern char *format_sss PP( (char *fmt, char *a1, char *a2, char *a3) ); |
| extern char *format_ssd PP( (char *fmt, char *a1, char *a2, long a3) ); |
| extern char *format_sds PP( (char *fmt, char *a1, long a2, char *a3) ); |
| extern int my_toupper PP( (int c) ); |
| extern int my_tolower PP( (int c) ); |
| extern void upc PP( (char *s) ); |
| extern void lwc PP( (char *s) ); |
| extern char *strupper PP( (char *s) ); |
| extern char *strlower PP( (char *s) ); |
| extern char *my_strchr PP( (char *cp, int c) ); |
| extern char *my_strrchr PP( (char *cp, int c) ); |
| extern char *my_strtok PP( (char *cp, char *delim) ); |
| extern long my_strtol PP( (char *buf, char **ret, int base) ); |
| extern void init_stuff PV(); |
| |
| /* Declarations from out.c */ |
| extern void setup_out PV(); |
| extern void select_outfile PP( (FILE *fp) ); |
| extern void start_source PV(); |
| extern void end_source PV(); |
| extern int line_start PV(); |
| extern int cur_column PV(); |
| extern int lookback PP( (int n) ); |
| extern int lookback_prn PP( (int n) ); |
| extern int adddeltas PP( (int d1, int d2) ); |
| extern int applydelta PP( (int i, int d) ); |
| extern void moreindent PP( (int delta) ); |
| extern void singleindent PP( (int delta) ); |
| extern void futureindent PP( (int num) ); |
| extern int parsedelta PP( (char *cp, int def) ); |
| extern void eatblanklines PV(); |
| extern int parse_breakstr PP( (char *cp) ); |
| extern long getcurtime PV(); |
| extern void output PP( (char *msg) ); |
| extern void out_n_spaces PP( (int n) ); |
| extern void out_spaces PP( (int spc, int over, int len, int delta) ); |
| extern void testlinebreaker PP( (int lev, char *fn) ); |
| extern void outsection PP( (int size) ); |
| extern int isembedcomment PP( (Strlist *cmt) ); |
| extern Strlist *outcomments PP( (Strlist *cmt) ); |
| extern void outcomment PP( (Strlist *cmt) ); |
| extern void outtrailcomment PP( (Strlist *cmt, int serial, int indent) ); |
| extern void flushcomments PP( (Strlist **cmt, int kind, int serial) ); |
| extern char *rawCstring PP( (char *fmt, char *s, int len, int special) ); |
| extern char *makeCstring PP( (char *s, int len) ); |
| extern char *makeCchar PP( (int ich) ); |
| |
| /* Declarations from comment.c */ |
| extern void setup_comment PV(); |
| extern int commentlen PP( (Strlist *cmt) ); |
| extern int commentvisible PP( (Strlist *cmt) ); |
| extern void steal_comments PP( (long olds, long news, int always) ); |
| extern Strlist *fixbeginendcomment PP( (Strlist *cmt) ); |
| extern void attach_comments PP( (Stmt *sbase) ); |
| extern void setcommentkind PP( (Strlist *cmt, int kind) ); |
| extern void commentline PP( (int kind) ); |
| extern void addnote PP( (char *msg, long serial) ); |
| extern Strlist *grabcomment PP( (int kind) ); |
| extern int matchcomment PP( (Strlist *cmt, int kind, int stamp) ); |
| extern Strlist *findcomment PP( (Strlist *cmt, int kind, int stamp) ); |
| extern Strlist *extractcomment PP( (Strlist **cmt, int kind, int stamp) ); |
| extern void changecomments PP( (Strlist *cmt, int okind, int ostamp, |
| int kind, int stamp) ); |
| |
| /* Declarations from lex.c */ |
| extern char *fixpascalname PP( (char *name) ); |
| extern void init_lex PV(); |
| extern void setup_lex PV(); |
| extern int checkeatnote PP( (char *msg) ); |
| extern void beginerror PV(); |
| extern void counterror PV(); |
| extern void error PP( (char *msg) ); |
| extern void interror PP( (char *proc, char *msg) ); |
| extern void warning PP( (char *msg) ); |
| extern void intwarning PP( (char *proc, char *msg) ); |
| extern void note PP( (char *msg) ); |
| extern void endnote PP( (char *msg) ); |
| extern void showendnotes PV(); |
| extern char *tok_name PP( (Token tok) ); |
| extern void expected PP( (char *msg) ); |
| extern void expecttok PP( (Token tok) ); |
| extern void needtok PP( (Token tok) ); |
| extern int wexpected PP( (char *msg) ); |
| extern int wexpecttok PP( (Token tok) ); |
| extern int wneedtok PP( (Token tok) ); |
| extern void alreadydef PP( (Symbol *sym) ); |
| extern void undefsym PP( (Symbol *sym) ); |
| extern void symclass PP( (Symbol *sym) ); |
| extern void badtypes PV(); |
| extern void valrange PV(); |
| extern void skipparens PV(); |
| extern void skiptotoken2 PP( (Token tok1, Token tok2) ); |
| extern void skippasttoken2 PP( (Token tok1, Token tok2) ); |
| extern void skippasttotoken PP( (Token tok1, Token tok2) ); |
| extern void skiptotoken PP( (Token tok) ); |
| extern void skippasttoken PP( (Token tok) ); |
| extern int skipopenparen PV(); |
| extern int skipcloseparen PV(); |
| extern int skipcomma PV(); |
| extern char *findaltname PP( (char *name, int num) ); |
| extern Symbol *findsymbol_opt PP( (char *name) ); |
| extern Symbol *findsymbol PP( (char *name) ); |
| extern void clearprogress PV(); |
| extern void progress PV(); |
| extern void p2c_getline PV(); |
| extern void push_input_file PP( (FILE *fp, char *fname, int isinclude) ); |
| extern void include_as_import PV(); |
| extern void push_input_strlist PP( (Strlist *sp, char *fname) ); |
| extern void pop_input PV(); |
| extern int undooption PP( (int i, char *name) ); |
| extern void badinclude PV(); |
| extern int handle_include PP( (char *fn) ); |
| extern int turbo_directive PP( (char *closing, char *after) ); |
| extern void defmacro PP( (char *name, long kind, char *fname, |
| int lnum) ); |
| extern void check_unused_macros PV(); |
| extern char *getinlinepart PV(); |
| extern char getchartok PV(); |
| extern char *getparenstr PP( (char *buf) ); |
| extern void leadingcomments PV(); |
| extern void get_C_string PP( (int term) ); |
| extern void begincommenting PP( (char *cp) ); |
| extern void saveinputcomment PP( (char *cp) ); |
| extern void endcommenting PP( (char *cp) ); |
| extern int peeknextchar PV(); |
| extern void gettok PV(); |
| extern void checkkeyword PP( (Token tok) ); |
| extern void checkmodulewords PV(); |
| |
| /* Declarations from parse.c */ |
| extern void setup_parse PV(); |
| extern void echobreak PV(); |
| extern void echoword PP( (char *name, int comma) ); |
| extern void echoprocname PP( (Meaning *mp) ); |
| extern void need_forward_decl PP( (Meaning *func) ); |
| extern void free_stmt PP( (Stmt *sp) ); |
| extern Stmt *makestmt PP( (enum stmtkind kind) ); |
| extern Stmt *makestmt_call PP( (Expr *call) ); |
| extern Stmt *makestmt_assign PP( (Expr *lhs, Expr *rhs) ); |
| extern Stmt *makestmt_if PP( (Expr *cond, Stmt *thn, Stmt *els) ); |
| extern Stmt *makestmt_seq PP( (Stmt *s1, Stmt *s2) ); |
| extern Stmt *copystmt PP( (Stmt *sp) ); |
| extern void nukestmt PP( (Stmt *sp) ); |
| extern void splicestmt PP( (Stmt *sp, Stmt *spnew) ); |
| extern int stmtcount PP( (Stmt *sp) ); |
| extern Stmt *close_files_to_ctx PP( (Meaning *ctx) ); |
| extern int simplewith PP( (Expr *ex) ); |
| extern int simplefor PP( (Stmt *sp, Expr *ex) ); |
| extern int tryfuncmacro PP( (Expr **exp, Meaning *mp) ); |
| extern Expr *replaceexprexpr PP( (Expr *ex, Expr *oldex, Expr *newex, |
| int keeptype) ); |
| extern void replaceexpr PP( (Stmt *sp, Expr *oldex, Expr *newex) ); |
| extern Stmt *mixassignments PP( (Stmt *sp, Meaning *mp) ); |
| extern int expr_is_bool PP( (Expr *ex, int want) ); |
| extern int implies PP( (Expr *c1, Expr *c2, int not1, int not2) ); |
| extern void infiniteloop PP( (Stmt *sp) ); |
| extern Expr *print_func PP( (Expr *ex) ); |
| extern int printnl_func PP( (Expr *ex) ); |
| extern Expr *chg_printf PP( (Expr *ex) ); |
| extern Expr *mix_printf PP( (Expr *ex, Expr *ex2) ); |
| extern void eatstmt PP( (Stmt **spp) ); |
| extern int haslabels PP( (Stmt *sp) ); |
| extern void fixblock PP( (Stmt **spp, Stmt *thereturn) ); |
| extern int checkvarchangedexpr PP( (Expr *ex, Meaning *mp, int addrokay) ); |
| extern int checkvarchanged PP( (Stmt *sp, Meaning *mp) ); |
| extern int checkexprchanged PP( (Stmt *sp, Expr *ex) ); |
| extern void checkvaroffsetexpr PP( (Expr *ex, Meaning *mp, int myoffset) ); |
| extern void checkvaroffsetstmt PP( (Stmt *sp, Meaning *mp) ); |
| extern int checkvaroffset PP( (Stmt *sp, Meaning *mp) ); |
| extern Expr *initfilevar PP( (Expr *ex) ); |
| extern void initfilevars PP( (Meaning *mp, Stmt ***sppp, Expr *exbase) ); |
| extern void movetoend PP( (Meaning *mp) ); |
| extern void do_include PP( (Token blkind) ); |
| extern void p_block PP( (Token blkind) ); |
| extern int p_search PP( (char *fname, char *ext, int need) ); |
| extern void p_program PV(); |
| |
| /* Declarations from decl.c */ |
| extern Meaning *makespecialproc PP( (char *name, Stmt *(*handler)()) ); |
| extern Meaning *makestandardproc PP( (char *name, Stmt *(*handler)()) ); |
| extern Meaning *makespecialfunc PP( (char *name, Expr *(*handler)()) ); |
| extern Meaning *makestandardfunc PP( (char *name, Expr *(*handler)()) ); |
| extern Meaning *makespecialvar PP( (char *name, Expr *(*handler)()) ); |
| extern void setup_decl PV(); |
| extern int push_imports PV(); |
| extern void pop_imports PP( (int mark) ); |
| extern void import_ctx PP( (Meaning *ctx) ); |
| extern void perm_import PP( (Meaning *ctx) ); |
| extern void unimport PP( (int mark) ); |
| extern void activatemeaning PP( (Meaning *mp) ); |
| extern void pushctx PP( (Meaning *ctx) ); |
| extern void popctx PV(); |
| extern void forget_ctx PP( (Meaning *ctx, int all) ); |
| extern void handle_nameof PV(); |
| extern int issafename PP( (Symbol *sp, int isglobal, int isdefine) ); |
| extern void setupmeaning PP( (Meaning *mp, Symbol *sym, |
| enum meaningkind kind, |
| enum meaningkind namekind) ); |
| extern Meaning *addmeaningas PP( (Symbol *sym, enum meaningkind kind, |
| enum meaningkind namekind) ); |
| extern Meaning *addmeaning PP( (Symbol *sym, enum meaningkind kind) ); |
| extern Meaning *addmeaningafter PP( (Meaning *mpprev, Symbol *sym, |
| enum meaningkind kind) ); |
| extern void unaddmeaning PP( (Meaning *mp) ); |
| extern void readdmeaning PP( (Meaning *mp) ); |
| extern Meaning *addfield PP( (Symbol *sym, Meaning ***flast, |
| Type *rectype, Meaning *tname) ); |
| extern int isfiletype PP( (Type *type, int big) ); |
| extern Meaning *isfilevar PP( (Expr *ex) ); |
| extern Type *filebasetype PP( (Type *type) ); |
| extern Expr *filebasename PP( (Expr *ex) ); |
| extern Expr *filenamepart PP( (Expr *ex) ); |
| extern int fileisbuffered PP( (Expr *ex, int maybe) ); |
| extern Type *findbasetype_ PP( (Type *type, int flags) ); |
| extern Type *findbasetype PP( (Type *type, int flags) ); |
| extern Expr *arraysize PP( (Type *tp, int incskipped) ); |
| extern Type *promote_type PP( (Type *tp) ); |
| extern Type *promote_type_bin PP( (Type *t1, Type *t2) ); |
| extern void predeclare_varstruct PP( (Meaning *mp) ); |
| extern void outdeclarator PP( (Type *type, char *name, int flags) ); |
| extern Type *canonicaltype PP( (Type *type) ); |
| extern int identicaltypes PP( (Type *t1, Type *t2) ); |
| extern int similartypes PP( (Type *t1, Type *t2) ); |
| extern void declarefiles PP( (Strlist *fnames) ); |
| extern char *variantfieldname PP( (int num) ); |
| extern int record_is_union PP( (Type *tp) ); |
| extern void outfieldlist PP( (Meaning *mp) ); |
| extern void declarebigfile PP( (Type *type) ); |
| extern void outbasetype PP( (Type *type, int flags) ); |
| extern void out_type PP( (Type *type, int witharrays) ); |
| extern int varstorageclass PP( (Meaning *mp) ); |
| extern char *storageclassname PP( (int i) ); |
| extern void declarevar PP( (Meaning *mp, int which) ); |
| extern int checkvarmac PP( (Meaning *mp) ); |
| extern int declarevars PP( (Meaning *ctx, int invarstruct) ); |
| extern void redeclarevars PP( (Meaning *ctx) ); |
| extern void out_argdecls PP( (Type *ftype) ); |
| extern void makevarstruct PP( (Meaning *func) ); |
| extern Type *maketype PP( (enum typekind kind) ); |
| extern Type *makesubrangetype PP( (Type *type, Expr *smin, Expr *smax) ); |
| extern Type *makesettype PP( (Type *setof) ); |
| extern Type *makestringtype PP( (int len) ); |
| extern Type *makepointertype PP( (Type *type) ); |
| extern Value p_constant PP( (Type *type) ); |
| extern int typebits PP( (long smin, long smax) ); |
| extern int packedsize PP( (char *fname, Type **typep, long *sizep, |
| int mode) ); |
| extern void decl_comments PP( (Meaning *mp) ); |
| extern void p_attributes PV(); |
| extern void ignore_attributes PV(); |
| extern int size_attributes PV(); |
| extern void p_mech_spec PP( (int doref) ); |
| extern Type *p_modula_subrange PP( (Type *basetype) ); |
| extern void makefakestruct PP( (Type *tp, Meaning *tname) ); |
| extern Type *p_type PP( (Meaning *tname) ); |
| extern Type *p_funcdecl PP( (int *isfunc, int istype) ); |
| extern Symbol *findlabelsym PV(); |
| extern void p_labeldecl PV(); |
| extern Meaning *findfieldname PP( (Symbol *sym, Meaning **variants, |
| int *nvars) ); |
| extern Expr *p_constrecord PP( (Type *type, int style) ); |
| extern Expr *p_constarray PP( (Type *type, int style) ); |
| extern Expr *p_conststring PP( (Type *type, int style) ); |
| extern Expr *p_subconst PP( (Type *type, int style) ); |
| extern void p_constdecl PV(); |
| extern void declaresubtypes PP( (Meaning *mp) ); |
| extern void declaretype PP( (Meaning *mp) ); |
| extern void declaretypes PP( (int outflag) ); |
| extern void p_typedecl PV(); |
| extern void setupfilevar PP( (Meaning *mp) ); |
| extern Meaning *validatedtype PP( (Meaning *dtype, Type *type) ); |
| extern void p_vardecl PV(); |
| extern void p_valuedecl PV(); |
| extern Meaning *maketempvar PP( (Type *type, char *name) ); |
| extern Meaning *makestmttempvar PP( (Type *type, char *name) ); |
| extern Meaning *markstmttemps PV(); |
| extern void freestmttemps PP( (Meaning *mark) ); |
| extern void freetempvar PP( (Meaning *tvar) ); |
| extern void canceltempvar PP( (Meaning *tvar) ); |
| |
| /* Declarations from expr.c */ |
| extern void free_value PP( (Value *val) ); |
| extern Value copyvalue PP( (Value val) ); |
| extern int valuesame PP( (Value a, Value b) ); |
| extern char *value_name PP( (Value val, char *intfmt, int islong) ); |
| extern Value value_cast PP( (Value val, Type *type) ); |
| extern Type *ord_type PP( (Type *tp) ); |
| extern int long_type PP( (Type *tp) ); |
| extern Value make_ord PP( (Type *type, long i) ); |
| extern long ord_value PP( (Value val) ); |
| extern void ord_range_expr PP( (Type *type, Expr **smin, Expr **smax) ); |
| extern int ord_range PP( (Type *type, long *smin, long *smax) ); |
| extern void freeexpr PP( (Expr *ex) ); |
| extern Expr *makeexpr PP( (enum exprkind kind, int n) ); |
| extern Expr *makeexpr_un PP( (enum exprkind kind, Type *type, |
| Expr *arg1) ); |
| extern Expr *makeexpr_bin PP( (enum exprkind kind, Type *type, |
| Expr *arg1, Expr *arg2) ); |
| extern Expr *makeexpr_val PP( (Value val) ); |
| extern Expr *makeexpr_char PP( (int c) ); |
| extern Expr *makeexpr_long PP( (long i) ); |
| extern Expr *makeexpr_real PP( (char *r) ); |
| extern Expr *makeexpr_lstring PP( (char *msg, int len) ); |
| extern Expr *makeexpr_string PP( (char *msg) ); |
| extern int checkstring PP( (Expr *ex, char *msg) ); |
| extern Expr *makeexpr_var PP( (Meaning *mp) ); |
| extern Expr *makeexpr_name PP( (char *name, Type *type) ); |
| extern Expr *makeexpr_setbits PV(); |
| extern Expr *makeexpr_bicall_0 PP( (char *name, Type *type) ); |
| extern Expr *makeexpr_bicall_1 PP( (char *name, Type *type, Expr *arg1) ); |
| extern Expr *makeexpr_bicall_2 PP( (char *name, Type *type, Expr *arg1, |
| Expr *arg2) ); |
| extern Expr *makeexpr_bicall_3 PP( (char *name, Type *type, Expr *arg1, |
| Expr *arg2, Expr *arg3) ); |
| extern Expr *makeexpr_bicall_4 PP( (char *name, Type *type, Expr *arg1, |
| Expr *arg2, Expr *arg3, Expr *arg4) ); |
| extern Expr *makeexpr_bicall_5 PP( (char *name, Type *type, Expr *arg1, |
| Expr *arg2, Expr *arg3, Expr *arg4, |
| Expr *arg5) ); |
| extern Expr *copyexpr PP( (Expr *ex) ); |
| extern int exprsame PP( (Expr *a, Expr *b, int strict) ); |
| extern int exprequiv PP( (Expr *a, Expr *b) ); |
| extern void deletearg PP( (Expr **ex, int n) ); |
| extern void insertarg PP( (Expr **ex, int n, Expr *arg) ); |
| extern Expr *grabarg PP( (Expr *ex, int n) ); |
| extern void delsimparg PP( (Expr **ep, int n) ); |
| extern Expr *resimplify PP( (Expr *ex) ); |
| extern int realzero PP( (char *s) ); |
| extern int realint PP( (char *s, int i) ); |
| extern int checkconst PP( (Expr *ex, long val) ); |
| extern int isliteralconst PP( (Expr *ex, Value *valp) ); |
| extern int isconstexpr PP( (Expr *ex, long *valp) ); |
| extern int isconstantexpr PP( (Expr *ex) ); |
| extern Expr *makeexpr_actcast PP( (Expr *a, Type *type) ); |
| extern Expr *makeexpr_cast PP( (Expr *a, Type *type) ); |
| extern Expr *gentle_cast PP( (Expr *a, Type *type) ); |
| extern Expr *makeexpr_charcast PP( (Expr *ex) ); |
| extern Expr *makeexpr_stringcast PP( (Expr *ex) ); |
| extern int exprlongness PP( (Expr *ex) ); |
| extern Expr *makeexpr_longcast PP( (Expr *a, int tolong) ); |
| extern Expr *makeexpr_arglong PP( (Expr *a, int tolong) ); |
| extern Expr *makeexpr_unlongcast PP( (Expr *a) ); |
| extern Expr *makeexpr_forcelongness PP( (Expr *a) ); |
| extern Expr *makeexpr_ord PP( (Expr *ex) ); |
| extern int expr_looks_neg PP( (Expr *ex) ); |
| extern int expr_is_neg PP( (Expr *ex) ); |
| extern int expr_neg_cost PP( (Expr *a) ); |
| extern Expr *enum_to_int PP( (Expr *a) ); |
| extern Expr *neg_inside_sum PP( (Expr *a) ); |
| extern Expr *makeexpr_neg PP( (Expr *a) ); |
| extern Type *true_type PP( (Expr *ex) ); |
| extern int ischartype PP( (Expr *ex) ); |
| extern Expr *makeexpr_plus PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_minus PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_inc PP( (Expr *a, Expr *b) ); |
| extern Expr *distribute_plus PP( (Expr *ex) ); |
| extern Expr *makeexpr_times PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_sqr PP( (Expr *ex, int cube) ); |
| extern Expr *makeexpr_divide PP( (Expr *a, Expr *b) ); |
| extern int gcd PP( (int a, int b) ); |
| extern int negsigns PP( (int mask) ); |
| extern int possiblesigns PP( (Expr *ex) ); |
| extern Expr *dodivmod PP( (char *funcname, enum exprkind ekind, |
| Expr *a, Expr *b) ); |
| extern Expr *makeexpr_div PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_mod PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_rem PP( (Expr *a, Expr *b) ); |
| extern int expr_not_cost PP( (Expr *a) ); |
| extern Expr *makeexpr_not PP( (Expr *a) ); |
| extern Type *mixsets PP( (Expr **ep1, Expr **ep2) ); |
| extern Meaning *istempprocptr PP( (Expr *ex) ); |
| extern Expr *makeexpr_stringify PP( (Expr *ex) ); |
| extern Expr *makeexpr_rel PP( (enum exprkind rel, Expr *a, Expr *b) ); |
| extern Expr *makeexpr_and PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_or PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_range PP( (Expr *ex, Expr *exlow, Expr *exhigh, |
| int higheq) ); |
| extern Expr *makeexpr_cond PP( (Expr *c, Expr *a, Expr *b) ); |
| extern int expr_is_lvalue PP( (Expr *ex) ); |
| extern int expr_has_address PP( (Expr *ex) ); |
| extern Expr *checknil PP( (Expr *ex) ); |
| extern int checkvarinlists PP( (Strlist *yes, Strlist *no, int def, |
| Meaning *mp) ); |
| extern void requirefilebuffer PP( (Expr *ex) ); |
| extern Expr *makeexpr_hat PP( (Expr *a, int check) ); |
| extern Expr *un_sign_extend PP( (Expr *a) ); |
| extern Expr *makeexpr_addr PP( (Expr *a) ); |
| extern Expr *makeexpr_addrstr PP( (Expr *a) ); |
| extern Expr *makeexpr_addrf PP( (Expr *a) ); |
| extern Expr *makeexpr_index PP( (Expr *a, Expr *b, Expr *offset) ); |
| extern Expr *makeexpr_type PP( (Type *type) ); |
| extern Expr *makeexpr_sizeof PP( (Expr *ex, int incskipped) ); |
| extern int exprspeed PP( (Expr *ex) ); |
| extern int noargdependencies PP( (Expr *ex, int vars) ); |
| extern int nodependencies PP( (Expr *ex, int vars) ); |
| extern int exprdependsvar PP( (Expr *ex, Meaning *mp) ); |
| extern int exprdepends PP( (Expr *ex, Expr *ex2) ); |
| extern int nosideeffects_func PP( (Expr *ex) ); |
| extern int deterministic_func PP( (Expr *ex) ); |
| extern int noargsideeffects PP( (Expr *ex, int mode) ); |
| extern int nosideeffects PP( (Expr *ex, int mode) ); |
| extern int exproccurs PP( (Expr *ex, Expr *ex2) ); |
| extern Expr *singlevar PP( (Expr *ex) ); |
| extern int structuredfunc PP( (Expr *ex) ); |
| extern int strlapfunc PP( (Expr *ex) ); |
| extern Meaning *istempvar PP( (Expr *ex) ); |
| extern Meaning *totempvar PP( (Expr *ex) ); |
| extern Meaning *isretvar PP( (Expr *ex) ); |
| extern Expr *bumpstring PP( (Expr *ex, Expr *index, int offset) ); |
| extern long po2m1 PP( (int n) ); |
| extern int isarithkind PP( (enum exprkind kind) ); |
| extern Expr *makeexpr_assign PP( (Expr *a, Expr *b) ); |
| extern Expr *makeexpr_comma PP( (Expr *a, Expr *b) ); |
| extern int strmax PP( (Expr *ex) ); |
| extern int strhasnull PP( (Value val) ); |
| extern int istempsprintf PP( (Expr *ex) ); |
| extern Expr *makeexpr_sprintfify PP( (Expr *ex) ); |
| extern Expr *makeexpr_unsprintfify PP( (Expr *ex) ); |
| extern int sprintflength PP( (Expr *ex, int allownulls) ); |
| extern Expr *makeexpr_concat PP( (Expr *a, Expr *b, int usesprintf) ); |
| extern Expr *cleansprintf PP( (Expr *ex) ); |
| extern Expr *makeexpr_substring PP( (Expr *vex, Expr *ex, Expr *exi, |
| Expr *exj) ); |
| extern Expr *makeexpr_dot PP( (Expr *ex, Meaning *mp) ); |
| extern Expr *makeexpr_dotq PP( (Expr *ex, char *name, Type *type) ); |
| extern Expr *strmax_func PP( (Expr *ex) ); |
| extern Expr *makeexpr_nil PV(); |
| extern Expr *makeexpr_ctx PP( (Meaning *ctx) ); |
| extern Expr *force_signed PP( (Expr *ex) ); |
| extern Expr *force_unsigned PP( (Expr *ex) ); |
| extern long type_sizeof PP( (Type *type, int pasc) ); |
| extern Value eval_expr PP( (Expr *ex) ); |
| extern Value eval_expr_consts PP( (Expr *ex) ); |
| extern Value eval_expr_pasc PP( (Expr *ex) ); |
| extern int expr_is_const PP( (Expr *ex) ); |
| extern Expr *eatcasts PP( (Expr *ex) ); |
| |
| /* Declarations from pexpr.c */ |
| extern Expr *dots_n_hats PP( (Expr *ex, Type *target) ); |
| extern Expr *p_index PP( (Expr *ex, Expr *ex2) ); |
| extern Expr *fake_dots_n_hats PP( (Expr *ex) ); |
| extern void var_reference PP( (Meaning *mp) ); |
| extern Expr *p_ord_expr PV(); |
| extern Expr *packset PP( (Expr *ex, Type *type) ); |
| extern Expr *p_setfactor PP( (Type *target, int sure) ); |
| extern Expr *p_funcarglist PP( (Expr *ex, Meaning *args, int firstarg, |
| int ismacro) ); |
| extern Expr *replacemacargs PP( (Expr *ex, Expr *fex) ); |
| extern Expr *p_noarglist PP( (Expr *ex, Meaning *mp, Meaning *args) ); |
| extern void func_reference PP( (Meaning *func) ); |
| extern Expr *p_funccall PP( (Meaning *mp) ); |
| extern Expr *accumulate_strlit PV(); |
| extern Expr *pascaltypecast PP( (Type *type, Expr *ex2) ); |
| extern Expr *p_expr PP( (Type *target) ); |
| extern Type *nametotype PP( (char *name) ); |
| extern int istypespec PV(); |
| extern Expr *pc_parentype PP( (char *cp) ); |
| extern Expr *pc_factor PV(); |
| extern Expr *pc_expr2 PP( (int prec) ); |
| extern Expr *pc_expr PV(); |
| extern Expr *pc_expr_str PP( (char *buf) ); |
| extern Expr *fixexpr PP( (Expr *ex, int env) ); |
| extern void out_var PP( (Meaning *mp, int prec) ); |
| extern void out_field PP( (Meaning *mp) ); |
| extern void out_expr PP( (Expr *ex) ); |
| extern void out_expr_top PP( (Expr *ex) ); |
| extern void out_expr_factor PP( (Expr *ex) ); |
| extern void out_expr_parens PP( (Expr *ex) ); |
| extern void out_expr_stmt PP( (Expr *ex) ); |
| extern void out_expr_bool PP( (Expr *ex) ); |
| |
| /* Declarations from funcs.c */ |
| extern void setup_funcs PV(); |
| extern int isvar PP( (Expr *ex, Meaning *mp) ); |
| extern char *getstring PP( (Expr *ex) ); |
| extern Expr *p_parexpr PP( (Type *target) ); |
| extern Type *argbasetype PP( (Expr *ex) ); |
| extern Type *choosetype PP( (Type *t1, Type *t2) ); |
| extern Expr *convert_offset PP( (Type *type, Expr *ex2) ); |
| extern Expr *convert_size PP( (Type *type, Expr *ex, char *name) ); |
| extern Stmt *proc_assert PV(); |
| extern Stmt *wrapopencheck PP( (Stmt *sp, Expr *fex) ); |
| extern void parse_special_variant PP( (Type *tp, char *buf) ); |
| extern char *find_special_variant PP( (char *buf, char *spname, |
| Strlist *splist, int need) ); |
| extern int is_std_file PP( (Expr *ex) ); |
| extern Stmt *proc_exit PV(); |
| extern Stmt *doseek PP( (Expr *fex, Expr *ex) ); |
| extern Expr *writeelement PP( (Expr *ex, Expr *wid, Expr *prec, |
| int base) ); |
| extern void decl_builtins PV(); |
| |
| /* Declarations from dir.c */ |
| extern void init_dir PV(); |
| extern void setup_dir PV(); |
| extern void setup_module PP( (char *name, int defn) ); |
| extern void fix_parameters PV(); |
| extern Stmt *fix_statement PP( (Stmt *sp) ); |
| extern Expr *fix_expression PP( (Expr *ex, int env) ); |
| extern Expr *fix_bicall PP( (Expr *ex, int env) ); |
| extern int boolean_bicall PP( (char *name) ); |
| extern unsigned int safemask_bicall PP( (char *name) ); |
| extern int sideeffects_bicall PP( (char *name) ); |
| |
| /* Declarations from hpmods.c */ |
| extern void hpmods PP( (char *name, int defn) ); |
| |
| /* Declarations from citmods.c */ |
| extern void citmods PP( (char *name, int defn) ); |
| |
| |
| /* End. */ |
| |