source: icGREP/icgrep-devel/icgrep/combine/regexGen.h @ 5825

Last change on this file since 5825 was 5825, checked in by faldebey, 15 months ago

Update to CoRE testing system

File size: 1.4 KB
Line 
1#ifndef REGEXGEN_H
2#define REGEXGEN_H
3
4#include <vector>
5#include <string>
6#include <re/re_parser.h>
7
8using namespace std;
9
10
11
12class RegexGen {
13
14
15public:
16
17        enum class FileType{
18                SMALL,
19                MEDIUM,
20                LARGE
21        };
22
23        string                          RE;
24        vector<string>          flags;
25        re::RE_Syntax           syntax;
26        FileType                        fileType;
27
28        RegexGen(std::vector<string> mParameters, std::vector<string> mValues);
29
30        // std::vector<string> parseCC();
31
32
33private:
34
35        std::vector<string> mParameters;
36        std::vector<string> mValues;
37
38
39        bool usesCC(std::string op);
40        re::RE_Syntax getSyntax();
41        string parseRE();
42        std::vector<string> parseFlags();
43        FileType getFileTy();
44        string stringifyLine(vector<string> elements, string separator="");
45
46        string getBoundary();
47        string getNotBoundary();
48        string getWordBegin();
49        string getWordEnd();
50        string getList(std::string cc1, std::string cc2, std::string cc3);
51        string getNList(std::string cc1, std::string cc2, std::string cc3);
52        string getZeroOrOne(string cc);
53        string getZeroOrMore(string cc);
54        string getOneOrMore(string cc);
55        string getRep(string cc, string size);
56        string getRepNM(string cc, string size);
57        string getRepMore(string cc, string size);
58        string getJoin(string LS, string RS);
59        string getBackRef(string cc);
60
61        string getAssertionCoating(string cc);
62        string getNegativeAssertionCoating(string cc);
63
64        string getLookAhead(string cc);
65        string getNegativeLookAhead(string cc);
66        string getLookBehind(string cc);
67        string getNegativeLookBehind(string cc);
68
69
70};
71
72
73#endif
Note: See TracBrowser for help on using the repository browser.