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

Last change on this file since 5614 was 5613, checked in by faldebey, 22 months ago

different updates to CoRE

File size: 1.7 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
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        std::string getCharacterName();
50        string getProperty();
51        string getNotProperty();
52        string getName();
53        string getZeroOrOne(string cc);
54        string getZeroOrMore(string cc);
55        string getOneOrMore(string cc);
56        string getRep(string cc, int rep);
57        string getRep(string cc, int lb, int ub);
58        string getRepMore(string cc, int rep);
59        string getJoin(string LS, string RS);
60        string getBackRef(string cc);
61
62        string getAssertionCoating(string cc);
63        string getNegativeAssertionCoating(string cc);
64
65        string getLookAhead(string cc);
66        string getNegativeLookAhead(string cc);
67        string getLookBehind(string cc);
68        string getNegativeLookBehind(string cc);
69
70
71};
72
73       
74#endif
Note: See TracBrowser for help on using the repository browser.