⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grmrgrph.h

📁 中科院开源的ictprop源码,使用方法: 1、修改源码中的InputComboBox.cpp文件 InvokeAction里面的txt文件路径换成你的本地路径; 2、入口在帮助里面
💻 H
字号:
#ifndef GRMRGRPH_H
#define GRMRGRPH_H

#include "symbtbl.h"
extern symbol_node_ref_tbl_t t_tbl, nt_tbl;

#define MAXRULES 1000
#define MAXROLES 500
#define MAXRLEN 50

#define tcount t_tbl.tblsize
#define ntcount nt_tbl.tblsize
extern unsigned int tntcount;

#define code2tnode(code) tblinfo(t_tbl, code) 
#define code2ntnode(code) tblinfo(nt_tbl, code-tcount)
#define code2node(code) ((code>=tcount)?code2ntnode(code):code2tnode(code))
#define code2token(code) code2node(code)->literal
extern unsigned int token2tcode(char *token);

typedef struct ruleindex_t{
	unsigned int length;
	unsigned int leftcate;
	unsigned int fstidx;
	double probability;
}ruleindex_t;

extern ruleindex_t *ruleindex;
extern symbol_node_t **symserial;
extern int arccount;
extern unsigned int rulcount, rulupbound;

#define rightlenof(i) ruleindex[i].length
#define serialof(i,j) ruleindex[i].fstidx+j
#define probof(i) ruleindex[i].probability
#define leftof(i) ruleindex[i].leftcate
#define rightof(i, j) symserial[serialof(i, j)]->sid


extern symbol_node_t *ssym, *fsym;
extern int grmrindxinit(void);
extern int grmrindxfini(void);
extern int serialize(symbol_node_t *psym);
extern int releasenode(symbol_node_t *psym);
extern symbol_node_t *instnode(char *token, int tokensize, char mode);
extern symbol_node_t *instfinode(void);
extern int numnodes(void);
extern symbol_arc_t *reltnodes(symbol_node_t *from, 
                     symbol_node_t *to, 
                     unsigned int rule, unsigned int role, 
                     char mode);
extern int releasenodes(void);

extern int releasegrmr(void);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -