source: icGREP/icgrep-devel/icgrep/editd/pattern_compiler.h @ 5202

Last change on this file since 5202 was 5202, checked in by nmedfort, 2 years ago

Initial work on adding types to PabloAST and mutable Var objects.

  • Property svn:executable set to *
File size: 832 bytes
Line 
1/*
2 *  Copyright (c) 2014 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 *  icgrep is a trademark of International Characters.
5 */
6
7#ifndef PATTERN_COMPILER_H
8#define PATTERN_COMPILER_H
9
10#include <re/re_re.h>
11#include <re/re_seq.h>
12#include <cc/cc_compiler.h>
13
14#include <string>
15#include <list>
16#include <map>
17
18namespace pablo {
19class PabloBlock;
20class PabloAST;
21class Assign;
22class Var;
23}
24
25namespace re {
26
27class Pattern_Compiler {
28public:
29
30    Pattern_Compiler(pablo::PabloFunction & function);
31
32    void compile(const std::vector<std::string> & patterns, pablo::PabloBuilder & pb, pablo::PabloAST *basisBits[], int dist, unsigned optPosition, int stepSize);
33
34
35private:
36
37    pablo::PabloFunction &                          mFunction;
38};
39
40}
41
42#endif // PATTERN_COMPILER_H
Note: See TracBrowser for help on using the repository browser.