source: icGREP/icgrep-devel/icgrep/re/re_analysis.h @ 5682

Last change on this file since 5682 was 5682, checked in by cameron, 20 months ago

String property regular expression support, including special cases for null and reflexive sets

File size: 799 bytes
Line 
1#ifndef RE_ANALYSIS_H
2#define RE_ANALYSIS_H
3
4#include <utility>
5namespace re { class RE; class Name; class CC;}
6
7namespace re {
8
9// Does the RE match the empty string, considering that ^ and $ each
10// do match an empty string.
11bool matchesEmptyString(const RE * re);
12
13//  Determine the set of all codepoints cp such that the given RE
14//  matches a string consisting of a single Unicode character whose
15//  codepoint value is cp.
16const CC * matchableCodepoints(const RE * re);
17
18bool isByteLength(const RE * re);
19   
20bool isUnicodeUnitLength(const RE * re);
21
22std::pair<int, int> getUnicodeUnitLengthRange(const RE * re);
23
24int minMatchLength(RE * re);
25
26bool unitBoundedRep(const RE * re);
27
28bool isTypeForLocal(const RE * re);
29   
30void UndefinedNameError (const Name * n);
31
32}
33
34#endif // RE_ANALYSIS_H
Note: See TracBrowser for help on using the repository browser.