Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Feb 2023 22:37:31 GMT
From:      =?utf-8?Q?Dag-Erling=20Sm=C3=B8rgrav?= <des@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 8e022d3cdea1 - main - byacc: Update to 20230201.
Message-ID:  <202302202237.31KMbViu096747@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=8e022d3cdea10ee1039a632f670c27fd93f65625

commit 8e022d3cdea10ee1039a632f670c27fd93f65625
Merge: b16a37eda8b1 cba5e8978cf6
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2023-02-20 22:35:32 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2023-02-20 22:35:32 +0000

    byacc: Update to 20230201.
    
    Note that this enables the backtracking extension, which we had previously left disabled.
    
    PR:             244149, 269425
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D38421

 contrib/byacc/CHANGES                              | 2950 +++++++++++++++-
 contrib/byacc/MANIFEST                             |  102 +-
 contrib/byacc/VERSION                              |    2 +-
 contrib/byacc/aclocal.m4                           |  493 ++-
 contrib/byacc/btyaccpar.c                          |    4 +-
 contrib/byacc/btyaccpar.skel                       |    4 +-
 contrib/byacc/closure.c                            |   36 +-
 contrib/byacc/config.guess                         | 1203 ++++---
 contrib/byacc/config.sub                           |  655 ++--
 contrib/byacc/config_h.in                          |    6 +
 contrib/byacc/configure                            | 3730 ++++++++++++--------
 contrib/byacc/configure.in                         |   24 +-
 contrib/byacc/defs.h                               |  136 +-
 contrib/byacc/graph.c                              |   12 +-
 contrib/byacc/install-sh                           |  671 ++--
 contrib/byacc/lalr.c                               |   41 +-
 contrib/byacc/lr0.c                                |   36 +-
 contrib/byacc/main.c                               |  153 +-
 contrib/byacc/makefile.in                          |   12 +-
 contrib/byacc/mkpar.c                              |   30 +-
 contrib/byacc/output.c                             |  101 +-
 contrib/byacc/package/byacc.spec                   |   74 +-
 contrib/byacc/package/debian/changelog             |  103 +
 contrib/byacc/package/debian/compat                |    1 -
 contrib/byacc/package/debian/control               |   29 +-
 contrib/byacc/package/debian/copyright             |  115 +-
 contrib/byacc/package/debian/docs                  |    4 -
 contrib/byacc/package/debian/postinst              |   15 -
 contrib/byacc/package/debian/prerm                 |   12 -
 contrib/byacc/package/debian/rules                 |  148 +-
 contrib/byacc/package/debian/watch                 |   22 +-
 contrib/byacc/package/mingw-byacc.spec             |   45 +-
 contrib/byacc/package/pkgsrc/Makefile              |   14 +-
 contrib/byacc/reader.c                             |  211 +-
 contrib/byacc/test/btyacc/big_b.error              |   11 +
 contrib/byacc/test/btyacc/big_l.error              |   11 +
 contrib/byacc/test/btyacc/btyacc_calc1.tab.c       |   36 +-
 contrib/byacc/test/btyacc/btyacc_calc1.tab.h       |    2 +-
 contrib/byacc/test/btyacc/btyacc_demo.tab.c        |  176 +-
 contrib/byacc/test/btyacc/btyacc_demo.tab.h        |    2 +-
 contrib/byacc/test/btyacc/btyacc_destroy1.tab.c    |   21 +-
 contrib/byacc/test/btyacc/btyacc_destroy1.tab.h    |    2 +-
 contrib/byacc/test/btyacc/btyacc_destroy2.tab.c    |   21 +-
 contrib/byacc/test/btyacc/btyacc_destroy2.tab.h    |    2 +-
 contrib/byacc/test/btyacc/btyacc_destroy3.tab.c    |   21 +-
 contrib/byacc/test/btyacc/btyacc_destroy3.tab.h    |    2 +-
 contrib/byacc/test/btyacc/calc.tab.c               |   23 +-
 contrib/byacc/test/btyacc/calc1.tab.c              |   35 +-
 contrib/byacc/test/btyacc/calc1.tab.h              |    2 +-
 contrib/byacc/test/btyacc/calc2.tab.c              |   23 +-
 contrib/byacc/test/btyacc/calc3.tab.c              |   23 +-
 contrib/byacc/test/btyacc/calc_code_all.tab.c      |   23 +-
 contrib/byacc/test/btyacc/calc_code_default.tab.c  |   23 +-
 contrib/byacc/test/btyacc/calc_code_imports.tab.c  |   23 +-
 contrib/byacc/test/btyacc/calc_code_provides.tab.c |   23 +-
 contrib/byacc/test/btyacc/calc_code_requires.tab.c |   23 +-
 contrib/byacc/test/btyacc/calc_code_top.tab.c      |   23 +-
 contrib/byacc/test/btyacc/code_calc.code.c         |   23 +-
 contrib/byacc/test/btyacc/code_error.code.c        |    6 +-
 contrib/byacc/test/btyacc/defines1.calc.c          |   23 +-
 contrib/byacc/test/btyacc/defines2.calc.c          |   23 +-
 contrib/byacc/test/btyacc/defines3.calc.c          |   23 +-
 contrib/byacc/test/btyacc/empty.tab.c              |    6 +-
 contrib/byacc/test/btyacc/err_inherit1.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_inherit2.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_inherit3.tab.c       |   29 +-
 contrib/byacc/test/btyacc/err_inherit3.tab.h       |    2 +-
 contrib/byacc/test/btyacc/err_inherit4.tab.c       |   27 +-
 contrib/byacc/test/btyacc/err_inherit4.tab.h       |    2 +-
 contrib/byacc/test/btyacc/err_inherit5.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax1.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax10.tab.c       |    6 +-
 contrib/byacc/test/btyacc/err_syntax11.tab.c       |    6 +-
 contrib/byacc/test/btyacc/err_syntax12.tab.c       |    6 +-
 contrib/byacc/test/btyacc/err_syntax13.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax14.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax15.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax16.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax17.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax18.tab.c       |    9 +-
 contrib/byacc/test/btyacc/err_syntax19.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax2.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax20.tab.c       |    9 +-
 contrib/byacc/test/btyacc/err_syntax21.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax22.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax23.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax24.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax25.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax26.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax27.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax3.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax4.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax5.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax6.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax7.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax7a.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax7b.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax8.tab.c        |    4 +-
 contrib/byacc/test/btyacc/err_syntax8a.tab.c       |    4 +-
 contrib/byacc/test/btyacc/err_syntax9.tab.c        |    4 +-
 contrib/byacc/test/btyacc/error.tab.c              |    6 +-
 contrib/byacc/test/btyacc/expr.oxout.tab.c         |  114 +-
 contrib/byacc/test/btyacc/expr.oxout.tab.h         |   10 +-
 contrib/byacc/test/btyacc/grammar.tab.c            |   90 +-
 contrib/byacc/test/btyacc/help.error               |   11 +
 contrib/byacc/test/btyacc/inherit0.tab.c           |   19 +-
 contrib/byacc/test/btyacc/inherit1.tab.c           |   21 +-
 contrib/byacc/test/btyacc/inherit1.tab.h           |    2 +-
 contrib/byacc/test/btyacc/inherit2.tab.c           |   28 +-
 contrib/byacc/test/btyacc/inherit2.tab.h           |    2 +-
 contrib/byacc/test/btyacc/no_b_opt.error           |   11 +
 contrib/byacc/test/btyacc/no_output2.error         |   11 +
 contrib/byacc/test/btyacc/no_p_opt.error           |   11 +
 contrib/byacc/test/btyacc/nostdin.error            |   11 +
 contrib/byacc/test/btyacc/ok_syntax1.tab.c         |   25 +-
 contrib/byacc/test/btyacc/ok_syntax1.tab.h         |    2 +-
 contrib/byacc/test/btyacc/pure_calc.tab.c          |   23 +-
 contrib/byacc/test/btyacc/pure_error.tab.c         |    6 +-
 contrib/byacc/test/btyacc/quote_calc-s.tab.c       |   23 +-
 contrib/byacc/test/btyacc/quote_calc.tab.c         |   23 +-
 contrib/byacc/test/btyacc/quote_calc2-s.tab.c      |   23 +-
 contrib/byacc/test/btyacc/quote_calc2.tab.c        |   23 +-
 contrib/byacc/test/btyacc/quote_calc3-s.tab.c      |   23 +-
 contrib/byacc/test/btyacc/quote_calc3.tab.c        |   23 +-
 contrib/byacc/test/btyacc/quote_calc4-s.tab.c      |   23 +-
 contrib/byacc/test/btyacc/quote_calc4.tab.c        |   23 +-
 contrib/byacc/test/btyacc/rename_debug.c           |    6 +-
 contrib/byacc/test/btyacc/stdin1.calc.c            |   23 +-
 contrib/byacc/test/btyacc/stdin2.calc.c            |   23 +-
 contrib/byacc/test/btyacc/varsyntax_calc1.tab.c    |   35 +-
 contrib/byacc/test/btyacc/varsyntax_calc1.tab.h    |    2 +-
 contrib/byacc/test/expr.oxout.y                    |   18 +-
 contrib/byacc/test/run_lint.sh                     |   11 +-
 contrib/byacc/test/run_make.sh                     |   39 +-
 contrib/byacc/test/run_test.sh                     |   69 +-
 contrib/byacc/test/yacc/big_b.error                |   11 +
 contrib/byacc/test/yacc/big_l.error                |   11 +
 contrib/byacc/test/yacc/calc.tab.c                 |   25 +-
 contrib/byacc/test/yacc/calc1.tab.c                |   37 +-
 contrib/byacc/test/yacc/calc1.tab.h                |    2 +-
 contrib/byacc/test/yacc/calc2.tab.c                |   25 +-
 contrib/byacc/test/yacc/calc3.tab.c                |   25 +-
 contrib/byacc/test/yacc/calc_code_all.tab.c        |   25 +-
 contrib/byacc/test/yacc/calc_code_default.tab.c    |   25 +-
 contrib/byacc/test/yacc/calc_code_imports.tab.c    |   25 +-
 contrib/byacc/test/yacc/calc_code_provides.tab.c   |   25 +-
 contrib/byacc/test/yacc/calc_code_requires.tab.c   |   25 +-
 contrib/byacc/test/yacc/calc_code_top.tab.c        |   25 +-
 contrib/byacc/test/yacc/code_calc.code.c           |   25 +-
 contrib/byacc/test/yacc/code_error.code.c          |    8 +-
 contrib/byacc/test/yacc/defines1.calc.c            |   25 +-
 contrib/byacc/test/yacc/defines2.calc.c            |   25 +-
 contrib/byacc/test/yacc/defines3.calc.c            |   25 +-
 contrib/byacc/test/yacc/empty.tab.c                |    8 +-
 contrib/byacc/test/yacc/err_syntax1.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax10.tab.c         |    8 +-
 contrib/byacc/test/yacc/err_syntax11.tab.c         |    8 +-
 contrib/byacc/test/yacc/err_syntax12.tab.c         |    8 +-
 contrib/byacc/test/yacc/err_syntax13.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax14.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax15.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax16.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax17.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax18.tab.c         |   11 +-
 contrib/byacc/test/yacc/err_syntax19.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax2.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax20.tab.c         |   11 +-
 contrib/byacc/test/yacc/err_syntax21.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax22.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax23.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax24.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax25.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax26.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax27.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax3.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax4.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax5.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax6.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax7.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax7a.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax7b.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax8.tab.c          |    4 +-
 contrib/byacc/test/yacc/err_syntax8a.tab.c         |    4 +-
 contrib/byacc/test/yacc/err_syntax9.tab.c          |    4 +-
 contrib/byacc/test/yacc/error.tab.c                |    8 +-
 contrib/byacc/test/yacc/expr.oxout.tab.c           |  104 +-
 contrib/byacc/test/yacc/expr.oxout.tab.h           |    4 +-
 contrib/byacc/test/yacc/grammar.tab.c              |   92 +-
 contrib/byacc/test/yacc/help.error                 |   11 +
 contrib/byacc/test/yacc/no_b_opt.error             |   11 +
 contrib/byacc/test/yacc/no_output2.error           |   11 +
 contrib/byacc/test/yacc/no_p_opt.error             |   11 +
 contrib/byacc/test/yacc/nostdin.error              |   11 +
 contrib/byacc/test/yacc/ok_syntax1.tab.c           |   27 +-
 contrib/byacc/test/yacc/ok_syntax1.tab.h           |    2 +-
 contrib/byacc/test/yacc/pure_calc.tab.c            |   25 +-
 contrib/byacc/test/yacc/pure_error.tab.c           |    8 +-
 contrib/byacc/test/yacc/quote_calc-s.tab.c         |   25 +-
 contrib/byacc/test/yacc/quote_calc.tab.c           |   25 +-
 contrib/byacc/test/yacc/quote_calc2-s.tab.c        |   25 +-
 contrib/byacc/test/yacc/quote_calc2.tab.c          |   25 +-
 contrib/byacc/test/yacc/quote_calc3-s.tab.c        |   25 +-
 contrib/byacc/test/yacc/quote_calc3.tab.c          |   25 +-
 contrib/byacc/test/yacc/quote_calc4-s.tab.c        |   25 +-
 contrib/byacc/test/yacc/quote_calc4.tab.c          |   25 +-
 contrib/byacc/test/yacc/rename_debug.c             |    8 +-
 contrib/byacc/test/yacc/stdin1.calc.c              |   25 +-
 contrib/byacc/test/yacc/stdin2.calc.c              |   25 +-
 contrib/byacc/test/yacc/varsyntax_calc1.tab.c      |   37 +-
 contrib/byacc/test/yacc/varsyntax_calc1.tab.h      |    2 +-
 contrib/byacc/verbose.c                            |   64 +-
 contrib/byacc/warshall.c                           |   10 +-
 contrib/byacc/yacc.1                               |   67 +-
 contrib/byacc/yaccpar.c                            |    6 +-
 contrib/byacc/yaccpar.skel                         |    6 +-
 usr.bin/yacc/config.h                              |   22 +-
 216 files changed, 9925 insertions(+), 4290 deletions(-)

diff --cc contrib/byacc/reader.c
index 3bbf9a79c187,5e8ca67bc648..85d6506e0a1f
--- a/contrib/byacc/reader.c
+++ b/contrib/byacc/reader.c
@@@ -898,9 -907,8 +907,8 @@@ copy_union(void
      puts_both("#ifndef YYSTYPE_IS_DECLARED\n");
      puts_both("#define YYSTYPE_IS_DECLARED 1\n");
  
-     if (!lflag)
- 	fprintf(text_file, line_format, lineno, input_file_name);
+     fprintf_lineno(text_file, lineno, input_file_name);
 -    puts_both("typedef union YYSTYPE");
 +    puts_both("typedef union");
  
      depth = 0;
    loop:
diff --cc contrib/byacc/test/btyacc/calc.tab.c
index 906a4b4e04d8,000000000000..b90dc3b1c9db
mode 100644,000000..100644
--- a/contrib/byacc/test/btyacc/calc.tab.c
+++ b/contrib/byacc/test/btyacc/calc.tab.c
@@@ -1,1474 -1,0 +1,1489 @@@
 +/* original parser id follows */
 +/* yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93" */
 +/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */
 +
 +#define YYBYACC 1
- #define YYMAJOR 1
- #define YYMINOR 9
++#define YYMAJOR 2
++#define YYMINOR 0
 +#define YYCHECK "yyyymmdd"
 +
 +#define YYEMPTY        (-1)
 +#define yyclearin      (yychar = YYEMPTY)
 +#define yyerrok        (yyerrflag = 0)
 +#define YYRECOVERING() (yyerrflag != 0)
 +#define YYENOMEM       (-2)
 +#define YYEOF          0
 +#undef YYBTYACC
 +#define YYBTYACC 0
 +#define YYDEBUGSTR YYPREFIX "debug"
 +
 +#ifndef yyparse
 +#define yyparse    calc_parse
 +#endif /* yyparse */
 +
 +#ifndef yylex
 +#define yylex      calc_lex
 +#endif /* yylex */
 +
 +#ifndef yyerror
 +#define yyerror    calc_error
 +#endif /* yyerror */
 +
 +#ifndef yychar
 +#define yychar     calc_char
 +#endif /* yychar */
 +
 +#ifndef yyval
 +#define yyval      calc_val
 +#endif /* yyval */
 +
 +#ifndef yylval
 +#define yylval     calc_lval
 +#endif /* yylval */
 +
 +#ifndef yydebug
 +#define yydebug    calc_debug
 +#endif /* yydebug */
 +
 +#ifndef yynerrs
 +#define yynerrs    calc_nerrs
 +#endif /* yynerrs */
 +
 +#ifndef yyerrflag
 +#define yyerrflag  calc_errflag
 +#endif /* yyerrflag */
 +
 +#ifndef yylhs
 +#define yylhs      calc_lhs
 +#endif /* yylhs */
 +
 +#ifndef yylen
 +#define yylen      calc_len
 +#endif /* yylen */
 +
 +#ifndef yydefred
 +#define yydefred   calc_defred
 +#endif /* yydefred */
 +
 +#ifndef yystos
 +#define yystos     calc_stos
 +#endif /* yystos */
 +
 +#ifndef yydgoto
 +#define yydgoto    calc_dgoto
 +#endif /* yydgoto */
 +
 +#ifndef yysindex
 +#define yysindex   calc_sindex
 +#endif /* yysindex */
 +
 +#ifndef yyrindex
 +#define yyrindex   calc_rindex
 +#endif /* yyrindex */
 +
 +#ifndef yygindex
 +#define yygindex   calc_gindex
 +#endif /* yygindex */
 +
 +#ifndef yytable
 +#define yytable    calc_table
 +#endif /* yytable */
 +
 +#ifndef yycheck
 +#define yycheck    calc_check
 +#endif /* yycheck */
 +
 +#ifndef yyname
 +#define yyname     calc_name
 +#endif /* yyname */
 +
 +#ifndef yyrule
 +#define yyrule     calc_rule
 +#endif /* yyrule */
 +
 +#if YYBTYACC
 +
 +#ifndef yycindex
 +#define yycindex   calc_cindex
 +#endif /* yycindex */
 +
 +#ifndef yyctable
 +#define yyctable   calc_ctable
 +#endif /* yyctable */
 +
 +#endif /* YYBTYACC */
 +
 +#define YYPREFIX "calc_"
 +
 +#define YYPURE 0
 +
 +#line 2 "calc.y"
 +# include <stdio.h>
 +# include <ctype.h>
 +
 +int regs[26];
 +int base;
 +
 +extern int yylex(void);
 +static void yyerror(const char *s);
 +
 +#line 131 "calc.tab.c"
 +
 +#if ! defined(YYSTYPE) && ! defined(YYSTYPE_IS_DECLARED)
 +/* Default: YYSTYPE is the semantic value type. */
 +typedef int YYSTYPE;
 +# define YYSTYPE_IS_DECLARED 1
 +#endif
 +
 +/* compatibility with bison */
 +#ifdef YYPARSE_PARAM
 +/* compatibility with FreeBSD */
 +# ifdef YYPARSE_PARAM_TYPE
 +#  define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
 +# else
 +#  define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
 +# endif
 +#else
 +# define YYPARSE_DECL() yyparse(void)
 +#endif
 +
 +/* Parameters sent to lex. */
 +#ifdef YYLEX_PARAM
 +# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
 +# define YYLEX yylex(YYLEX_PARAM)
 +#else
 +# define YYLEX_DECL() yylex(void)
 +# define YYLEX yylex()
 +#endif
 +
 +/* Parameters sent to yyerror. */
 +#ifndef YYERROR_DECL
 +#define YYERROR_DECL() yyerror(const char *s)
 +#endif
 +#ifndef YYERROR_CALL
 +#define YYERROR_CALL(msg) yyerror(msg)
 +#endif
 +
 +extern int YYPARSE_DECL();
 +
 +#define DIGIT 257
 +#define LETTER 258
 +#define UMINUS 259
 +#define YYERRCODE 256
 +typedef int YYINT;
 +static const YYINT calc_lhs[] = {                        -1,
 +    0,    0,    0,    1,    1,    2,    2,    2,    2,    2,
 +    2,    2,    2,    2,    2,    2,    3,    3,
 +};
 +static const YYINT calc_len[] = {                         2,
 +    0,    3,    3,    1,    3,    3,    3,    3,    3,    3,
 +    3,    3,    3,    2,    1,    1,    1,    2,
 +};
 +static const YYINT calc_defred[] = {                      1,
 +    0,    0,   17,    0,    0,    0,    0,    0,    0,    3,
 +    0,   15,   14,    0,    2,    0,    0,    0,    0,    0,
 +    0,    0,   18,    0,    6,    0,    0,    0,    0,    9,
 +   10,   11,
 +};
 +#if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING)
 +static const YYINT calc_stos[] = {                        0,
 +  261,  256,  257,  258,   45,   40,  262,  263,  264,   10,
 +   61,  258,  263,  263,   10,  124,   38,   43,   45,   42,
 +   47,   37,  257,  263,   41,  263,  263,  263,  263,  263,
 +  263,  263,
 +};
 +#endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */
 +static const YYINT calc_dgoto[] = {                       1,
 +    7,    8,    9,
 +};
 +static const YYINT calc_sindex[] = {                      0,
 +  -40,   -7,    0,  -55,  -38,  -38,    1,  -29, -247,    0,
 +  -38,    0,    0,   22,    0,  -38,  -38,  -38,  -38,  -38,
 +  -38,  -38,    0,  -29,    0,   51,   60,  -20,  -20,    0,
 +    0,    0,
 +};
 +static const YYINT calc_rindex[] = {                      0,
 +    0,    0,    0,    2,    0,    0,    0,    9,   -9,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,   10,    0,   -6,   14,    5,   13,    0,
 +    0,    0,
 +};
 +#if YYBTYACC
 +static const YYINT calc_cindex[] = {                      0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,
 +};
 +#endif
 +static const YYINT calc_gindex[] = {                      0,
 +    0,   65,    0,
 +};
 +#define YYTABLESIZE 220
 +static const YYINT calc_table[] = {                       6,
 +   16,    6,   10,   13,    5,   11,    5,   22,   17,   23,
 +   15,   15,   20,   18,    7,   19,   22,   21,    4,    5,
 +    0,   20,    8,   12,    0,    0,   21,   16,   16,    0,
 +    0,   16,   16,   16,   13,   16,    0,   16,   15,   15,
 +    0,    0,    7,   15,   15,    7,   15,    7,   15,    7,
 +    8,   12,    0,    8,   12,    8,    0,    8,   22,   17,
 +    0,    0,   25,   20,   18,    0,   19,    0,   21,   13,
 +   14,    0,    0,    0,    0,   24,    0,    0,    0,    0,
 +   26,   27,   28,   29,   30,   31,   32,   22,   17,    0,
 +    0,    0,   20,   18,   16,   19,   22,   21,    0,    0,
 +    0,   20,   18,    0,   19,    0,   21,    0,    0,    0,
 +    0,    0,    0,    0,   16,    0,    0,   13,    0,    0,
 +    0,    0,    0,    0,    0,   15,    0,    0,    7,    0,
 +    0,    0,    0,    0,    0,    0,    8,   12,    0,    0,
 +    0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 +    0,    0,    0,    0,    0,    2,    3,    4,    3,   12,
 +};
 +static const YYINT calc_check[] = {                      40,
 +   10,   40,   10,   10,   45,   61,   45,   37,   38,  257,
 +   10,   10,   42,   43,   10,   45,   37,   47,   10,   10,
 +   -1,   42,   10,   10,   -1,   -1,   47,   37,   38,   -1,
 +   -1,   41,   42,   43,   41,   45,   -1,   47,   37,   38,
 +   -1,   -1,   38,   42,   43,   41,   45,   43,   47,   45,
 +   38,   38,   -1,   41,   41,   43,   -1,   45,   37,   38,
 +   -1,   -1,   41,   42,   43,   -1,   45,   -1,   47,    5,
 +    6,   -1,   -1,   -1,   -1,   11,   -1,   -1,   -1,   -1,
 +   16,   17,   18,   19,   20,   21,   22,   37,   38,   -1,
 +   -1,   -1,   42,   43,  124,   45,   37,   47,   -1,   -1,
 +   -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,  124,   -1,   -1,  124,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,  124,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,  124,  124,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,  256,  257,  258,  257,  258,
 +};
 +#if YYBTYACC
 +static const YYINT calc_ctable[] = {                     -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
 +};
 +#endif
 +#define YYFINAL 1
 +#ifndef YYDEBUG
 +#define YYDEBUG 0
 +#endif
 +#define YYMAXTOKEN 259
 +#define YYUNDFTOKEN 265
 +#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
 +#if YYDEBUG
 +static const char *const calc_name[] = {
 +
 +"$end",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 +0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0,
 +0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0,0,0,0,
 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
 +0,0,"error","DIGIT","LETTER","UMINUS","$accept","list","stat","expr","number",
 +"illegal-symbol",
 +};
 +static const char *const calc_rule[] = {
 +"$accept : list",
 +"list :",
 +"list : list stat '\\n'",
 +"list : list error '\\n'",
 +"stat : expr",
 +"stat : LETTER '=' expr",
 +"expr : '(' expr ')'",
 +"expr : expr '+' expr",
 +"expr : expr '-' expr",
 +"expr : expr '*' expr",
 +"expr : expr '/' expr",
 +"expr : expr '%' expr",
 +"expr : expr '&' expr",
 +"expr : expr '|' expr",
 +"expr : '-' expr",
 +"expr : LETTER",
 +"expr : number",
 +"number : DIGIT",
 +"number : number DIGIT",
 +
 +};
 +#endif
 +
 +#if YYDEBUG
 +int      yydebug;
 +#endif
 +
 +int      yyerrflag;
 +int      yychar;
 +YYSTYPE  yyval;
 +YYSTYPE  yylval;
 +int      yynerrs;
 +
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +YYLTYPE  yyloc; /* position returned by actions */
 +YYLTYPE  yylloc; /* position from the lexer */
 +#endif
 +
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +#ifndef YYLLOC_DEFAULT
 +#define YYLLOC_DEFAULT(loc, rhs, n) \
 +do \
 +{ \
 +    if (n == 0) \
 +    { \
 +        (loc).first_line   = YYRHSLOC(rhs, 0).last_line; \
 +        (loc).first_column = YYRHSLOC(rhs, 0).last_column; \
 +        (loc).last_line    = YYRHSLOC(rhs, 0).last_line; \
 +        (loc).last_column  = YYRHSLOC(rhs, 0).last_column; \
 +    } \
 +    else \
 +    { \
 +        (loc).first_line   = YYRHSLOC(rhs, 1).first_line; \
 +        (loc).first_column = YYRHSLOC(rhs, 1).first_column; \
 +        (loc).last_line    = YYRHSLOC(rhs, n).last_line; \
 +        (loc).last_column  = YYRHSLOC(rhs, n).last_column; \
 +    } \
 +} while (0)
 +#endif /* YYLLOC_DEFAULT */
 +#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
 +#if YYBTYACC
 +
 +#ifndef YYLVQUEUEGROWTH
 +#define YYLVQUEUEGROWTH 32
 +#endif
 +#endif /* YYBTYACC */
 +
 +/* define the initial stack-sizes */
 +#ifdef YYSTACKSIZE
 +#undef YYMAXDEPTH
 +#define YYMAXDEPTH  YYSTACKSIZE
 +#else
 +#ifdef YYMAXDEPTH
 +#define YYSTACKSIZE YYMAXDEPTH
 +#else
 +#define YYSTACKSIZE 10000
 +#define YYMAXDEPTH  10000
 +#endif
 +#endif
 +
 +#ifndef YYINITSTACKSIZE
 +#define YYINITSTACKSIZE 200
 +#endif
 +
 +typedef struct {
 +    unsigned stacksize;
 +    YYINT    *s_base;
 +    YYINT    *s_mark;
 +    YYINT    *s_last;
 +    YYSTYPE  *l_base;
 +    YYSTYPE  *l_mark;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    YYLTYPE  *p_base;
 +    YYLTYPE  *p_mark;
 +#endif
 +} YYSTACKDATA;
 +#if YYBTYACC
 +
 +struct YYParseState_s
 +{
 +    struct YYParseState_s *save;    /* Previously saved parser state */
 +    YYSTACKDATA            yystack; /* saved parser stack */
 +    int                    state;   /* saved parser state */
 +    int                    errflag; /* saved error recovery status */
 +    int                    lexeme;  /* saved index of the conflict lexeme in the lexical queue */
 +    YYINT                  ctry;    /* saved index in yyctable[] for this conflict */
 +};
 +typedef struct YYParseState_s YYParseState;
 +#endif /* YYBTYACC */
 +/* variables for the parser stack */
 +static YYSTACKDATA yystack;
 +#if YYBTYACC
 +
 +/* Current parser state */
 +static YYParseState *yyps = 0;
 +
 +/* yypath != NULL: do the full parse, starting at *yypath parser state. */
 +static YYParseState *yypath = 0;
 +
 +/* Base of the lexical value queue */
 +static YYSTYPE *yylvals = 0;
 +
 +/* Current position at lexical value queue */
 +static YYSTYPE *yylvp = 0;
 +
 +/* End position of lexical value queue */
 +static YYSTYPE *yylve = 0;
 +
 +/* The last allocated position at the lexical value queue */
 +static YYSTYPE *yylvlim = 0;
 +
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +/* Base of the lexical position queue */
 +static YYLTYPE *yylpsns = 0;
 +
 +/* Current position at lexical position queue */
 +static YYLTYPE *yylpp = 0;
 +
 +/* End position of lexical position queue */
 +static YYLTYPE *yylpe = 0;
 +
 +/* The last allocated position at the lexical position queue */
 +static YYLTYPE *yylplim = 0;
 +#endif
 +
 +/* Current position at lexical token queue */
 +static YYINT  *yylexp = 0;
 +
 +static YYINT  *yylexemes = 0;
 +#endif /* YYBTYACC */
 +#line 66 "calc.y"
 + /* start of programs */
 +
 +int
 +main (void)
 +{
 +    while(!feof(stdin)) {
 +	yyparse();
 +    }
 +    return 0;
 +}
 +
 +static void
 +yyerror(const char *s)
 +{
 +    fprintf(stderr, "%s\n", s);
 +}
 +
 +int
 +yylex(void)
 +{
 +	/* lexical analysis routine */
 +	/* returns LETTER for a lower case letter, yylval = 0 through 25 */
 +	/* return DIGIT for a digit, yylval = 0 through 9 */
 +	/* all other characters are returned immediately */
 +
 +    int c;
 +
 +    while( (c=getchar()) == ' ' )   { /* skip blanks */ }
 +
 +    /* c is now nonblank */
 +
 +    if( islower( c )) {
 +	yylval = c - 'a';
 +	return ( LETTER );
 +    }
 +    if( isdigit( c )) {
 +	yylval = c - '0';
 +	return ( DIGIT );
 +    }
 +    return( c );
 +}
 +#line 511 "calc.tab.c"
 +
 +/* For use in generated program */
 +#define yydepth (int)(yystack.s_mark - yystack.s_base)
 +#if YYBTYACC
 +#define yytrial (yyps->save)
 +#endif /* YYBTYACC */
 +
 +#if YYDEBUG
 +#include <stdio.h>	/* needed for printf */
 +#endif
 +
 +#include <stdlib.h>	/* needed for malloc, etc */
 +#include <string.h>	/* needed for memset */
 +
 +/* allocate initial stack or double stack size, up to YYMAXDEPTH */
 +static int yygrowstack(YYSTACKDATA *data)
 +{
 +    int i;
 +    unsigned newsize;
 +    YYINT *newss;
 +    YYSTYPE *newvs;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    YYLTYPE *newps;
 +#endif
 +
 +    if ((newsize = data->stacksize) == 0)
 +        newsize = YYINITSTACKSIZE;
 +    else if (newsize >= YYMAXDEPTH)
 +        return YYENOMEM;
 +    else if ((newsize *= 2) > YYMAXDEPTH)
 +        newsize = YYMAXDEPTH;
 +
 +    i = (int) (data->s_mark - data->s_base);
 +    newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss));
 +    if (newss == NULL)
 +        return YYENOMEM;
 +
 +    data->s_base = newss;
 +    data->s_mark = newss + i;
 +
 +    newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
 +    if (newvs == NULL)
 +        return YYENOMEM;
 +
 +    data->l_base = newvs;
 +    data->l_mark = newvs + i;
 +
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    newps = (YYLTYPE *)realloc(data->p_base, newsize * sizeof(*newps));
 +    if (newps == NULL)
 +        return YYENOMEM;
 +
 +    data->p_base = newps;
 +    data->p_mark = newps + i;
 +#endif
 +
 +    data->stacksize = newsize;
 +    data->s_last = data->s_base + newsize - 1;
 +
 +#if YYDEBUG
 +    if (yydebug)
 +        fprintf(stderr, "%sdebug: stack size increased to %d\n", YYPREFIX, newsize);
 +#endif
 +    return 0;
 +}
 +
 +#if YYPURE || defined(YY_NO_LEAKS)
 +static void yyfreestack(YYSTACKDATA *data)
 +{
 +    free(data->s_base);
 +    free(data->l_base);
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    free(data->p_base);
 +#endif
 +    memset(data, 0, sizeof(*data));
 +}
 +#else
 +#define yyfreestack(data) /* nothing */
 +#endif /* YYPURE || defined(YY_NO_LEAKS) */
 +#if YYBTYACC
 +
 +static YYParseState *
 +yyNewState(unsigned size)
 +{
 +    YYParseState *p = (YYParseState *) malloc(sizeof(YYParseState));
 +    if (p == NULL) return NULL;
 +
 +    p->yystack.stacksize = size;
 +    if (size == 0)
 +    {
 +        p->yystack.s_base = NULL;
 +        p->yystack.l_base = NULL;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +        p->yystack.p_base = NULL;
 +#endif
 +        return p;
 +    }
 +    p->yystack.s_base    = (YYINT *) malloc(size * sizeof(YYINT));
 +    if (p->yystack.s_base == NULL) return NULL;
 +    p->yystack.l_base    = (YYSTYPE *) malloc(size * sizeof(YYSTYPE));
 +    if (p->yystack.l_base == NULL) return NULL;
 +    memset(p->yystack.l_base, 0, size * sizeof(YYSTYPE));
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    p->yystack.p_base    = (YYLTYPE *) malloc(size * sizeof(YYLTYPE));
 +    if (p->yystack.p_base == NULL) return NULL;
 +    memset(p->yystack.p_base, 0, size * sizeof(YYLTYPE));
 +#endif
 +
 +    return p;
 +}
 +
 +static void
 +yyFreeState(YYParseState *p)
 +{
 +    yyfreestack(&p->yystack);
 +    free(p);
 +}
 +#endif /* YYBTYACC */
 +
 +#define YYABORT  goto yyabort
 +#define YYREJECT goto yyabort
 +#define YYACCEPT goto yyaccept
 +#define YYERROR  goto yyerrlab
 +#if YYBTYACC
 +#define YYVALID        do { if (yyps->save)            goto yyvalid; } while(0)
 +#define YYVALID_NESTED do { if (yyps->save && \
 +                                yyps->save->save == 0) goto yyvalid; } while(0)
 +#endif /* YYBTYACC */
 +
 +int
 +YYPARSE_DECL()
 +{
 +    int yym, yyn, yystate, yyresult;
 +#if YYBTYACC
 +    int yynewerrflag;
 +    YYParseState *yyerrctx = NULL;
 +#endif /* YYBTYACC */
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    YYLTYPE  yyerror_loc_range[3]; /* position of error start/end (0 unused) */
 +#endif
 +#if YYDEBUG
 +    const char *yys;
 +
 +    if ((yys = getenv("YYDEBUG")) != NULL)
 +    {
 +        yyn = *yys;
 +        if (yyn >= '0' && yyn <= '9')
 +            yydebug = yyn - '0';
 +    }
 +    if (yydebug)
 +        fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX);
 +#endif
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range));
 +#endif
 +
 +#if YYBTYACC
 +    yyps = yyNewState(0); if (yyps == 0) goto yyenomem;
 +    yyps->save = 0;
 +#endif /* YYBTYACC */
 +    yym = 0;
-     yyn = 0;
++    /* yyn is set below */
 +    yynerrs = 0;
 +    yyerrflag = 0;
 +    yychar = YYEMPTY;
 +    yystate = 0;
 +
 +#if YYPURE
 +    memset(&yystack, 0, sizeof(yystack));
 +#endif
 +
 +    if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
 +    yystack.s_mark = yystack.s_base;
 +    yystack.l_mark = yystack.l_base;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +    yystack.p_mark = yystack.p_base;
 +#endif
 +    yystate = 0;
 +    *yystack.s_mark = 0;
 +
 +yyloop:
 +    if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
 +    if (yychar < 0)
 +    {
 +#if YYBTYACC
 +        do {
 +        if (yylvp < yylve)
 +        {
 +            /* we're currently re-reading tokens */
 +            yylval = *yylvp++;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +            yylloc = *yylpp++;
 +#endif
 +            yychar = *yylexp++;
 +            break;
 +        }
 +        if (yyps->save)
 +        {
 +            /* in trial mode; save scanner results for future parse attempts */
 +            if (yylvp == yylvlim)
 +            {   /* Enlarge lexical value queue */
 +                size_t p = (size_t) (yylvp - yylvals);
 +                size_t s = (size_t) (yylvlim - yylvals);
 +
 +                s += YYLVQUEUEGROWTH;
 +                if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL) goto yyenomem;
 +                if ((yylvals   = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL) goto yyenomem;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +                if ((yylpsns   = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL) goto yyenomem;
 +#endif
 +                yylvp   = yylve = yylvals + p;
 +                yylvlim = yylvals + s;
 +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
 +                yylpp   = yylpe = yylpsns + p;
 +                yylplim = yylpsns + s;
*** 87059 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302202237.31KMbViu096747>