rrtbl.h
来自「中科院开源的ictprop源码,使用方法: 1、修改源码中的InputComb」· C头文件 代码 · 共 40 行
H
40 行
#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 + =
减小字号Ctrl + -
显示快捷键?