Changeset 3191 for proto


Ignore:
Timestamp:
May 27, 2013, 1:44:31 PM (6 years ago)
Author:
ksherdy
Message:

Replaced remaining non-Ascii symbols with ASCII equivalents. Added TODO for RadixEscape? / CharacterEscape? recognizers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/RE/input/grammar/re.scatter

    r3186 r3191  
    1010// 05-03-2013   Escaped character recognition (unicode, hex, single character).
    1111//
     12// KS: TODO     Add     
     13//              RadixEscape [CHARACTER]     "\\x" 2 2 16,
     14//              RadixEscape [CHARACTER]     "\\u" 4 4 16,
     15//              CharacterEscape [CHARACTER]    "\\"  "java",
     16//              Character [CHARACTER],          // non-punctuators
     17//
     18//              change the "java" argument on CharacterEscape
     19//              char            → CHARACTER ;
     20//   
     21//              A synopsis called RadixEscape and CharacterEscape can be found
     22//              in scatter/doc/inputDoc.html.
    1223
    1324types {}
     
    1627        recognizers {
    1728                Whitespace [IGNORE],
    18                 Escape[UNICODE_ESCAPE]          "\\u" "0123456789abcdefABCDEF" 4 4 16, // prefix, char set, min, max, radix
    19                 Escape[HEXADECIMAL_ESCAPE]      "\\x" "0123456789abcdefABCDEF" 2 2 16,
    20                 Escape[CHARACTER_ESCAPE]        "\\" "[.]" 1 1,
     29                Escape[UNICODE_ESCAPE]          "\\u" "0123456789abcdefABCDEF" 4 4 16, // prefix, char set, min, max, radix   // Radix
     30                Escape[HEXADECIMAL_ESCAPE]      "\\x" "0123456789abcdefABCDEF" 2 2 16,                                        // Radix
     31                Escape[CHARACTER_ESCAPE]        "\\" "[.]" 1 1,                                                               // Char   
    2132                Punctuator,
    2233                Comment [IGNORE] "(?#" ")",     // comments
     
    4556        recognizers {
    4657                // Whitespace [IGNORE],         // POSIX standard
    47                 Escape[UNICODE_ESCAPE]          "\\u" "0123456789abcdefABCDEF" 4 4 16,
    48                 Escape[HEXADECIMAL_ESCAPE]      "\\x" "0123456789abcdefABCDEF" 2 2 16,
     58                Escape[UNICODE_ESCAPE]          "\\u" "0123456789abcdefABCDEF" 4 4 16, 
     59                Escape[HEXADECIMAL_ESCAPE]      "\\x" "0123456789abcdefABCDEF" 2 2 16, 
    4960                Escape[CHARACTER_ESCAPE]        "\\" "[.]" 1 1,
    5061                Punctuator,
     
    8899        start                   -> re ;
    89100        re                      #-> alternation ;
    90         alternation             #-> concatenation (OR↑ concatenation)* ;
     101        alternation             #-> concatenation (OR^ concatenation)* ;
    91102        concatenation           #-> repetition+ ;
    92103        repetition              -> atom (repetitionIndicator | boundedRepetitionIndicator)?;
     
    95106                                        PLUS {@lowerBound = 1; @upperBound = -1;};
    96107                                                       
    97         boundedRepetitionIndicator      -> LEFTCURLY◊ (boundedRepetition)
     108        boundedRepetitionIndicator      -> LEFTCURLY<> (boundedRepetition)
    98109                                                  ( lowerBound! {@lowerBound = @:value;} )
    99110                                                  (
    100111                                                      (COMMA upperBound!   {@upperBound = @:value;}     ) |
    101112                                                      (epsilon             {@upperBound = @lowerBound;} )
    102                                                   ) RIGHTCURLY◊ ;
     113                                                  ) RIGHTCURLY<> ;
    103114                                                                 
    104115        lowerBound              -> INTEGER_CONST {@value = @@value;} | epsilon {@value = 0;} ;
     
    118129                        UNICODE_ESCAPE ;
    119130               
    120         characterClass  -> LEFTSQUARE ◊(charClass) range* RIGHTSQUARE◊ ;
     131        characterClass  -> LEFTSQUARE <>(charClass) range* RIGHTSQUARE<> ;
    121132                                               
    122         negatedCharacterClass   -> LEFTSQUARENEGATE ◊(charClass) range* RIGHTSQUARE◊ ;                                     
     133        negatedCharacterClass   -> LEFTSQUARENEGATE <>(charClass) range* RIGHTSQUARE<> ;                                       
    123134                                                                                 
    124         range                   #-> char (THROUGH↑ char)? ;
     135        range                   #-> char (THROUGH^ char)? ;
    125136
    126137        any                             -> ANY ;
Note: See TracChangeset for help on using the changeset viewer.