Changeset 678


Ignore:
Timestamp:
Oct 29, 2010, 1:37:02 PM (8 years ago)
Author:
ksherdy
Message:

Add JSON UTF-8 definintions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/charsetcompiler/charset_compiler.py

    r676 r678  
    154154DefinitionSet['LI_with_MarkupPass'] = DefinitionSet['LexicalItems_with_Digit'] + [CharSetDef('AmpHashSlash', ['&', '#', '/'])]
    155155
    156 DefinitionSet['JSON'] =         [
     156#JSON Definitino Sets
     157DefinitionSet['JSON_UTF8'] =            [
     158                                CharSetDef('u8.unibyte', ['\x00-\x7F']),
     159                                CharSetDef('u8.prefix', ['\xC0-\xFF']),
     160                                CharSetDef('u8.prefix2', ['\xC0-\xDF']),
     161                                CharSetDef('u8.prefix3', ['\xE0-\xEF']),
     162                                CharSetDef('u8.prefix4', ['\xF0-\xFF']),
     163                                CharSetDef('u8.suffix', ['\x80-\xBF']),
     164                                CharSetDef('u8.badprefix', ['\xC0-\xC1', '\xF5-\xFF']),
     165                                CharDef('u8.xE0', '\xE0'),
     166                                CharDef('u8.xED', '\xED'),
     167                                CharDef('u8.xF0', '\xF0'),
     168                                CharDef('u8.xF4', '\xF4'),
     169                                CharSetDef('u8.xA0_xBF', ['\xA0-\xBF']),
     170                                CharSetDef('u8.x80_x9F', ['\x80-\x9F']),
     171                                CharSetDef('u8.x90_xBF', ['\x90-\xBF']),
     172                                CharSetDef('u8.x80_x8F', ['\x80-\x8F']) 
     173                                ]
     174
     175DefinitionSet['JSON_Control'] =         [
     176                                #Control characters
     177                                CharSetDef('ctrl.x00_x1F', ['\x00-\x1F']),
     178                                CharDef('ctrl.CR', '\x0D'),
     179                                CharDef('ctrl.LF', '\x0A'),
     180                                CharDef('ctrl.HT', '\x09'),
     181                                CharDef('ctrl.SP', ' '),
     182                                ]
     183
     184DefinitionSet['JSON_Lexical'] =         [
    157185                                #Object
    158186                                CharDef('lex.LCurlyBrace','{'),
     
    184212                                CharDef('lex.t','\\'),
    185213                                CharDef('lex.u','\\'),
    186                                 CharSetDef('lex.Digit0_9', ['0-9','A-F']),
     214                                CharSetDef('lex.HexDigit', ['0-9','a-f','A-F']),
     215                               
     216                                #WS
     217                                CharSetDef('lex.WS', ['\x0D', '\x0A', '\x09', ' '])
    187218                                ]
     219       
     220DefinitionSet['JSON'] = DefinitionSet['JSON_UTF8'] + DefinitionSet['JSON_Control'] + DefinitionSet['JSON_Lexical']
    188221
    189222#
Note: See TracChangeset for help on using the changeset viewer.