Ignore:
Timestamp:
Sep 15, 2013, 11:09:20 AM (6 years ago)
Author:
cameron
Message:

Update MatchStar? description and diagram

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/Working/re/scripts/streams.py

    r3490 r3491  
    9999
    100100
     101def latex_streams2(chardata):
     102        lgth = len(chardata)
     103        basis_bits = Basis_bits()
     104        lex = Lex()
     105        pablo.EOF_mask = pablo.transpose_streams(chardata, basis_bits)
     106        do_lex(basis_bits, lex)
     107        M1 = pablo.Advance(lex.a)
     108        M2 = pablo.MatchStar(M1, lex.digit)
     109        M3 = pablo.Advance(M2 & lex.z)
     110        return pablo.latex_streams([('input data ', chardata),
     111                              ('$M_1$', pablo.bitstream2string(M1, lgth, zero_ch)),
     112                              ('$M_2$', pablo.bitstream2string(M2, lgth, zero_ch)),
     113                              ('$M_3$', pablo.bitstream2string(M3, lgth, zero_ch))])
     114
     115def latex_streams3(chardata):
     116        lgth = len(chardata)
     117        basis_bits = Basis_bits()
     118        lex = Lex()
     119        pablo.EOF_mask = pablo.transpose_streams(chardata, basis_bits)
     120        do_lex(basis_bits, lex)
     121        M1 = pablo.Advance(lex.a)
     122        T0 = M1 & lex.digit
     123        T1 = T0 + lex.digit
     124        T2 = T1 ^ lex.digit
     125        #M2 = pablo.MatchStar(m1, lex.digit)
     126        M2 = T2 | M1
     127        return pablo.latex_streams([('input data ', chardata),
     128                              ('$M_1$', pablo.bitstream2string(M1, lgth, zero_ch)),
     129                              ('$D = \\text{\\tt [0-9]}$', pablo.bitstream2string(lex.digit, lgth, zero_ch)),
     130                              ('$T_0 = M_1 \wedge D$', pablo.bitstream2string(T0, lgth, zero_ch)),
     131                              ('$T_1 = T_0 + D$', pablo.bitstream2string(T1, lgth, zero_ch)),
     132                              ('$T_2 = T_1 \oplus D$', pablo.bitstream2string(T2, lgth, zero_ch)),
     133                              ('$M_2 = T_2 \, | \, M_1$', pablo.bitstream2string(M2, lgth, zero_ch))])
     134
     135
     136
    101137
    102138if __name__ == "__main__":
    103139        print latex_streams1(r"""a4534q--b29z---az---a4q--bca22z--""")
     140        print latex_streams2(r"""a4534q--b29z---az---a4q--bca22z--""")
     141        print latex_streams3(r"""a4534q--b29z---az---a4q--bca22z--""")
    104142
    105143
Note: See TracChangeset for help on using the changeset viewer.