Ignore:
Timestamp:
Dec 22, 2016, 2:35:46 PM (3 years ago)
Author:
nmedfort
Message:

Modified memory alignment mechanism for GetPropertyValueGrepString? + misc. changes.

Location:
icGREP/icgrep-devel/icgrep/re
Files:
5 edited

Legend:

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

    r5233 r5234  
    2626#include <UCD/ucd_compiler.hpp>
    2727#include <UCD/resolve_properties.h>
    28 #ifndef DISABLE_PREGENERATED_UCD_FUNCTIONS
    29 #include <UCD/precompiled_properties.h>
    30 #endif
    3128#include <assert.h>
    3229#include <stdexcept>
  • icGREP/icgrep-devel/icgrep/re/re_name.h

    r5233 r5234  
    5555    , mName(replicateString(name, nameLength))
    5656    , mType(type)
    57     , mDefinition(defn)
    58     {
     57    , mDefinition(defn) {
    5958
    6059    }
  • icGREP/icgrep-devel/icgrep/re/re_name_resolve.cpp

    r5233 r5234  
    2626namespace re {
    2727 
    28 static inline CC * getDefinition(RE * re) {
     28static inline CC * extractCC(RE * re) {
    2929    if (isa<CC>(re)) {
    3030        return cast<CC>(re);
    3131    } else if (isa<Name>(re)) {
    32         return getDefinition(cast<Name>(re)->getDefinition());
     32        return extractCC(cast<Name>(re)->getDefinition());
    3333    }
    3434    return nullptr;
     
    4848                            mZeroWidth = name;
    4949                        }
    50                         resolve(name->getDefinition());
     50                        name->setDefinition(resolve(name->getDefinition()));
    5151                    } else {
    52                         #ifndef DISABLE_PREGENERATED_UCD_FUNCTIONS
    53                         if (AlgorithmOptionIsSet(UsePregeneratedUnicode)) {
    54                             const std::string functionName = UCD::resolvePropertyFunction(name);
    55                             const UCD::ExternalProperty & ep = UCD::resolveExternalProperty(functionName);
    56                             Call * call = mPB.createCall(Prototype::Create(functionName, std::get<1>(ep), std::get<2>(ep), std::get<0>(ep)), mCCCompiler.getBasisBits());
    57                             name->setCompiled(call);
    58                         } else {
    59                         #endif
    60                             name->setDefinition(makeCC(UCD::resolveUnicodeSet(name)));
    61                         #ifndef DISABLE_PREGENERATED_UCD_FUNCTIONS
    62                         }
    63                         #endif
     52                        name->setDefinition(makeCC(UCD::resolveUnicodeSet(name)));
    6453                    }
    6554                } else {
    66                 throw std::runtime_error("All non-unicode-property Name objects should have been defined prior to Unicode property resolution.");
     55                    throw std::runtime_error("All non-unicode-property Name objects should have been defined prior to Unicode property resolution.");
    6756                }
    6857            } else {
     
    7867            for (auto ai = alt->begin(); ai != alt->end(); ) {
    7968                RE * re = resolve(*ai);
    80                 if (CC * cc = getDefinition(re)) {
     69                if (CC * cc = extractCC(re)) {
    8170                    if (unionCC == nullptr) {
    8271                        unionCC = cc;
     
    112101            diff->setLH(resolve(diff->getLH()));
    113102            diff->setRH(resolve(diff->getRH()));
    114             CC * lh = getDefinition(diff->getLH());
    115             CC * rh = getDefinition(diff->getRH());
     103            CC * lh = extractCC(diff->getLH());
     104            CC * rh = extractCC(diff->getRH());
    116105            if (lh && rh) {
    117106                return resolve(makeName("diff", subtractCC(lh, rh)));
     
    120109            ix->setLH(resolve(ix->getLH()));
    121110            ix->setRH(resolve(ix->getRH()));
    122             CC * lh = getDefinition(ix->getLH());
    123             CC * rh = getDefinition(ix->getRH());
     111            CC * lh = extractCC(ix->getLH());
     112            CC * rh = extractCC(ix->getRH());
    124113            if (lh && rh) {
    125114                return resolve(makeName("intersect", intersectCC(lh, rh)));
  • icGREP/icgrep-devel/icgrep/re/re_parser.cpp

    r5224 r5234  
    6666
    6767RE_Parser::RE_Parser(const std::string & regular_expression)
    68     : fModeFlagSet(0)
    69     , fNested(false)
    70     , fGraphemeBoundaryPending(false)
    71     , fSupportNonCaptureGroup(false)
    72     , mCursor(regular_expression)
    73     , mCaptureGroupCount(0)
    74     , mReSyntax(RE_Syntax::PCRE)
    75     {
    76 
    77     }
     68: fModeFlagSet(0)
     69, fNested(false)
     70, fGraphemeBoundaryPending(false)
     71, fSupportNonCaptureGroup(false)
     72, mCursor(regular_expression)
     73, mCaptureGroupCount(0)
     74, mReSyntax(RE_Syntax::PCRE)
     75{
     76
     77}
    7878
    7979RE * makeAtomicGroup(RE * r) {
  • icGREP/icgrep-devel/icgrep/re/re_toolchain.cpp

    r5230 r5234  
    4646                              clEnumVal(DisableUnicodeLineBreak, "disable Unicode line breaks - use LF only"),
    4747                              clEnumValN(InvertMatches, "v", "select non-matching lines"),
    48 #ifndef DISABLE_PREGENERATED_UCD_FUNCTIONS
    49                               clEnumVal(UsePregeneratedUnicode, "use fixed pregenerated Unicode character class sets instead"),
    50 #endif
    5148                              clEnumValEnd),
    5249                   cl::cat(RegexOptions));
Note: See TracChangeset for help on using the changeset viewer.