Mercurial > hg > CbC > CbC_gcc
annotate CbC-examples/regexp/dfareg.c @ 109:78d3881f2882
add CbC-example/rectype
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 14 Jun 2012 20:43:12 +0900 |
parents | 70947ddafad7 |
children |
rev | line source |
---|---|
62
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 #include <stdio.h> |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 #include <stdlib.h> |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 __code state_20_21(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 __code state_1(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 __code state_3_8_9_13_23_24(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 __code state_6_7(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 __code state_2_3_9_13_23_24_25(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 __code state_10_11(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 __code state_18_19(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
12 __code state_4_5(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 __code state_14_15(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 __code state_3_9_13_22_23_24(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 __code state_3_9_12_13_23_24(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 __code state_16_17(char* s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 __code accept(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 __code reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 int main(int argc, char* argv[]) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 if (argc == 1) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 printf("usage: %s text\n", argv[0]); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 exit(0); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 puts("regexp: P(erl|HP|ython)*"); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 puts("number of state: 12"); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 printf("string: %s\n", argv[1]); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 goto state_1(argv[1]); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 return 0; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 __code state_20_21(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 case 'n': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 goto state_3_9_13_22_23_24(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 __code state_1(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 case 'P': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 goto state_2_3_9_13_23_24_25(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 __code state_3_8_9_13_23_24(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
52 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 case 'y': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 goto state_14_15(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 case 'H': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 goto state_10_11(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 case 'e': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 goto state_4_5(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 case '\0': goto accept(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 __code state_6_7(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 case 'l': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 goto state_3_8_9_13_23_24(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
73 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 __code state_2_3_9_13_23_24_25(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 case 'y': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
80 goto state_14_15(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
81 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 case 'H': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 goto state_10_11(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 case 'e': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 goto state_4_5(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 case '\0': goto accept(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
89 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
91 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
92 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
93 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
94 __code state_10_11(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
95 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
96 case 'P': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
97 goto state_3_9_12_13_23_24(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
98 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
99 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
100 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
102 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
103 __code state_18_19(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
104 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
105 case 'o': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
106 goto state_20_21(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
107 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
108 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
109 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
110 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
111 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
112 __code state_4_5(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
113 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
114 case 'r': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
115 goto state_6_7(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
116 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
117 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
118 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 __code state_14_15(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
122 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
123 case 't': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
124 goto state_16_17(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
125 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
128 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
129 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 __code state_3_9_13_22_23_24(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
131 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
132 case 'y': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
133 goto state_14_15(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
134 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
135 case 'H': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
136 goto state_10_11(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
137 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 case 'e': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 goto state_4_5(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
140 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
141 case '\0': goto accept(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
143 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
144 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
145 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
146 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
147 __code state_3_9_12_13_23_24(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
148 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
149 case 'y': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
150 goto state_14_15(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
151 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
152 case 'H': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
153 goto state_10_11(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
154 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 case 'e': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
156 goto state_4_5(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
157 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
158 case '\0': goto accept(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
159 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
160 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
161 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
162 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
163 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
164 __code state_16_17(char* s) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
165 switch(*s++) { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
166 case 'h': |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
167 goto state_18_19(s); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
168 break; |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
169 default: goto reject(); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
170 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
171 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
172 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
173 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
174 __code accept() { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
175 printf("\nstring matches regexp. \n\n"); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
176 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
177 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
178 |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
179 __code reject() { |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
180 printf("\nstring does not match regexp. \n\n"); |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
181 } |
70947ddafad7
added test code, CbC-example/regexp
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
182 |