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

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

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

File size: 972 bytes
RevLine 
[4984]1/*
[5030]2 *  Copyright (c) 2016 International Characters.
[4984]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
[5030]10#include <llvm/Support/CommandLine.h>
[4984]11
[5217]12namespace pablo {
13    class PabloKernel;
14}
15
[5030]16namespace re {
[4984]17
[5217]18class RE;
19
[5030]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;
[4984]32
[5217]33const llvm::cl::OptionCategory * re_toolchain_flags();
[5030]34
[5137]35RE * regular_expression_passes(RE * re_ast);
[5030]36
[5217]37void re2pablo_compiler(pablo::PabloKernel * kernel, const unsigned encodingBits, RE * re_ast, const bool CountOnly = false);
[5030]38   
39}
[4984]40#endif
Note: See TracBrowser for help on using the repository browser.