]>
Commit | Line | Data |
---|---|---|
878ddf1f | 1 | #define Atom 256 /* token Atom (an impossible char value) */\r |
2 | #define Epsilon 257 /* epsilon arc (an impossible char value) */\r | |
3 | \r | |
4 | /* track field must be same for all node types */\r | |
5 | typedef struct _a {\r | |
6 | struct _a *track; /* track mem allocation */\r | |
7 | int label;\r | |
8 | struct _a *next;\r | |
9 | struct _n *target;\r | |
10 | } Arc, *ArcPtr;\r | |
11 | \r | |
12 | typedef struct _n {\r | |
13 | struct _n *track;\r | |
14 | ArcPtr arcs, arctail;\r | |
15 | } Node, *NodePtr;\r | |
16 | \r | |
17 | typedef struct {\r | |
18 | NodePtr left,\r | |
19 | right;\r | |
20 | } Graph, *GraphPtr;\r | |
21 | \r | |
22 | #ifdef __USE_PROTOS\r | |
23 | int rexpr( char *expr, char *s );\r | |
24 | int match( NodePtr automaton, char *s );\r | |
25 | #else\r | |
26 | int rexpr();\r | |
27 | int match();\r | |
28 | #endif\r | |
29 | \r | |
30 | \r |