Changeset 2667 for proto/PDF/pdf.py


Ignore:
Timestamp:
Nov 21, 2012, 11:06:40 AM (7 years ago)
Author:
bhull
Message:

Various bug fixes and improvements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/PDF/pdf.py

    r2639 r2667  
    5050        UERParen = 0
    5151        escapes = 0
     52        escaped = 0
    5253
    5354class Comments_Callouts() :
     
    203204        odd_start = start & odd
    204205        odd_final = pablo.ScanThru(odd_start, lex.Backslash)
     206        odd_sut =pablo.SpanUpTo(odd_start, odd_final)
     207
    205208        escape = escape | (odd_final & even)
    206         escape_char |= odd & pablo.SpanUpTo(odd_start, odd_final)
     209        escape_char |= odd & odd_sut
    207210       
    208211        escaped_Callouts.escapes = escape_char
    209212        escaped_Callouts.UELParen = lex.LParen &~ escape
    210213        escaped_Callouts.UERParen = lex.RParen &~ escape
     214        escaped_Callouts.escaped = escape
    211215               
    212216# Parallel version
     
    286290                                        literalStrings_Callouts.ends|=string_cursor
    287291                                        cursor = pablo.ScanTo(pablo.Advance(string_cursor), scan_characters)
    288                                 elif lt_zero():
     292                                if lt_zero():
    289293                                        literalStrings_Callouts.error|=string_cursor
    290294                                        cursor = pablo.ScanTo(pablo.Advance(string_cursor), scan_characters)
    291                                 else:
     295                                if ~(is_zero() | lt_zero()):
    292296                                        cursor = pablo.ScanTo(pablo.Advance(string_cursor), escaped_Callouts.UELParen | escaped_Callouts.UERParen)
    293297                                       
     
    296300        literalStrings_Callouts.mask = pablo.InclusiveSpan(literalStrings_Callouts.starts,literalStrings_Callouts.ends)
    297301        literalStrings_Callouts.escapes = escaped_Callouts.escapes & literalStrings_Callouts.mask
    298         literalStrings_Callouts.carriage_returns = lex.CR & literalStrings_Callouts.mask &~ literalStrings_Callouts.escapes
     302        literalStrings_Callouts.carriage_returns = lex.CR & literalStrings_Callouts.mask &~ escaped_Callouts.escaped
    299303        marker.mask = comments_Callouts.mask | literalStrings_Callouts.mask
    300304        marker.starts |= literalStrings_Callouts.starts
Note: See TracChangeset for help on using the changeset viewer.