Upgrade to bison 3.0.5
This commit is contained in:
Родитель
871816e56c
Коммит
a5426ba7bb
Двоичные данные
msys2/usr/bin/bison.exe
Двоичные данные
msys2/usr/bin/bison.exe
Двоичный файл не отображается.
|
@ -1,6 +1,7 @@
|
||||||
# bison-i18n.m4 serial 2
|
# bison-i18n.m4 serial 2
|
||||||
|
|
||||||
dnl Copyright (C) 2005-2006, 2009-2015 Free Software Foundation, Inc.
|
dnl Copyright (C) 2005-2006, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
dnl Inc.
|
||||||
|
|
||||||
dnl This file is free software; the Free Software Foundation
|
dnl This file is free software; the Free Software Foundation
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
|
@ -52,7 +52,7 @@ into various formats.
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Copyright (C) 2002, 2008-2015 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2008-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU Bison.
|
This file is part of GNU Bison.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Language-independent M4 Macros for Bison.
|
# Language-independent M4 Macros for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
# C++ skeleton dispatching for Bison.
|
# C++ skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2007, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -30,6 +30,16 @@ m4_include(b4_pkgdatadir/[c.m4])
|
||||||
m4_define([b4_comment],
|
m4_define([b4_comment],
|
||||||
[b4_comment_([$1], [$2// ], [$2// ])])
|
[b4_comment_([$1], [$2// ], [$2// ])])
|
||||||
|
|
||||||
|
# b4_inline(hh|cc)
|
||||||
|
# ----------------
|
||||||
|
# Expand to `inline\n ` if $1 is hh.
|
||||||
|
m4_define([b4_inline],
|
||||||
|
[m4_case([$1],
|
||||||
|
[cc], [],
|
||||||
|
[hh], [[inline
|
||||||
|
]],
|
||||||
|
[m4_fatal([$0: invalid argument: $1])])])
|
||||||
|
|
||||||
## -------- ##
|
## -------- ##
|
||||||
## Checks. ##
|
## Checks. ##
|
||||||
## -------- ##
|
## -------- ##
|
||||||
|
@ -275,25 +285,22 @@ m4_define([b4_public_types_declare],
|
||||||
]b4_symbol_constructor_declare])
|
]b4_symbol_constructor_declare])
|
||||||
|
|
||||||
|
|
||||||
# b4_public_types_define
|
# b4_public_types_define(hh|cc)
|
||||||
# ----------------------
|
# -----------------------------
|
||||||
# Provide the implementation needed by the public types.
|
# Provide the implementation needed by the public types.
|
||||||
m4_define([b4_public_types_define],
|
m4_define([b4_public_types_define],
|
||||||
[[ inline
|
[ b4_inline([$1])b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
|
||||||
]b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
|
|
||||||
: std::runtime_error (m)]b4_locations_if([
|
: std::runtime_error (m)]b4_locations_if([
|
||||||
, location (l)])[
|
, location (l)])[
|
||||||
{}
|
{}
|
||||||
|
|
||||||
// basic_symbol.
|
// basic_symbol.
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
|
||||||
: value ()
|
: value ()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
|
||||||
: Base (other)
|
: Base (other)
|
||||||
, value ()]b4_locations_if([
|
, value ()]b4_locations_if([
|
||||||
|
@ -304,9 +311,7 @@ m4_define([b4_public_types_define],
|
||||||
[value = other.value;])[
|
[value = other.value;])[
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
||||||
[typename Base::kind_type t],
|
[typename Base::kind_type t],
|
||||||
[const semantic_type& v],
|
[const semantic_type& v],
|
||||||
|
@ -323,7 +328,6 @@ m4_define([b4_public_types_define],
|
||||||
]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
|
]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
|
||||||
/// Constructor for valueless symbols.
|
/// Constructor for valueless symbols.
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
|
||||||
[typename Base::kind_type t],
|
[typename Base::kind_type t],
|
||||||
b4_locations_if([const location_type& l]))[)
|
b4_locations_if([const location_type& l]))[)
|
||||||
|
@ -333,14 +337,12 @@ m4_define([b4_public_types_define],
|
||||||
{}]])[
|
{}]])[
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
|
]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
|
||||||
{
|
{
|
||||||
clear ();
|
clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::clear ()
|
]b4_parser_class_name[::basic_symbol<Base>::clear ()
|
||||||
{]b4_variant_if([[
|
{]b4_variant_if([[
|
||||||
|
@ -361,7 +363,6 @@ m4_define([b4_public_types_define],
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
bool
|
bool
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::empty () const
|
]b4_parser_class_name[::basic_symbol<Base>::empty () const
|
||||||
{
|
{
|
||||||
|
@ -369,11 +370,10 @@ m4_define([b4_public_types_define],
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
|
]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
|
||||||
{
|
{
|
||||||
super_type::move(s);
|
super_type::move (s);
|
||||||
]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
|
]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
|
||||||
[s.value])],
|
[s.value])],
|
||||||
[value = s.value;])[]b4_locations_if([
|
[value = s.value;])[]b4_locations_if([
|
||||||
|
@ -381,45 +381,38 @@ m4_define([b4_public_types_define],
|
||||||
}
|
}
|
||||||
|
|
||||||
// by_type.
|
// by_type.
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::by_type::by_type ()
|
||||||
]b4_parser_class_name[::by_type::by_type ()
|
|
||||||
: type (empty_symbol)
|
: type (empty_symbol)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::by_type::by_type (const by_type& other)
|
||||||
]b4_parser_class_name[::by_type::by_type (const by_type& other)
|
|
||||||
: type (other.type)
|
: type (other.type)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::by_type::by_type (token_type t)
|
||||||
]b4_parser_class_name[::by_type::by_type (token_type t)
|
|
||||||
: type (yytranslate_ (t))
|
: type (yytranslate_ (t))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])[void
|
||||||
void
|
|
||||||
]b4_parser_class_name[::by_type::clear ()
|
]b4_parser_class_name[::by_type::clear ()
|
||||||
{
|
{
|
||||||
type = empty_symbol;
|
type = empty_symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])[void
|
||||||
void
|
|
||||||
]b4_parser_class_name[::by_type::move (by_type& that)
|
]b4_parser_class_name[::by_type::move (by_type& that)
|
||||||
{
|
{
|
||||||
type = that.type;
|
type = that.type;
|
||||||
that.clear ();
|
that.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
]b4_inline([$1])[int
|
||||||
int
|
|
||||||
]b4_parser_class_name[::by_type::type_get () const
|
]b4_parser_class_name[::by_type::type_get () const
|
||||||
{
|
{
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
]b4_token_ctor_if([[
|
]b4_token_ctor_if([[
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::token_type
|
||||||
]b4_parser_class_name[::token_type
|
|
||||||
]b4_parser_class_name[::by_type::token () const
|
]b4_parser_class_name[::by_type::token () const
|
||||||
{
|
{
|
||||||
// YYTOKNUM[NUM] -- (External) token number corresponding to the
|
// YYTOKNUM[NUM] -- (External) token number corresponding to the
|
||||||
|
@ -445,14 +438,13 @@ m4_define([b4_symbol_constructor_declare], [])
|
||||||
m4_define([b4_symbol_constructor_define], [])
|
m4_define([b4_symbol_constructor_define], [])
|
||||||
|
|
||||||
|
|
||||||
# b4_yytranslate_define
|
# b4_yytranslate_define(cc|hh)
|
||||||
# ---------------------
|
# ----------------------------
|
||||||
# Define yytranslate_. Sometimes used in the header file,
|
# Define yytranslate_. Sometimes used in the header file ($1=hh),
|
||||||
# sometimes in the cc file.
|
# sometimes in the cc file.
|
||||||
m4_define([b4_yytranslate_define],
|
m4_define([b4_yytranslate_define],
|
||||||
[[ // Symbol number corresponding to token number t.
|
[[ // Symbol number corresponding to token number t.
|
||||||
inline
|
]b4_inline([$1])b4_parser_class_name[::token_number_type
|
||||||
]b4_parser_class_name[::token_number_type
|
|
||||||
]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
|
]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
|
||||||
[int])[ t)
|
[int])[ t)
|
||||||
{
|
{
|
||||||
|
@ -462,12 +454,12 @@ m4_define([b4_yytranslate_define],
|
||||||
{
|
{
|
||||||
]b4_translate[
|
]b4_translate[
|
||||||
};
|
};
|
||||||
const unsigned int user_token_number_max_ = ]b4_user_token_number_max[;
|
const unsigned user_token_number_max_ = ]b4_user_token_number_max[;
|
||||||
const token_number_type undef_token_ = ]b4_undef_token_number[;
|
const token_number_type undef_token_ = ]b4_undef_token_number[;
|
||||||
|
|
||||||
if (static_cast<int>(t) <= yyeof_)
|
if (static_cast<int> (t) <= yyeof_)
|
||||||
return yyeof_;
|
return yyeof_;
|
||||||
else if (static_cast<unsigned int> (t) <= user_token_number_max_)
|
else if (static_cast<unsigned> (t) <= user_token_number_max_)
|
||||||
return translate_table[t];
|
return translate_table[t];
|
||||||
else
|
else
|
||||||
return undef_token_;
|
return undef_token_;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Common code for C-like languages (C, C++, Java, etc.)
|
# Common code for C-like languages (C, C++, Java, etc.)
|
||||||
|
|
||||||
# Copyright (C) 2012-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2012-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
# C skeleton dispatching for Bison.
|
# C skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2006-2007, 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2007, 2009-2015, 2018 Free Software Foundation,
|
||||||
|
# Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# C M4 Macros for Bison.
|
# C M4 Macros for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2002, 2004-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002, 2004-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# GLR skeleton for Bison
|
# GLR skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -198,7 +198,7 @@ m4_if(b4_skeleton, ["glr.c"],
|
||||||
[b4_defines_if(
|
[b4_defines_if(
|
||||||
[b4_output_begin([b4_spec_defines_file])
|
[b4_output_begin([b4_spec_defines_file])
|
||||||
b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
||||||
[2002-2015])[
|
[2002-2015, 2018])[
|
||||||
|
|
||||||
]b4_cpp_guard_open([b4_spec_defines_file])[
|
]b4_cpp_guard_open([b4_spec_defines_file])[
|
||||||
]b4_shared_declarations[
|
]b4_shared_declarations[
|
||||||
|
@ -213,7 +213,7 @@ b4_copyright([Skeleton interface for Bison GLR parsers in C],
|
||||||
|
|
||||||
b4_output_begin([b4_parser_file_name])
|
b4_output_begin([b4_parser_file_name])
|
||||||
b4_copyright([Skeleton implementation for Bison GLR parsers in C],
|
b4_copyright([Skeleton implementation for Bison GLR parsers in C],
|
||||||
[2002-2015])[
|
[2002-2015, 2018])[
|
||||||
|
|
||||||
/* C GLR parser skeleton written by Paul Hilfinger. */
|
/* C GLR parser skeleton written by Paul Hilfinger. */
|
||||||
|
|
||||||
|
@ -808,6 +808,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
|
||||||
*yyvalp = yyval_default;
|
*yyvalp = yyval_default;
|
||||||
else
|
else
|
||||||
*yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
|
*yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
|
||||||
|
/* Default location. */
|
||||||
YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
|
YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
|
||||||
yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
|
yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
|
||||||
]])[
|
]])[
|
||||||
|
@ -2085,6 +2086,7 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
||||||
case N: \
|
case N: \
|
||||||
yyformat = S; \
|
yyformat = S; \
|
||||||
break
|
break
|
||||||
|
default: /* Avoid compiler warnings. */
|
||||||
YYCASE_(0, YY_("syntax error"));
|
YYCASE_(0, YY_("syntax error"));
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
||||||
|
@ -2305,8 +2307,8 @@ b4_dollar_popdef])[]dnl
|
||||||
{
|
{
|
||||||
yyrule = yydefaultAction (yystate);
|
yyrule = yydefaultAction (yystate);
|
||||||
if (yyrule == 0)
|
if (yyrule == 0)
|
||||||
{
|
{]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
||||||
yyreportSyntaxError (&yystack]b4_user_args[);
|
yyreportSyntaxError (&yystack]b4_user_args[);
|
||||||
goto yyuser_error;
|
goto yyuser_error;
|
||||||
}
|
}
|
||||||
|
@ -2345,8 +2347,8 @@ b4_dollar_popdef])[]dnl
|
||||||
yystack.yyerrState -= 1;
|
yystack.yyerrState -= 1;
|
||||||
}
|
}
|
||||||
else if (yyisErrorAction (yyaction))
|
else if (yyisErrorAction (yyaction))
|
||||||
{
|
{]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
||||||
yyreportSyntaxError (&yystack]b4_user_args[);
|
yyreportSyntaxError (&yystack]b4_user_args[);
|
||||||
goto yyuser_error;
|
goto yyuser_error;
|
||||||
}
|
}
|
||||||
|
@ -2391,8 +2393,8 @@ b4_dollar_popdef])[]dnl
|
||||||
if (yystack.yytops.yysize == 0)
|
if (yystack.yytops.yysize == 0)
|
||||||
yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
|
yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
|
||||||
YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
|
YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
|
||||||
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
|
YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
|
||||||
yyreportSyntaxError (&yystack]b4_user_args[);
|
yyreportSyntaxError (&yystack]b4_user_args[);
|
||||||
goto yyuser_error;
|
goto yyuser_error;
|
||||||
}
|
}
|
||||||
|
@ -2473,9 +2475,9 @@ b4_dollar_popdef])[]dnl
|
||||||
{
|
{
|
||||||
while (yystates[yyk])
|
while (yystates[yyk])
|
||||||
{
|
{
|
||||||
yyGLRState *yys = yystates[yyk];
|
yyGLRState *yys = yystates[yyk];]b4_locations_if([[
|
||||||
]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;]]
|
yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;]])[
|
||||||
)[ if (yys->yypred != YY_NULLPTR)
|
if (yys->yypred != YY_NULLPTR)
|
||||||
yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
|
yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
|
||||||
yystates[yyk] = yys->yypred;
|
yystates[yyk] = yys->yypred;
|
||||||
yystack.yynextFree -= 1;
|
yystack.yynextFree -= 1;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# C++ GLR skeleton for Bison
|
# C++ GLR skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -177,7 +177,7 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
|
||||||
| Print this symbol. |
|
| Print this symbol. |
|
||||||
`--------------------*/
|
`--------------------*/
|
||||||
|
|
||||||
inline void
|
void
|
||||||
]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
|
]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
|
||||||
const semantic_type* yyvaluep]b4_locations_if([[,
|
const semantic_type* yyvaluep]b4_locations_if([[,
|
||||||
const location_type* yylocationp]])[)
|
const location_type* yylocationp]])[)
|
||||||
|
@ -329,7 +329,7 @@ b4_percent_define_flag_if([[global_tokens_and_yystype]],
|
||||||
b4_defines_if(
|
b4_defines_if(
|
||||||
[b4_output_begin([b4_spec_defines_file])
|
[b4_output_begin([b4_spec_defines_file])
|
||||||
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
|
||||||
[2002-2015])[
|
[2002-2015, 2018])[
|
||||||
|
|
||||||
// C++ GLR parser skeleton written by Akim Demaille.
|
// C++ GLR parser skeleton written by Akim Demaille.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Java skeleton dispatching for Bison.
|
# Java skeleton dispatching for Bison.
|
||||||
|
|
||||||
# Copyright (C) 2007, 2009-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007, 2009-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Java language support for Bison
|
# Java language support for Bison
|
||||||
|
|
||||||
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -131,7 +131,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param))])])
|
||||||
|
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[2002-2015])
|
[2002-2015, 2018])
|
||||||
|
|
||||||
m4_define([b4_parser_class_name],
|
m4_define([b4_parser_class_name],
|
||||||
[b4_percent_define_get([[parser_class_name]])])
|
[b4_percent_define_get([[parser_class_name]])])
|
||||||
|
@ -142,9 +142,9 @@ b4_bison_locations_if([# Backward compatibility.
|
||||||
m4_include(b4_pkgdatadir/[stack.hh])
|
m4_include(b4_pkgdatadir/[stack.hh])
|
||||||
b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
|
b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
|
||||||
|
|
||||||
# b4_shared_declarations
|
# b4_shared_declarations(hh|cc)
|
||||||
# ----------------------
|
# -----------------------------
|
||||||
# Declaration that might either go into the header (if --defines)
|
# Declaration that might either go into the header (if --defines, $1 = hh)
|
||||||
# or open coded in the parser body.
|
# or open coded in the parser body.
|
||||||
m4_define([b4_shared_declarations],
|
m4_define([b4_shared_declarations],
|
||||||
[b4_percent_code_get([[requires]])[
|
[b4_percent_code_get([[requires]])[
|
||||||
|
@ -314,6 +314,8 @@ b4_location_define])])[
|
||||||
typedef basic_symbol<by_state> super_type;
|
typedef basic_symbol<by_state> super_type;
|
||||||
/// Construct an empty symbol.
|
/// Construct an empty symbol.
|
||||||
stack_symbol_type ();
|
stack_symbol_type ();
|
||||||
|
/// Copy construct.
|
||||||
|
stack_symbol_type (const stack_symbol_type& that);
|
||||||
/// Steal the contents from \a sym to build this.
|
/// Steal the contents from \a sym to build this.
|
||||||
stack_symbol_type (state_type s, symbol_type& sym);
|
stack_symbol_type (state_type s, symbol_type& sym);
|
||||||
/// Assignment, needed by push_back.
|
/// Assignment, needed by push_back.
|
||||||
|
@ -342,7 +344,7 @@ b4_location_define])])[
|
||||||
void yypush_ (const char* m, state_type s, symbol_type& sym);
|
void yypush_ (const char* m, state_type s, symbol_type& sym);
|
||||||
|
|
||||||
/// Pop \a n symbols the three stacks.
|
/// Pop \a n symbols the three stacks.
|
||||||
void yypop_ (unsigned int n = 1);
|
void yypop_ (unsigned n = 1);
|
||||||
|
|
||||||
/// Constants.
|
/// Constants.
|
||||||
enum
|
enum
|
||||||
|
@ -359,8 +361,8 @@ b4_location_define])])[
|
||||||
]b4_parse_param_vars[
|
]b4_parse_param_vars[
|
||||||
};
|
};
|
||||||
|
|
||||||
]b4_token_ctor_if([b4_yytranslate_define
|
]b4_token_ctor_if([b4_yytranslate_define([$1])[
|
||||||
b4_public_types_define])[
|
]b4_public_types_define([$1])])[
|
||||||
]b4_namespace_close[
|
]b4_namespace_close[
|
||||||
|
|
||||||
]b4_percent_define_flag_if([[global_tokens_and_yystype]],
|
]b4_percent_define_flag_if([[global_tokens_and_yystype]],
|
||||||
|
@ -386,7 +388,7 @@ b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
|
||||||
// C++ LALR(1) parser skeleton written by Akim Demaille.
|
// C++ LALR(1) parser skeleton written by Akim Demaille.
|
||||||
|
|
||||||
]b4_cpp_guard_open([b4_spec_defines_file])[
|
]b4_cpp_guard_open([b4_spec_defines_file])[
|
||||||
]b4_shared_declarations[
|
]b4_shared_declarations(hh)[
|
||||||
]b4_cpp_guard_close([b4_spec_defines_file])
|
]b4_cpp_guard_close([b4_spec_defines_file])
|
||||||
b4_output_end()
|
b4_output_end()
|
||||||
])
|
])
|
||||||
|
@ -406,7 +408,7 @@ m4_if(b4_prefix, [yy], [],
|
||||||
]b4_null_define[
|
]b4_null_define[
|
||||||
|
|
||||||
]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
|
]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
|
||||||
[b4_shared_declarations])[
|
[b4_shared_declarations([cc])])[
|
||||||
|
|
||||||
// User implementation prologue.
|
// User implementation prologue.
|
||||||
]b4_user_post_prologue[
|
]b4_user_post_prologue[
|
||||||
|
@ -443,7 +445,7 @@ m4_if(b4_prefix, [yy], [],
|
||||||
{ \
|
{ \
|
||||||
*yycdebug_ << Title << ' '; \
|
*yycdebug_ << Title << ' '; \
|
||||||
yy_print_ (*yycdebug_, Symbol); \
|
yy_print_ (*yycdebug_, Symbol); \
|
||||||
*yycdebug_ << std::endl; \
|
*yycdebug_ << '\n'; \
|
||||||
} \
|
} \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
|
@ -462,9 +464,9 @@ m4_if(b4_prefix, [yy], [],
|
||||||
#else // !]b4_api_PREFIX[DEBUG
|
#else // !]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
# define YYCDEBUG if (false) std::cerr
|
# define YYCDEBUG if (false) std::cerr
|
||||||
# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
|
# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE (Symbol)
|
||||||
# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
|
# define YY_REDUCE_PRINT(Rule) static_cast<void> (0)
|
||||||
# define YY_STACK_PRINT() static_cast<void>(0)
|
# define YY_STACK_PRINT() static_cast<void> (0)
|
||||||
|
|
||||||
#endif // !]b4_api_PREFIX[DEBUG
|
#endif // !]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
|
@ -533,27 +535,23 @@ m4_if(b4_prefix, [yy], [],
|
||||||
| Symbol types. |
|
| Symbol types. |
|
||||||
`---------------*/
|
`---------------*/
|
||||||
|
|
||||||
]b4_token_ctor_if([], [b4_public_types_define])[
|
]b4_token_ctor_if([], [b4_public_types_define([cc])])[
|
||||||
|
|
||||||
// by_state.
|
// by_state.
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::by_state::by_state ()
|
]b4_parser_class_name[::by_state::by_state ()
|
||||||
: state (empty_state)
|
: state (empty_state)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::by_state::by_state (const by_state& other)
|
]b4_parser_class_name[::by_state::by_state (const by_state& other)
|
||||||
: state (other.state)
|
: state (other.state)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::by_state::clear ()
|
]b4_parser_class_name[::by_state::clear ()
|
||||||
{
|
{
|
||||||
state = empty_state;
|
state = empty_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::by_state::move (by_state& that)
|
]b4_parser_class_name[::by_state::move (by_state& that)
|
||||||
{
|
{
|
||||||
|
@ -561,12 +559,10 @@ m4_if(b4_prefix, [yy], [],
|
||||||
that.clear ();
|
that.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::by_state::by_state (state_type s)
|
]b4_parser_class_name[::by_state::by_state (state_type s)
|
||||||
: state (s)
|
: state (s)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::symbol_number_type
|
]b4_parser_class_name[::symbol_number_type
|
||||||
]b4_parser_class_name[::by_state::type_get () const
|
]b4_parser_class_name[::by_state::type_get () const
|
||||||
{
|
{
|
||||||
|
@ -576,12 +572,17 @@ m4_if(b4_prefix, [yy], [],
|
||||||
return yystos_[state];
|
return yystos_[state];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type ()
|
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type ()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (const stack_symbol_type& that)
|
||||||
|
: super_type (that.state]b4_locations_if([, that.location])[)
|
||||||
|
{
|
||||||
|
]b4_variant_if([b4_symbol_variant([that.type_get ()],
|
||||||
|
[value], [copy], [that.value])],
|
||||||
|
[[value = that.value;]])[
|
||||||
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
|
]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
|
||||||
: super_type (s]b4_locations_if([, that.location])[)
|
: super_type (s]b4_locations_if([, that.location])[)
|
||||||
{
|
{
|
||||||
|
@ -592,7 +593,6 @@ m4_if(b4_prefix, [yy], [],
|
||||||
that.type = empty_symbol;
|
that.type = empty_symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
]b4_parser_class_name[::stack_symbol_type&
|
]b4_parser_class_name[::stack_symbol_type&
|
||||||
]b4_parser_class_name[::stack_symbol_type::operator= (const stack_symbol_type& that)
|
]b4_parser_class_name[::stack_symbol_type::operator= (const stack_symbol_type& that)
|
||||||
{
|
{
|
||||||
|
@ -606,7 +606,6 @@ m4_if(b4_prefix, [yy], [],
|
||||||
|
|
||||||
|
|
||||||
template <typename Base>
|
template <typename Base>
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
|
]b4_parser_class_name[::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
|
||||||
{
|
{
|
||||||
|
@ -638,7 +637,6 @@ m4_if(b4_prefix, [yy], [],
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yypush_ (const char* m, state_type s, symbol_type& sym)
|
]b4_parser_class_name[::yypush_ (const char* m, state_type s, symbol_type& sym)
|
||||||
{
|
{
|
||||||
|
@ -646,7 +644,6 @@ m4_if(b4_prefix, [yy], [],
|
||||||
yypush_ (m, t);
|
yypush_ (m, t);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yypush_ (const char* m, stack_symbol_type& s)
|
]b4_parser_class_name[::yypush_ (const char* m, stack_symbol_type& s)
|
||||||
{
|
{
|
||||||
|
@ -655,9 +652,8 @@ m4_if(b4_prefix, [yy], [],
|
||||||
yystack_.push (s);
|
yystack_.push (s);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yypop_ (unsigned int n)
|
]b4_parser_class_name[::yypop_ (unsigned n)
|
||||||
{
|
{
|
||||||
yystack_.pop (n);
|
yystack_.pop (n);
|
||||||
}
|
}
|
||||||
|
@ -689,7 +685,7 @@ m4_if(b4_prefix, [yy], [],
|
||||||
}
|
}
|
||||||
#endif // ]b4_api_PREFIX[DEBUG
|
#endif // ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
inline ]b4_parser_class_name[::state_type
|
]b4_parser_class_name[::state_type
|
||||||
]b4_parser_class_name[::yy_lr_goto_state_ (state_type yystate, int yysym)
|
]b4_parser_class_name[::yy_lr_goto_state_ (state_type yystate, int yysym)
|
||||||
{
|
{
|
||||||
int yyr = yypgoto_[yysym - yyntokens_] + yystate;
|
int yyr = yypgoto_[yysym - yyntokens_] + yystate;
|
||||||
|
@ -699,13 +695,13 @@ m4_if(b4_prefix, [yy], [],
|
||||||
return yydefgoto_[yysym - yyntokens_];
|
return yydefgoto_[yysym - yyntokens_];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool
|
bool
|
||||||
]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
|
]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
|
||||||
{
|
{
|
||||||
return yyvalue == yypact_ninf_;
|
return yyvalue == yypact_ninf_;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool
|
bool
|
||||||
]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
|
]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
|
||||||
{
|
{
|
||||||
return yyvalue == yytable_ninf_;
|
return yyvalue == yytable_ninf_;
|
||||||
|
@ -736,7 +732,7 @@ m4_if(b4_prefix, [yy], [],
|
||||||
// avoid gratuitous conflicts when merging into the master branch.
|
// avoid gratuitous conflicts when merging into the master branch.
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
YYCDEBUG << "Starting parse" << std::endl;
|
YYCDEBUG << "Starting parse\n";
|
||||||
|
|
||||||
]m4_ifdef([b4_initial_action], [
|
]m4_ifdef([b4_initial_action], [
|
||||||
b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
|
b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
|
||||||
|
@ -753,7 +749,7 @@ b4_dollar_popdef])[]dnl
|
||||||
|
|
||||||
// A new symbol was pushed on the stack.
|
// A new symbol was pushed on the stack.
|
||||||
yynewstate:
|
yynewstate:
|
||||||
YYCDEBUG << "Entering state " << yystack_[0].state << std::endl;
|
YYCDEBUG << "Entering state " << yystack_[0].state << '\n';
|
||||||
|
|
||||||
// Accept?
|
// Accept?
|
||||||
if (yystack_[0].state == yyfinal_)
|
if (yystack_[0].state == yyfinal_)
|
||||||
|
@ -827,7 +823,7 @@ b4_dollar_popdef])[]dnl
|
||||||
yylen = yyr2_[yyn];
|
yylen = yyr2_[yyn];
|
||||||
{
|
{
|
||||||
stack_symbol_type yylhs;
|
stack_symbol_type yylhs;
|
||||||
yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]);]b4_variant_if([
|
yylhs.state = yy_lr_goto_state_ (yystack_[yylen].state, yyr1_[yyn]);]b4_variant_if([
|
||||||
/* Variants are always initialized to an empty instance of the
|
/* Variants are always initialized to an empty instance of the
|
||||||
correct type. The default '$$ = $1' action is NOT applied
|
correct type. The default '$$ = $1' action is NOT applied
|
||||||
when using variants. */
|
when using variants. */
|
||||||
|
@ -844,10 +840,11 @@ b4_dollar_popdef])[]dnl
|
||||||
yylhs.value = yystack_@{0@}.value;])[
|
yylhs.value = yystack_@{0@}.value;])[
|
||||||
]b4_locations_if([dnl
|
]b4_locations_if([dnl
|
||||||
[
|
[
|
||||||
// Compute the default @@$.
|
// Default location.
|
||||||
{
|
{
|
||||||
slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
|
slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
|
||||||
YYLLOC_DEFAULT (yylhs.location, slice, yylen);
|
YYLLOC_DEFAULT (yylhs.location, slice, yylen);
|
||||||
|
yyerror_range[1].location = yylhs.location;
|
||||||
}]])[
|
}]])[
|
||||||
|
|
||||||
// Perform the reduction.
|
// Perform the reduction.
|
||||||
|
@ -918,8 +915,7 @@ b4_dollar_popdef])[]dnl
|
||||||
YYERROR and the label yyerrorlab therefore never appears in user
|
YYERROR and the label yyerrorlab therefore never appears in user
|
||||||
code. */
|
code. */
|
||||||
if (false)
|
if (false)
|
||||||
goto yyerrorlab;]b4_locations_if([[
|
goto yyerrorlab;
|
||||||
yyerror_range[1].location = yystack_[yylen - 1].location;]])[
|
|
||||||
/* Do not reclaim the symbols of the rule whose action triggered
|
/* Do not reclaim the symbols of the rule whose action triggered
|
||||||
this YYERROR. */
|
this YYERROR. */
|
||||||
yypop_ (yylen);
|
yypop_ (yylen);
|
||||||
|
@ -993,8 +989,7 @@ b4_dollar_popdef])[]dnl
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
YYCDEBUG << "Exception caught: cleaning lookahead and stack"
|
YYCDEBUG << "Exception caught: cleaning lookahead and stack\n";
|
||||||
<< std::endl;
|
|
||||||
// Do not try to display the values of the reclaimed symbols,
|
// Do not try to display the values of the reclaimed symbols,
|
||||||
// as their printer might throw an exception.
|
// as their printer might throw an exception.
|
||||||
if (!yyla.empty ())
|
if (!yyla.empty ())
|
||||||
|
@ -1013,7 +1008,7 @@ b4_dollar_popdef])[]dnl
|
||||||
]b4_parser_class_name[::error (const syntax_error& yyexc)
|
]b4_parser_class_name[::error (const syntax_error& yyexc)
|
||||||
{
|
{
|
||||||
error (]b4_join(b4_locations_if([yyexc.location]),
|
error (]b4_join(b4_locations_if([yyexc.location]),
|
||||||
[[yyexc.what()]])[);
|
[[yyexc.what ()]])[);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate an error message.
|
// Generate an error message.
|
||||||
|
@ -1091,12 +1086,13 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
|
||||||
case N: \
|
case N: \
|
||||||
yyformat = S; \
|
yyformat = S; \
|
||||||
break
|
break
|
||||||
YYCASE_(0, YY_("syntax error"));
|
default: // Avoid compiler warnings.
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
YYCASE_ (0, YY_("syntax error"));
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
YYCASE_ (1, YY_("syntax error, unexpected %s"));
|
||||||
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
YYCASE_ (2, YY_("syntax error, unexpected %s, expecting %s"));
|
||||||
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
YYCASE_ (3, YY_("syntax error, unexpected %s, expecting %s or %s"));
|
||||||
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
YYCASE_ (4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
|
||||||
|
YYCASE_ (5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
|
||||||
#undef YYCASE_
|
#undef YYCASE_
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1144,18 +1140,18 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
|
||||||
i_end = yystack_.end ();
|
i_end = yystack_.end ();
|
||||||
i != i_end; ++i)
|
i != i_end; ++i)
|
||||||
*yycdebug_ << ' ' << i->state;
|
*yycdebug_ << ' ' << i->state;
|
||||||
*yycdebug_ << std::endl;
|
*yycdebug_ << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Report on the debug stream that the rule \a yyrule is going to be reduced.
|
// Report on the debug stream that the rule \a yyrule is going to be reduced.
|
||||||
void
|
void
|
||||||
]b4_parser_class_name[::yy_reduce_print_ (int yyrule)
|
]b4_parser_class_name[::yy_reduce_print_ (int yyrule)
|
||||||
{
|
{
|
||||||
unsigned int yylno = yyrline_[yyrule];
|
unsigned yylno = yyrline_[yyrule];
|
||||||
int yynrhs = yyr2_[yyrule];
|
int yynrhs = yyr2_[yyrule];
|
||||||
// Print the symbols being reduced, and their result.
|
// Print the symbols being reduced, and their result.
|
||||||
*yycdebug_ << "Reducing stack by rule " << yyrule - 1
|
*yycdebug_ << "Reducing stack by rule " << yyrule - 1
|
||||||
<< " (line " << yylno << "):" << std::endl;
|
<< " (line " << yylno << "):\n";
|
||||||
// The symbols being reduced.
|
// The symbols being reduced.
|
||||||
for (int yyi = 0; yyi < yynrhs; yyi++)
|
for (int yyi = 0; yyi < yynrhs; yyi++)
|
||||||
YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
|
YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
|
||||||
|
@ -1163,7 +1159,7 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla],
|
||||||
}
|
}
|
||||||
#endif // ]b4_api_PREFIX[DEBUG
|
#endif // ]b4_api_PREFIX[DEBUG
|
||||||
|
|
||||||
]b4_token_ctor_if([], [b4_yytranslate_define])[
|
]b4_token_ctor_if([], [b4_yytranslate_define([cc])])[
|
||||||
]b4_namespace_close[
|
]b4_namespace_close[
|
||||||
]b4_epilogue[]dnl
|
]b4_epilogue[]dnl
|
||||||
b4_output_end()
|
b4_output_end()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Java skeleton for Bison -*- autoconf -*-
|
# Java skeleton for Bison -*- autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -84,7 +84,7 @@ m4_define([b4_define_state],[[
|
||||||
|
|
||||||
b4_output_begin([b4_parser_file_name])
|
b4_output_begin([b4_parser_file_name])
|
||||||
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
|
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
|
||||||
[2007-2015])
|
[2007-2015, 2018])
|
||||||
|
|
||||||
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
|
b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
|
||||||
])[/* First part of user declarations. */
|
])[/* First part of user declarations. */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[2002-2015])
|
[2002-2015, 2018])
|
||||||
|
|
||||||
# b4_position_define
|
# b4_position_define
|
||||||
# ------------------
|
# ------------------
|
||||||
|
@ -28,19 +28,18 @@ m4_define([b4_position_define],
|
||||||
public:]m4_ifdef([b4_location_constructors], [[
|
public:]m4_ifdef([b4_location_constructors], [[
|
||||||
/// Construct a position.
|
/// Construct a position.
|
||||||
explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
: filename (f)
|
: filename (f)
|
||||||
, line (l)
|
, line (l)
|
||||||
, column (c)
|
, column (c)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
]])[
|
]])[
|
||||||
/// Initialization.
|
/// Initialization.
|
||||||
void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULLPTR,
|
void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULLPTR,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
{
|
{
|
||||||
filename = fn;
|
filename = fn;
|
||||||
line = l;
|
line = l;
|
||||||
|
@ -69,15 +68,15 @@ m4_define([b4_position_define],
|
||||||
/// File name to which this position refers.
|
/// File name to which this position refers.
|
||||||
]b4_percent_define_get([[filename_type]])[* filename;
|
]b4_percent_define_get([[filename_type]])[* filename;
|
||||||
/// Current line number.
|
/// Current line number.
|
||||||
unsigned int line;
|
unsigned line;
|
||||||
/// Current column number.
|
/// Current column number.
|
||||||
unsigned int column;
|
unsigned column;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// Compute max(min, lhs+rhs) (provided min <= lhs).
|
/// Compute max(min, lhs+rhs) (provided min <= lhs).
|
||||||
static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
|
static unsigned add_ (unsigned lhs, int rhs, unsigned min)
|
||||||
{
|
{
|
||||||
return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
|
return (0 < rhs || -static_cast<unsigned>(rhs) < lhs
|
||||||
? rhs + lhs
|
? rhs + lhs
|
||||||
: min);
|
: min);
|
||||||
}
|
}
|
||||||
|
@ -157,30 +156,27 @@ m4_define([b4_location_define],
|
||||||
location (const position& b, const position& e)
|
location (const position& b, const position& e)
|
||||||
: begin (b)
|
: begin (b)
|
||||||
, end (e)
|
, end (e)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct a 0-width location in \a p.
|
/// Construct a 0-width location in \a p.
|
||||||
explicit location (const position& p = position ())
|
explicit location (const position& p = position ())
|
||||||
: begin (p)
|
: begin (p)
|
||||||
, end (p)
|
, end (p)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
/// Construct a 0-width location in \a f, \a l, \a c.
|
/// Construct a 0-width location in \a f, \a l, \a c.
|
||||||
explicit location (]b4_percent_define_get([[filename_type]])[* f,
|
explicit location (]b4_percent_define_get([[filename_type]])[* f,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
: begin (f, l, c)
|
: begin (f, l, c)
|
||||||
, end (f, l, c)
|
, end (f, l, c)
|
||||||
{
|
{}
|
||||||
}
|
|
||||||
|
|
||||||
])[
|
])[
|
||||||
/// Initialization.
|
/// Initialization.
|
||||||
void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULLPTR,
|
||||||
unsigned int l = ]b4_location_initial_line[u,
|
unsigned l = ]b4_location_initial_line[u,
|
||||||
unsigned int c = ]b4_location_initial_column[u)
|
unsigned c = ]b4_location_initial_column[u)
|
||||||
{
|
{
|
||||||
begin.initialize (f, l, c);
|
begin.initialize (f, l, c);
|
||||||
end = begin;
|
end = begin;
|
||||||
|
@ -278,7 +274,7 @@ m4_define([b4_location_define],
|
||||||
inline std::basic_ostream<YYChar>&
|
inline std::basic_ostream<YYChar>&
|
||||||
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
|
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
|
||||||
{
|
{
|
||||||
unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
|
unsigned end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
|
||||||
ostr << loc.begin;
|
ostr << loc.begin;
|
||||||
if (loc.end.filename
|
if (loc.end.filename
|
||||||
&& (!loc.begin.filename
|
&& (!loc.begin.filename
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# Speeds up GNU M4 1.4.x by avoiding quadratic $@ recursion, but penalizes
|
# Speeds up GNU M4 1.4.x by avoiding quadratic $@ recursion, but penalizes
|
||||||
# GNU M4 1.6 by requiring more memory and macro expansions.
|
# GNU M4 1.6 by requiring more memory and macro expansions.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2008-2013 Free Software Foundation, Inc.
|
# Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of Autoconf. This program is free
|
# This file is part of Autoconf. This program is free
|
||||||
# software; you can redistribute it and/or modify it under the
|
# software; you can redistribute it and/or modify it under the
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# and a copy of the Autoconf Configure Script Exception along with
|
# and a copy of the Autoconf Configure Script Exception along with
|
||||||
# this program; see the files COPYINGv3 and COPYING.EXCEPTION
|
# this program; see the files COPYINGv3 and COPYING.EXCEPTION
|
||||||
# respectively. If not, see <http://www.gnu.org/licenses/>.
|
# respectively. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Written by Eric Blake.
|
# Written by Eric Blake.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ divert(-1)# -*- Autoconf -*-
|
||||||
# Base M4 layer.
|
# Base M4 layer.
|
||||||
# Requires GNU M4.
|
# Requires GNU M4.
|
||||||
#
|
#
|
||||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is part of Autoconf. This program is free
|
# This file is part of Autoconf. This program is free
|
||||||
# software; you can redistribute it and/or modify it under the
|
# software; you can redistribute it and/or modify it under the
|
||||||
|
@ -23,7 +23,7 @@ divert(-1)# -*- Autoconf -*-
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# and a copy of the Autoconf Configure Script Exception along with
|
# and a copy of the Autoconf Configure Script Exception along with
|
||||||
# this program; see the files COPYINGv3 and COPYING.EXCEPTION
|
# this program; see the files COPYINGv3 and COPYING.EXCEPTION
|
||||||
# respectively. If not, see <http://www.gnu.org/licenses/>.
|
# respectively. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Written by Akim Demaille.
|
# Written by Akim Demaille.
|
||||||
|
|
||||||
|
@ -2000,7 +2000,7 @@ m4_define([_m4_defun_once],
|
||||||
|
|
||||||
# m4_pattern_forbid(ERE, [WHY])
|
# m4_pattern_forbid(ERE, [WHY])
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
# Declare that no token matching the forbidden extended regular
|
# Declare that no token matching the forbidden perl extended regular
|
||||||
# expression ERE should be seen in the output unless...
|
# expression ERE should be seen in the output unless...
|
||||||
m4_define([m4_pattern_forbid], [])
|
m4_define([m4_pattern_forbid], [])
|
||||||
|
|
||||||
|
@ -2008,7 +2008,7 @@ m4_define([m4_pattern_forbid], [])
|
||||||
# m4_pattern_allow(ERE)
|
# m4_pattern_allow(ERE)
|
||||||
# ---------------------
|
# ---------------------
|
||||||
# ... that token also matches the allowed extended regular expression ERE.
|
# ... that token also matches the allowed extended regular expression ERE.
|
||||||
# Both used via traces.
|
# Both used via traces, by autom4te post-processing.
|
||||||
m4_define([m4_pattern_allow], [])
|
m4_define([m4_pattern_allow], [])
|
||||||
|
|
||||||
|
|
||||||
|
@ -2107,7 +2107,7 @@ m4_define([_m4_require_check],
|
||||||
[m4_if(_m4_defn([_m4_diverting]), [$2], [m4_ignore],
|
[m4_if(_m4_defn([_m4_diverting]), [$2], [m4_ignore],
|
||||||
m4_ifdef([_m4_diverting([$2])], [-]), [-], [m4_warn([syntax],
|
m4_ifdef([_m4_diverting([$2])], [-]), [-], [m4_warn([syntax],
|
||||||
[$3: `$1' was expanded before it was required
|
[$3: `$1' was expanded before it was required
|
||||||
http://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required])_m4_require_call],
|
https://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required])_m4_require_call],
|
||||||
[m4_ignore])])
|
[m4_ignore])])
|
||||||
|
|
||||||
|
|
||||||
|
@ -3126,7 +3126,8 @@ m4_define([m4_set_empty],
|
||||||
# guaranteed. This is faster than the corresponding m4_foreach([VAR],
|
# guaranteed. This is faster than the corresponding m4_foreach([VAR],
|
||||||
# m4_indir([m4_dquote]m4_set_listc([SET])), [ACTION])
|
# m4_indir([m4_dquote]m4_set_listc([SET])), [ACTION])
|
||||||
m4_define([m4_set_foreach],
|
m4_define([m4_set_foreach],
|
||||||
[m4_pushdef([$2])m4_set_map_sep([$1], [m4_define([$2],], [)$3])])
|
[m4_pushdef([$2])m4_set_map_sep([$1],
|
||||||
|
[m4_define([$2],], [)$3])m4_popdef([$2])])
|
||||||
|
|
||||||
# m4_set_intersection(SET1, SET2)
|
# m4_set_intersection(SET1, SET2)
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -16,12 +16,13 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[2002-2015])
|
[2002-2015, 2018])
|
||||||
|
|
||||||
# b4_stack_define
|
# b4_stack_define
|
||||||
# ---------------
|
# ---------------
|
||||||
m4_define([b4_stack_define],
|
m4_define([b4_stack_define],
|
||||||
[[ template <class T, class S = std::vector<T> >
|
[[ /// A stack with random access from its top.
|
||||||
|
template <class T, class S = std::vector<T> >
|
||||||
class stack
|
class stack
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -35,20 +36,24 @@ m4_define([b4_stack_define],
|
||||||
seq_.reserve (200);
|
seq_.reserve (200);
|
||||||
}
|
}
|
||||||
|
|
||||||
stack (unsigned int n)
|
stack (unsigned n)
|
||||||
: seq_ (n)
|
: seq_ (n)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
/// Random access.
|
||||||
|
///
|
||||||
|
/// Index 0 returns the topmost element.
|
||||||
T&
|
T&
|
||||||
operator[] (unsigned int i)
|
operator[] (unsigned i)
|
||||||
{
|
{
|
||||||
return seq_[seq_.size () - 1 - i];
|
return seq_[seq_.size () - 1 - i];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
/// Random access.
|
||||||
|
///
|
||||||
|
/// Index 0 returns the topmost element.
|
||||||
const T&
|
const T&
|
||||||
operator[] (unsigned int i) const
|
operator[] (unsigned i) const
|
||||||
{
|
{
|
||||||
return seq_[seq_.size () - 1 - i];
|
return seq_[seq_.size () - 1 - i];
|
||||||
}
|
}
|
||||||
|
@ -56,7 +61,6 @@ m4_define([b4_stack_define],
|
||||||
/// Steal the contents of \a t.
|
/// Steal the contents of \a t.
|
||||||
///
|
///
|
||||||
/// Close to move-semantics.
|
/// Close to move-semantics.
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
push (T& t)
|
push (T& t)
|
||||||
{
|
{
|
||||||
|
@ -64,9 +68,8 @@ m4_define([b4_stack_define],
|
||||||
operator[](0).move (t);
|
operator[](0).move (t);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
void
|
void
|
||||||
pop (unsigned int n = 1)
|
pop (unsigned n = 1)
|
||||||
{
|
{
|
||||||
for (; n; --n)
|
for (; n; --n)
|
||||||
seq_.pop_back ();
|
seq_.pop_back ();
|
||||||
|
@ -78,21 +81,18 @@ m4_define([b4_stack_define],
|
||||||
seq_.clear ();
|
seq_.clear ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
typename S::size_type
|
typename S::size_type
|
||||||
size () const
|
size () const
|
||||||
{
|
{
|
||||||
return seq_.size ();
|
return seq_.size ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
const_iterator
|
const_iterator
|
||||||
begin () const
|
begin () const
|
||||||
{
|
{
|
||||||
return seq_.rbegin ();
|
return seq_.rbegin ();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
|
||||||
const_iterator
|
const_iterator
|
||||||
end () const
|
end () const
|
||||||
{
|
{
|
||||||
|
@ -111,21 +111,20 @@ m4_define([b4_stack_define],
|
||||||
class slice
|
class slice
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
slice (const S& stack, unsigned int range)
|
slice (const S& stack, unsigned range)
|
||||||
: stack_ (stack)
|
: stack_ (stack)
|
||||||
, range_ (range)
|
, range_ (range)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
inline
|
|
||||||
const T&
|
const T&
|
||||||
operator [] (unsigned int i) const
|
operator [] (unsigned i) const
|
||||||
{
|
{
|
||||||
return stack_[range_ - i];
|
return stack_[range_ - i];
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const S& stack_;
|
const S& stack_;
|
||||||
unsigned int range_;
|
unsigned range_;
|
||||||
};
|
};
|
||||||
]])
|
]])
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# C++ skeleton for Bison
|
# C++ skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 2002-2015 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
m4_define([b4_symbol_variant],
|
m4_define([b4_symbol_variant],
|
||||||
[m4_pushdef([b4_dollar_dollar],
|
[m4_pushdef([b4_dollar_dollar],
|
||||||
[$2.$3< $][3 > (m4_shift3($@))])dnl
|
[$2.$3< $][3 > (m4_shift3($@))])dnl
|
||||||
switch ($1)
|
switch ($1)
|
||||||
{
|
{
|
||||||
b4_type_foreach([b4_type_action_])[]dnl
|
b4_type_foreach([b4_type_action_])[]dnl
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<!--
|
<!--
|
||||||
bison.xsl - common templates for Bison XSLT.
|
bison.xsl - common templates for Bison XSLT.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<!--
|
<!--
|
||||||
xml2dot.xsl - transform Bison XML Report into DOT.
|
xml2dot.xsl - transform Bison XML Report into DOT.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<!--
|
<!--
|
||||||
xml2text.xsl - transform Bison XML Report into plain text.
|
xml2text.xsl - transform Bison XML Report into plain text.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<!--
|
<!--
|
||||||
xml2html.xsl - transform Bison XML Report into XHTML.
|
xml2html.xsl - transform Bison XML Report into XHTML.
|
||||||
|
|
||||||
Copyright (C) 2007-2015 Free Software Foundation, Inc.
|
Copyright (C) 2007-2015, 2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of Bison, the GNU Compiler Compiler.
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
-*- C -*-
|
-*- C -*-
|
||||||
# Yacc compatible skeleton for Bison
|
# Yacc compatible skeleton for Bison
|
||||||
|
|
||||||
# Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation,
|
# Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software
|
||||||
# Inc.
|
# Foundation, Inc.
|
||||||
|
|
||||||
m4_pushdef([b4_copyright_years],
|
m4_pushdef([b4_copyright_years],
|
||||||
[1984, 1989-1990, 2000-2015])
|
[1984, 1989-1990, 2000-2015, 2018])
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1207,6 +1207,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
|
||||||
case N: \
|
case N: \
|
||||||
yyformat = S; \
|
yyformat = S; \
|
||||||
break
|
break
|
||||||
|
default: /* Avoid compiler warnings. */
|
||||||
YYCASE_(0, YY_("syntax error"));
|
YYCASE_(0, YY_("syntax error"));
|
||||||
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
YYCASE_(1, YY_("syntax error, unexpected %s"));
|
||||||
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
|
||||||
|
@ -1641,8 +1642,9 @@ yyreduce:
|
||||||
yyval = yyvsp[1-yylen];
|
yyval = yyvsp[1-yylen];
|
||||||
|
|
||||||
]b4_locations_if(
|
]b4_locations_if(
|
||||||
[[ /* Default location. */
|
[[ /* Default location. */
|
||||||
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);]])[
|
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
|
||||||
|
yyerror_range[1] = yyloc;]])[
|
||||||
YY_REDUCE_PRINT (yyn);]b4_lac_if([[
|
YY_REDUCE_PRINT (yyn);]b4_lac_if([[
|
||||||
{
|
{
|
||||||
int yychar_backup = yychar;
|
int yychar_backup = yychar;
|
||||||
|
@ -1782,8 +1784,7 @@ yyerrorlab:
|
||||||
if (/*CONSTCOND*/ 0)
|
if (/*CONSTCOND*/ 0)
|
||||||
goto yyerrorlab;
|
goto yyerrorlab;
|
||||||
|
|
||||||
]b4_locations_if([[ yyerror_range[1] = yylsp[1-yylen];
|
/* Do not reclaim the symbols of the rule whose action triggered
|
||||||
]])[ /* Do not reclaim the symbols of the rule whose action triggered
|
|
||||||
this YYERROR. */
|
this YYERROR. */
|
||||||
YYPOPSTACK (yylen);
|
YYPOPSTACK (yylen);
|
||||||
yylen = 0;
|
yylen = 0;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче