Ignore:
Timestamp:
Jul 14, 2015, 10:46:10 PM (4 years ago)
Author:
nmedfort
Message:

Moved responsibility of handling 'special cases of Unicode TR #18' and 'compatibility properties of UTR #18 Annex C' into RE_Parser.

File:
1 edited

Legend:

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

    r4614 r4671  
    1515#include <list>
    1616#include <memory>
     17#include <map>
    1718
    1819namespace re {
     
    4142private:
    4243
     44    using NameMap = std::map<std::pair<std::string, std::string>, re::Name *>;
     45
    4346    typedef std::string::const_iterator cursor_t;
    4447
     
    6568    RE * parse_escaped();
    6669
    67     RE * parse_escaped_set();
     70    RE * parseEscapedSet();
    6871
    6972    codepoint_t parse_utf8_codepoint();
    7073
    71     Name * parse_property_expression();
     74    Name * parsePropertyExpression();
    7275       
     76    RE * makeComplement(RE * s);
     77    RE * makeWordBoundary ();
     78    RE * makeWordNonBoundary ();
     79    Name * makeDigitSet();
     80    Name * makeAlphaNumeric();
     81    Name * makeWhitespaceSet();
     82    Name * makeWordSet();
     83    Name * resolvePropertyExpression(std::string nameValue);
     84
     85    Name * resolvePropertyExpression(std::string namespaceValue, std::string nameValue);
     86
    7387        CharsetOperatorKind getCharsetOperator();
    7488
     
    92106    void CC_add_range(CC * cc, codepoint_t lo, codepoint_t hi);
    93107
     108    static std::string canonicalize(const cursor_t begin, const cursor_t end);
     109
    94110private:
    95111
    96112    cursor_t                    _cursor;
    97113    const cursor_t              _end;
    98     ModeFlagSet fModeFlagSet;
     114    ModeFlagSet                 fModeFlagSet;
     115    NameMap                     mNameMap;
    99116};
    100117
Note: See TracChangeset for help on using the changeset viewer.