Changeset 571 for proto/parabix2


Ignore:
Timestamp:
Aug 11, 2010, 11:43:05 AM (9 years ago)
Author:
lindanl
Message:

Misc determination

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/parabix2/parabix2.py

    r570 r571  
    133133        input data :  <?php?>  <!-- example -->  <![CDATA[  shift: a<<1 ]]>
    134134        CD_span    : ______________________________11111111111111111111111__
    135         Ct_span    : _____________111111111111______________________________
     135        Ct_span    : ____________1111111111111______________________________
    136136        PI_span    : __11111________________________________________________
    137137        CtCDPI_mask: __111111___111111111111111___1111111111111111111111111_
     138        Misc_mask  : 111111111111111111111111111111_______11______1_11_1___1
    138139        error      : ________________________________________________________
    139140       
     
    143144        input data :  <!--  <?php?>  --   <!-- -->
    144145        CD_span    : _____________________________
    145         Ct_span    : ____11111111111111______1111_
     146        Ct_span    : ___111111111111111_____11111_
    146147        PI_span    : _____________________________
    147148        CtCDPI_mask: __11111111111111111___1111111
     149        Misc_mask  : 11111111111111111111111111111
    148150        error      : __________________1___________
    149151
     
    154156        PI_span    : _111111111111_
    155157        CtCDPI_mask: _1111111111111
     158        Misc_mask  : 11111111111111
    156159        error      : ____________1__
    157160
     
    163166        Ct_starts = 0
    164167        Ct_ends = 0
     168        Ct_errors = 0
    165169        CD_starts = 0
    166170        CD_ends = 0
     
    183187                CD_Ct_Cursor = bitutil.Advance(CtCDPI_Cursor & ~PI_Cursor)
    184188                CD_Cursor = CD_Ct_Cursor & lex.LBracket
    185                 Ct_Cursor = bitutil.Advance(CD_Ct_Cursor & lex.Hyphen) 
     189                Ct_Cursor = CD_Ct_Cursor & lex.Hyphen
    186190                PI_starts |= PI_Cursor
    187191                CD_starts |= CD_Cursor
    188192                Ct_starts |= Ct_Cursor
     193                Ct_Cursor = bitutil.Advance(Ct_Cursor)
     194                Ct_errors |= Ct_Cursor & ~ lex.Hyphen
    189195                Ct_Cursor = bitutil.Advance(Ct_Cursor)
    190196                Ct_end_scan |= Ct_Cursor
     
    210216       
    211217        callouts.CtCDPI_mask |= bitutil.Advance(CD_ends | Ct_ends | PI_ends) - CtCDPI_starts
    212         callouts.error = Ct_ends & ~lex.RAngle | Ct_starts & ~ lex.Hyphen
     218        callouts.error = Ct_errors | Ct_ends & ~lex.RAngle
    213219        callouts.error |= bitutil.Advance(PI_name_ends & ~ lex.WS) & ~ lex.PI_end
    214220        callouts.error |= PI_namestarts & PI_name_ends
    215221        # If any of the Comment, CDATA or PI markups are unterminated, it is an error.
    216222        callouts.error |= callouts.CtCDPI_mask &~ EOF_mask
     223        callouts.Misc_mask = lex.WS | lex.LAngle | (bitutil.Advance(Ct_ends | PI_ends) - (Ct_starts | PI_starts)) | CtCDPI_starts
    217224        return callouts
    218225
     
    228235                              ('PI_span', bitutil.bitstream2string(markup.PI_span, lgth)),
    229236                              ('CtCDPI_mask', bitutil.bitstream2string(markup.CtCDPI_mask, lgth)),
     237                              ('Misc_mask', bitutil.bitstream2string(markup.Misc_mask, lgth)),
    230238                              ('error', bitutil.bitstream2string(markup.error, lgth+1))])
    231239
Note: See TracChangeset for help on using the changeset viewer.