⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cc.p

📁 CC386 is a general-purpose 32-bit C compiler. It is not an optimizing compiler but given that the co
💻 P
📖 第 1 页 / 共 2 页
字号:

                              /* 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 + -