Annotation of OpenXM/src/ox_toolkit/parse.h, Revision 1.2
1.1 ohara 1: /* -*- mode: C; coding: euc-japan -*- */
1.2 ! ohara 2: /* $OpenXM: OpenXM/src/ox_toolkit/parse.h,v 1.1 1999/12/09 22:44:56 ohara Exp $ */
1.1 ohara 3:
4: #ifndef _PARSE_H_
5:
6: #include "ox.h"
7:
8: #define _PARSE_H_
9:
10: /* トークンの定義 */
11: /* 256 より小さいものは、一文字だけのトークンである */
12:
13: #define T_INTEGER 257
14: #define T_STRING 258
15: #define T_MAGIC 2048
16: #define TOKEN(x) (T_MAGIC + (x))
17: #define SM SM_popCMO
18:
19: /* トークンの種類を判定するためのマクロ */
20: #define MIN_T_CMO TOKEN(0)
21: #define MAX_T_CMO TOKEN(256)
22: #define MIN_T_OX TOKEN(512)
23: #define MAX_T_OX TOKEN(600)
24:
25: #define IS_CMO 1
26: #define IS_SM 2
27: #define IS_OX 3
28:
29: #define PFLAG_ADDREV 1
30: int setflag_parse(int flag);
31:
32: cmo *parse();
33:
34: int setgetc(int (*foo)());
1.2 ! ohara 35: int setmode_mygetc(char *s);
! 36: int init_parser(char *s);
1.1 ohara 37:
38: typedef struct {
39: char *key;
40: int tag;
41: int token;
42: int type;
43: } symbol;
44:
45: symbol* lookup_by_symbol(char *key);
46: symbol* lookup_by_token(int tok);
47: symbol* lookup_by_tag(int tag);
48: symbol* lookup(int i);
49:
50: #endif /* _PARSE_H_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>