source: icGREP/icgrep-devel/icgrep/re/re_nullable.h @ 5181

Last change on this file since 5181 was 5147, checked in by xuedongx, 3 years ago

remove nullable assertion

File size: 719 bytes
Line 
1#ifndef RE_NULLABLE_H
2#define RE_NULLABLE_H
3
4//Regular Expressions
5#include "re_re.h"
6#include "re_seq.h"
7#include <vector>
8
9namespace re {
10
11class RE_Nullable {
12public:
13    static RE * removeNullablePrefix(RE * re);
14    static RE * removeNullableSuffix(RE * re);
15    static RE * removeNullableAssertion(RE * re);
16    static RE * removeNullableAfterAssertion(RE * re); 
17private:
18    static bool isNullableAfterAssertion(const RE * re);
19    static RE * removeNullableAfterAssertion_helper(RE * re);
20    static bool isNullable(const RE * re);
21    static bool isNullable(const Vector * vec);
22    static bool hasNullablePrefix(const RE * re);
23    static bool hasNullableSuffix(const RE * re);
24};
25
26}
27
28#endif // RE_NULLABLE_H
Note: See TracBrowser for help on using the repository browser.