annotate c/regexParser/regexParser.h @ 142:de0f332d560c pairPro

insert charClassMerge function
author masa
date Fri, 11 Dec 2015 14:54:00 +0900
parents ccc673449351
children d8a4922eceae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
118
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 116
diff changeset
1 #include "error.h"
126
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
2
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
3 #define NEW(type) (type*)malloc(sizeof(type))
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
4
129
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
5 typedef struct word {
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
6 unsigned char *word;
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
7 int length;
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
8 } Word, *WordPtr;
b930be74a16e remove word.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
9
126
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
10 typedef struct utf8Range {
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
11 unsigned long begin;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
12 unsigned long end;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
13 struct utf8Range *next; // only used in the parser.
126
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
14 } RangeList , *RangeListPtr;
639b0b437ebf remove error (do not work)
masa
parents: 125
diff changeset
15
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
16 typedef union condition {
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
17 RangeList range;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
18 Word w;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
19 } Condition, *ConditionList;
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
20
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 typedef struct charClass {
111
1d30f70702df add determinize.cc and transition.cc
masa
parents: 110
diff changeset
22 unsigned char type;
115
ca30f8334741 rename createRegexParser.cc to regexParser.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
23 struct charClass *left;
ca30f8334741 rename createRegexParser.cc to regexParser.cc
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 111
diff changeset
24 struct charClass *right;
142
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
25 Condition cond;
de0f332d560c insert charClassMerge function
masa
parents: 133
diff changeset
26 BitVector nextState;
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 } CharClass, *CharClassPtr;
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 typedef struct node {
89
50a146c05192 add NodeNumber in Regex Parser tree
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 85
diff changeset
30 unsigned char tokenType;
111
1d30f70702df add determinize.cc and transition.cc
masa
parents: 110
diff changeset
31 unsigned long nodeNumber;
1d30f70702df add determinize.cc and transition.cc
masa
parents: 110
diff changeset
32 CharClassPtr cc;
77
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 struct node *left;
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 struct node *right;
7f53a587bf97 add regexParser.h
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 } Node, *NodePtr;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
36
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
37 typedef struct regexInfo {
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
38 unsigned char *ptr;
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
39 unsigned char tokenType;
118
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 116
diff changeset
40 unsigned char *tokenValue;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
41 int nodeNumber;
133
ccc673449351 Look ahead '*'
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
42 int orNum;
ccc673449351 Look ahead '*'
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
43 bool asterFlag;
116
66c633575b53 remove error and warning
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents: 115
diff changeset
44 } RegexInfo, *RegexInfoPtr;