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

Last change on this file since 4194 was 4194, checked in by nmedfort, 5 years ago

Modified RE module to use a LLVM-like dyn_cast system; added 'make' functions to hide RE constructors.

File size: 612 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);
15private:
16    static bool isNullable(const RE * re);
17    static bool isNullableVector(const Vector * vec);
18    static bool hasNullablePrefix(const RE *re);
19    static bool hasNullableSuffix(const RE * re);
20    static Seq * removeNullableSeqPrefix(const Seq * seq);
21    static Seq * removeNullableSeqSuffix(const Seq *seq);
22};
23
24}
25
26#endif // RE_NULLABLE_H
Note: See TracBrowser for help on using the repository browser.