📄 cc.p
字号:
/* Mangle.c */
void funcrefinsert(char *name, SYM *refsym, TABLE *tbl, SYM *insp);
SYM *funcovermatch2(SYM *tbsym, TYP *tp, ENODE *node,int exact, int nodefault, int any) ;
SYM *funcovermatch(SYM *tbsym, TYP *tp, ENODE *node, int exact, int nodefault);
char * cppmangle(char *name, TYP *tp);
char * fullcppmangle(SYM *class, char *name, TYP *tp);
void unmangle(char *buf, char *name);
char *funcwithns(SYM *sp) ;
/* Protogen Version 1.00 Sunday November 15, 1998 14:00:16 */
/* Getsym.c */
void initsym(void);
void lineToCpp(void);
void striptrigraph(short *buf);
int getline(int listflag);
int getch(void);
void getid(void);
int getsch(int bytes) ;
int radix36(char c);
void getbase(int b,char **ptr);
void getfrac(int b,char **ptr);
void getexp(int b,char **ptr);
void getnum(void);
int getsym2(void) ;
void getsym(void);
int needpunc(enum e_sym p, int *skimlist);
int needpuncexp(enum e_sym p, int *skimlist);
void backup(int st);
/* Init.c */
void initini(void);
void initrundown(void);
void cppinitinsert(ENODE *node);
void insert_decl_sp(SYM *sp);
int doinit(SYM *sp);
int inittype(TYP *tp);
int initarray(TYP *tp);
int initstruct(TYP *tp);
int makelabel(int id);
int makeref(int ispc, SYM *sp, int offset);
int makestorage(long val);
int agflush(int size, LLONG_TYPE val);
int agbits(int size, LLONG_TYPE value);
long double cppfloat(int size, int imaginary);
long cppint(int size);
int initfloat(int);
int initlongdouble(int);
int initdouble(int);
int initchar(void);
int initshort(void);
int inituchar(void);
int initushort(void);
int initulong(void);
int initlong(void);
int initenum(void);
int initlonglong(void);
int initulonglong(void);
int initref(TYP *tp);
void dopointer (int makextern);
int initpointer(void);
int initpointerfunc(void);
void endinit(void);
/* Intexpr.c */
LLONG_TYPE intexpr(TYP **tp);
/* List.c */
void put_sc(int scl);
void put_ty(TYP *tp);
void list_var(SYM *sp, int i);
void list_table(TABLE *t,int j);
/* Memmgt.c */
void release_local(void); /* PROTOTYPE */
void release_global(void); /* PROTOTYPE */
void release_opt(void); /* PROTOTYPE */
void release_oc(void); /* PROTOTYPE */
void mem_summary(void); /* PROTOTYPE */
void memini(void);
char *xalloc(int siz);
char *oalloc(int siz);
char *ocalloc(int siz);
void release_local(void );
void release_global(void);
void release_opt(void);
void release_oc(void);
void mem_summary(void);
/* Protogen Version 1.00 Sunday November 15, 1998 14:00:16 */
/* Optimize.c */
int maxinttype(ENODE *ep1, ENODE *ep2);
int maxfloattype(ENODE *ep1, ENODE *ep2);
int getmode(ENODE *ep1,ENODE *ep2);
void dooper(ENODE ** node, int mode);
int pwrof2(LLONG_TYPE i);
LLONG_TYPE mod_mask(int i);
LLONG_TYPE CastToInt(int size, LLONG_TYPE value);
long double CastToFloat(int size, long double value);
int opt0(ENODE ** node);
int fold_const(ENODE *node);
void opt4(ENODE ** node);
/* Preproc.c */
char *fullqualify(char *string) ;
void filemac(short *string); /* PROTOTYPE */
void datemac(short *string); /* PROTOTYPE */
void timemac(short *string); /* PROTOTYPE */
void linemac(short *string); /* PROTOTYPE */
void pushif(void); /* PROTOTYPE */
void preprocini(void);
int preprocess(void);
int doerror(void);
char *getauxname(short *ptr, char **bufp);
int dopragma(void);
void Compile_Pragma(void) ;
void setalias(SYM *sp);
void dumpstartups(void);
int doline(void);
int doinclude(void);
short *plitlate(short *string);
void glbdefine(char *name, char *value);
int dodefine(void);
int doundef(void);
int undef2(void);
void getdefsym(void);
int defid(short *name, short **p, char *q);
int definsert(short *macro,short *end, short *begin, short * text, int len, int replen);
int defreplace(short *macro, int count, short **oldargs, short **newargs, short *varargs);
void cnvt(short *out,char *in);
void filemac(short *string);
void datemac(short *string);
void timemac(short *string);
void linemac(short *string);
void defmacroreplace(short *macro, short *name);
int defcheck(short *line);
void pushif(void);
void popif(void);
void ansieol(void);
int doifdef (int flag);
int doif(int flag);
int doelif(void);
int doelse(void);
int doendif(void);
/* RTTI.C */
SYM *getxtsym(TYP *tp);
/* Searchkw.c */
void kwini(void) ;
int searchkw(void);
/* Protogen Version 1.00 Sunday November 15, 1998 14:00:16 */
/* Stmt.c */
void stmtini(void);
int scanassign(ENODE *node);
TYP *doassign(ENODE **exp, int canerror, int *skm);
SNODE *whilestmt(void) ;
SNODE *dostmt(void) ;
SNODE *forstmt(void) ;
SNODE *ifstmt(void) ;
SNODE *casestmt(void) ;
int checkcases(SNODE *head) ;
SNODE *switchstmt(void) ;
SNODE *retstmt(void) ;
SNODE *breakstmt(void) ;
SNODE *contstmt(void) ;
SNODE *_genwordstmt(void);
SNODE *exprstmt(void) ;
SNODE *snp_line(int);
void dodefaultinit(SYM *sp);
void createVLAtypedef(SYM *sp);
ENODE *createVarArray(SYM *sp, TYP *tp, int global, int alloc) ;
void doautoinit(SYM *sym);
SNODE *compound(void) ;
SNODE *labelstmt(int fetchnext) ;
SNODE *gotostmt(void) ;
SNODE *asm_statement(int shortfin); /* PROTOTYPE */
SNODE *statement(void) ;
SNODE *cppblockedstatement(int pushbreakcons);
/* Symbol.c */
void symini(void);
void aliasnamespace(char *name) ;
void switchtonamespace(char *name) ;
void switchfromnamespace(void) ;
void inject_namespace(int isns) ;
SYM *namespace_search(char *name, NAMESPACE *data, int tags) ;
HASHREC *AddHash(HASHREC *item,HASHREC **table,int size);
HASHREC **LookupHash(char *key, HASHREC **table, int size);
SYM *basesearch(char *na,TABLE *table, int checkaccess);
SYM *search2(char *na, TABLE *table, int checkaccess, int definition) ;
SYM *search(char *na,TABLE *table);
SYM *losearch(char *na);
SYM *tcsearch(char *na, int checkaccess);
SYM *gsearch(char *na);
SYM *typesearch(char *na) ;
void insert(SYM *sp,TABLE *table);
/* template.c */
void template_init(void) ;
void template_rundown(void) ;
TYP *InstantiateTemplateFuncDirect(ENODE **pnode, TYP *tptr) ;
SYM *lookupTemplateFunc(SYM *tbsym, TYP *tp, char *name) ;
LIST *getTemplateName(SYM *sp,char *name) ;
SYM *lookupTemplateType(SYM *tempsym, int cppflags) ;
void replaceTemplateFunctionClasses(SYM *sp, SYM *tq) ;
void templateMatchCheck(SYM *tq, struct template *p) ;
void replaceClassSizes(ILIST *l) ;
void parseClassFuncs(ILIST *l) ;
/* Types.c */
int exactype(TYP *typ1, TYP *typ2,int asn);
int checktype(TYP *typ1, TYP *typ2, int okscalar);
int checktypeassign(TYP *typ1, TYP *typ2);
char * typenum(char *buf, TYP *typ);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -