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

Last change on this file since 5817 was 5817, checked in by cameron, 16 months ago

Toolchain restructuring; creating a total order for memoizer lessThan

File size: 1009 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#include <llvm/Support/Compiler.h>
10namespace llvm { namespace cl { class OptionCategory; } }
11namespace pablo { class PabloKernel; class PabloAST; }
12namespace re { class RE; class CC;}
13#include <vector>
14
15namespace re {
16
17enum RE_PrintFlags {
18    ShowREs, ShowAllREs, ShowStrippedREs, ShowSimplifiedREs
19};
20   
21enum RE_AlgorithmFlags {
22    DisableLog2BoundedRepetition, DisableIfHierarchy, DisableMatchStar, DisableUnicodeMatchStar, 
23    DisableUnicodeLineBreak, UsePregeneratedUnicode
24};
25   
26bool AlgorithmOptionIsSet(RE_AlgorithmFlags flag);
27   
28extern int IfInsertionGap;
29
30const llvm::cl::OptionCategory * re_toolchain_flags();
31
32RE * resolveModesAndExternalSymbols(RE * r);
33
34RE * excludeUnicodeLineBreak(RE * r);
35
36RE * regular_expression_passes(RE * r);
37   
38}
39#endif
Note: See TracBrowser for help on using the repository browser.