📄 parse.h
字号:
/*---------------------------------------------------------------------- File : parse.h Contents: parser utilities Author : Christian Borgelt History : 12.08.2004 file created----------------------------------------------------------------------*/#ifndef __PARSE__#define __PARSE__#ifndef SC_SCAN#define SC_SCAN#endif#include "scan.h"/*---------------------------------------------------------------------- Preprocessor Definitions----------------------------------------------------------------------*//* --- error codes --- */#define E_CHREXP (-16) /* character expected */#define E_STREXP (-17) /* string expected */#define E_NUMEXP (-18) /* number expected */#define E_ILLNUM (-19) /* illegal number */#define E_ATTEXP (-20) /* attribute expected */#define E_UNKATT (-21) /* unknown attribute */#define E_DUPATT (-22) /* duplicate attribute value */#define E_MISATT (-23) /* missing attribute */#define E_ILLATT (-24) /* illegal attribute */#define E_ATTYPE (-25) /* wrong attribute type */#define E_VALEXP (-26) /* attribute value expected */#define E_UNKVAL (-27) /* unknown attribute value */#define E_DUPVAL (-28) /* duplicate attribute value */#define E_MISVAL (-29) /* missing attribute value */#define E_CLSEXP (-30) /* class value expected */#define E_UNKCLS (-31) /* unknown class value */#define E_DUPCLS (-32) /* duplicate class value */#define E_MISCLS (-33) /* missing class value */#define E_CLSTYPE (-34) /* class attribute must be symbolic */#define E_CLSCNT (-35) /* class attribute has too few values */#define E_DOMAIN (-36) /* illegal attribute domain */#define E_PAREXP (-37) /* parameter expected */#define E_ILLOP (-38) /* illegal comparison operator */#define E_ILLMAT (-39) /* illegal covariance matrix */#define E_DUPCDL (-40) /* duplicate candidate list */#define E_RANGE (-41) /* illegal candidate range */#define E_ILLCDD (-42) /* illegal candidate */#define E_ILLINK (-43) /* illegal link */#define E_LYRCNT (-44) /* illegal number of layers */#define E_UNITCNT (-45) /* illegal number of units *//*---------------------------------------------------------------------- Functions----------------------------------------------------------------------*/extern void pa_init (SCAN *scan);extern int pa_error (SCAN *scan, int code, int c, const char *s);/*---------------------------------------------------------------------- Preprocessor Definitions----------------------------------------------------------------------*/#define ERROR(c) return pa_error(scan, c, -1, NULL)#define XERROR(c,s) return pa_error(scan, c, -1, s)#define ERR_CHR(c) return pa_error(scan, E_CHREXP, c, NULL)#define ERR_STR(s) return pa_error(scan, E_STREXP, -1, s)#define GET_TOK() if (sc_next(scan) < 0) \ return sc_error(scan, sc_token(scan))#define GET_CHR(c) if (sc_token(scan) != (c)) ERR_CHR(c); \ else GET_TOK()#define RECOVER() if (sc_recover(scan, ';', '{', '}', 0) == T_EOF) \ return 1#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -