Re: bison problems (test suite)

Boyd Lynn Gerber <[email protected]> Fri, 4 Feb 2022 07:21:34 -0700
Newsgroups gmane.comp.parsers.bison.bugs
Message-ID <[email protected]>
On Wednesday 2022-02-02 10:53, Boyd Lynn Gerber wrote:

> I need to debug errors with bison on UnixWare 7 Definitive.
>
> without the CFLAGS="-O0 -g"
>
> bison builds but test tests fail with
>
> "bison: input/output error"
>
> trying to debug using this configure
>
> /configure CFLAGS="-O0 -g" --disable-yacc --enable-nls \
>            --with-libiconv-prefix=/usr/pkg --prefix=/usr/pkg \
>            --build=i486-unknown-sysv5UnixWare7.1.4 \
>            --host=i486-unknown-sysv5UnixWare7.1.4  \
>            --infodir=/usr/pkg/info --mandir=/usr/pkg/man \
>            --enable-option-checking=yes
>
> I see all these errors.
>
> updating examples/c/bistromathic/parse.output
> updating examples/c/bistromathic/parse.h
>  CC       examples/c/bistromathic/bistromathic-parse.o
> examples/c/bistromathic/parse.c: In function 'yy_lac':
> examples/c/bistromathic/parse.c:1048:18: error: 'YYSYMBOL_YYUNDEF' undeclared 
> (first use in this function); did you mean 'YYSYMBOL_YYEMPTY'?
>   if (yytoken == YYSYMBOL_YYUNDEF)
>                   ^~~~~~~~~~~~~~~~
>                   YYSYMBOL_YYEMPTY
> examples/c/bistromathic/parse.c:1048:18: note: each undeclared identifier is 
> reported only once for each function it appears in
> examples/c/bistromathic/parse.c: In function 'yypstate_expected_tokens':
> examples/c/bistromathic/parse.c:1170:20: error: 'YYSYMBOL_YYerror' undeclared 
> (first use in this function); did you mean 'YYSYMBOL_YYEMPTY'?
>       if (yysym != YYSYMBOL_YYerror && yysym != YYSYMBOL_YYUNDEF)
>                     ^~~~~~~~~~~~~~~~
>                     YYSYMBOL_YYEMPTY
> examples/c/bistromathic/parse.c:1170:49: error: 'YYSYMBOL_YYUNDEF' undeclared 
> (first use in this function); did you mean 'YYSYMBOL_YYerror'?
>       if (yysym != YYSYMBOL_YYerror && yysym != YYSYMBOL_YYUNDEF)
>                                                  ^~~~~~~~~~~~~~~~
>                                                  YYSYMBOL_YYerror
> examples/c/bistromathic/parse.c: In function 'yypush_parse':
> examples/c/bistromathic/parse.c:1522:17: error: 'TOK_YYEOF' undeclared (first 
> use in this function); did you mean 'TOK_YYEMPTY'?
>   if (yychar <= TOK_YYEOF)
>                  ^~~~~~~~~
>                  TOK_YYEMPTY
> examples/c/bistromathic/parse.c:1525:17: error: 'YYSYMBOL_YYEOF' undeclared 
> (first use in this function); did you mean 'YYSYMBOL_YYEMPTY'?
>       yytoken = YYSYMBOL_YYEOF;
>                  ^~~~~~~~~~~~~~
>                  YYSYMBOL_YYEMPTY
> examples/c/bistromathic/parse.c:1528:22: error: 'TOK_YYerror' undeclared 
> (first use in this function); did you mean 'TOK_YYEOF'?
>   else if (yychar == TOK_YYerror)
>                       ^~~~~~~~~~~
>                       TOK_YYEOF
> examples/c/bistromathic/parse.c:1534:16: error: 'TOK_YYUNDEF' undeclared 
> (first use in this function); did you mean 'TOK_YYEOF'?
>       yychar = TOK_YYUNDEF;
>                 ^~~~~~~~~~~
>                 TOK_YYEOF
> examples/c/bistromathic/parse.c:1535:17: error: 'YYSYMBOL_YYerror' undeclared 
> (first use in this function); did you mean 'YYSYMBOL_YYEOF'?
>       yytoken = YYSYMBOL_YYerror;
>                  ^~~~~~~~~~~~~~~~
>                  YYSYMBOL_YYEOF
> examples/c/bistromathic/parse.c:437:6: error: 'YYSYMBOL_YYUNDEF' undeclared 
> (first use in this function); did you mean 'YYSYMBOL_YYEOF'?
>    :  YYSYMBOL_YYUNDEF)
>      ^
> examples/c/bistromathic/parse.c:1541:17: note: in expansion of macro 
> 'YYTRANSLATE'
>       yytoken = YYTRANSLATE (yychar);
>                 ^~~~~~~~~~~
> examples/c/bistromathic/parse.c:1618:41: error: 'YYSTYPE {aka union YYSTYPE}' 
> has no member named 'TOK_exp'
>           { printf ("%.10g\n", (yyvsp[0].TOK_exp)); }
>                                         ^
> examples/c/bistromathic/parse.c:1626:29: error: 'YYSTYPE {aka union YYSTYPE}' 
> has no member named 'TOK_exp'
>                     { (yyval.TOK_exp) = (yyvsp[0].TOK_VAR)->value.var; }
>                             ^
> examples/c/bistromathic/parse.c:1626:50: error: 'YYSTYPE {aka union YYSTYPE}' 
> has no member named 'TOK_VAR'
>                     { (yyval.TOK_exp) = (yyvsp[0].TOK_VAR)->value.var; }
>                                                  ^
> examples/c/bistromathic/parse.c:1630:29: error: 'YYSTYPE {aka union YYSTYPE}' 
> has no member named 'TOK_exp'
>                     { (yyval.TOK_exp) = (yyvsp[0].TOK_exp); 
> (yyvsp[-2].TOK_VAR)->value.var = (yyvsp[0].TOK_exp); }
>                             ^
> examples/c/bistromathic/parse.c:1630:50: error: 'YYSTYPE {aka union YYSTYPE}' 
> has no member named 'TOK_exp'
>                     { (yyval.TOK_exp) = (yyvsp[0].TOK_exp); 
> (yyvsp[-2].TOK_VAR)->value.var = (yyvsp[0].TOK_exp); }
>                                                  ^
> examples/c/bistromathic/parse.c:1630:71: error: 'YYSTYPE {aka union YYSTYPE}' 
> has no member named 'TOK_VAR'
>                     { (yyval.TOK_exp) = (yyvsp[0].TOK_exp); ...
> examples/c/bistromathic/parse.c:2292:26: error: 'TOK_FUN' undeclared (first 
> use in this f
> unction)
>           if (s->type == TOK_FUN && strncmp (text, s->name, len) == 0)
>                          ^~~~~~~
> examples/c/bistromathic/parse.c:2295:12: error: 'YYSYMBOL_VAR' undeclared 
> (first use in t
> his function); did you mean 'YYSYMBOL_FUN'?
>       case YYSYMBOL_VAR:
>             ^~~~~~~~~~~~
>             YYSYMBOL_FUN
> examples/c/bistromathic/parse.c:2297:26: error: 'TOK_VAR' undeclared (first 
> use in this function); did you mean 'TOK_FUN'?
>           if (s->type == TOK_VAR && strncmp (text, s->name, len) == 0)
>                           ^~~~~~~
>                           TOK_FUN
>

These errors were introduced with

2020-04-10  Akim Demaille  <[email protected]>

  	c++: improvements on symbol kinds
  	Instead of

   	    /// (Internal) symbol kind.
   	    enum symbol_kind_type
   	    {
   	      YYNTOKENS = 5, ///< Number of tokens.
   	      YYSYMBOL_YYEMPTY = -2,
   	      YYSYMBOL_YYEOF = 0,                      // END_OF_FILE
   	      YYSYMBOL_YYERROR = 1,                    // error
   	      YYSYMBOL_YYUNDEF = 2,                    // $undefined
   	      YYSYMBOL_TEXT = 3,                       // TEXT
   	      YYSYMBOL_NUMBER = 4,                     // NUMBER
   	      YYSYMBOL_YYACCEPT = 5,                   // $accept
   	      YYSYMBOL_result = 6,                     // result
   	      YYSYMBOL_list = 7,                       // list
   	      YYSYMBOL_item = 8                        // item
   	    };

   	generate

  	    /// Symbol kinds.
   	    struct symbol_kind
   	    {
   	      enum symbol_kind_type
   	      {
  	        YYNTOKENS = 5, ///< Number of tokens.
  	        S_YYEMPTY = -2,
  	        S_YYEOF = 0,                             // END_OF_FILE
  	        S_YYERROR = 1,                           // error
  	        S_YYUNDEF = 2,                           // $undefined
  	        S_TEXT = 3,                              // TEXT
  	        S_NUMBER = 4,                            // NUMBER
   	        S_YYACCEPT = 5,                          // $accept
  	        S_result = 6,                            // result
  	        S_list = 7,                              // list
  	        S_item = 8                               // item
  	      };
  	    };



-- 
Boyd Gerber <[email protected]> 801 849-0213
ZENEZ   1042 East Fort Union #135, Midvale Utah  84047