📄 rrtbl.h
字号:
#ifndef RRTBL_H
#define RRTBL_H
/*DECLR OF ROLE INVERSION TABLE*/
typedef struct rulrol_struct{
unsigned int rule;
unsigned int role;
unsigned int expsymb;
char expmode;
struct rulrol_struct *nxt;
} rulrol_struct;
typedef struct rr_tbl_entry_t{
rulrol_struct *lrr;
rulrol_struct *rrr;
}rr_tbl_entry_t;
extern unsigned int *rolestring;
extern unsigned int *postfixstring;
extern rr_tbl_entry_t *rr_tbl;
#define rrr(cate, preread) ((cate>=tntcount||preread>=tcount)?NULL:rr_tbl[preread*(tntcount-1)+cate-1].rrr)
#define lrr(cate, preread) ((cate>=tntcount||preread>=tcount)?NULL:rr_tbl[preread*(tntcount-1)+cate-1].lrr)
extern int rrini(void);
extern int rrrelease(void);
extern int listrr(void);
extern int expecini(void);
extern int expecrelease(void);
extern int rrready;
#define RUL(i) ruleindex[i]
#define ROLPOS(i, j) RUL(i).fstidx+j
#define EXP(i, j) rolestring[ROLPOS(i, j)]
#define PST(i, j) postfixstring[ROLPOS(i, j)]
#define TOSHIFT(i, j) (RUL(i).length>j)
#define REQ(rul1, rol1, rul2, rol2) ((rol1==rol2) && (rul1==rul2))
#define RGT(rul1, rol1, rul2, rol2) ((rul1>rul2) || (rul1==rul2) && (rol1>rol2))
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -