Changeset 676 for proto


Ignore:
Timestamp:
Oct 27, 2010, 12:00:27 PM (9 years ago)
Author:
ksherdy
Message:

Add JSON character class definitions.

Location:
proto
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • proto/Compiler/basic_block.py

    r365 r676  
     1# -*- coding: utf-8 -*-
    12import bitexpr
    23import copy
  • proto/charsetcompiler/charset_compiler.py

    r666 r676  
    154154DefinitionSet['LI_with_MarkupPass'] = DefinitionSet['LexicalItems_with_Digit'] + [CharSetDef('AmpHashSlash', ['&', '#', '/'])]
    155155
    156 DefinitionSet['JSON_number'] = [CharSetDef('lex.Minus', '-'),
    157                         CharDef('lex.Zero', '0'),
    158                         CharSetDef('lex.Digit_1_9', ['1-9']),
    159                         CharSetDef('lex.Digit_0_9', ['0-9']),
    160                         CharDef('lex.Decimal_Point', '.'),
    161                         CharSetDef('lex.E_e', ['E','e']),
    162                         CharSetDef('lex.Plus_Minus', ['+','-'])]
     156DefinitionSet['JSON'] =         [
     157                                #Object
     158                                CharDef('lex.LCurlyBrace','{'),
     159                                CharDef('lex.Colon',':'),
     160                                CharDef('lex.Comma',','),
     161                                CharDef('lex.RCurlyBrace','}'),
     162                               
     163                                #Array
     164                                CharDef('lex.LSquareBracket','['),
     165                                CharDef('lex.RSquareBracket',']'),
     166                               
     167                                #Number
     168                                CharDef('lex.Minus', '-'),
     169                                CharDef('lex.Zero', '0'),
     170                                CharSetDef('lex.Digit1_9', ['1-9']),
     171                                CharSetDef('lex.Digit0_9', ['0-9']),
     172                                CharDef('lex.DecimalPoint', '.'),
     173                                CharSetDef('lex.Ee', ['E','e']),
     174                                CharSetDef('lex.PlusMinus', ['+','-']),
     175                                CharSetDef('lex.NumberFollowSet',[',','}',']']),
     176                               
     177                                #String
     178                                CharDef('lex.DQuote','\\'),
     179                                CharDef('lex.RSolidus','\\'),
     180                                CharDef('lex.Solidus','\\'),
     181                                CharDef('lex.b','\\'),
     182                                CharDef('lex.f','\\'),
     183                                CharDef('lex.n','\\'),
     184                                CharDef('lex.t','\\'),
     185                                CharDef('lex.u','\\'),
     186                                CharSetDef('lex.Digit0_9', ['0-9','A-F']),
     187                                ]
    163188
    164189#
     
    792817            #define the characters in the list
    793818            defs = input_chardef(sys.argv[1])
    794             print chardeflist2simd(defs)
    795             #print chardeflist2py(defs)
     819            #print chardeflist2simd(defs)
     820            print chardeflist2py(defs)
    796821        else:
    797             print chardeflist2simd(DefinitionSet[sys.argv[1]])
    798             #print chardeflist2py(DefinitionSet[sys.argv[1]])
     822            #print chardeflist2simd(DefinitionSet[sys.argv[1]])
     823            print chardeflist2py(DefinitionSet[sys.argv[1]])
    799824    elif len(sys.argv) == 3 and sys.argv[2] == 'EBCDIC':
    800825        defs = ascii2ebcdic_chardeflist(DefinitionSet[sys.argv[1]])
  • proto/charsetcompiler/charset_input_parser.py

    r663 r676  
     1# -*- coding: utf-8 -*-
    12# charset_input_parser.py
    23#
Note: See TracChangeset for help on using the changeset viewer.