PSARC/2015/549 bison version 3.0.4
15623772 SUNBT6927713 upgrade bison to 3.0.4
18111679 perl 5.12 and newer bisons don't get along
21468061 libpcap doesn't like bison3
if test -d $(SOURCE_DIR)/.git \
&& git --version >/dev/null 2>&1; then \
cd $(SOURCE_DIR) && \
git submodule --quiet foreach \
'test "$(git rev-parse "$sha1")" \
= "$(git merge-base origin "$sha1")"' \
|| { echo 'maint.mk: found non-public submodule commit' >&2; \
exit 1; }; \
else \
: ; \
fi
/usr/gnu/bin/make check-recursive
Making check in po
Making check in runtime-po
Making check in .
/usr/gnu/bin/make examples/calc++/calc++ examples/mfcalc/mfcalc examples/rpcalc/rpcalc ./tests/bison tests/atconfig tests/atlocal
/usr/gnu/bin/make check-TESTS check-local
PASS: examples/calc++/calc++.test
PASS: examples/mfcalc/mfcalc.test
PASS: examples/rpcalc/rpcalc.test
============================================================================
Testsuite summary for GNU Bison 3.0.4
============================================================================
# TOTAL: 3
# PASS: 3
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
/usr/gnu/bin/make all-recursive
Making all in po
Making all in runtime-po
Making all in .
$(SOURCE_DIR)/tests/testsuite -C tests
In file included from /usr/include/sys/time.h:467:0,
from $(@D)/lib/sys/time.h:39,
from /usr/include/sys/select.h:27,
from /usr/include/sys/types.h:645,
from $(@D)/lib/sys/types.h:28,
from $(@D)/lib/stdio.h:58,
from $(@D)/lib/wchar.h:71,
from /usr/gcc/4.8/include/c++/4.8.2/cwchar:44,
from /usr/gcc/4.8/include/c++/4.8.2/bits/postypes.h:40,
from /usr/gcc/4.8/include/c++/4.8.2/iosfwd:40,
from /usr/gcc/4.8/include/c++/4.8.2/ios:38,
from /usr/gcc/4.8/include/c++/4.8.2/ostream:38,
from /usr/gcc/4.8/include/c++/4.8.2/iostream:39,
from conftest.cc:6:
$(@D)/lib/stdio.h:1039:1: error: 'char* gets(char*)' conflicts with previous using declaration 'char* std::gets(char*)'
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
## --------------------------- ##
## GNU Bison 3.0.4 test suite. ##
## --------------------------- ##
Input Processing.
1: Invalid options ok
2: Invalid inputs ok
3: Invalid inputs with {} ok
4: Invalid $n and @n ok
5: Type Clashes ok
6: Unused values ok
7: Unused values before symbol declarations ok
8: Default %printer and %destructor redeclared ok
9: Per-type %printer and %destructor redeclared ok
10: Undefined symbols ok
11: Unassociated types used for a printer or destructor ok
12: Useless printers or destructors ok
13: Unused values with default %destructor ok
14: Unused values with per-type %destructor ok
15: Incompatible Aliases ok
16: Torturing the Scanner ok
17: Typed symbol aliases ok
18: Require 1.0 ok
19: Require 3.0.4 ok
20: Require 100.0 ok
21: String aliases for character tokens ok
22: Symbols ok
23: Numbered tokens ok
24: Unclosed constructs ok
25: %start after first rule ok
26: %prec takes a token ok
27: %prec's token must be defined ok
28: Reject unused %code qualifiers ok
29: Multiple %code ok
30: errors ok
31: %define, --define, --force-define ok
32: "%define" Boolean variables ok
33: "%define" code variables ok
34: "%define" keyword variables ok
35: "%define" enum variables ok
36: "%define" backward compatibility ok
37: Unused api.pure ok
38: C++ namespace reference errors ok
39: Bad character literals ok
40: Bad escapes in literals ok
41: LAC: Errors for %define ok
42: -Werror combinations ok
43: %name-prefix and api.prefix are incompatible ok
44: Redefined %union name ok
45: Stray $ or @ ok
46: Code injection ok
47: Deprecated directives ok
48: Unput's effect on locations ok
49: Non-deprecated directives ok
Named references tests.
50: Tutorial calculator ok
51: Undefined and ambiguous references ok
52: Misleading references ok
53: Many kinds of errors ok
54: Missing identifiers in brackets ok
55: Redundant words in brackets ok
56: Comments in brackets ok
57: Stray symbols in brackets ok
58: Redundant words in LHS brackets ok
59: Factored LHS ok
60: Unresolved references ok
61: $ or @ followed by . or - ok
Output file names.
62: Output files: -dv ok
63: Output files: -dv >&- ok
64: Output files: -dv -o foo.c ok
65: Output files: -dv -o foo.tab.c ok
66: Output files: -dv -g --xml -y ok
67: Output files: -dv -g --xml -o y.tab.c ok
68: Output files: -dv -b bar ok
69: Output files: -dv -g -o foo.c ok
70: Output files: %defines %verbose ok
71: Output files: %defines %verbose %yacc ok
72: Output files: %defines %verbose %yacc ok
73: Output files: %file-prefix "bar" %defines %verbose ok
74: Output files: %output "bar.c" %defines %verbose %yacc ok
75: Output files: %file-prefix "baz" %output "bar.c" %defines %verbose %yacc ok
76: Output files: %defines %verbose ok
77: Output files: %defines %verbose -o foo.c ok
78: Output files: --defines=foo.hpp -o foo.c++ ok
79: Output files: %defines "foo.hpp" -o foo.c++ ok
80: Output files: -o foo.c++ --graph=foo.gph ok
81: Output files: %type <foo> useless --defines --graph --xml --report=all -Wall -Werror ok
82: Output files: useless=--defines --graph --xml --report=all -Wall -Werror ok
83: Output files: lalr1.cc %verbose ok
84: Output files: lalr1.cc %defines %verbose ok
85: Output files: lalr1.cc %verbose %locations ok
86: Output files: lalr1.cc %defines %verbose %locations ok
87: Output files: lalr1.cc %defines %verbose ok
88: Output files: lalr1.cc %defines %verbose %locations -o subdir/foo.cc ok
89: Output files: lalr1.cc %defines %verbose %file-prefix "output_dir/foo" ok
90: Output files: lalr1.cc %defines %locations %verbose %file-prefix "output_dir/foo" ok
91: Conflicting output files: --graph="foo.tab.c" ok
92: Conflicting output files: %defines "foo.output" -v ok
93: Conflicting output files: lalr1.cc %defines %locations --graph="location.hh" ok
94: Conflicting output files: -o foo.y ok
95: Output file name: `~!@#$%^&*()-=_+{}[]|\:;<>, .' skipped (output.at:264)
96: Output file name: ( skipped (output.at:271)
97: Output file name: ) skipped (output.at:272)
98: Output file name: # skipped (output.at:273)
99: Output file name: @@ skipped (output.at:274)
100: Output file name: @{ skipped (output.at:275)
101: Output file name: @} skipped (output.at:276)
102: Output file name: [ skipped (output.at:277)
103: Output file name: ] skipped (output.at:278)
104: Graph with no conflicts ok
105: Graph with unsolved S/R ok
106: Graph with solved S/R ok
107: Graph with R/R ok
108: Graph with reductions with multiple LAT ok
109: Graph with a reduction rule both enabled and disabled ok
Skeleton Support.
110: Relative skeleton file names ok
111: Installed skeleton file names ok
112: Boolean=variables: invalid skeleton defaults ok
113: Complaining during macro argument expansion ok
114: Fatal errors make M4 exit immediately ok
115: Fatal errors but M4 continues producing output ok
Grammar Sets (Firsts etc.).
116: Nullable ok
117: Broken Closure ok
118: Firsts ok
119: Accept ok
Grammar Reduction.
120: Useless Terminals ok
121: Useless Nonterminals ok
122: Useless Rules ok
123: Reduced Automaton ok
124: Underivable Rules ok
125: Empty Language ok
126: no lr.type: Single State Split ok
127: lr.type=lalr: Single State Split ok
128: lr.type=ielr: Single State Split ok
129: lr.type=canonical-lr: Single State Split ok
130: no lr.type: Lane Split ok
131: lr.type=lalr: Lane Split ok
132: lr.type=ielr: Lane Split ok
133: lr.type=canonical-lr: Lane Split ok
134: no lr.type: Complex Lane Split ok
135: lr.type=lalr: Complex Lane Split ok
136: lr.type=ielr: Complex Lane Split ok
137: lr.type=canonical-lr: Complex Lane Split ok
138: no lr.type: Split During Added Lookahead Propagation ok
139: lr.type=lalr: Split During Added Lookahead Propagation ok
140: lr.type=ielr: Split During Added Lookahead Propagation ok
141: lr.type=canonical-lr: Split During Added Lookahead Propagation ok
142: no lr.default-reduction ok
143: lr.default-reduction=most ok
144: lr.default-reduction=consistent ok
145: lr.default-reduction=accepting ok
Conflicts.
146: Token declaration order ok
147: Token declaration order: literals vs. identifiers ok
148: Useless associativity warning ok
149: Useless precedence warning ok
150: S/R in initial ok
151: %nonassoc and eof ok
152: parse.error=verbose and consistent errors: lr.type=ielr ok
153: parse.error=verbose and consistent errors: lr.type=ielr %glr-parser ok
154: parse.error=verbose and consistent errors: lr.type=ielr c++ skipped (conflicts.at:531)
155: parse.error=verbose and consistent errors: lr.type=ielr java ok
156: parse.error=verbose and consistent errors: lr.type=ielr lr.default-reduction=consistent ok
157: parse.error=verbose and consistent errors: lr.type=ielr lr.default-reduction=accepting ok
158: parse.error=verbose and consistent errors: lr.type=canonical-lr ok
159: parse.error=verbose and consistent errors: lr.type=canonical-lr parse.lac=full ok
160: parse.error=verbose and consistent errors: lr.type=ielr parse.lac=full ok
161: parse.error=verbose and consistent errors: ok
162: parse.error=verbose and consistent errors: %glr-parser ok
163: parse.error=verbose and consistent errors: lr.default-reduction=consistent ok
164: parse.error=verbose and consistent errors: lr.default-reduction=accepting ok
165: parse.error=verbose and consistent errors: lr.type=canonical-lr ok
166: parse.error=verbose and consistent errors: parse.lac=full ok
167: parse.error=verbose and consistent errors: parse.lac=full lr.default-reduction=accepting ok
168: LAC: %nonassoc requires splitting canonical LR states ok
169: Unresolved SR Conflicts ok
170: Resolved SR Conflicts ok
171: %precedence suffices ok
172: %precedence does not suffice ok
173: Defaulted Conflicted Reduction ok
174: %expect not enough ok
175: %expect right ok
176: %expect too much ok
177: %expect with reduce conflicts ok
178: %prec with user string ok
179: %no-default-prec without %prec ok
180: %no-default-prec with %prec ok
181: %default-prec ok
182: Unreachable States After Conflict Resolution ok
183: Solved conflicts report for multiple reductions in a state ok
184: %nonassoc error actions for multiple reductions in a state ok
185: %expect-rr non GLR ok
186: -W versus %expect and %expect-rr ok
User Actions.
187: Prologue syncline ok
188: %union syncline ok
189: %union name syncline ok
190: Postprologue syncline ok
191: Action syncline ok
192: Epilogue syncline ok
193: %code top syncline ok
194: %no-lines: yacc.c ok
195: %no-lines: glr.c ok
196: %no-lines: lalr1.cc ok
197: %no-lines: glr.cc ok
Parser Headers.
198: Invalid CPP guards: --defines=input/input.h ok
199: Invalid CPP guards: --defines=9foo.h ok
200: Invalid CPP guards: %glr-parser --defines=input/input.h ok
201: Invalid CPP guards: %glr-parser --defines=9foo.h ok
202: export YYLTYPE ok
203: Several parsers skipped (headers.at:209)
User Actions.
204: Mid-rule actions ok
205: Implicitly empty rule ok
206: Invalid uses of %empty ok
207: Valid uses of %empty ok
208: Initial location: yacc.c ok
209: Initial location: yacc.c api.pure=full ok
210: Initial location: yacc.c api.pure %parse-param { int x } ok
211: Initial location: yacc.c api.push-pull=both ok
212: Initial location: yacc.c api.push-pull=both api.pure=full ok
213: Initial location: glr.c ok
214: Initial location: glr.c api.pure ok
215: Initial location: lalr1.cc skipped (actions.at:248)
216: Initial location: glr.cc skipped (actions.at:249)
217: Initial location: yacc.c api.pure=full ok
218: Initial location: yacc.c api.pure=full ok
219: Location print: yacc.c ok
220: Location print: glr.c ok
221: Location print: lalr1.cc skipped (actions.at:354)
222: Location print: glr.cc skipped (actions.at:355)
223: Exotic Dollars ok
224: Printers and Destructors ok
225: Printers and Destructors with union ok
226: Printers and Destructors: %defines lalr1.cc skipped (actions.at:853)
227: Printers and Destructors with union: %defines lalr1.cc skipped (actions.at:854)
228: Printers and Destructors: %glr-parser ok
229: Printers and Destructors with union: %glr-parser ok
230: Default tagless %printer and %destructor ok
231: Default tagged and per-type %printer and %destructor ok
232: Default %printer and %destructor for user-defined end token ok
233: Default %printer and %destructor are not for error or $undefined ok
234: Default %printer and %destructor are not for $accept ok
235: Default %printer and %destructor for mid-rule values ok
236: @$ in %initial-action implies %locations ok
237: @$ in %destructor implies %locations ok
238: @$ in %printer implies %locations ok
239: Qualified $$ in actions: yacc.c ok
240: Qualified $$ in actions: glr.c ok
241: Qualified $$ in actions: lalr1.cc skipped (actions.at:1608)
242: Qualified $$ in actions: glr.cc skipped (actions.at:1609)
243: Destroying lookahead assigned by semantic action ok
244: YYBACKUP ok
Value type tests.
245: %union vs. api.value.type ok
246: %yacc vs. api.value.type=union ok
247: yacc.c api.value.type={double} ok
248: yacc.c api.value.type={double} %defines ok
249: yacc.c api.value.type={variant} ok
250: yacc.c api.value.type={variant} %defines ok
251: yacc.c api.value.type={struct foo} ok
252: yacc.c api.value.type={struct foo} %defines ok
253: yacc.c api.value.type={struct bar} ok
254: yacc.c api.value.type={struct bar} %defines ok
255: yacc.c api.value.type={union foo} ok
256: yacc.c api.value.type={union foo} %defines ok
257: yacc.c %union { float fval; int ival; }; ok
258: yacc.c %union { float fval; int ival; }; %defines ok
259: yacc.c %union foo { float fval; int ival; }; ok
260: yacc.c %union foo { float fval; int ival; }; %defines ok
261: yacc.c api.value.union.name=foo; %union { float fval; int ival; }; ok
262: yacc.c api.value.union.name=foo; %union { float fval; int ival; }; %defines ok
263: yacc.c api.value.type=union ok
264: yacc.c api.value.type=union %defines ok
265: glr.c api.value.type={double} ok
266: glr.c api.value.type={double} %defines ok
267: glr.c api.value.type={variant} ok
268: glr.c api.value.type={variant} %defines ok
269: glr.c api.value.type={struct foo} ok
270: glr.c api.value.type={struct foo} %defines ok
271: glr.c api.value.type={struct bar} ok
272: glr.c api.value.type={struct bar} %defines ok
273: glr.c api.value.type={union foo} ok
274: glr.c api.value.type={union foo} %defines ok
275: glr.c %union { float fval; int ival; }; ok
276: glr.c %union { float fval; int ival; }; %defines ok
277: glr.c %union foo { float fval; int ival; }; ok
278: glr.c %union foo { float fval; int ival; }; %defines ok
279: glr.c api.value.union.name=foo; %union { float fval; int ival; }; ok
280: glr.c api.value.union.name=foo; %union { float fval; int ival; }; %defines ok
281: glr.c api.value.type=union ok
282: glr.c api.value.type=union %defines ok
283: lalr1.cc api.value.type={double} skipped (types.at:128)
284: lalr1.cc api.value.type={double} %defines skipped (types.at:128)
285: lalr1.cc api.value.type={variant} skipped (types.at:128)
286: lalr1.cc api.value.type={variant} %defines skipped (types.at:128)
287: lalr1.cc api.value.type={struct foo} skipped (types.at:128)
288: lalr1.cc api.value.type={struct foo} %defines skipped (types.at:128)
289: lalr1.cc api.value.type={struct bar} skipped (types.at:128)
290: lalr1.cc api.value.type={struct bar} %defines skipped (types.at:128)
291: lalr1.cc api.value.type={union foo} skipped (types.at:128)
292: lalr1.cc api.value.type={union foo} %defines skipped (types.at:128)
293: lalr1.cc %union { float fval; int ival; }; skipped (types.at:128)
294: lalr1.cc %union { float fval; int ival; }; %defines skipped (types.at:128)
295: lalr1.cc api.value.type=union skipped (types.at:128)
296: lalr1.cc api.value.type=union %defines skipped (types.at:128)
297: lalr1.cc api.value.type=variant skipped (types.at:128)
298: lalr1.cc api.value.type=variant %defines skipped (types.at:128)
299: glr.cc api.value.type={double} skipped (types.at:128)
300: glr.cc api.value.type={double} %defines skipped (types.at:128)
301: glr.cc api.value.type={variant} skipped (types.at:128)
302: glr.cc api.value.type={variant} %defines skipped (types.at:128)
303: glr.cc api.value.type={struct foo} skipped (types.at:128)
304: glr.cc api.value.type={struct foo} %defines skipped (types.at:128)
305: glr.cc api.value.type={struct bar} skipped (types.at:128)
306: glr.cc api.value.type={struct bar} %defines skipped (types.at:128)
307: glr.cc api.value.type={union foo} skipped (types.at:128)
308: glr.cc api.value.type={union foo} %defines skipped (types.at:128)
309: glr.cc %union { float fval; int ival; }; skipped (types.at:128)
310: glr.cc %union { float fval; int ival; }; %defines skipped (types.at:128)
311: glr.cc api.value.type=union skipped (types.at:128)
312: glr.cc api.value.type=union %defines skipped (types.at:128)
313: lalr1.cc: Named %union ok
314: glr.cc: Named %union ok
Simple LALR(1) Calculator.
315: Calculator ok
316: Calculator %defines ok
317: Calculator %locations ok
318: Calculator %name-prefix "calc" ok
319: Calculator %verbose ok
320: Calculator %yacc ok
321: Calculator parse.error=verbose ok
322: Calculator api.pure=full %locations ok
323: Calculator api.push-pull=both api.pure=full %locations ok
324: Calculator parse.error=verbose %locations ok
325: Calculator parse.error=verbose %locations %defines api.prefix={calc} %verbose %yacc ok
326: Calculator parse.error=verbose %locations %defines %name-prefix "calc" api.token.prefix={TOK_} %verbose %yacc ok
327: Calculator %debug ok
328: Calculator parse.error=verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc ok
329: Calculator parse.error=verbose %debug %locations %defines api.prefix={calc} %verbose %yacc ok
330: Calculator api.pure=full parse.error=verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc ok
331: Calculator api.push-pull=both api.pure=full parse.error=verbose %debug %locations %defines api.prefix={calc} %verbose %yacc ok
332: Calculator api.pure parse.error=verbose %debug %locations %defines api.prefix={calc} %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} ok
Simple GLR Calculator.
333: Calculator %glr-parser ok
334: Calculator %glr-parser %defines ok
335: Calculator %glr-parser %locations ok
336: Calculator %glr-parser %name-prefix "calc" ok
337: Calculator %glr-parser api.prefix={calc} ok
338: Calculator %glr-parser %verbose ok
339: Calculator %glr-parser %yacc ok
340: Calculator %glr-parser parse.error=verbose ok
341: Calculator %glr-parser api.pure %locations ok
342: Calculator %glr-parser parse.error=verbose %locations ok
343: Calculator %glr-parser parse.error=verbose %locations %defines %name-prefix "calc" %verbose %yacc ok
344: Calculator %glr-parser %debug ok
345: Calculator %glr-parser parse.error=verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc ok
346: Calculator %glr-parser parse.error=verbose %debug %locations %defines api.prefix={calc} api.token.prefix={TOK_} %verbose %yacc ok
347: Calculator %glr-parser api.pure parse.error=verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc ok
348: Calculator %glr-parser api.pure parse.error=verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} ok
349: Calculator %glr-parser api.pure parse.error=verbose %debug %locations %defines api.prefix={calc} %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} ok
Simple LALR(1) C++ Calculator.
350: Calculator lalr1.cc %defines skipped (calc.at:669)
351: Calculator C++ skipped (calc.at:678)
352: Calculator C++ %locations skipped (calc.at:679)
353: Calculator C++ %locations api.location.type={Span} skipped (calc.at:680)
354: Calculator C++ %defines %locations parse.error=verbose %name-prefix "calc" %verbose %yacc skipped (calc.at:681)
355: Calculator C++ %locations parse.error=verbose api.prefix={calc} %verbose %yacc skipped (calc.at:683)
356: Calculator C++ %locations parse.error=verbose %debug %name-prefix "calc" %verbose %yacc skipped (calc.at:684)
357: Calculator C++ %locations parse.error=verbose %debug api.prefix={calc} %verbose %yacc skipped (calc.at:686)
358: Calculator C++ %locations parse.error=verbose %debug api.prefix={calc} api.token.prefix={TOK_} %verbose %yacc skipped (calc.at:687)
359: Calculator C++ %defines %locations parse.error=verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} skipped (calc.at:689)
360: Calculator C++ parse.error=verbose %debug api.prefix={calc} %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} skipped (calc.at:691)
361: Calculator C++ %defines %locations parse.error=verbose %debug api.prefix={calc} %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} skipped (calc.at:692)
Simple GLR C++ Calculator.
362: Calculator glr.cc skipped (calc.at:703)
363: Calculator C++ %glr-parser skipped (calc.at:712)
364: Calculator C++ %glr-parser %locations skipped (calc.at:713)
365: Calculator C++ %glr-parser %locations api.location.type={Span} skipped (calc.at:714)
366: Calculator C++ %glr-parser %defines parse.error=verbose %name-prefix "calc" %verbose %yacc skipped (calc.at:715)
367: Calculator C++ %glr-parser parse.error=verbose api.prefix={calc} %verbose %yacc skipped (calc.at:716)
368: Calculator C++ %glr-parser %debug skipped (calc.at:718)
369: Calculator C++ %glr-parser parse.error=verbose %debug %name-prefix "calc" %verbose %yacc skipped (calc.at:720)
370: Calculator C++ %glr-parser parse.error=verbose %debug %name-prefix "calc" api.token.prefix={TOK_} %verbose %yacc skipped (calc.at:721)
371: Calculator C++ %glr-parser %locations %defines parse.error=verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} skipped (calc.at:723)
372: Calculator C++ %glr-parser %locations %defines parse.error=verbose %debug api.prefix={calc} %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count} skipped (calc.at:724)
Torture Tests.
373: Big triangle ok
374: Big horizontal ok
375: Many lookahead tokens ok
376: Exploding the Stack Size with Alloca ok
377: Exploding the Stack Size with Malloc ok
Existing Grammars.
378: GNU AWK 3.1.0 Grammar: LALR(1) ok
379: GNU AWK 3.1.0 Grammar: IELR(1) ok
380: GNU AWK 3.1.0 Grammar: Canonical LR(1) ok
381: GNU Cim Grammar: LALR(1) ok
382: GNU Cim Grammar: IELR(1) ok
383: GNU Cim Grammar: Canonical LR(1) ok
384: GNU pic (Groff 1.18.1) Grammar: LALR(1) ok
385: GNU pic (Groff 1.18.1) Grammar: IELR(1) ok
386: GNU pic (Groff 1.18.1) Grammar: Canonical LR(1) ok
Regression tests.
387: Trivial grammars ok
388: YYSTYPE typedef ok
389: Early token definitions with --yacc ok
390: Early token definitions without --yacc ok
391: Braces parsing ok
392: Duplicate string ok
393: Rule Line Numbers ok
394: Mixing %token styles ok
395: Invalid inputs ok
396: Invalid inputs with {} ok
397: Token definitions ok
398: Characters Escapes ok
399: Web2c Report ok
400: Web2c Actions ok
401: Dancer ok
402: Dancer %glr-parser ok
403: Dancer lalr1.cc skipped (regression.at:908)
404: Expecting two tokens ok
405: Expecting two tokens %glr-parser ok
406: Expecting two tokens lalr1.cc skipped (regression.at:985)
407: Braced code in declaration in rules section ok
408: String alias declared after use ok
409: Extra lookahead sets in report ok
410: Token number in precedence declaration ok
411: parse-gram.y: LALR = IELR ok
412: parse.error=verbose and YYSTACK_USE_ALLOCA ok
413: parse.error=verbose overflow ok
414: LAC: Exploratory stack ok
415: LAC: Memory exhaustion ok
416: Lex and parse params: yacc.c ok
417: Lex and parse params: glr.c ok
418: Lex and parse params: lalr1.cc skipped (regression.at:1595)
419: Lex and parse params: glr.cc skipped (regression.at:1596)
420: stdio.h is not needed ok
Push Parsing Tests
421: Memory Leak for Early Deletion ok
422: Multiple impure instances ok
423: Unsupported Skeletons ok
C++ Features.
424: C++ Locations skipped (c++.at:84)
425: C++ Variant-based Symbols skipped (c++.at:164)
426: Variants lalr1.cc skipped (c++.at:370)
427: Variants lalr1.cc parse.assert skipped (c++.at:371)
428: Variants lalr1.cc parse.assert %locations skipped (c++.at:372)
429: Variants lalr1.cc parse.assert %code {\n#define TWO_STAGE_BUILD\n} skipped (c++.at:373)
430: Variants lalr1.cc parse.assert api.token.constructor skipped (c++.at:374)
431: Variants lalr1.cc parse.assert api.token.constructor api.token.prefix={TOK_} skipped (c++.at:375)
432: Variants lalr1.cc parse.assert api.token.constructor api.token.prefix={TOK_} %locations skipped (c++.at:376)
433: Doxygen Public Documentation ok
434: Doxygen Private Documentation ok
435: Relative namespace references skipped (c++.at:516)
436: Absolute namespace references skipped (c++.at:522)
437: Syntactically invalid namespace references ok
438: Syntax error discarding no lookahead skipped (c++.at:607)
439: Syntax error as exception skipped (c++.at:682)
440: Exception safety with error recovery skipped (c++.at:973)
441: Exception safety without error recovery skipped (c++.at:974)
442: Exception safety with error recovery api.value.type=variant skipped (c++.at:975)
443: Exception safety without error recovery api.value.type=variant skipped (c++.at:976)
444: C++ GLR parser identifier shadowing skipped (c++.at:1023)
Java Calculator.
445: Calculator ok
446: Calculator %error-verbose ok
447: Calculator %locations ok
448: Calculator %error-verbose %locations ok
449: Calculator %lex-param { InputStream is } ok
450: Calculator %error-verbose %lex-param { InputStream is } ok
451: Calculator %locations %lex-param { InputStream is } ok
452: Calculator %error-verbose %locations %lex-param { InputStream is } ok
Java Parameters.
453: Java parser class and package names ok
454: Java parser class modifiers ok
455: Java parser class extends and implements ok
456: Java %parse-param and %lex-param ok
457: Java throws specifications ok
458: Java constructor init and init_throws ok
459: Java value, position, and location types ok
460: Java syntax error handling without error token ok
Java Push Parsing Tests
461: Trivial Push Parser with api.push-pull verification ok
462: Trivial Push Parser with %initial-action ok
463: Calc parser with api.push-pull both ok
464: Calc parser with %locations %code lexer and api.push-pull both ok
C++ Type Syntax (GLR).
465: GLR: Resolve ambiguity, impure, no locations ok
466: GLR: Resolve ambiguity, impure, locations ok
467: GLR: Resolve ambiguity, pure, no locations ok
468: GLR: Resolve ambiguity, pure, locations ok
469: GLR: Merge conflicting parses, impure, no locations ok
470: GLR: Merge conflicting parses, impure, locations ok
471: GLR: Merge conflicting parses, pure, no locations ok
472: GLR: Merge conflicting parses, pure, locations ok
473: GLR: Verbose messages, resolve ambiguity, impure, no locations ok
GLR Regression Tests
474: Badly Collapsed GLR States ok
475: Improper handling of embedded actions and dollar(-N) in GLR parsers ok
476: Improper merging of GLR delayed action sets ok
477: Duplicate representation of merged trees ok
478: User destructor for unresolved GLR semantic value ok
479: User destructor after an error during a split parse ok
480: Duplicated user destructor for lookahead ok
481: Incorrectly initialized location for empty right-hand side in GLR ok
482: No users destructors if stack 0 deleted ok
483: Corrupted semantic options if user action cuts parse ok
484: Undesirable destructors if user action cuts parse ok
485: Leaked semantic values if user action cuts parse ok
486: Incorrect lookahead during deterministic GLR ok
487: Incorrect lookahead during nondeterministic GLR ok
488: Leaked semantic values when reporting ambiguity ok
489: Leaked lookahead after nondeterministic parse syntax error ok
490: Uninitialized location when reporting ambiguity ok
491: Missed %merge type warnings when LHS type is declared later ok
492: Ambiguity reports ok
493: Predicates ok
## ------------- ##
## Test results. ##
## ------------- ##
399 tests were successful.
94 tests were skipped.