source: icGREP/icgrep-devel/icgrep/combine/regexgen.h @ 5516

Last change on this file since 5516 was 5516, checked in by faldebey, 2 years ago

added combinatorial testing tool

File size: 1.7 KB
Line 
1#ifndef REGEX_H
2#define REGEX_H
3 
4#include <vector>
5#include <string>
6#include <re/re_parser.h>
7
8using namespace std;
9
10class RegexGen {
11
12
13public:
14
15        string                          RE;
16        vector<string>          flags;
17        re::RE_Syntax           syntax;
18
19        RegexGen(std::vector<string> header, std::vector<string> row);
20        RegexGen(re::RE_Syntax syntax) : syntax(syntax){}
21
22        std::vector<string> parseCC(std::vector<string> header, std::vector<string> row);
23       
24
25private:
26       
27        bool usesCC(std::string op);
28        re::RE_Syntax setSyntax(std::vector<string> header, std::vector<string> row);
29        string parseRE(std::vector<string> header, std::vector<string> row);
30        std::vector<string> parseFlags(std::vector<string> header, std::vector<string> row);
31        string stringifyLine(vector<string> elements, string separator="");
32
33        string getBoundary();
34        string getNotBoundary();
35        string getWord();
36        string getNotWord();
37        string getWhitespace();
38        string getNotWhitespace();
39        string getTab();
40        string getDigit();
41        string getNotDigit();
42        string getAny();
43        string getPosix(string value);
44        string getUnicode();
45        string getList();
46        string getNList();
47        string getRange();
48        string getPropertyValue();
49        string getProperty();
50        string getNotProperty();
51        string getName();
52        string getZeroOrOne(string cc);
53        string getZeroOrMore(string cc);
54        string getOneOrMore(string cc);
55        string getRep(string cc, int rep);
56        string getRep(string cc, int lb, int ub);
57        string getRepMore(string cc, int rep);
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.