Changeset 1267


Ignore:
Timestamp:
Aug 3, 2011, 1:20:27 PM (8 years ago)
Author:
cameron
Message:

Minor clean-ups; inline error tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/parabix2/parabix2_pablo.py

    r1264 r1267  
    320320        ctCDPI_Callouts.PI_name_ends = 0
    321321        ctCDPI_Callouts.PI_ends = 0
    322         ctCDPI_error = 0
    323322        CtCDPI_starts = 0
    324         Ct_errors = 0
     323        CtCDPI_ends = 0
    325324        ctCDPI_mask = 0
    326325
     
    362361                        ctCDPI_Callouts.PI_name_starts |= PI_Cursor
    363362                        PI_name_end = bitutil.ScanThru(PI_Cursor, lex.NameScan)
     363                        PI_error = PI_Cursor & PI_name_end
     364                        PI_error |= bitutil.Advance(PI_name_end & ~ lex.WS) & ~ PI_closer
     365                        if PI_error:
     366                                error_tracker.NoteError("Error in PI syntax", PI_name_end)
    364367                        ctCDPI_Callouts.PI_name_ends |= PI_name_end
    365368                        PI_Cursor = bitutil.ScanTo(PI_name_end, PI_closer)
    366369                        ctCDPI_Callouts.PI_ends |= PI_Cursor
    367                         ctCDPI_error |= bitutil.Advance(ctCDPI_Callouts.PI_name_ends & ~ lex.WS) & ~ PI_closer
    368                         ctCDPI_error |= ctCDPI_Callouts.PI_name_starts & ctCDPI_Callouts.PI_name_ends
     370                        CtCDPI_ends |= PI_Cursor
    369371
    370372                # CDATA section processing
     
    373375                        CD_Cursor = bitutil.ScanTo(CD_Cursor, CD_closer)
    374376                        ctCDPI_Callouts.CD_ends |= CD_Cursor
     377                        CtCDPI_ends |= CD_Cursor
    375378
    376379                # Comment processing
     
    378381                        ctCDPI_Callouts.Ct_starts |= Ct_Cursor
    379382                        Ct_Cursor = bitutil.Advance(Ct_Cursor) 
    380                         Ct_errors |= Ct_Cursor & ~ lex.Hyphen
     383                        Ct_error = Ct_Cursor & ~ lex.Hyphen
    381384                        # Advance twice past <!--, so that we don't treat <!---
    382385                        # as being a terminated comment.
    383386                        Ct_Cursor = bitutil.Advance(bitutil.Advance(Ct_Cursor))
    384387                        Ct_Cursor = bitutil.Advance(bitutil.ScanTo(Ct_Cursor, DoubleHyphen))
    385                         Ct_errors |= Ct_Cursor & ~ lex.RAngle   
     388                        Ct_error |= Ct_Cursor & ~ lex.RAngle   
    386389                        ctCDPI_Callouts.Ct_ends |= Ct_Cursor
    387                         ctCDPI_error |= Ct_errors
    388 
     390                        CtCDPI_ends |= Ct_Cursor
     391                        if Ct_error:
     392                                error_tracker.NoteError("Error in comment syntax", Ct_error)
    389393
    390394                # Common processing
    391395                CtCDPI_Cursor = PI_Cursor | CD_Cursor | Ct_Cursor
    392396                CtCDPI_Cursor = bitutil.ScanTo(CtCDPI_Cursor, CtCDPI_opener)   
    393                 ctCDPI_mask = bitutil.Advance(ctCDPI_Callouts.CD_ends | ctCDPI_Callouts.Ct_ends | ctCDPI_Callouts.PI_ends) - CtCDPI_starts             
     397                ctCDPI_mask |= (CtCDPI_ends - CtCDPI_starts) | CtCDPI_ends             
    394398                # If any of the Comment, CDATA or PI markups are unterminated, it is an error.
    395                 ctCDPI_error |= ctCDPI_mask &~ EOF_mask
    396        
    397         if ctCDPI_error:
    398                 error_tracker.NoteError("Error in comment, CDATA or processing instruction syntax", ctCDPI_error)
     399                ctCDPI_error = ctCDPI_mask &~ EOF_mask
     400       
     401                if ctCDPI_error:
     402                        error_tracker.NoteError("Error in comment, CDATA or processing instruction syntax", ctCDPI_error)
    399403               
    400404        check_streams.misc_mask = (lex.WS | lex.LAngle | (bitutil.Advance(ctCDPI_Callouts.Ct_ends | ctCDPI_Callouts.PI_ends) - (ctCDPI_Callouts.Ct_starts | ctCDPI_Callouts.PI_starts)) | CtCDPI_starts) & EOF_mask
Note: See TracChangeset for help on using the changeset viewer.