124 |
|
|
125 |
AT_SETUP([Useless Rules]) |
AT_SETUP([Useless Rules]) |
126 |
|
|
127 |
|
AT_KEYWORDS([report]) |
128 |
|
|
129 |
AT_DATA([[input.y]], |
AT_DATA([[input.y]], |
130 |
[[%verbose |
[[%verbose |
131 |
%output="input.c" |
%output="input.c" |
186 |
'7' |
'7' |
187 |
'8' |
'8' |
188 |
'9' |
'9' |
189 |
Useless rules: |
Useless rules |
190 |
#2 useless1: '1'; |
2 useless1: '1' |
191 |
#3 useless2: '2'; |
3 useless2: '2' |
192 |
#4 useless3: '3'; |
4 useless3: '3' |
193 |
#5 useless4: '4'; |
5 useless4: '4' |
194 |
#6 useless5: '5'; |
6 useless5: '5' |
195 |
#7 useless6: '6'; |
7 useless6: '6' |
196 |
#8 useless7: '7'; |
8 useless7: '7' |
197 |
#9 useless8: '8'; |
9 useless8: '8' |
198 |
#10 useless9: '9'; |
10 useless9: '9' |
199 |
]]) |
]]) |
200 |
|
|
201 |
AT_CLEANUP |
AT_CLEANUP |
211 |
|
|
212 |
AT_SETUP([Reduced Automaton]) |
AT_SETUP([Reduced Automaton]) |
213 |
|
|
214 |
|
AT_KEYWORDS([report]) |
215 |
|
|
216 |
# The non reduced grammar. |
# The non reduced grammar. |
217 |
# ------------------------ |
# ------------------------ |
218 |
AT_DATA([[not-reduced.y]], |
AT_DATA([[not-reduced.y]], |
253 |
non_productive |
non_productive |
254 |
Terminals which are not used: |
Terminals which are not used: |
255 |
useless_token |
useless_token |
256 |
Useless rules: |
Useless rules |
257 |
#2 exp: non_productive; |
2 exp: non_productive |
258 |
#3 not_reachable: useful; |
3 not_reachable: useful |
259 |
#4 non_productive: non_productive useless_token; |
4 non_productive: non_productive useless_token |
260 |
]]) |
]]) |
261 |
|
|
262 |
# The reduced grammar. |
# The reduced grammar. |
300 |
|
|
301 |
AT_SETUP([Underivable Rules]) |
AT_SETUP([Underivable Rules]) |
302 |
|
|
303 |
|
AT_KEYWORDS([report]) |
304 |
|
|
305 |
AT_DATA([[input.y]], |
AT_DATA([[input.y]], |
306 |
[[%verbose |
[[%verbose |
307 |
%output="input.c" |
%output="input.c" |
325 |
[[Useless nonterminals: |
[[Useless nonterminals: |
326 |
underivable |
underivable |
327 |
indirection |
indirection |
328 |
Useless rules: |
Useless rules |
329 |
#2 exp: underivable; |
2 exp: underivable |
330 |
#3 underivable: indirection; |
3 underivable: indirection |
331 |
#4 indirection: underivable; |
4 indirection: underivable |
332 |
]]) |
]]) |
333 |
|
|
334 |
AT_CLEANUP |
AT_CLEANUP |