📄 p2c.hdrs
字号:
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 void withrecordtype PP( (Type *tp, Expr *ex) );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 int proveexprprop PP( (Expr *ex, Stmt *sp, int prop) );extern Expr *flow_fixexpr PP( (Expr *ex, Stmt *sp, int env) );extern void flowblock PP( (Stmt *sp) );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, int isfield) );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 int israndomfile PP( (Type *type) );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 int tinyexpr PP( (Expr *ex) );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 flags) );extern int onewordstring PP( (char *cp) );extern int onewordtype PP( (Type *type, int flags) );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 makestructtag PP( (Type *type, char *tname) );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 int preservetype PP( (Type *type) );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 PP( (int iscommon) );extern void p_commondecl 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 *makeexpr_SETIO PP( (Expr *flag, char *code, Expr *name) );extern Expr *copyexpr PP( (Expr *ex) );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -