Ignore:
Timestamp:
Dec 18, 2017, 1:56:51 PM (20 months ago)
Author:
cameron
Message:

RE parser restructuring; parsing symbolic ranges, collation and equivalence exprs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/grep_engine.cpp

    r5784 r5787  
    123123
    124124    for(unsigned i = 0; i < n; ++i){
     125#define USE_MULTIPLEX_CC
     126#ifdef USE_MULTIPLEX_CC
    125127        std::tie<re::RE*, std::vector<re::CC *>>(REs[i], charclasses[i]) = multiplexing_passes(REs[i]);
    126128        const auto numOfCharacterClasses = charclasses[i].size();
     
    131133        kernel::Kernel * icgrepK = mGrepDriver->addKernelInstance<kernel::ICGrepKernel>(idb, REs[i], numOfCharacterClasses);
    132134        mGrepDriver->makeKernelCall(icgrepK, {CharClasses, LineBreakStream, CRLFStream, RequiredStreams}, {MatchResults});
     135#else
     136        REs[i] = regular_expression_passes(REs[i]);
     137        StreamSetBuffer * MatchResults = mGrepDriver->addBuffer<CircularBuffer>(idb, idb->getStreamSetTy(1, 1), segmentSize * bufferSegments);
     138        kernel::Kernel * icgrepK = mGrepDriver->addKernelInstance<kernel::ICGrepKernel>(idb, REs[i]);
     139        mGrepDriver->makeKernelCall(icgrepK, {BasisBits, LineBreakStream, CRLFStream, RequiredStreams}, {MatchResults});
     140#endif
    133141        MatchResultsBufs[i] = MatchResults;
    134142    }
Note: See TracChangeset for help on using the changeset viewer.