Ignore:
Timestamp:
Oct 30, 2010, 4:34:25 PM (9 years ago)
Author:
ksherdy
Message:

General reorganization. Addition of JSON String processing logic.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/JSON/byteclass.py

    r682 r684  
    7777
    7878def classify_bytes(bit) :
    79   u8 = u8_streams()
    80   lex = lexical_streams()
    81   ctrl = control_streams()
    82   u8.unibyte = (~bit[0]);
    83   u8.prefix = (bit[0] & bit[1]);
    84   u8.prefix2 = (u8.prefix &~ bit[2]);
    85   temp1 = (bit[2] &~ bit[3]);
    86   u8.prefix3 = (u8.prefix & temp1);
    87   temp2 = (bit[2] & bit[3]);
    88   u8.prefix4 = (u8.prefix & temp2);
    89   u8.suffix = (bit[0] &~ bit[1]);
    90   temp3 = (bit[2] | bit[3]);
    91   temp4 = (u8.prefix &~ temp3);
    92   temp5 = (bit[4] | bit[5]);
    93   temp6 = (temp5 | bit[6]);
    94   temp7 = (temp4 &~ temp6);
    95   temp8 = (bit[6] | bit[7]);
    96   temp9 = (bit[5] & temp8);
    97   temp10 = (bit[4] | temp9);
    98   temp11 = (u8.prefix4 & temp10);
    99   u8.badprefix = (temp7 | temp11);
    100   temp12 = (temp5 | temp8);
    101   u8.xE0 = (u8.prefix3 &~ temp12);
    102   temp13 = (bit[4] & bit[5]);
    103   temp14 = (bit[7] &~ bit[6]);
    104   temp15 = (temp13 & temp14);
    105   u8.xED = (u8.prefix3 & temp15);
    106   u8.xF0 = (u8.prefix4 &~ temp12);
    107   temp16 = (bit[5] &~ bit[4]);
    108   temp17 = (temp16 &~ temp8);
    109   u8.xF4 = (u8.prefix4 & temp17);
    110   u8.xA0_xBF = (u8.suffix & bit[2]);
    111   u8.x80_x9F = (u8.suffix &~ bit[2]);
    112   u8.x90_xBF = (u8.suffix & temp3);
    113   u8.x80_x8F = (u8.suffix &~ temp3);
    114   temp18 = (bit[0] | bit[1]);
    115   temp19 = (temp18 | bit[2]);
    116   ctrl.x00_x1F = (~temp19);
    117   temp20 = (temp18 | temp3);
    118   ctrl.CR = (temp15 &~ temp20);
    119   temp21 = (bit[4] &~ bit[5]);
    120   temp22 = (bit[6] &~ bit[7]);
    121   temp23 = (temp21 & temp22);
    122   ctrl.LF = (temp23 &~ temp20);
    123   temp24 = (temp21 & temp14);
    124   ctrl.HT = (temp24 &~ temp20);
    125   temp25 = (temp1 &~ temp18);
    126   ctrl.SP = (temp25 &~ temp12);
    127   temp26 = (bit[1] &~ bit[0]);
    128   temp27 = (temp26 & temp2);
    129   temp28 = (bit[6] & bit[7]);
    130   temp29 = (temp21 & temp28);
    131   lex.LCurlyBrace = (temp27 & temp29);
    132   temp30 = (temp2 &~ temp18);
    133   lex.Colon = (temp30 & temp23);
    134   temp31 = (temp13 &~ temp8);
    135   lex.Comma = (temp25 & temp31);
    136   lex.RCurlyBrace = (temp27 & temp15);
    137   temp32 = (bit[3] &~ bit[2]);
    138   temp33 = (temp26 & temp32);
    139   lex.LSquareBracket = (temp33 & temp29);
    140   lex.RSquareBracket = (temp33 & temp15);
    141   lex.Minus = (temp25 & temp15);
    142   lex.Zero = (temp30 &~ temp12);
    143   temp34 = (bit[5] | bit[6]);
    144   temp35 = (~temp34);
    145   temp36 = (bit[5] | temp8);
    146   temp37 = ((bit[4] & temp35)|(~(bit[4]) & temp36));
    147   lex.Digit1_9 = (temp30 & temp37);
    148   temp38 = (bit[4] & temp34);
    149   lex.Digit0_9 = (temp30 &~ temp38);
    150   temp39 = (temp13 & temp22);
    151   lex.DecimalPoint = (temp25 & temp39);
    152   temp40 = (temp16 & temp14);
    153   temp41 = (temp3 &~ temp1);
    154   temp42 = (temp26 &~ temp41);
    155   lex.Ee = (temp40 & temp42);
    156   temp43 = (temp29 | temp15);
    157   lex.PlusMinus = (temp25 & temp43);
    158   temp44 = (lex.Comma | lex.RCurlyBrace);
    159   lex.NumberFollowSet = (temp44 | lex.RSquareBracket);
    160   lex.DQuote = (temp33 & temp31);
    161   lex.RSolidus = (temp33 & temp31);
    162   lex.Solidus = (temp33 & temp31);
    163   lex.b = (temp33 & temp31);
    164   lex.f = (temp33 & temp31);
    165   lex.n = (temp33 & temp31);
    166   lex.t = (temp33 & temp31);
    167   lex.u = (temp33 & temp31);
    168   temp45 = (temp26 & temp1);
    169   temp46 = (temp45 &~ bit[4]);
    170   temp47 = (~temp28);
    171   temp48 = ((bit[5] & temp47)|(~(bit[5]) & temp8));
    172   temp49 = (temp46 & temp48);
    173   temp50 = (lex.Digit0_9 | temp49);
    174   temp51 = (temp26 &~ temp3);
    175   temp52 = (temp51 &~ bit[4]);
    176   temp53 = (temp52 & temp48);
    177   lex.HexDigit = (temp50 | temp53);
    178   temp54 = (temp15 | temp23);
    179   temp55 = (temp54 | temp24);
    180   temp56 = (temp55 &~ temp20);
    181   lex.WS = (temp56 | ctrl.SP); 
    182   return (u8,lex,ctrl)
     79        u8 = u8_streams()
     80        lex = lexical_streams()
     81        ctrl = control_streams()
     82        u8.unibyte = (~bit[0]);
     83        u8.prefix = (bit[0] & bit[1]);
     84        u8.prefix2 = (u8.prefix &~ bit[2]);
     85        temp1 = (bit[2] &~ bit[3]);
     86        u8.prefix3 = (u8.prefix & temp1);
     87        temp2 = (bit[2] & bit[3]);
     88        u8.prefix4 = (u8.prefix & temp2);
     89        u8.suffix = (bit[0] &~ bit[1]);
     90        temp3 = (bit[2] | bit[3]);
     91        temp4 = (u8.prefix &~ temp3);
     92        temp5 = (bit[4] | bit[5]);
     93        temp6 = (temp5 | bit[6]);
     94        temp7 = (temp4 &~ temp6);
     95        temp8 = (bit[6] | bit[7]);
     96        temp9 = (bit[5] & temp8);
     97        temp10 = (bit[4] | temp9);
     98        temp11 = (u8.prefix4 & temp10);
     99        u8.badprefix = (temp7 | temp11);
     100        temp12 = (temp5 | temp8);
     101        u8.xE0 = (u8.prefix3 &~ temp12);
     102        temp13 = (bit[4] & bit[5]);
     103        temp14 = (bit[7] &~ bit[6]);
     104        temp15 = (temp13 & temp14);
     105        u8.xED = (u8.prefix3 & temp15);
     106        u8.xF0 = (u8.prefix4 &~ temp12);
     107        temp16 = (bit[5] &~ bit[4]);
     108        temp17 = (temp16 &~ temp8);
     109        u8.xF4 = (u8.prefix4 & temp17);
     110        u8.xA0_xBF = (u8.suffix & bit[2]);
     111        u8.x80_x9F = (u8.suffix &~ bit[2]);
     112        u8.x90_xBF = (u8.suffix & temp3);
     113        u8.x80_x8F = (u8.suffix &~ temp3);
     114        temp18 = (bit[0] | bit[1]);
     115        temp19 = (temp18 | bit[2]);
     116        ctrl.x00_x1F = (~temp19);
     117        temp20 = (temp18 | temp3);
     118        ctrl.CR = (temp15 &~ temp20);
     119        temp21 = (bit[4] &~ bit[5]);
     120        temp22 = (bit[6] &~ bit[7]);
     121        temp23 = (temp21 & temp22);
     122        ctrl.LF = (temp23 &~ temp20);
     123        temp24 = (temp21 & temp14);
     124        ctrl.HT = (temp24 &~ temp20);
     125        temp25 = (temp1 &~ temp18);
     126        ctrl.SP = (temp25 &~ temp12);
     127        temp26 = (bit[1] &~ bit[0]);
     128        temp27 = (temp26 & temp2);
     129        temp28 = (bit[6] & bit[7]);
     130        temp29 = (temp21 & temp28);
     131        lex.LCurlyBrace = (temp27 & temp29);
     132        temp30 = (temp2 &~ temp18);
     133        lex.Colon = (temp30 & temp23);
     134        temp31 = (temp13 &~ temp8);
     135        lex.Comma = (temp25 & temp31);
     136        lex.RCurlyBrace = (temp27 & temp15);
     137        temp32 = (bit[3] &~ bit[2]);
     138        temp33 = (temp26 & temp32);
     139        lex.LSquareBracket = (temp33 & temp29);
     140        lex.RSquareBracket = (temp33 & temp15);
     141        lex.Minus = (temp25 & temp15);
     142        lex.Zero = (temp30 &~ temp12);
     143        temp34 = (bit[5] | bit[6]);
     144        temp35 = (~temp34);
     145        temp36 = (bit[5] | temp8);
     146        temp37 = ((bit[4] & temp35)|(~(bit[4]) & temp36));
     147        lex.Digit1_9 = (temp30 & temp37);
     148        temp38 = (bit[4] & temp34);
     149        lex.Digit0_9 = (temp30 &~ temp38);
     150        temp39 = (temp13 & temp22);
     151        lex.DecimalPoint = (temp25 & temp39);
     152        temp40 = (temp16 & temp14);
     153        temp41 = (temp3 &~ temp1);
     154        temp42 = (temp26 &~ temp41);
     155        lex.Ee = (temp40 & temp42);
     156        temp43 = (temp29 | temp15);
     157        lex.PlusMinus = (temp25 & temp43);
     158        temp44 = (lex.Comma | lex.RCurlyBrace);
     159        lex.NumberFollowSet = (temp44 | lex.RSquareBracket);
     160        temp45 = (temp22 &~ temp5);
     161        lex.DQuote = (temp25 & temp45);
     162        lex.RSolidus = (temp33 & temp31);
     163        temp46 = (temp13 & temp28);
     164        lex.Solidus = (temp25 & temp46);
     165        temp47 = (temp26 & temp1);
     166        lex.b = (temp47 & temp45);
     167        temp48 = (temp16 & temp22);
     168        lex.f = (temp47 & temp48);
     169        lex.n = (temp47 & temp39);
     170        lex.t = (temp27 & temp17);
     171        lex.u = (temp27 & temp40);
     172        temp49 = (temp47 &~ bit[4]);
     173        temp50 = (~temp28);
     174        temp51 = ((bit[5] & temp50)|(~(bit[5]) & temp8));
     175        temp52 = (temp49 & temp51);
     176        temp53 = (lex.Digit0_9 | temp52);
     177        temp54 = (temp26 &~ temp3);
     178        temp55 = (temp54 &~ bit[4]);
     179        temp56 = (temp55 & temp51);
     180        lex.HexDigit = (temp53 | temp56);
     181        temp57 = (temp15 | temp23);
     182        temp58 = (temp57 | temp24);
     183        temp59 = (temp58 &~ temp20);
     184        lex.WS = (temp59 | ctrl.SP);
     185        return (u8,lex,ctrl)
    183186
Note: See TracChangeset for help on using the changeset viewer.