source: trunk/symbol_table/marker_strms.py @ 2026

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

Restructuring.

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