Ignore:
Timestamp:
Dec 3, 2010, 4:53:55 PM (9 years ago)
Author:
cameron
Message:

Nested version.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/parabix2/parabix2_pablo.py

    r757 r775  
    221221        u8.error = 0
    222222        FFFE_FFFF = 0
    223 
     223        u8anyscope = 0
    224224        if bit[0]:
    225225                u8.prefix = (bit[0] & bit[1]);
     
    235235                temp71 = (u8.prefix4 & temp70);
    236236                u8.badprefix = (temp68 | temp71);
    237                 xE0 = (u8.prefix3 &~ temp36);
    238                 xED = (u8.prefix3 & temp20);
    239                 xF0 = (u8.prefix4 &~ temp36);
    240                 temp72 = (temp4 &~ temp13);
    241                 xF4 = (u8.prefix4 & temp72);
    242                 u8.xA0_xBF = (u8.suffix & bit[2]);
    243                 u8.x80_x9F = (u8.suffix &~ bit[2]);
    244                 u8.x90_xBF = (u8.suffix & temp49);
    245                 u8.x80_x8F = (u8.suffix &~ temp49);
    246                 xEF = (u8.prefix3 & temp23);
    247                 temp73 = (u8.suffix & temp7);
    248                 u8.xBF = (temp73 & temp23);
    249                 u8.xBE = (temp73 & temp15);
    250                 u8.xE0_scope = bitutil.Advance(xE0);
    251                 u8.xED_scope = bitutil.Advance(xED);
    252                 u8.xF0_scope = bitutil.Advance(xF0);
    253                 u8.xF4_scope = bitutil.Advance(xF4);
    254                 u8.xEF_scope = bitutil.Advance(xEF);
     237                u8.error = u8.badprefix
    255238                u8.scope22 = bitutil.Advance(u8.prefix2)
    256                 u8.scope32 = bitutil.Advance(u8.prefix3)
    257                 u8.scope33 = bitutil.Advance(u8.scope32)
    258                 u8.scope42 = bitutil.Advance(u8.prefix4)
    259                 u8.scope43 = bitutil.Advance(u8.scope42)
    260                 u8.scope44 = bitutil.Advance(u8.scope43)
    261 
    262                 u8lastscope = u8.scope22 | u8.scope33 | u8.scope44
    263                 u8anyscope = u8lastscope | u8.scope32 | u8.scope42 | u8.scope43
     239                u8anyscope = u8.scope22
     240                if u8.prefix3 | u8.prefix4:
     241                        xE0 = (u8.prefix3 &~ temp36);
     242                        xED = (u8.prefix3 & temp20);
     243                        xF0 = (u8.prefix4 &~ temp36);
     244                        temp72 = (temp4 &~ temp13);
     245                        xF4 = (u8.prefix4 & temp72);
     246                        u8.xA0_xBF = (u8.suffix & bit[2]);
     247                        u8.x80_x9F = (u8.suffix &~ bit[2]);
     248                        u8.x90_xBF = (u8.suffix & temp49);
     249                        u8.x80_x8F = (u8.suffix &~ temp49);
     250                        xEF = (u8.prefix3 & temp23);
     251                        temp73 = (u8.suffix & temp7);
     252                        u8.xBF = (temp73 & temp23);
     253                        u8.xBE = (temp73 & temp15);
     254                        u8.xE0_scope = bitutil.Advance(xE0);
     255                        u8.xED_scope = bitutil.Advance(xED);
     256                        u8.xF0_scope = bitutil.Advance(xF0);
     257                        u8.xF4_scope = bitutil.Advance(xF4);
     258                        u8.xEF_scope = bitutil.Advance(xEF);
     259                        u8.scope32 = bitutil.Advance(u8.prefix3)
     260                        u8.scope33 = bitutil.Advance(u8.scope32)
     261                        u8.scope42 = bitutil.Advance(u8.prefix4)
     262                        u8.scope43 = bitutil.Advance(u8.scope42)
     263                        u8.scope44 = bitutil.Advance(u8.scope43)
     264
     265                        u8lastscope = u8.scope22 | u8.scope33 | u8.scope44
     266                        u8anyscope = u8lastscope | u8.scope32 | u8.scope42 | u8.scope43
    264267               
    265                 u8error1 = u8.xE0_scope & u8.x80_x9F
    266                 u8error2 = u8.xED_scope & u8.xA0_xBF
    267                 u8error3 = u8.xF0_scope & u8.x80_x8F
    268                 u8error4 = u8.xF4_scope & u8.x90_xBF
    269        
    270                 u8mismatch = u8anyscope ^ u8.suffix
    271 
    272                 u8.error = u8.badprefix | u8error1 | u8error2 | u8error3 | u8error4 | u8mismatch
    273 
    274                 EF_BF_pending = bitutil.Advance(u8.xEF_scope & u8.xBF)
    275 
    276                 FFFE_FFFF = (EF_BF_pending & (u8.xBE | u8.xBF))
     268                        u8error1 = u8.xE0_scope & u8.x80_x9F
     269                        u8error2 = u8.xED_scope & u8.xA0_xBF
     270                        u8error3 = u8.xF0_scope & u8.x80_x8F
     271                        u8error4 = u8.xF4_scope & u8.x90_xBF
     272       
     273                        u8.error |= u8error1 | u8error2 | u8error3 | u8error4
     274
     275                        EF_BF_pending = bitutil.Advance(u8.xEF_scope & u8.xBF)
     276
     277                        FFFE_FFFF = (EF_BF_pending & (u8.xBE | u8.xBF))
     278        u8mismatch = u8anyscope ^ u8.suffix
     279        u8.error |= u8mismatch
     280
    277281
    278282        xmlchar_error |= FFFE_FFFF
Note: See TracChangeset for help on using the changeset viewer.