Mercurial > hg > Applications > Grep
comparison regexParser/regexParser.h @ 178:5e8c6857934c pairPro
implement charClassMerge
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 23 Dec 2015 19:17:36 +0900 |
parents | 3be0fbcd4b52 |
children | d97bcab546e8 |
comparison
equal
deleted
inserted
replaced
177:8de9a33f6ae5 | 178:5e8c6857934c |
---|---|
16 unsigned long begin; | 16 unsigned long begin; |
17 unsigned long end; | 17 unsigned long end; |
18 struct utf8Range *next; // only used in the parser. | 18 struct utf8Range *next; // only used in the parser. |
19 } RangeList , *RangeListPtr; | 19 } RangeList , *RangeListPtr; |
20 | 20 |
21 typedef union condition { | 21 typedef struct condition { |
22 RangeList range; | 22 RangeList range; |
23 Word w; | 23 Word w; |
24 } Condition, *ConditionList; | 24 } Condition, *ConditionList; |
25 | 25 |
26 typedef struct charClass { | 26 typedef struct charClass { |
41 | 41 |
42 typedef struct regexInfo { | 42 typedef struct regexInfo { |
43 unsigned char *ptr; | 43 unsigned char *ptr; |
44 unsigned char tokenType; | 44 unsigned char tokenType; |
45 unsigned char *tokenValue; | 45 unsigned char *tokenValue; |
46 int nodeNumber; | 46 int stateNumber; |
47 bool asterisk; | |
48 StatePtr current; | |
49 StatePtr states; | |
47 } RegexInfo, *RegexInfoPtr; | 50 } RegexInfo, *RegexInfoPtr; |
48 | 51 |
49 CharClassPtr createCharClassRange(unsigned long begin, unsigned long end, CharClassPtr left, CharClassPtr right); | 52 CharClassPtr createCharClassRange(unsigned long begin, unsigned long end, CharClassPtr left, CharClassPtr right); |