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:
Akim Demaille
2005-07-06 07:49:25 +00:00
parent fd2df2ede4
commit 828c373b6d
12 changed files with 136 additions and 50 deletions

View File

@@ -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>
* data/glr.c (yyFail): Drastically simplify; since the format argument

View File

@@ -1,5 +1,5 @@
## 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
## it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
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

View File

@@ -129,5 +129,7 @@ AC_CONFIG_FILES([Makefile
config/Makefile
po/Makefile.in
data/Makefile
examples/Makefile
examples/calc++/Makefile
lib/Makefile src/Makefile doc/Makefile])
AC_OUTPUT

View File

@@ -1,5 +1,5 @@
## 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
## 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
clean-local:
rm -rf *.t2d
refcard.dvi: refcard.tex
tex refcard.tex

View File

@@ -7360,10 +7360,12 @@ preceding tokens. Comments would be treated equally.
@comment file: calc++-scanner.ll
@example
%@{
# define YY_USER_ACTION yylloc->columns (yyleng);
%@}
%%
%@{
yylloc->step ();
# define YY_USER_ACTION yylloc->columns (yyleng);
%@}
@{blank@}+ yylloc->step ();
[\n]+ yylloc->lines (yyleng); yylloc->step ();

21
examples/Makefile.am Normal file
View 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

View File

@@ -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)

View 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)

View File

@@ -10,10 +10,12 @@ id [a-zA-Z][a-zA-Z_0-9]*
int [0-9]+
blank [ \t]
%{
# define YY_USER_ACTION yylloc->columns (yyleng);
%}
%%
%{
yylloc->step ();
# define YY_USER_ACTION yylloc->columns (yyleng);
%}
{blank}+ yylloc->step ();
[\n]+ yylloc->lines (yyleng); yylloc->step ();

View File

@@ -1,4 +1,4 @@
#line 7414 "../../doc/bison.texinfo"
#line 7416 "../../doc/bison.texinfo"
#include <iostream>
#include "calc++-driver.hh"

View File

@@ -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

View File

@@ -1,4 +1,5 @@
#! /bin/sh
set +e
cat >input <<EOF
a := 1
@@ -24,3 +25,5 @@ toto := 1
toto
EOF
./calc++ -s input
rm input