Ignore:
Timestamp:
Mar 11, 2011, 5:15:46 PM (8 years ago)
Author:
cameron
Message:

Use ScanTo? for CtCDPI parsing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/parabix2/parabix2_pablo.py

    r916 r940  
    338338
    339339
    340         # Scanning streams
    341         CtCDPI_scan = ~CtCDPI_start & EOF_mask
    342         Ct_end_scan = ~DoubleHyphen & EOF_mask
    343         CD_end_scan = ~ctCDPI_Callouts.CD_end & EOF_mask
    344         PI_end_scan = ~PI_end & EOF_mask
    345340        #
    346341        # Initiate the scan
    347342        CtCDPI_Cursor = 1
    348         CtCDPI_Cursor = bitutil.ScanThru(CtCDPI_Cursor, CtCDPI_scan)
     343        CtCDPI_Cursor = bitutil.ScanTo(CtCDPI_Cursor, CtCDPI_start)
    349344        CtCDPI_Cursor &= EOF_mask
    350345        while CtCDPI_Cursor:
     
    359354                Ct_Cursor = bitutil.Advance(Ct_Cursor) 
    360355                Ct_errors |= Ct_Cursor & ~ lex.Hyphen
    361                 Ct_Cursor = bitutil.Advance(Ct_Cursor)
    362                 Ct_end_scan |= Ct_Cursor
    363                 #PI_Cursor = bitutil.ScanThru(PI_Cursor, PI_end_scan)
     356                # Advance twice past <!--, so that we don't treat <!---
     357                # as being a terminated comment.
     358                Ct_Cursor = bitutil.Advance(bitutil.Advance(Ct_Cursor))
    364359                PI_Cursor = bitutil.Advance(PI_Cursor)
    365360                ctCDPI_Callouts.PI_name_starts |= PI_Cursor
    366361                PI_name_end = bitutil.ScanThru(PI_Cursor, lex.NameScan)
    367362                ctCDPI_Callouts.PI_name_ends |= PI_name_end
    368                 PI_Cursor = bitutil.ScanThru(PI_name_end, PI_end_scan)
    369                 CD_Cursor = bitutil.ScanThru(CD_Cursor, CD_end_scan)
    370                 Ct_Cursor = bitutil.Advance(bitutil.ScanThru(Ct_Cursor, Ct_end_scan))
     363                PI_Cursor = bitutil.ScanTo(PI_name_end, PI_end)
     364                CD_Cursor = bitutil.ScanTo(CD_Cursor, ctCDPI_Callouts.CD_end)
     365                Ct_Cursor = bitutil.Advance(bitutil.ScanTo(Ct_Cursor, DoubleHyphen))
    371366                ctCDPI_Callouts.PI_ends |= PI_Cursor
    372367                ctCDPI_Callouts.CD_ends |= CD_Cursor
    373368                ctCDPI_Callouts.Ct_ends |= Ct_Cursor
    374369                CtCDPI_Cursor = PI_Cursor | CD_Cursor | Ct_Cursor
    375                 CtCDPI_Cursor = bitutil.ScanThru(CtCDPI_Cursor, CtCDPI_scan)
     370                CtCDPI_Cursor = bitutil.ScanTo(CtCDPI_Cursor, CtCDPI_start)
    376371                CtCDPI_Cursor &= EOF_mask
    377372       
Note: See TracChangeset for help on using the changeset viewer.