source: proto/pablo/input/test/expr1.pablo @ 2361

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

Updated Pablo grammar and example program fragments.

File size: 3.2 KB
Line 
1function void Expressions() {
2        temp1 = (basis_bits.bit_0 | basis_bits.bit_1);
3        temp2 = (basis_bits.bit_2 &~ basis_bits.bit_3);
4        temp3 = (temp2 &~ temp1);
5        temp4 = (basis_bits.bit_5 &~ basis_bits.bit_4);
6        temp5 = (basis_bits.bit_6 &~ basis_bits.bit_7);
7        temp6 = (temp4 & temp5);
8        lex.RefStart = (temp3 & temp6);
9        temp7 = (basis_bits.bit_2 & basis_bits.bit_3);
10        temp8 = (temp7 &~ temp1);
11        temp9 = (basis_bits.bit_4 &~ basis_bits.bit_5);
12        temp10 = (basis_bits.bit_6 & basis_bits.bit_7);
13        temp11 = (temp9 & temp10);
14        lex.Semicolon = (temp8 & temp11);
15        temp12 = (basis_bits.bit_4 & basis_bits.bit_5);
16        temp13 = (basis_bits.bit_6 | basis_bits.bit_7);
17        temp14 = (temp12 &~ temp13);
18        lex.LAngle = (temp8 & temp14);
19        temp15 = (temp12 & temp5);
20        lex.RAngle = (temp8 & temp15);
21        temp16 = (basis_bits.bit_1 &~ basis_bits.bit_0);
22        temp17 = (basis_bits.bit_3 &~ basis_bits.bit_2);
23        temp18 = (temp16 & temp17);
24        lex.LBracket = (temp18 & temp11);
25        temp19 = (basis_bits.bit_7 &~ basis_bits.bit_6);
26        temp20 = (temp12 & temp19);
27        lex.RBracket = (temp18 & temp20);
28        temp21 = (basis_bits.bit_4 | basis_bits.bit_5);
29        temp22 = (temp19 &~ temp21);
30        lex.Exclam = (temp3 & temp22);
31        temp23 = (temp12 & temp10);
32        lex.QMark = (temp8 & temp23);
33        lex.Hyphen = (temp3 & temp20);
34        lex.Equals = (temp8 & temp20);
35        temp24 = (temp4 & temp10);
36        lex.SQuote = (temp3 & temp24);
37        temp25 = (temp5 &~ temp21);
38        lex.DQuote = (temp3 & temp25);
39        lex.Slash = (temp3 & temp23);
40        temp26 = (temp10 &~ temp21);
41        lex.Hash = (temp3 & temp26);
42        temp27 = (temp16 & temp7);
43        temp28 = (temp9 &~ temp13);
44        lex.x = (temp27 & temp28);
45        temp29 = (temp9 & temp5);
46        lex.Colon = (temp8 & temp29);
47        temp30 = (temp18 & temp23);
48        temp31 = (temp30 | lex.Colon);
49        temp32 = (temp16 &~ basis_bits.bit_2);
50        temp33 = (basis_bits.bit_5 | temp10);
51        temp34 = (basis_bits.bit_4 & temp33);
52        temp35 = (~temp34);
53        temp36 = (temp21 | temp13);
54        temp37 = ((basis_bits.bit_3 & temp35)|(~(basis_bits.bit_3) & temp36));
55        temp38 = (temp32 & temp37);
56        temp39 = (temp31 | temp38);
57        temp40 = (temp16 & basis_bits.bit_2);
58        temp41 = (temp40 & temp37);
59        lex.ASCII_name_start = (temp39 | temp41);
60        temp42 = (temp30 | lex.Hyphen);
61        temp43 = (temp3 & temp15);
62        temp44 = (temp42 | temp43);
63        temp45 = (temp8 &~ temp34);
64        temp46 = (temp44 | temp45);
65        temp47 = (temp46 | temp38);
66        lex.ASCII_name_char = (temp47 | temp41);
67        lex.NameScan = (lex.ASCII_name_char | basis_bits.bit_0);
68        temp48 = (temp1 | basis_bits.bit_2);
69        x00_x1F = (~temp48);
70        temp49 = (basis_bits.bit_2 | basis_bits.bit_3);
71        temp50 = (temp1 | temp49);
72        lex.CR = (temp20 &~ temp50);
73        lex.LF = (temp29 &~ temp50);
74        temp51 = (temp9 & temp19);
75        lex.HT = (temp51 &~ temp50);
76        lex.SP = (temp3 &~ temp36);
77        temp52 = (temp20 | temp29);
78        temp53 = (temp52 | temp51);
79        temp54 = (temp53 &~ temp50);
80        lex.WS = (temp54 | lex.SP);
81        temp55 = (basis_bits.bit_5 | basis_bits.bit_6);
82        temp56 = (basis_bits.bit_4 & temp55);
83        lex.Digit = (temp8 &~ temp56);
84        temp57 = (temp16 &~ temp49);
85        temp58 = (temp57 &~ basis_bits.bit_4);
86        temp59 = (~temp10);
87        temp60 = ((basis_bits.bit_5 & temp59)|(~(basis_bits.bit_5) & temp13));
88        temp61 = (temp58 & temp60);
89        temp62 = (lex.Digit | temp61);
90        temp63 = (temp16 & temp2);
91        temp64 = (temp63 &~ basis_bits.bit_4);
92        temp65 = (temp64 & temp60);
93        lex.Hex = (temp62 | temp65);
94        lex_error = x00_x1F &~ lex.WS;
95};
Note: See TracBrowser for help on using the repository browser.