Line 19... |
Line 19... |
/* global ParseSpecifierarations */
|
/* global ParseSpecifierarations */
|
|
|
extern FILE *input,
|
extern FILE *input,
|
*list,
|
*list,
|
*output;
|
*output;
|
|
extern FILE *outputG;
|
|
extern int incldepth;
|
extern int lineno;
|
extern int lineno;
|
extern int nextlabel;
|
extern int nextlabel;
|
extern int lastch;
|
extern int lastch;
|
extern int lastst;
|
extern int lastst;
|
extern char lastid[33];
|
extern char lastid[33];
|
Line 92... |
Line 93... |
// Init.c
|
// Init.c
|
extern void doinit(SYM *sp);
|
extern void doinit(SYM *sp);
|
// Func.c
|
// Func.c
|
extern void funcbody(SYM *sp);
|
extern void funcbody(SYM *sp);
|
// Intexpr.c
|
// Intexpr.c
|
extern int GetIntegerExpression();
|
extern __int64 GetIntegerExpression();
|
// Expr.c
|
// Expr.c
|
extern ENODE *makenode(int nt, ENODE *v1, ENODE *v2);
|
extern ENODE *makenode(int nt, ENODE *v1, ENODE *v2);
|
extern ENODE *makeinode(int nt, __int64 v1);
|
extern ENODE *makeinode(int nt, __int64 v1);
|
extern TYP *expression(struct enode **node);
|
extern TYP *expression(struct enode **node);
|
extern int IsLValue(struct enode *node);
|
extern int IsLValue(struct enode *node);
|
Line 115... |
Line 116... |
// Outcode.c
|
// Outcode.c
|
extern void GenerateByte(int val);
|
extern void GenerateByte(int val);
|
extern void GenerateChar(int val);
|
extern void GenerateChar(int val);
|
extern void genhalf(int val);
|
extern void genhalf(int val);
|
extern void GenerateWord(__int64 val);
|
extern void GenerateWord(__int64 val);
|
extern void GenerateLong(int val);
|
extern void GenerateLong(__int64 val);
|
extern void genstorage(int nbytes);
|
extern void genstorage(int nbytes);
|
extern void GenerateReference(SYM *sp,int offset);
|
extern void GenerateReference(SYM *sp,int offset);
|
extern void GenerateLabelReference(int n);
|
extern void GenerateLabelReference(int n);
|
extern void gen_strlab(char *s);
|
extern void gen_strlab(char *s);
|
extern void dumplits();
|
extern void dumplits();
|
Line 145... |
Line 146... |
extern int preprocess();
|
extern int preprocess();
|
// CodeGenerator.c
|
// CodeGenerator.c
|
extern AMODE *make_indirect(int i);
|
extern AMODE *make_indirect(int i);
|
extern AMODE *make_indexed(__int64 o, int i);
|
extern AMODE *make_indexed(__int64 o, int i);
|
extern void GenerateFalseJump(struct enode *node,int label);
|
extern void GenerateFalseJump(struct enode *node,int label);
|
|
extern char *GetNamespace();
|
|
extern char nmspace[20][100];
|
|
enum e_sg { noseg, codeseg, dataseg, bssseg, idataseg };
|
|
|
|
|
No newline at end of file
|
No newline at end of file
|