RRTBL.H
资源名称:ictprop.rar [点击查看]
上传用户:tenhai
上传日期:2021-02-19
资源大小:492k
文件大小:1k
源码类别:
组合框控件
开发平台:
Visual C++
- #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