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

Last change on this file since 5789 was 5723, checked in by cameron, 21 months ago

hasAssertion predicate, fix to simplifier

File size: 837 bytes
RevLine 
[4393]1#ifndef RE_ANALYSIS_H
2#define RE_ANALYSIS_H
3
[5267]4#include <utility>
[5682]5namespace re { class RE; class Name; class CC;}
[4393]6
7namespace re {
8
[5682]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
[5267]18bool isByteLength(const RE * re);
[4393]19   
[4829]20bool isUnicodeUnitLength(const RE * re);
[4393]21
[4829]22std::pair<int, int> getUnicodeUnitLengthRange(const RE * re);
23
[4442]24int minMatchLength(RE * re);
25
[5604]26bool unitBoundedRep(const RE * re);
27
28bool isTypeForLocal(const RE * re);
[5649]29   
[5723]30bool hasAssertion(const RE * re);
31   
[5649]32void UndefinedNameError (const Name * n);
[4393]33}
34
35#endif // RE_ANALYSIS_H
Note: See TracBrowser for help on using the repository browser.