source: trunk/symbol_table/pablo/marker_strms.py @ 2285

Last change on this file since 2285 was 2285, checked in by ksherdy, 7 years ago

Modified Markers pablo file.

File size: 2.2 KB
Line 
1from bitutil import *
2
3class Markers():
4    spans = 0
5    starts = 0
6    follows = 0
7
8# Calculate Symbol spans
9# markers.spans = [-_:.a-zA-Z0-9] character set compiler def'n, matches 'st_test_file_generator.py' def'n
10def Classify_markers(basis_bits, markers):
11    temp1 = (basis_bits.bit_0 | basis_bits.bit_1)
12    temp2 = (basis_bits.bit_2 &~ basis_bits.bit_3)
13    temp3 = (temp2 &~ temp1)
14    temp4 = (basis_bits.bit_4 & basis_bits.bit_5)
15    temp5 = (basis_bits.bit_7 &~ basis_bits.bit_6)
16    temp6 = (temp4 & temp5)
17    temp7 = (temp3 & temp6)
18    temp8 = (basis_bits.bit_1 &~ basis_bits.bit_0)
19    temp9 = (basis_bits.bit_3 &~ basis_bits.bit_2)
20    temp10 = (temp8 & temp9)
21    temp11 = (basis_bits.bit_6 & basis_bits.bit_7)
22    temp12 = (temp4 & temp11)
23    temp13 = (temp10 & temp12)
24    temp14 = (temp7 | temp13)
25    temp15 = (basis_bits.bit_2 & basis_bits.bit_3)
26    temp16 = (temp15 &~ temp1)
27    temp17 = (basis_bits.bit_4 &~ basis_bits.bit_5)
28    temp18 = (basis_bits.bit_6 &~ basis_bits.bit_7)
29    temp19 = (temp17 & temp18)
30    temp20 = (temp16 & temp19)
31    temp21 = (temp14 | temp20)
32    temp22 = (temp4 & temp18)
33    temp23 = (temp3 & temp22)
34    temp24 = (temp21 | temp23)
35    temp25 = (temp8 & basis_bits.bit_2)
36    temp26 = (basis_bits.bit_5 | temp11)
37    temp27 = (basis_bits.bit_4 & temp26)
38    temp28 = (~temp27)
39    temp29 = (basis_bits.bit_4 | basis_bits.bit_5)
40    temp30 = (basis_bits.bit_6 | basis_bits.bit_7)
41    temp31 = (temp29 | temp30)
42    temp32 = ((basis_bits.bit_3 & temp28)|(~(basis_bits.bit_3) & temp31))
43    temp33 = (temp25 & temp32)
44    temp34 = (temp24 | temp33)
45    temp35 = (temp8 &~ basis_bits.bit_2)
46    temp36 = (temp35 & temp32)
47    temp37 = (temp34 | temp36)
48    temp38 = (basis_bits.bit_5 | basis_bits.bit_6)
49    temp39 = (basis_bits.bit_4 & temp38)
50    temp40 = (temp16 &~ temp39)
51    markers.spans = (temp37 | temp40)
52
53# Determine Symbol starts, follows
54def Gen_markers(markers):
55    markers.starts = markers.spans &~ Advance(markers.spans)
56    markers.follows = ~markers.spans & Advance(markers.spans)
57    #ScanThru(markers.starts, markers.spans)
58    #markers.follows = ScanThru(markers.starts, markers.spans)
59
60def Main(markers):
61    Classify_markers(basis_bits, markers)
62    Gen_markers(markers)
63
Note: See TracBrowser for help on using the repository browser.