--- a/components/bison/test/results-all.master Thu Jan 14 10:01:14 2016 -0800
+++ b/components/bison/test/results-all.master Thu Jan 14 10:17:27 2016 -0800
@@ -1,253 +1,631 @@
-Making check in build-aux
-make[2]: Nothing to be done for `check'.
+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
-make[2]: Nothing to be done for `check'.
Making check in runtime-po
-make[2]: Nothing to be done for `check'.
-Making check in lib
-/usr/gnu/bin/make check-am
-make[3]: Nothing to be done for `check-am'.
-Making check in data
-make[2]: Nothing to be done for `check'.
-Making check in src
-/usr/gnu/bin/make check-am
-make[3]: Nothing to be done for `check-am'.
-Making check in doc
-make[2]: Nothing to be done for `check'.
-Making check in examples
-Making check in calc++
-/usr/gnu/bin/make check-am
-/usr/gnu/bin/make calc++
-/usr/gnu/bin/make check-TESTS
-PASS: test
-==================
-All 1 tests passed
-==================
-make[3]: Nothing to be done for `check-am'.
-Making check in tests
-/usr/gnu/bin/make bison
-make[3]: `bison' is up to date.
-/usr/gnu/bin/make check-local
-/bin/bash $(SOURCE_DIR)/tests/testsuite
-## ------------------------- ##
-## GNU Bison 2.3 test suite. ##
-## ------------------------- ##
+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 dollar-n ok
- 2: Invalid @n ok
- 3: Type Clashes ok
- 4: Unused values ok
- 5: Incompatible Aliases ok
- 6: Torturing the Scanner ok
- 7: Typed symbol aliases ok
- 8: Require 1.0 ok
- 9: Require 2.3 ok
- 10: Require 100.0 ok
+ 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.
- 11: Output files: -dv ok
- 12: Output files: -dv >&- ok
- 13: Output files: -dv -o foo.c ok
- 14: Output files: -dv -o foo.tab.c ok
- 15: Output files: -dv -y ok
- 16: Output files: -dv -b bar ok
- 17: Output files: -dv -g -o foo.c ok
- 18: Output files: %defines %verbose ok
- 19: Output files: %defines %verbose %yacc ok
- 20: Output files: %defines %verbose %yacc ok
- 21: Output files: %file-prefix=bar %defines %verbose ok
- 22: Output files: %output=bar.c %defines %verbose %yacc ok
- 23: Output files: %file-prefix=baz %output=bar.c %defines %verbose %yacc ok
- 24: Output files: %defines %verbose ok
- 25: Output files: %defines %verbose -o foo.c ok
- 26: Output files: --defines=foo.hpp -o foo.c++ ok
- 27: Output files: -o foo.c++ --graph=foo.gph ok
- 28: Output files: %skeleton lalr1.cc %defines %verbose ok
- 29: Output files: %skeleton lalr1.cc %defines %verbose ok
- 30: Output files: %skeleton lalr1.cc %defines %verbose -o subdir/foo.cc ok
+ 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.).
- 31: Nullable ok
- 32: Broken Closure ok
- 33: Firsts ok
- 34: Accept ok
+116: Nullable ok
+117: Broken Closure ok
+118: Firsts ok
+119: Accept ok
Grammar Reduction.
- 35: Useless Terminals ok
- 36: Useless Nonterminals ok
- 37: Useless Rules ok
- 38: Reduced Automaton ok
- 39: Underivable Rules ok
- 40: Empty Language ok
-
-User Actions.
-
- 41: Prologue synch line skipped (synclines.at:95)
- 42: %union synch line skipped (synclines.at:115)
- 43: Postprologue synch line skipped (synclines.at:138)
- 44: Action synch line skipped (synclines.at:157)
- 45: Epilogue synch line skipped (synclines.at:175)
-
-Parser Headers.
-
- 46: %union and --defines ok
- 47: Invalid CPP guards: input/input ok
- 48: Invalid CPP guards: 9foo ok
- 49: export YYLTYPE ok
-
-User Actions.
-
- 50: Mid-rule actions ok
- 51: Exotic Dollars ok
- 52: Printers and Destructors : ok
- 53: Printers and Destructors with union: ok
- 54: Printers and Destructors : %defines %skeleton lalr1.ccok
- 55: Printers and Destructors with union: %defines %skeleton lalr1.ccok
- 56: Printers and Destructors : %glr-parser ok
- 57: Printers and Destructors with union: %glr-parserok
+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.
- 58: S/R in initial ok
- 59: %nonassoc and eof ok
- 60: Unresolved SR Conflicts ok
- 61: Resolved SR Conflicts ok
- 62: Defaulted Conflicted Reduction ok
- 63: %expect not enough ok
- 64: %expect right ok
- 65: %expect too much ok
- 66: %expect with reduce conflicts ok
- 67: %no-default-prec without %prec ok
- 68: %no-default-prec with %prec ok
- 69: %default-prec ok
+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.
- 70: Calculator ok
- 71: Calculator %defines ok
- 72: Calculator %locations ok
- 73: Calculator %name-prefix=calc ok
- 74: Calculator %verbose ok
- 75: Calculator %yacc ok
- 76: Calculator %error-verbose ok
- 77: Calculator %pure-parser %locations ok
- 78: Calculator %error-verbose %locations ok
- 79: Calculator %error-verbose %locations %defines %name-prefix=calc %verbose %yaccok
- 80: Calculator %debug ok
- 81: Calculator %error-verbose %debug %locations %defines %name-prefix=calc %verbose %yaccok
- 82: Calculator %pure-parser %error-verbose %debug %locations %defines %name-prefix=calc %verbose %yaccok
- 83: Calculator %pure-parser %error-verbose %debug %locations %defines %name-prefix=calc %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}ok
+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.
- 84: Calculator %glr-parser ok
- 85: Calculator %glr-parser %defines ok
- 86: Calculator %glr-parser %locations ok
- 87: Calculator %glr-parser %name-prefix=calc ok
- 88: Calculator %glr-parser %verbose ok
- 89: Calculator %glr-parser %yacc ok
- 90: Calculator %glr-parser %error-verbose ok
- 91: Calculator %glr-parser %pure-parser %locationsok
- 92: Calculator %glr-parser %error-verbose %locationsok
- 93: Calculator %glr-parser %error-verbose %locations %defines %name-prefix=calc %verbose %yaccok
- 94: Calculator %glr-parser %debug ok
- 95: Calculator %glr-parser %error-verbose %debug %locations %defines %name-prefix=calc %verbose %yaccok
- 96: Calculator %glr-parser %pure-parser %error-verbose %debug %locations %defines %name-prefix=calc %verbose %yaccok
- 97: Calculator %glr-parser %pure-parser %error-verbose %debug %locations %defines %name-prefix=calc %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}ok
+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.
- 98: Calculator %skeleton lalr1.cc %defines %locations ok
- 99: Calculator %skeleton lalr1.cc %defines %locations %error-verbose %name-prefix=calc %verbose %yaccok
-100: Calculator %skeleton lalr1.cc %defines %locations %error-verbose %debug %name-prefix=calc %verbose %yaccok
-101: Calculator %skeleton lalr1.cc %defines %locations %pure-parser %error-verbose %debug %name-prefix=calc %verbose %yaccok
-102: Calculator %skeleton lalr1.cc %defines %locations %pure-parser %error-verbose %debug %name-prefix=calc %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}ok
+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.
-103: Calculator %skeleton glr.cc %defines %locations %pure-parser %error-verbose %debug %name-prefix=calc %verbose %yaccok
-104: Calculator %skeleton glr.cc %defines %locations %pure-parser %error-verbose %debug %name-prefix=calc %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}ok
+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.
-105: Big triangle ok
-106: Big horizontal ok
-107: Many look-ahead tokens ok
-108: Exploding the Stack Size with Alloca ok
-109: Exploding the Stack Size with Malloc ok
+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.
-110: GNU AWK Grammar ok
-111: GNU Cim Grammar ok
-112: GNU pic Grammar ok
+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.
-113: Trivial grammars ok
-114: Early token definitions ok
-115: Braces parsing ok
-116: Duplicate string ok
-117: Rule Line Numbers ok
-118: Mixing %token styles ok
-119: Invalid inputs ok
-120: Invalid inputs with {} ok
-121: Token definitions ok
-122: Characters Escapes ok
-123: Web2c Report ok
-124: Web2c Actions ok
-125: Dancer ok
-126: Dancer %glr-parser ok
-127: Dancer %skeleton lalr1.cc ok
-128: Expecting two tokens ok
-129: Expecting two tokens %glr-parser ok
-130: Expecting two tokens %skeleton lalr1.cc ok
+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.
-131: Doxygen Public Documentation ok
-132: Doxygen Private Documentation ok
+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).
-133: GLR: Resolve ambiguity, impure, no locations ok
-134: GLR: Resolve ambiguity, impure, locations ok
-135: GLR: Resolve ambiguity, pure, no locations ok
-136: GLR: Resolve ambiguity, pure, locations ok
-137: GLR: Merge conflicting parses, impure, no locationsok
-138: GLR: Merge conflicting parses, impure, locationsok
-139: GLR: Merge conflicting parses, pure, no locationsok
-140: GLR: Merge conflicting parses, pure, locationsok
-141: GLR: Verbose messages, resolve ambiguity, impure, no locationsok
+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
-142: Badly Collapsed GLR States ok
-143: Improper handling of embedded actions and dollar(-N) in GLR parsersok
-144: Improper merging of GLR delayed action sets ok
-145: Duplicate representation of merged trees ok
-146: User destructor for unresolved GLR semantic valueok
-147: User destructor after an error during a split parseok
-148: Duplicated user destructor for lookahead ok
-149: Incorrectly initialized location for empty right-hand side in GLRok
-150: No users destructors if stack 0 deleted ok
-151: Corrupted semantic options if user action cuts parseok
-152: Undesirable destructors if user action cuts parseok
-153: Leaked semantic values if user action cuts parseok
-154: Incorrect lookahead during deterministic GLR ok
-155: Incorrect lookahead during nondeterministic GLRok
-156: Leaked semantic values when reporting ambiguityok
-157: Leaked lookahead after nondeterministic parse syntax errorok
-158: Uninitialized location when reporting ambiguityok
+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. ##
## ------------- ##
-153 tests were successful.
-5 tests were skipped.
+399 tests were successful.
+94 tests were skipped.