Ignore:
Timestamp:
Oct 3, 2015, 3:31:16 PM (4 years ago)
Author:
nmedfort
Message:

Added union/diff/intersection functionality to RE_Compiler. Removed toUTF8 pass in favour of using the UCD_Compiler.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/re/re_compiler.h

    r4808 r4814  
    1212#include <cc/cc_compiler.h>
    1313#include <pablo/builder.hpp>
    14 #ifdef USE_BOOST
    15 #include <boost/container/flat_set.hpp>
    16 #else
    17 #include <unordered_set>
    18 #endif
    1914
    2015namespace pablo {
     
    5954    RE_Compiler(pablo::PabloFunction & function, cc::CC_Compiler & ccCompiler);
    6055    void initializeRequiredStreams();
    61     void compileUnicodeNames(RE * re);
     56    void compileUnicodeNames(RE *& re);
    6257    void finalizeMatchResult(MarkerType match_result);
    6358    MarkerType compile(RE * re) {
     
    6661
    6762private:
    68 
    69     #ifdef USE_BOOST
    70     using NameSet = boost::container::flat_set<Name *>;
    71     #else
    72     using NameSet = std::unordered_set<Name *>;
    73     #endif
    7463
    7564    MarkerType compile(RE * re, pablo::PabloBuilder & cg);
     
    9584    MarkerType processUnboundedRep(RE * repeated, MarkerType marker, pablo::PabloBuilder & pb);
    9685    MarkerType processBoundedRep(RE * repeated, int ub, MarkerType marker, pablo::PabloBuilder & pb);
    97     static void gatherUnicodePropertyNames(RE * re, NameSet & nameSet);
     86    RE * resolveUnicodeProperties(RE * re);
    9887
    9988private:
     
    10392    pablo::PabloAST *                               mCRLF;
    10493    pablo::PabloAST *                               mUnicodeLineBreak;
     94    pablo::PabloAST *                               mNonLineBreak;
    10595    pablo::PabloAST *                               mInitial;
    10696    pablo::Assign *                                 mNonFinal;
Note: See TracChangeset for help on using the changeset viewer.