Ignore:
Timestamp:
Jul 10, 2018, 1:56:50 AM (11 months ago)
Author:
xwa163
Message:

Decompress u8NoFinalStream in lzparabix_grep

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/re/re_analysis.cpp

    r5951 r6130  
    105105}
    106106
    107 
     107bool isAllCcByteLength(const RE * re) {
     108    if (const Alt * alt = dyn_cast<Alt>(re)) {
     109        for (const RE * re : *alt) {
     110            if (!isAllCcByteLength(re)) {
     111                return false;
     112            }
     113        }
     114        return true;
     115    } else if (const Seq * seq = dyn_cast<Seq>(re)) {
     116        for (const RE * e : *seq) {
     117            if (!isAllCcByteLength(e)) return false;
     118        }
     119        return true;
     120    } else if (const Rep * rep = dyn_cast<Rep>(re)) {
     121        return isAllCcByteLength(rep->getRE());
     122    }  else if (const Name * n = dyn_cast<Name>(re)) {
     123        if (n->getType() == Name::Type::ZeroWidth) {
     124            return false;
     125        }
     126        return isAllCcByteLength(n->getDefinition());
     127    } else {
     128        return isByteLength(re);
     129    }
     130}
    108131
    109132bool isByteLength(const RE * re) {
Note: See TracChangeset for help on using the changeset viewer.