diff -r 195e24ffa71a -r 28045eab1400 components/bison/test/results-all.master --- 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 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.