source: icGREP/icgrep-devel/icgrep/re/re_toolchain.h @ 5217

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

Merged PabloFunction? and PabloKernel? classes. Updated projects where necessary.

File size: 972 bytes
Line 
1/*
2 *  Copyright (c) 2016 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 RE_TOOLCHAIN_H
8#define RE_TOOLCHAIN_H
9
10#include <llvm/Support/CommandLine.h>
11
12namespace pablo {
13    class PabloKernel;
14}
15
16namespace re {
17
18class RE;
19
20enum RE_PrintFlags {
21    PrintAllREs, PrintParsedREs, PrintStrippedREs, PrintSimplifiedREs
22};
23   
24enum RE_AlgorithmFlags {
25    DisableLog2BoundedRepetition, DisableIfHierarchy, DisableMatchStar, DisableUnicodeMatchStar, 
26    DisableUnicodeLineBreak, InvertMatches, UsePregeneratedUnicode
27};
28   
29bool AlgorithmOptionIsSet(RE_AlgorithmFlags flag);
30   
31extern int IfInsertionGap;
32
33const llvm::cl::OptionCategory * re_toolchain_flags();
34
35RE * regular_expression_passes(RE * re_ast);
36
37void re2pablo_compiler(pablo::PabloKernel * kernel, const unsigned encodingBits, RE * re_ast, const bool CountOnly = false);
38   
39}
40#endif
Note: See TracBrowser for help on using the repository browser.