source: proto/RE/output/re_pablo.py @ 3277

Last change on this file since 3277 was 3122, checked in by bhull, 6 years ago

RE strategy changes

File size: 1.5 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# prototype.py template
4#
5# Ken Herdy
6# April 20, 2010
7#
8#----------------------------------------------------------------------------
9#
10# (at)lex_strms - Lexical Item Streams.
11# (at)cc_code   - Character Class compiler equations.
12# (at)pbs_code  - Parallel bit stream equations.
13# (at)pbs_debug - Parallel bit stream debug statements.
14#
15#----------------------------------------------------------------------------
16
17#import sys
18#import bitutil
19
20
21class Basis_bits():
22        bit_0 = 0
23        bit_1 = 0
24        bit_2 = 0
25        bit_3 = 0 
26        bit_4 = 0
27        bit_5 = 0
28        bit_6 = 0
29        bit_7 = 0 
30 
31class Lex():
32
33        cc0 = (0)
34        cc1 = (0)
35        cc2 = (0)
36        cc3 = (0)
37        LF = (0) 
38
39class Output():
40        matches = (0)
41
42def Classify_bytes(basis_bits,lex):
43@cc_code
44
45def Demo(lex, output):
46        m0=0
47        m1=0
48        m2=0
49        m3=0
50        m4=0
51        m0=~0
52        m1 = m0
53        m1 = pablo.Advance((m1 & lex.cc2))
54        m3 = m1
55        m3 = pablo.Advance((m3 & lex.cc0))
56        m3 = pablo.Advance((m3 & lex.cc1))
57        m3 = pablo.Advance((m3 & lex.cc0))
58        m1 = (m1 | m3)
59        m3 = pablo.Advance((m3 & lex.cc0))
60        m3 = pablo.Advance((m3 & lex.cc1))
61        m3 = pablo.Advance((m3 & lex.cc0))
62        m1 = (m1 | m3)
63        m1 = pablo.Advance((m1 & lex.cc3))
64        m1 = pablo.Advance((m1 & lex.cc2))
65        m3 = m1
66        m3 = pablo.Advance((m3 & lex.cc0))
67        m3 = pablo.Advance((m3 & lex.cc1))
68        m3 = pablo.Advance((m3 & lex.cc0))
69        m1 = (m1 | m3)
70        m3 = pablo.Advance((m3 & lex.cc0))
71        m3 = pablo.Advance((m3 & lex.cc1))
72        m3 = pablo.Advance((m3 & lex.cc0))
73        m1 = (m1 | m3)
74        m1 = pablo.Advance((m1 & lex.cc3))
75        m0 = m1
76        output.matches = m0
77       
78def Main(u8data, lex, output):
79        Classify_bytes(basis_bits,lex)
80        Demo(lex,output)
Note: See TracBrowser for help on using the repository browser.