Commit efbdc08d authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

Update parsers to work with Bison 2.4.1.

* HACKING: Mention that we require Bison >= 2.4 for developers.
* src/evtgbaparse/evtgbaparse.yy, src/tgbaparse/tgbaparse.yy,
src/ltlparse/ltlparse.yy: The sections "%{ ... %}" should now be
renamed "%code requires { ... }" or "%code { ... }" depending on
whether they should end up in the parser's header file or its cc
file.  Also use %language, %locations, %defines, instead of
command-line arguments.
* src/evtgbaparse/Makefile.am, src/tgbaparse/Makefile.am,
src/ltlparse/Makefile.am: Remove the --locations, --defines
and --languages in the call to bison.  Add -Wall -Werror to
catch more errors.
Thanks to Akim Demaille <akim@lrde.epita.fr> for the help.
parent 1f608795
2009-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Update parsers to work with Bison 2.4.1.
* HACKING: Mention that we require Bison >= 2.4 for developers.
* src/evtgbaparse/evtgbaparse.yy, src/tgbaparse/tgbaparse.yy,
src/ltlparse/ltlparse.yy: The sections "%{ ... %}" should now be
renamed "%code requires { ... }" or "%code { ... }" depending on
whether they should end up in the parser's header file or its cc
file. Also use %language, %locations, %defines, instead of
command-line arguments.
* src/evtgbaparse/Makefile.am, src/tgbaparse/Makefile.am,
src/ltlparse/Makefile.am: Remove the --locations, --defines
and --languages in the call to bison. Add -Wall -Werror to
catch more errors.
Thanks to Akim Demaille <akim@lrde.epita.fr> for the help.
2009-03-25 Alexandre Duret-Lutz <adl@lrde.epita.fr>
* src/tgbaalgos/scc.hh: Add missing misc/hash.hh inclusion.
......
......@@ -12,7 +12,7 @@ generally if you plan to regenerate some of the generated files.
GNU Autoconf >= 2.61
GNU Automake >= 1.10
GNU Flex (the version seems to matters, we used 2.5.31)
GNU Bison >= 2.3
GNU Bison >= 2.4
SWIG >= 1.3.31
Doxygen >= 1.4.0
......
## Copyright (C) 2004, 2006, 2008 Laboratoire d'Informatique de Paris 6
## Copyright (C) 2004, 2006, 2008, 2009 Laboratoire d'Informatique de Paris 6
## (LIP6), dpartement Systmes Rpartis Coopratifs (SRC), Universit
## Pierre et Marie Curie.
##
......@@ -50,7 +50,7 @@ $(FROM_EVTGBAPARSE_YY_MAIN): $(srcdir)/$(EVTGBAPARSE_YY)
## $(srcdir)/$(EVTGBAPARSE_YY), it will also use the value of $(srcdir)/
## in the generated include statements.
cd $(srcdir) && \
bison --defines --locations --skeleton=lalr1.cc --report=all \
bison -Wall -Werror --report=all \
$(EVTGBAPARSE_YY) -o $(FROM_EVTGBAPARSE_YY_MAIN)
$(FROM_EVTGBAPARSE_YY_OTHERS): $(EVTGBAPARSE_YY)
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) $(FROM_EVTGBAPARSE_YY_MAIN)
......
/* Copyright (C) 2004, 2005, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
/* Copyright (C) 2004, 2005, 2006, 2009 Laboratoire d'Informatique de Paris 6 (LIP6),
** dpartement Systmes Rpartis Coopratifs (SRC), Universit Pierre
** et Marie Curie.
**
......@@ -19,17 +19,22 @@
** Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
** 02111-1307, USA.
*/
%{
%language "C++"
%locations
%defines
%name-prefix "evtgbayy"
%debug
%error-verbose
%code requires
{
#include <string>
#include "public.hh"
#include "evtgba/symbol.hh"
%}
}
%name-prefix="evtgbayy"
%parse-param {spot::evtgba_parse_error_list &error_list}
%parse-param {spot::evtgba_explicit* &result}
%debug
%error-verbose
%union
{
int token;
......@@ -37,7 +42,8 @@
spot::rsymbol_set* symset;
}
%{
%code
{
/* evtgbaparse.hh and parsedecl.hh include each other recursively.
We mut ensure that YYSTYPE is declared (by the above %union)
before parsedecl.hh uses it. */
......@@ -47,7 +53,7 @@
(%name-prefix doesn't work for the lalr1.cc skeleton
at the time of writing.) */
#define yylex evtgbayylex
%}
}
%token <str> STRING UNTERMINATED_STRING
%token <str> IDENT
......
## Copyright (C) 2003, 2004, 2008 Laboratoire d'Informatique de Paris
## Copyright (C) 2003, 2004, 2008, 2009 Laboratoire d'Informatique de Paris
## 6 (LIP6), dpartement Systmes Rpartis Coopratifs (SRC),
## Universit Pierre et Marie Curie.
##
......@@ -44,7 +44,7 @@ $(FROM_LTLPARSE_YY_MAIN): $(srcdir)/$(LTLPARSE_YY)
## $(srcdir)/$(LTLPARSE_YY), it will also use the value of $(srcdir)/
## in the generated include statements.
cd $(srcdir) && \
bison --defines --locations --skeleton=lalr1.cc --report=all \
bison -Wall -Werror --report=all \
$(LTLPARSE_YY) -o $(FROM_LTLPARSE_YY_MAIN)
$(FROM_LTLPARSE_YY_OTHERS): $(LTLPARSE_YY)
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) $(FROM_LTLPARSE_YY_MAIN)
......
/* Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
/* Copyright (C) 2003, 2004, 2005, 2006, 2009 Laboratoire d'Informatique de
** Paris 6 (LIP6), dpartement Systmes Rpartis Coopratifs (SRC),
** Universit Pierre et Marie Curie.
**
......@@ -19,20 +19,24 @@
** Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
** 02111-1307, USA.
*/
%{
%language "C++"
%locations
%defines
%name-prefix "ltlyy"
%debug
%error-verbose
%code requires
{
#include <string>
#include "public.hh"
#include "ltlast/allnodes.hh"
#include "ltlvisit/destroy.hh"
}
%}
%name-prefix="ltlyy"
%parse-param {spot::ltl::parse_error_list &error_list}
%parse-param {spot::ltl::environment &parse_environment}
%parse-param {spot::ltl::formula* &result}
%debug
%error-verbose
%union
{
int token;
......@@ -40,7 +44,7 @@
spot::ltl::formula* ltl;
}
%{
%code {
/* ltlparse.hh and parsedecl.hh include each other recursively.
We mut ensure that YYSTYPE is declared (by the above %union)
before parsedecl.hh uses it. */
......@@ -69,7 +73,7 @@ using namespace spot::ltl;
} \
while (0);
%}
}
/* All tokens. */
......
## Copyright (C) 2003, 2004, 2006, 2008 Laboratoire d'Informatique de
## Copyright (C) 2003, 2004, 2006, 2008, 2009 Laboratoire d'Informatique de
## Paris 6 (LIP6), dpartement Systmes Rpartis Coopratifs (SRC),
## Universit Pierre et Marie Curie.
##
......@@ -50,7 +50,7 @@ $(FROM_TGBAPARSE_YY_MAIN): $(srcdir)/$(TGBAPARSE_YY)
## $(srcdir)/$(TGBAPARSE_YY), it will also use the value of $(srcdir)/
## in the generated include statements.
cd $(srcdir) && \
bison --defines --locations --skeleton=lalr1.cc --report=all \
bison -Wall -Werror --report=all \
$(TGBAPARSE_YY) -o $(FROM_TGBAPARSE_YY_MAIN)
$(FROM_TGBAPARSE_YY_OTHERS): $(TGBAPARSE_YY)
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) $(FROM_TGBAPARSE_YY_MAIN)
......
/* Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
/* Copyright (C) 2003, 2004, 2005, 2006, 2009 Laboratoire d'Informatique de
** Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
** Université Pierre et Marie Curie.
**
......@@ -19,7 +19,15 @@
** Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
** 02111-1307, USA.
*/
%{
%language "C++"
%locations
%defines
%name-prefix "tgbayy"
%debug
%error-verbose
%code requires
{
#include <string>
#include "public.hh"
......@@ -28,16 +36,13 @@
over, and to register all their atomic_propositions in the
bdd_dict. Keep the bdd result around so we can reuse it. */
typedef std::map<std::string, bdd> formula_cache;
%}
}
%name-prefix="tgbayy"
%parse-param {spot::tgba_parse_error_list& error_list}
%parse-param {spot::ltl::environment& parse_environment}
%parse-param {spot::ltl::environment& parse_envacc}
%parse-param {spot::tgba_explicit*& result}
%parse-param {formula_cache& fcache}
%debug
%error-verbose
%union
{
int token;
......@@ -46,7 +51,8 @@ typedef std::map<std::string, bdd> formula_cache;
std::list<spot::ltl::formula*>* list;
}
%{
%code
{
#include "ltlast/constant.hh"
#include "ltlvisit/destroy.hh"
/* Unfortunately Bison 2.3 uses the same guards in all parsers :( */
......@@ -67,7 +73,7 @@ using namespace spot::ltl;
#define yylex tgbayylex
typedef std::pair<bool, spot::ltl::formula*> pair;
%}
}
%token <str> STRING UNTERMINATED_STRING
%token <str> IDENT
......@@ -161,7 +167,7 @@ strident: string | IDENT
condition:
{
$$ = 0
$$ = 0;
}
| string
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment