Ignore:
Timestamp:
Oct 27, 2010, 11:59:07 AM (9 years ago)
Author:
ksherdy
Message:

Implement escape and parallel_prefix_parity defs and demos.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/JSON/byteclass.py

    r672 r675  
    1010        RFC 4627 - JavaScript Object Notation (JSON) 
    1111        RFC 5234 - Augmented BNF for Syntax Specifications: ABNF
    12 
     12       
    1313        number = [ minus ] int [ frac ] [ exp ]
    1414        decimal-point = %x2E       ; .
     
    2121        plus = %x2B                ; +
    2222        zero = %x30                ; 0
    23 
     23       
    2424        Any single character alternative can be combined into a single character class.
    25 
     25       
    2626        """
     27        #Object
     28        LCurlyBrace = 0
     29        Colon = 0
     30        Comma = 0
     31        RCurlyBrace = 0
     32        #Array
     33        LSquareBracket = 0
     34        RSquareBracket = 0
     35        #Number
     36        Minus = 0
     37        Zero = 0
     38        Digit1_9 = 0
     39        Digit0_9 = 0
     40        DecimalPoint = 0
     41        Ee = 0
     42        PlusMinus = 0
     43        NumberFollowSet = 0
     44        #String
     45        DQuotes = 0
     46        RSolidus = 0
     47        Solidus = 0
     48        b = 0
     49        f = 0
     50        n = 0
     51        t = 0
     52        u = 0
     53        Digit0_ = 0
    2754
    2855def classify_bytes(bit) :
     
    3461  temp5 = (bit[6] & bit[7]);
    3562  temp6 = (temp4 & temp5);
    36   lex.Left_Curly_Brace = (temp3 & temp6);
     63  lex.LCurlyBrace = (temp3 & temp6);
    3764  temp7 = (bit[0] | bit[1]);
    3865  temp8 = (temp2 &~ temp7);
     
    4875  temp16 = (bit[7] &~ bit[6]);
    4976  temp17 = (temp13 & temp16);
    50   lex.Right_Curly_Brace = (temp3 & temp17);
     77  lex.RCurlyBrace = (temp3 & temp17);
    5178  temp18 = (bit[3] &~ bit[2]);
    5279  temp19 = (temp1 & temp18);
    53   lex.Left_Square_Bracket = (temp19 & temp6);
    54   lex.Right_Square_Bracket = (temp19 & temp17);
     80  lex.LSquareBracket = (temp19 & temp6);
     81  lex.RSquareBracket = (temp19 & temp17);
    5582  lex.Minus = (temp12 & temp17);
    5683  temp20 = (bit[4] | bit[5]);
     
    6188  temp24 = (bit[5] | temp14);
    6289  temp25 = ((bit[4] & temp23)|(~(bit[4]) & temp24));
    63   lex.Digit_1_9 = (temp8 & temp25);
     90  lex.Digit1_9 = (temp8 & temp25);
    6491  temp26 = (bit[4] & temp22);
    65   lex.Digit_0_9 = (temp8 &~ temp26);
     92  lex.Digit0_9 = (temp8 &~ temp26);
    6693  temp27 = (temp13 & temp9);
    67   lex.Decimal_Point = (temp12 & temp27);
     94  lex.DecimalPoint = (temp12 & temp27);
    6895  temp28 = (bit[5] &~ bit[4]);
    6996  temp29 = (temp28 & temp16);
     
    7198  temp31 = (temp30 &~ temp11);
    7299  temp32 = (temp1 &~ temp31);
    73   lex.E_e = (temp29 & temp32);
     100  lex.Ee = (temp29 & temp32);
    74101  temp33 = (temp6 | temp17);
    75   lex.Plus_Minus = (temp12 & temp33);
    76   temp34 = (lex.Comma | lex.Right_Curly_Brace);
    77   lex.Number_Follow_Set = (temp34 | lex.Right_Square_Bracket);
     102  lex.PlusMinus = (temp12 & temp33);
     103  temp34 = (lex.Comma | lex.RCurlyBrace);
     104  lex.NumberFollowSet = (temp34 | lex.RSquareBracket);
     105  lex.DQuote = (temp19 & temp15);
     106  lex.RSolidus = (temp19 & temp15);
     107  lex.Solidus = (temp19 & temp15);
     108  lex.b = (temp19 & temp15);
     109  lex.f = (temp19 & temp15);
     110  lex.n = (temp19 & temp15);
     111  lex.t = (temp19 & temp15);
     112  lex.u = (temp19 & temp15);
     113  temp35 = (temp1 &~ temp30);
     114  temp36 = (temp35 &~ bit[4]);
     115  temp37 = (~temp5);
     116  temp38 = ((bit[5] & temp37)|(~(bit[5]) & temp14));
     117  temp39 = (temp36 & temp38);
     118  lex.Digit0_9 = (lex.Digit0_9 | temp39);
    78119  return (lex)
    79120
Note: See TracChangeset for help on using the changeset viewer.