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

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

Grammar-related changes

File size: 1.7 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        cc4 = (0)
38        LF = (0) 
39
40class Output():
41        matches = (0)
42
43def Classify_bytes(basis_bits,lex):
44@cc_code
45
46def Demo(lex, output):
47        m0=0
48        m1=0
49        m2=0
50        m0=~0
51        m0 = (m0 & ~pablo.Advance(lex.cc0))
52        m0 = pablo.Advance((m0 & lex.cc0))
53        m1 = m0
54        m1 = pablo.Advance((m1 & lex.cc1))
55        m1 = pablo.Advance((m1 & lex.cc1))
56        m1 = pablo.Advance((m1 & lex.cc1))
57        m0 = m1
58        m1 = m0
59        m1 = pablo.Advance((m1 & lex.cc1))
60        m0 = (m0 | m1)
61        m1 = pablo.Advance((m1 & lex.cc1))
62        m0 = (m0 | m1)
63        m1 = pablo.Advance((m1 & lex.cc1))
64        m0 = (m0 | m1)
65        m1 = pablo.Advance((m1 & lex.cc1))
66        m0 = (m0 | m1)
67        m1 = pablo.Advance((m1 & lex.cc1))
68        m0 = (m0 | m1)
69        m1 = pablo.Advance((m1 & lex.cc1))
70        m0 = (m0 | m1)
71        m1 = pablo.Advance((m1 & lex.cc1))
72        m0 = (m0 | m1)
73        m1 = pablo.Advance((m1 & lex.cc1))
74        m0 = (m0 | m1)
75        m1 = pablo.Advance((m1 & lex.cc1))
76        m0 = (m0 | m1)
77        m1 = pablo.Advance((m1 & lex.cc1))
78        m0 = (m0 | m1)
79        m0 = pablo.Advance((m0 & lex.cc2))
80        m0 = pablo.Advance((m0 & lex.cc3))
81        m0 = pablo.Advance((m0 & lex.cc4))
82        output.matches = m0
83       
84def Main(u8data, lex, output):
85        Classify_bytes(basis_bits,lex)
86        Demo(lex,output)
Note: See TracBrowser for help on using the repository browser.