Ignore:
Timestamp:
Oct 9, 2017, 3:24:00 PM (21 months ago)
Author:
cameron
Message:

String property regular expression support, including special cases for null and reflexive sets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/PropertyObjects.cpp

    r5679 r5682  
    1616#include <toolchain/grep_pipeline.h>
    1717#include <util/aligned_allocator.h>
    18 #include <re/re_nullable.h>
     18#include <re/re_analysis.h>
    1919using namespace llvm;
    2020
     
    293293const UnicodeSet NumericPropertyObject::GetCodepointSetMatchingPattern(re::RE * pattern) {
    294294    UnicodeSet matched;
    295     llvm::report_fatal_error("NumericPropertyObject NaN matching issue!");
     295    // TODO:  Should we allow matches to NaN???
    296296    SetByLineNumberAccumulator accum(mExplicitCps);
    297297    grepBuffer(pattern, mStringBuffer, mBufSize, & accum);
     
    328328
    329329const UnicodeSet StringPropertyObject::GetCodepointSetMatchingPattern(re::RE * pattern) {
    330     UnicodeSet matched;
    331     if (re::RE_Nullable::isNullable(pattern)) {
     330    UnicodeSet matched = *cast<UnicodeSet>(matchableCodepoints(pattern)) & mSelfCodepointSet;
     331    if (re::matchesEmptyString(pattern)) {
    332332        matched = matched + mNullCodepointSet;
    333333    }
    334     //llvm::report_fatal_error("StringPropertyObject reflexive set issue!");
    335334    SetByLineNumberAccumulator accum(mExplicitCps);
    336335    grepBuffer(pattern, mStringBuffer, mBufSize, & accum);
Note: See TracChangeset for help on using the changeset viewer.