Ignore:
Timestamp:
Jul 8, 2017, 1:09:56 PM (2 years ago)
Author:
cameron
Message:

Flattening if-hierarchy for bounded repetitions, allowing CCs to pass through to re_compiler

File:
1 edited

Legend:

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

    r5548 r5555  
    2323namespace re { class RE; }
    2424namespace re { class Rep; }
     25namespace re { class CC; }
    2526
    2627//namespace UCD {
     
    9596    MarkerType process(RE * re, MarkerType marker, pablo::PabloBuilder & pb);
    9697    MarkerType compileName(Name * name, MarkerType marker, pablo::PabloBuilder & pb);
     98    MarkerType compileCC(CC * cc, MarkerType marker, pablo::PabloBuilder & pb);
    9799    MarkerType compileSeq(Seq * seq, MarkerType marker, pablo::PabloBuilder & pb);
    98100    MarkerType compileSeqTail(Seq::iterator current, const Seq::iterator end, int matchLenSoFar, MarkerType marker, pablo::PabloBuilder & pb);
     
    105107    pablo::PabloAST * reachable(pablo::PabloAST * repeated,  int length, int repeat_count, pablo::PabloBuilder & pb);
    106108    static bool isFixedLength(RE * regexp);
    107     MarkerType processLowerBound(RE * repeated,  int lb, MarkerType marker, pablo::PabloBuilder & pb);
     109    MarkerType processLowerBound(RE * repeated,  int lb, MarkerType marker, int ifGroupSize, pablo::PabloBuilder & pb);
    108110    MarkerType processUnboundedRep(RE * repeated, MarkerType marker, pablo::PabloBuilder & pb);
    109     MarkerType processBoundedRep(RE * repeated, int ub, MarkerType marker, pablo::PabloBuilder & pb);
     111    MarkerType processBoundedRep(RE * repeated, int ub, MarkerType marker, int ifGroupSize,  pablo::PabloBuilder & pb);
    110112    RE * resolveUnicodeProperties(RE * re);
    111113
Note: See TracChangeset for help on using the changeset viewer.