📄 define.h
字号:
#ifndef COMPILED
#define COMPILED
#define IDMAXCOUNT 100
#define IDMAXLEN 20
#define PROCMAXDEPTH 10
#define CODEMAXCOUNT 1000
#define MAXDLEN 5
typedef char ident_t[IDMAXLEN];
typedef enum object{constant,variable,var_array,procedure,parameter};
typedef enum relation{eql,neq,lss,gtr,leq,geq};
typedef enum func_instr{LIT,OPR,LOD,STO,CAL,INI,JMP,JPC,LODX,STOX,POP};
typedef struct
{
int f, l, a;
}instruction;
typedef struct
{
ident_t name;
int kind;
int val, level, adr,para,beginindex,endindex,size;
} tableitem;
typedef struct
{
int timestamp;
int first_line;
int first_column;
int last_line;
int last_column;
char *text;
} yyltype;
extern int lineno;
extern instruction code[CODEMAXCOUNT];
extern void yyerror(char *);
extern FILE *yyin;
extern yyltype my_yylloc;
int tx;
int dx[PROCMAXDEPTH];
int cx0[PROCMAXDEPTH];
int tx0[PROCMAXDEPTH];
int dx0,dx1,dx2;
int cx,cx1,cx2;
extern int kind, lev, num;
extern void init();
extern void main(int argc, char **argv);
int enter(ident_t id);
int position(ident_t id);
void write_para_num(ident_t id, int para_num);
int gen(int x, int y, int z);
void listcode();
void interpret();
void asgn_stmt(ident_t id);
void array_access(ident_t);
int array_bound(ident_t id);
void call_stmt(ident_t id,int);
void read_stmt(ident_t id);
void factor_var(ident_t);
void exp_r_exp(relation);
void proc_dec();
void operate(int);
#define gendo(a, b, c) if(-1 == gen(a, b, c)) return -1
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -