mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 10:13:03 +00:00
Bind examples/calc++ to the package.
* examples/calc++/Makefile: Remove, replaced by... * examples/calc++/Makefile.am: ... this new file. * examples/calc++/test: Remove input. * examples/calc++/compile: Remove. * examples/Makefile.am: New. * configure.ac, Makefile.am: Adjust. * doc/Makefile.am (clean-local): New, for more recent texi2dvis.
This commit is contained in:
11
ChangeLog
11
ChangeLog
@@ -1,3 +1,14 @@
|
|||||||
|
2005-07-06 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
Bind examples/calc++ to the package.
|
||||||
|
* examples/calc++/Makefile: Remove, replaced by...
|
||||||
|
* examples/calc++/Makefile.am: ... this new file.
|
||||||
|
* examples/calc++/test: Remove input.
|
||||||
|
* examples/calc++/compile: Remove.
|
||||||
|
* examples/Makefile.am: New.
|
||||||
|
* configure.ac, Makefile.am: Adjust.
|
||||||
|
* doc/Makefile.am (clean-local): New, for more recent texi2dvis.
|
||||||
|
|
||||||
2005-07-05 Paul Eggert <eggert@cs.ucla.edu>
|
2005-07-05 Paul Eggert <eggert@cs.ucla.edu>
|
||||||
|
|
||||||
* data/glr.c (yyFail): Drastically simplify; since the format argument
|
* data/glr.c (yyFail): Drastically simplify; since the format argument
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
## Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
## Copyright (C) 2001, 2002, 2003, 2004, 2005 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
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
SUBDIRS = config po lib data src doc tests
|
SUBDIRS = config po lib data src doc tests examples
|
||||||
|
|
||||||
EXTRA_DIST = REFERENCES OChangeLog Makefile.maint GNUmakefile Makefile.cfg
|
EXTRA_DIST = REFERENCES OChangeLog Makefile.maint GNUmakefile Makefile.cfg
|
||||||
|
|
||||||
|
|||||||
@@ -129,5 +129,7 @@ AC_CONFIG_FILES([Makefile
|
|||||||
config/Makefile
|
config/Makefile
|
||||||
po/Makefile.in
|
po/Makefile.in
|
||||||
data/Makefile
|
data/Makefile
|
||||||
|
examples/Makefile
|
||||||
|
examples/calc++/Makefile
|
||||||
lib/Makefile src/Makefile doc/Makefile])
|
lib/Makefile src/Makefile doc/Makefile])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
## Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
## Copyright (C) 2001, 2002, 2003, 2005 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
|
||||||
@@ -25,6 +25,9 @@ EXTRA_DIST = FAQ bison.1 refcard.tex
|
|||||||
|
|
||||||
CLEANFILES = refcard.dvi refcard.log refcard.ps bison.fns
|
CLEANFILES = refcard.dvi refcard.log refcard.ps bison.fns
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
rm -rf *.t2d
|
||||||
|
|
||||||
refcard.dvi: refcard.tex
|
refcard.dvi: refcard.tex
|
||||||
tex refcard.tex
|
tex refcard.tex
|
||||||
|
|
||||||
|
|||||||
@@ -7360,10 +7360,12 @@ preceding tokens. Comments would be treated equally.
|
|||||||
|
|
||||||
@comment file: calc++-scanner.ll
|
@comment file: calc++-scanner.ll
|
||||||
@example
|
@example
|
||||||
|
%@{
|
||||||
|
# define YY_USER_ACTION yylloc->columns (yyleng);
|
||||||
|
%@}
|
||||||
%%
|
%%
|
||||||
%@{
|
%@{
|
||||||
yylloc->step ();
|
yylloc->step ();
|
||||||
# define YY_USER_ACTION yylloc->columns (yyleng);
|
|
||||||
%@}
|
%@}
|
||||||
@{blank@}+ yylloc->step ();
|
@{blank@}+ yylloc->step ();
|
||||||
[\n]+ yylloc->lines (yyleng); yylloc->step ();
|
[\n]+ yylloc->lines (yyleng); yylloc->step ();
|
||||||
|
|||||||
21
examples/Makefile.am
Normal file
21
examples/Makefile.am
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
## Copyright (C) 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
## 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
|
||||||
|
## the Free Software Foundation; either version 2 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
|
||||||
|
## This program is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU General Public License for more details.
|
||||||
|
|
||||||
|
## You should have received a copy of the GNU General Public License
|
||||||
|
## along with this program; if not, write to the Free Software
|
||||||
|
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
## 02110-1301 USA
|
||||||
|
|
||||||
|
SUBDIRS = calc++
|
||||||
|
|
||||||
|
dist_noinst_SCRIPTS = extexi
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
all: calc++
|
|
||||||
|
|
||||||
calc++:
|
|
||||||
flex -ocalc++-scanner.cc calc++-scanner.ll
|
|
||||||
bison -o calc++-parser.cc calc++-parser.yy
|
|
||||||
$(CC) -o calc++ calc++.cc calc++-driver.cc calc++-parser.cc calc++-scanner.cc
|
|
||||||
|
|
||||||
check: all
|
|
||||||
./test
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *~ *.o *.tab.* input position.hh location.hh stack.hh \
|
|
||||||
calc++-parser.cc calc++-parser.hh \
|
|
||||||
calc++-scanner.cc \
|
|
||||||
calc++
|
|
||||||
|
|
||||||
## ------------ ##
|
|
||||||
## Extracting. ##
|
|
||||||
## ------------ ##
|
|
||||||
|
|
||||||
EXTRACTED = \
|
|
||||||
calc++-driver.hh calc++-driver.cc \
|
|
||||||
calc++-parser.yy \
|
|
||||||
calc++-scanner.ll \
|
|
||||||
calc++.cc
|
|
||||||
|
|
||||||
doc = ../../doc/bison.texinfo
|
|
||||||
extexi = gawk -f ../extexi
|
|
||||||
|
|
||||||
RECURSIVE_TARGETS += extract
|
|
||||||
|
|
||||||
$(EXTRACTED): $(doc) ../extexi
|
|
||||||
$(extexi) $(doc) -- $(EXTRACTED)
|
|
||||||
|
|
||||||
extract extract-am: $(EXTRACTED)
|
|
||||||
86
examples/calc++/Makefile.am
Normal file
86
examples/calc++/Makefile.am
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in -*-Makefile-*-
|
||||||
|
## Copyright (C) 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
## 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
|
||||||
|
## the Free Software Foundation; either version 2 of the License, or
|
||||||
|
## (at your option) any later version.
|
||||||
|
|
||||||
|
## This program is distributed in the hope that it will be useful,
|
||||||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
## GNU General Public License for more details.
|
||||||
|
|
||||||
|
## You should have received a copy of the GNU General Public License
|
||||||
|
## along with this program; if not, write to the Free Software
|
||||||
|
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
## 02110-1301 USA
|
||||||
|
|
||||||
|
## ------------------------------------- ##
|
||||||
|
## Running the bison from this tarball. ##
|
||||||
|
## ------------------------------------- ##
|
||||||
|
|
||||||
|
BISON = $(top_builddir)/tests/bison
|
||||||
|
BISON_IN = $(top_srcdir)/tests/bison.in
|
||||||
|
|
||||||
|
$(BISON): $(BISON_IN)
|
||||||
|
cd $(top_builddir)/tests && $(MAKE) $(AM_MAKEFLAGS) bison
|
||||||
|
|
||||||
|
## ------------ ##
|
||||||
|
## Extracting. ##
|
||||||
|
## ------------ ##
|
||||||
|
|
||||||
|
doc = $(top_srcdir)/doc/bison.texinfo
|
||||||
|
extexi = $(top_srcdir)/examples/extexi
|
||||||
|
run_extexi = gawk -f $(extexi)
|
||||||
|
$(calc_sources_extracted): $(doc) $(extexi)
|
||||||
|
# Extract in src.
|
||||||
|
cd $(srcdir) && \
|
||||||
|
gawk -f ../extexi ../../doc/bison.texinfo -- \
|
||||||
|
calc++-scanner.ll calc++.cc calc++-driver.hh calc++-driver.cc
|
||||||
|
|
||||||
|
|
||||||
|
## ------------------- ##
|
||||||
|
## Parser generation. ##
|
||||||
|
## ------------------- ##
|
||||||
|
|
||||||
|
# We do not use Automake features here.
|
||||||
|
BUILT_SOURCES = $(calc_sources_generated)
|
||||||
|
MAINTAINERCLEANFILES = $(calc_sources_generated)
|
||||||
|
|
||||||
|
# Compile the parser and save cycles.
|
||||||
|
# This code comes from "Handling Tools that Produce Many Outputs",
|
||||||
|
# from the Automake documentation.
|
||||||
|
EXTRA_DIST = $(srcdir)/calc++-parser.stamp $(srcdir)/calc++-parser.yy
|
||||||
|
# Don't depend on $(BISON) otherwise we would rebuild these files
|
||||||
|
# in srcdir, including during distcheck, which is forbidden.
|
||||||
|
$(srcdir)/calc++-parser.stamp: $(srcdir)/calc++-parser.yy $(BISON_IN)
|
||||||
|
@rm -f calc++-parser.tmp
|
||||||
|
@touch calc++-parser.tmp
|
||||||
|
$(BISON) -S lalr1.cc $(srcdir)/calc++-parser.yy -o $(srcdir)/calc++-parser.cc -d -ra
|
||||||
|
@mv -f calc++-parser.tmp $@
|
||||||
|
|
||||||
|
$(calc_sources_generated): $(srcdir)/calc++-parser.stamp
|
||||||
|
@if test -f $@; then :; else x\
|
||||||
|
rm -f $(srcdir)/calc++-parser.stamp; \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) $(srcdir)/calc++-parser.stamp; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
## --------------------------- ##
|
||||||
|
## Building & testing calc++. ##
|
||||||
|
## --------------------------- ##
|
||||||
|
|
||||||
|
noinst_PROGRAMS = calc++
|
||||||
|
|
||||||
|
calc_sources_extracted = $(srcdir)/calc++-scanner.ll $(srcdir)/calc++.cc \
|
||||||
|
$(srcdir)/calc++-driver.hh $(srcdir)/calc++-driver.cc
|
||||||
|
calc_extracted = $(calc_sources_extracted) calc++-parser.yy
|
||||||
|
calc_sources_generated = \
|
||||||
|
$(srcdir)/stack.hh $(srcdir)/position.hh $(srcdir)/location.hh \
|
||||||
|
$(srcdir)/calc++-parser.hh $(srcdir)/calc++-parser.cc
|
||||||
|
|
||||||
|
calc___SOURCES = $(calc_sources_extracted) $(calc_sources_generated)
|
||||||
|
|
||||||
|
TESTS = test
|
||||||
|
EXTRA_DIST += $(TESTS)
|
||||||
@@ -10,10 +10,12 @@ id [a-zA-Z][a-zA-Z_0-9]*
|
|||||||
int [0-9]+
|
int [0-9]+
|
||||||
blank [ \t]
|
blank [ \t]
|
||||||
|
|
||||||
|
%{
|
||||||
|
# define YY_USER_ACTION yylloc->columns (yyleng);
|
||||||
|
%}
|
||||||
%%
|
%%
|
||||||
%{
|
%{
|
||||||
yylloc->step ();
|
yylloc->step ();
|
||||||
# define YY_USER_ACTION yylloc->columns (yyleng);
|
|
||||||
%}
|
%}
|
||||||
{blank}+ yylloc->step ();
|
{blank}+ yylloc->step ();
|
||||||
[\n]+ yylloc->lines (yyleng); yylloc->step ();
|
[\n]+ yylloc->lines (yyleng); yylloc->step ();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#line 7414 "../../doc/bison.texinfo"
|
#line 7416 "../../doc/bison.texinfo"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "calc++-driver.hh"
|
#include "calc++-driver.hh"
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
BISON_PKGDATADIR=$HOME/src/bison/data
|
|
||||||
export BISON_PKGDATADIR
|
|
||||||
|
|
||||||
flex -ocalc++-scanner.cc calc++-scanner.ll
|
|
||||||
bison -o calc++-parser.cc calc++-parser.yy
|
|
||||||
g++ -o calc++ calc++.cc calc++-driver.cc calc++-parser.cc calc++-scanner.cc
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
cat >input <<EOF
|
cat >input <<EOF
|
||||||
a := 1
|
a := 1
|
||||||
@@ -24,3 +25,5 @@ toto := 1
|
|||||||
toto
|
toto
|
||||||
EOF
|
EOF
|
||||||
./calc++ -s input
|
./calc++ -s input
|
||||||
|
|
||||||
|
rm input
|
||||||
|
|||||||
Reference in New Issue
Block a user