Ignore:
Timestamp:
Dec 1, 2010, 2:56:27 PM (9 years ago)
Author:
ksherdy
Message:

Update template.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/JSON/json_prototype.py

    r746 r755  
    4040lgth = 0
    4141
    42 def simd_const_4(hexdigit,EOF_mask):
     42def simd_const_4(hexdigit, EOF_mask):
    4343        r"""
    4444        IDISA library function.
     
    6868        odd_escape = (odd_final & even)
    6969
    70         escape = (even_escape | odd_escape) 
    71        
    72         return escape
     70        Escape = (even_escape | odd_escape) 
     71       
     72        return Escape
    7373       
    7474def demo_parse_escape(u8data):
     
    139139        return
    140140
    141 def atom_starts(Lex,StringSpans):
     141def atom_starts(Lex, StringSpans):
    142142        r"""
    143143        This function returns multi-cursor start positions for each JSON value type.
     
    184184        (u8, Lex, Ctrl) = byteclass.classify_bytes(bit)
    185185       
    186         EscapeChars = parse_escape(Lex, EOF_mask)
    187        
    188         UnescapedDQuotes = (Lex.DQuote &~ EscapeChars)
     186        Escape = parse_escape(Lex, EOF_mask)
     187       
     188        UnescapedDQuotes = (Lex.DQuote &~ Escape)
    189189       
    190190        ParityMask = parallel_prefix_parity(UnescapedDQuotes) # TODO - Solve EOF_mask problem, if final position is 1 then the final DQUOTE is not matched.
     
    410410        (u8, Lex, Ctrl) = byteclass.classify_bytes(bit)
    411411       
    412         EscapeChars = parse_escape(Lex, EOF_mask)
    413         UnescapedDQuotes = (Lex.DQuote &~ EscapeChars)
     412        Escape = parse_escape(Lex, EOF_mask)
     413        UnescapedDQuotes = (Lex.DQuote &~ Escape)
    414414       
    415415        ParityMask = parallel_prefix_parity(UnescapedDQuotes)
     
    433433                              ('EOF_Mask', bitutil.bitstream2string(EOF_mask, lgth+1))])
    434434
    435 def validate_string(StringStarts, Lex,Ctrl,StringMask,EscapeChars,UnescapedDQuotes):
     435def validate_string(StringStarts, Lex, Ctrl, StringMask, Escape, UnescapedDQuotes):
    436436        r"""
    437437        RFC 4627 - JavaScript Object Notation (JSON) 
     
    461461       
    462462        # (1) Validate escape characters
    463         StringEscapeChars = EscapeChars & StringMask
    464         Errors = (StringEscapeChars &~ Lex.Escape)
     463        StringEscapeChars = Escape & StringMask
     464        StringErrors = (StringEscapeChars &~ Lex.Escape)
    465465       
    466466        u = StringEscapeChars & Lex.u
     
    471471        uScope4 = bitutil.Advance(uScope3)
    472472       
    473         Errors |= uScope1 &~ Lex.HexDigit
    474         Errors |= uScope2 &~ Lex.HexDigit
    475         Errors |= uScope3 &~ Lex.HexDigit
    476         Errors |= uScope4 &~ Lex.HexDigit
     473        StringErrors |= uScope1 &~ Lex.HexDigit
     474        StringErrors |= uScope2 &~ Lex.HexDigit
     475        StringErrors |= uScope3 &~ Lex.HexDigit
     476        StringErrors |= uScope4 &~ Lex.HexDigit
    477477       
    478478        # (2) Validation of unescaped characters
     
    480480        # (2.2) '\' are either correctly escaped or the character following an odd length run is escaped.
    481481
    482         StringNotEscapedChars = (~(EscapeChars | Lex.RSolidus)) & StringMask # TODO - Verify logic.
    483         Errors |= (StringNotEscapedChars & Ctrl.x00_x1F)
     482        StringNotEscapedChars = (~(Escape | Lex.RSolidus)) & StringMask # TODO - Verify logic.
     483        StringErrors |= (StringNotEscapedChars & Ctrl.x00_x1F)
    484484       
    485485        # (3) Validate all strings are terminated with an unescaped "
    486486        StringCursor = bitutil.Advance(StringStarts)
    487487        StringEnds = bitutil.ScanThru(StringCursor, StringMask)
    488         Errors |= StringEnds &~ UnescapedDQuotes
     488        StringErrors |= StringEnds &~ UnescapedDQuotes
    489489        StringSpans = (StringEnds - StringStarts) | StringEnds
    490490       
    491491        if debug:
    492492                bitutil.print_aligned_streams([('Input Data', u8data),
    493                               ('EscapeChars', bitutil.bitstream2string(EscapeChars, lgth)),
     493                              ('Escape', bitutil.bitstream2string(Escape, lgth)),
    494494                              ('StringEscapeChars', bitutil.bitstream2string(StringEscapeChars, lgth)),
    495495                              ('u', bitutil.bitstream2string(u, lgth)),
     
    502502                              ('StringEnds', bitutil.bitstream2string(StringEnds, lgth)),
    503503                              ('StringSpans', bitutil.bitstream2string(StringSpans, lgth)),
    504                               ('Errors', bitutil.bitstream2string(Errors, lgth+1))])     
    505         return (Errors, StringSpans)
     504                              ('StringErrors', bitutil.bitstream2string(StringErrors, lgth+1))])         
     505        return (StringErrors, StringSpans)
    506506
    507507def demo_validate_string(u8data):
     
    509509        >>> demo_validate_string('["\u abcd", "\u1___", "\u12__", "\u123_"]')
    510510        Input Data      : ["\u abcd", "\u1___", "\u12__", "\u123_"]
    511         EscapeChars     : ___1__________1_________1_________1______
     511        Escape          : ___1__________1_________1_________1______
    512512        UnescapedDQuotes: _1_______1__1______1__1______1__1______1_
    513513        ParityMask      : _11111111___1111111___1111111___1111111__
     
    515515        StringStarts    : _1__________1_________1_________1________
    516516        StringSpans     : _111111111__11111111__11111111__11111111_
    517         Errors          : ____1___________111________11_________1___
     517        StringErrors    : ____1___________111________11_________1___
    518518        EOF_Mask        : 11111111111111111111111111111111111111111_
    519519        <BLANKLINE>
     
    527527        # Construct string interiors mask (1),(2),(3)
    528528        # (1) Mark all escaped characters
    529         EscapeChars = parse_escape(Lex, EOF_mask)
     529        Escape = parse_escape(Lex, EOF_mask)
    530530
    531531        # (2) Mark all unescaped "
    532         UnescapedDQuotes = (Lex.DQuote &~ EscapeChars)
     532        UnescapedDQuotes = (Lex.DQuote &~ Escape)
    533533
    534534        # (3) Construct string interiors mask
     
    539539        (StringStarts, NumberStarts, TrueStarts, FalseStarts, NullStarts) = atom_starts(Lex, StringSpans)                               
    540540       
    541         (Errors, StringSpans) = validate_string(StringStarts, Lex,Ctrl,StringMask,EscapeChars,UnescapedDQuotes)
     541        (StringErrors, StringSpans) = validate_string(StringStarts, Lex,Ctrl,StringMask,Escape,UnescapedDQuotes)
    542542       
    543543        bitutil.print_aligned_streams([('Input Data', u8data),
    544                               ('EscapeChars', bitutil.bitstream2string(EscapeChars, lgth)),
     544                              ('Escape', bitutil.bitstream2string(Escape, lgth)),
    545545                              ('UnescapedDQuotes', bitutil.bitstream2string(UnescapedDQuotes, lgth)),
    546546                              ('ParityMask', bitutil.bitstream2string(ParityMask, lgth)),
     
    548548                              ('StringStarts', bitutil.bitstream2string(StringStarts, lgth)),
    549549                              ('StringSpans', bitutil.bitstream2string(StringSpans, lgth)),
    550                               ('Errors', bitutil.bitstream2string(Errors, lgth+1)),
     550                              ('StringErrors', bitutil.bitstream2string(StringErrors, lgth+1)),
    551551                              ('EOF_Mask', bitutil.bitstream2string(EOF_mask, lgth+1))])       
    552552                             
     
    561561        (u8, Lex, Ctrl) = byteclass.classify_bytes(bit)
    562562       
    563         EscapeChars = parse_escape(Lex, EOF_mask)
    564         UnescapedDQuotes = (Lex.DQuote &~ EscapeChars)
     563        Escape = parse_escape(Lex, EOF_mask)
     564        UnescapedDQuotes = (Lex.DQuote &~ Escape)
    565565        ParityMask = parallel_prefix_parity(UnescapedDQuotes)
    566566        StringMask = ParityMask & bitutil.Advance(ParityMask)   
     
    569569        (StringStarts, NumberStarts, TrueStarts, FalseStarts, NullStarts) = atom_starts(Lex, StringSpans)
    570570       
    571         (StringErrors, StringSpans) = validate_string(StringStarts, Lex, Ctrl, StringMask, EscapeChars, UnescapedDQuotes)
     571        (StringErrors, StringSpans) = validate_string(StringStarts, Lex, Ctrl, StringMask, Escape, UnescapedDQuotes)
    572572       
    573573        (NumberErrors, NumberSpans) = validate_number(NumberStarts, Lex, EOF_mask)
Note: See TracChangeset for help on using the changeset viewer.