summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog146
-rw-r--r--Makefile.am4
-rw-r--r--README-cvs20
-rwxr-xr-xbootstrap223
-rw-r--r--config/.cvsignore12
-rwxr-xr-xconfig/depcomp520
-rwxr-xr-xconfig/install-sh316
-rw-r--r--configure.ac47
-rw-r--r--lib/.cvsignore55
-rw-r--r--lib/Makefile.am32
-rw-r--r--lib/alloca.c508
-rw-r--r--lib/argmatch.c280
-rw-r--r--lib/argmatch.h109
-rw-r--r--lib/basename.c79
-rw-r--r--lib/dirname.c121
-rw-r--r--lib/dirname.h49
-rw-r--r--lib/error.c407
-rw-r--r--lib/error.h78
-rw-r--r--lib/getopt.c1273
-rw-r--r--lib/getopt.h180
-rw-r--r--lib/getopt1.c195
-rw-r--r--lib/gettext.h69
-rw-r--r--lib/hash.c1051
-rw-r--r--lib/hash.h95
-rw-r--r--lib/malloc.c38
-rw-r--r--lib/mbswidth.c213
-rw-r--r--lib/mbswidth.h46
-rw-r--r--lib/memchr.c216
-rw-r--r--lib/memcmp.c386
-rw-r--r--lib/memrchr.c209
-rw-r--r--lib/obstack.c616
-rw-r--r--lib/obstack.h613
-rw-r--r--lib/quote.c41
-rw-r--r--lib/quote.h28
-rw-r--r--lib/quotearg.c630
-rw-r--r--lib/quotearg.h114
-rw-r--r--lib/realloc.c44
-rw-r--r--lib/stdbool_.h47
-rw-r--r--lib/stpcpy.c50
-rw-r--r--lib/strcasecmp.c66
-rw-r--r--lib/strchr.c31
-rw-r--r--lib/strncasecmp.c2
-rw-r--r--lib/strnlen.c63
-rw-r--r--lib/strrchr.c30
-rw-r--r--lib/strspn.c58
-rw-r--r--lib/strtol.c472
-rw-r--r--lib/strtoul.c22
-rw-r--r--lib/unlocked-io.h90
-rw-r--r--lib/xalloc.h89
-rw-r--r--lib/xmalloc.c113
-rw-r--r--lib/xstrdup.c38
-rw-r--r--lib/xstrndup.c51
-rw-r--r--m4/.cvsignore19
-rw-r--r--m4/Makefile.am13
-rw-r--r--m4/alloca.m436
-rw-r--r--m4/dirname.m425
-rw-r--r--m4/dos.m453
-rw-r--r--m4/error.m418
-rw-r--r--m4/getopt.m413
-rw-r--r--m4/hash.m415
-rw-r--r--m4/malloc.m425
-rw-r--r--m4/mbrtowc.m427
-rw-r--r--m4/mbswidth.m436
-rw-r--r--m4/memchr.m421
-rw-r--r--m4/memcmp.m422
-rw-r--r--m4/memrchr.m423
-rw-r--r--m4/obstack.m424
-rw-r--r--m4/onceonly.m463
-rw-r--r--m4/prereq.m463
-rw-r--r--m4/quote.m413
-rw-r--r--m4/quotearg.m416
-rw-r--r--m4/realloc.m425
-rw-r--r--m4/stdbool.m489
-rw-r--r--m4/stpcpy.m424
-rw-r--r--m4/strnlen.m432
-rw-r--r--m4/strtol.m422
-rw-r--r--m4/strtoul.m420
-rw-r--r--m4/unlocked-io.m422
-rw-r--r--m4/xalloc.m426
-rw-r--r--po/.cvsignore12
-rw-r--r--po/ChangeLog70
-rw-r--r--po/LINGUAS16
-rw-r--r--po/Makefile.in.in353
-rw-r--r--po/Makevars41
-rw-r--r--po/da.po710
-rw-r--r--po/de.po1011
-rw-r--r--po/es.po1018
-rw-r--r--po/et.po704
-rw-r--r--po/fr.po1183
-rw-r--r--po/hr.po896
-rw-r--r--po/id.po721
-rw-r--r--po/it.po761
-rw-r--r--po/ja.po1055
-rw-r--r--po/ms.po709
-rw-r--r--po/nl.po720
-rw-r--r--po/pt_BR.po706
-rw-r--r--po/ro.po713
-rw-r--r--po/ru.po958
-rw-r--r--po/sv.po711
-rw-r--r--po/tr.po902
-rw-r--r--src/.cvsignore7
-rw-r--r--src/files.c3
-rw-r--r--src/system.h20
103 files changed, 491 insertions, 24579 deletions
diff --git a/ChangeLog b/ChangeLog
index 4b472fcc..7e4a1e92 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,148 @@
+2004-04-28 Paul Eggert <eggert@twinsun.com>
+
+ Get files from the gnulib and po repositories, instead of relying
+ on them being in our CVS. Upgrade to latest versions of gnulib
+ and Automake.
+
+ * Makefile.am (SUBDIRS): Remove m4; Automake now does m4.
+ * bootstrap: Bootstrap from gnulib and po repositories.
+ Much of this code was stolen from GNU diff and GNU tar's bootstrap.
+ * README-cvs: Document these changes. Remove version numbers from
+ mentions of build tools, since they change so often. Mention Flex.
+
+ * configure.ac (AC_CONFIG_MACRO_DIR): Add, with m4 as arg.
+ (gl_USE_SYSTEM_EXTENSIONS): Add.
+ (AC_GNU_SOURCE): Remove; no longer needed, as gl_USE_SYSTEM_EXTENSIONS
+ does this for us.
+ (AC_ISC_POSIX, AC_MINIX): Remove; we no longer support these
+ ancient OSes, as they get in the way of latest Autoconf & gnulib.
+ (AC_HEADER_STDC): Remove: we now assume C89 or better.
+ (AC_CHECK_HEADERS_ONCE): Use instead of AC_CHECK_HEADERS.
+ Do not check for C89 headers, except for locale.h which is used
+ by the Yacc library and must port to K&R hosts.
+ (AC_CHECK_FUNCS_ONCE): Use instead of AC_CHECK_FUNCS.
+ Do not check for C89 functions, except for setlocale which is
+ used by the Yacc library.
+ (AC_CHECK_DECLS, AC_REPLACE_FUNCS): Remove; no longer needed.
+ (gl_DIRNAME, gl_ERROR, gl_FUNC_ALLOCA, gl_FUNC_MEMCHR,
+ gl_FUNC_MEMRCHR, gl_FUNC_STPCPY, gl_FUNC_STRNLEN, gl_FUNC_STRTOL,
+ gl_GETOPT, gl_HASH, gl_MBSWIDTH, gl_OBSTACK, gl_QUOTE,
+ gl_QUOTEARG, gl_XALLOC, jm_FUNC_GLIBC_UNLOCKED_IO, jm_FUNC_MALLOC,
+ AM_GNU_GETTEXT): Remove; now done by:
+ (GNULIB_AUTOCONF_SNIPPET): Add. "bootstrap" builds this for us.
+ (AC_CONFIG_FILES): Remove m4/Makefile, as Automake now does this
+ for us.
+
+ * lib/Makefile.am: Include gnulib.mk, built for us by "bootstrap".
+ (BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES):
+ Define to empty, as gnulib.mk will do the rest for us.
+ ($(libbison_a_OBJECTS), stdbool.h): Remove, as gnulib.mk does this
+ for us.
+ (libbison_a_SOURCES): Define to $(lib_SOURCES) now.
+ (lib_SOURCES): New symbol, containing only the non-gnulib libs.
+
+ * src/files.c: Include gnulib's xstrndup.h.
+
+ * src/system.h (MALLOC): Use xnmalloc, for better overflow checking.
+ (REALLOC): Use xnrealloc, for likewise.
+ (xstrndup, stpcpy): Remove decls, as gnulib does this for us now.
+ (strnlen, memrchr): Remove decls; functions no longer used.
+ Include <stpcpy.h>.
+
+ * config/depcomp, config/install-sh, lib/alloca.c, lib/argmatch.c,
+ lib/argmatch.h, lib/basename.c, lib/dirname.c, lib/dirname.h,
+ lib/error.c, lib/error.h, lib/getopt.c, lib/getopt.h,
+ lib/getopt1.c, lib/gettext.h, lib/hash.c, lib/hash.h,
+ lib/malloc.c, lib/mbswidth.c, lib/mbswidth.h, lib/memchr.c,
+ lib/memcmp.c, lib/memrchr.c, lib/obstack.c, lib/obstack.h,
+ lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h,
+ lib/realloc.c, lib/stdbool_.h, lib/stpcpy.c, lib/strcasecmp.c,
+ lib/strchr.c, lib/strncasecmp.c, lib/strnlen.c, lib/strrchr.c,
+ lib/strspn.c, lib/strtol.c, lib/strtoul.c, lib/unlocked-io.h,
+ lib/xalloc.h, lib/xmalloc.c, lib/xstrdup.c, lib/xstrndup.c,
+ m4/Makefile.am, m4/alloca.m4, m4/dirname.m4, m4/dos.m4,
+ m4/error.m4, m4/getopt.m4, m4/hash.m4, m4/malloc.m4,
+ m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4, m4/memcmp.m4,
+ m4/memrchr.m4, m4/obstack.m4, m4/onceonly.m4, m4/prereq.m4,
+ m4/quote.m4, m4/quotearg.m4, m4/realloc.m4, m4/stdbool.m4,
+ m4/stpcpy.m4, m4/strnlen.m4, m4/strtol.m4, m4/strtoul.m4,
+ m4/unlocked-io.m4, m4/xalloc.m4, po/LINGUAS, po/Makefile.in.in,
+ po/Makevars, po/da.po, po/de.po, po/es.po, po/et.po, po/fr.po,
+ po/hr.po, po/id.po, po/it.po, po/ja.po, po/ms.po, po/nl.po,
+ po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po:
+ Remove, as these files are now generated automatically
+ by bootstrap or automake.
+
+ * po/ChangeLog: Remove: all but one entry was a duplicate
+ of this file, and I moved that 2000-11-02 entry here.
+
+ * config/.cvsignore: Add Makefile, depcomp, install-sh.
+ * lib/.cvsignore: Add alloca.c, alloca.h, alloca_.h, argmatch.c,
+ argmatch.h, basename.c, dirname.c, dirname.h, error.c, error.h,
+ exit.h, exitfail.c, exitfail.h, getopt.c, getopt.h, getopt1.c,
+ getopt_int.h, gettext.h, gnulib.mk, hard-locale.c, hard-locale.h,
+ hash.c, hash.h, malloc.c, mbswidth.c, mbswidth.h, memchr.c,
+ memcmp.c, memrchr.c, obstack.c, obstack.h, quote.c, quote.h,
+ quotearg.c, quotearg.h, realloc.c, stdbool_.h, stpcpy.c, stpcpy.h,
+ strcasecmp.c, strchr.c, stripslash.c, strncasecmp.c, strndup.c,
+ strnlen.c, strrchr.c, strspn.c, strtol.c, strtoul.c,
+ unlocked-io.h, xalloc.h, xmalloc.c, xstrdup.c, xstrndup.c,
+ xstrndup.h.
+ * m4/.cvsignore: Remove Makefile, Makefile.in. Add alloca.m4,
+ dirname.m4, dos.m4, error.m4, getopt.m4, hash.m4, mbrtowc.m4,
+ mbswidth.m4, obstack.m4, onceonly.m4, quote.m4, quotearg.m4,
+ stdbool.m4, stpcpy.m4, strnlen.m4, unlocked-io.m4, xalloc.m4.
+ * po/.cvsignore: Add *.po, LINGUAS, Makefile.in.in, Makevars.
+ * src/.cvsignore: Remove *_.c.
+
+
+ * Makefile.maint (GZIP_ENV): Don't use --rsyncable if gzip doesn't
+ support it. (The latest stable gzip doesn't.)
+
+2004-04-27 Paul Eggert <eggert@twinsun.com>
+
+ * data/lalr1.cc (Parser::stos_) [! YYDEBUG]: Define even in this
+ case, as stos_ is now used by destructors due to the 2004-02-09
+ change.
+
+ Remove more K&R C support.
+ * lib/libiberty.y (PARAMS): Remove. All uses removed.
+ * lib/subpipe.c (errno): Remove decl.
+ Include <stdlib.h> unconditionally.
+ (EXIT_FAILURE): Remove macro.
+ * src/complain.c (vfprintf, strerror): Remove.
+ * src/system.h: Include limits.h, stdlib.h, string.h, locale.h
+ unconditionally.
+ (EXIT_FAILURE, EXIT_SUCCESS, setlocale): Remove defns.
+ Use latest Autoconf recommendations for including inttypes.h, stdint.h.
+ (strchr, strspn, memchr): Remove decls.
+ * tests/calc.at (_AT_DATA_CALC_Y): Include stdlib.h, string.h
+ unconditionally. Do not declare perror.
+ * tests/conflicts.at (%nonassoc and eof): Include stdlib.h
+ unconditionally.
+
+ * src/complain.c (_): Remove useless defn, as system.h defines this.
+
+ * lib/bitset.h (__INT_TO_PTR): Remove; workaround no longer needed
+ with latest obstack.h.
+ * lib/ebitset.c (ebitset_elt_alloc): Don't bother to cast args
+ to procedure types, as obstack.h now does that for us.
+ * lib/lbitset.c (lbitset_elt_alloc): Likewise.
+
+ * lib/subpipe.h [HAVE_SYS_TYPES_H]: Include <sys/types.h>,
+ so that this include file can stand alone.
+ * lib/subpipe.c: Do not include <sys/types.h>, as subpipe.h
+ does this now. Include subpipe.h first after config.h, to
+ test whether it can stand alone.
+
+ * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Don't
+ declare yyerror when using lalr.cc, as GCC 3.4.0 warns about the
+ unused declaration.
+
+ * tests/synclines.at (%union synch line): Put a dummy member in
+ the union, because empty unions aren't allowed in C. Caught
+ by GCC 3.4.0.
+
2004-04-13 Jim Meyering <jim@meyering.net>
* src/conflicts.c (conflicts_print): Correct format string typo:
@@ -10179,6 +10324,7 @@
obstacks.
(output_token_defines, reader_output_yylsp): Use obstacks.
* src/system.h (obstack_fgrow3): New.
+ * po/POTFILES.in: Adjust.
2000-11-01 Akim Demaille <akim@epita.fr>
diff --git a/Makefile.am b/Makefile.am
index 7bf0d240..93e167a3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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, 2004 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 m4 tests
+SUBDIRS = config po lib data src doc tests
EXTRA_DIST = REFERENCES OChangeLog Makefile.maint GNUmakefile Makefile.cfg
diff --git a/README-cvs b/README-cvs
index 0b9b2705..cc52e402 100644
--- a/README-cvs
+++ b/README-cvs
@@ -6,15 +6,13 @@ Bison.
* Requirements
Only the sources are installed in the CVS repository (to ease the
-maintenance, merges etc.), therefore you will have to the maintainer
-tools we depend upon:
-
-- Automake 1.7
-
-- Autoconf 2.57
-
-- Gettext 0.12.1
+maintenance, merges etc.), therefore you will have to get the latest
+stable versions of the maintainer tools we depend upon, including:
+- Automake
+- Autoconf
+- Flex
+- Gettext
- CVS Bison itself
Only building the initial full source tree will be a bit painful,
@@ -55,19 +53,19 @@ If you experience problems, I suggest the following:
1. Do a regular CVS checkout
2. Fetch a recent tarball in:
- http://www.lrde.epita.fr/~akim/download/
+ ftp://alpha.gnu.org/gnu/bison/
3. Extract it
4. Override the content of your checkout with the content of this
tarball, i.e.:
- cp -r bison-1.49b/* bison-cvs
+ cp -r bison-1.875c/* bison-cvs
5. Proceed on ./configure && make etc.
-----
-Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Bison.
diff --git a/bootstrap b/bootstrap
index c27557b5..fe24200e 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,223 @@
#! /bin/sh
-echo "Bootstrapping CVS Bison..."
+# Bootstrap this package from CVS.
-echo "running: autoreconf --verbose --install --force"
-autoreconf --verbose --install --force
+# Copyright (C) 2003, 2004 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, 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., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# Written by Paul Eggert.
+
+package=bison
+
+# Parse options.
+
+for option
+do
+ case $option in
+ --help)
+ echo "$0: usage: $0 [--gnulib-srcdir=DIR] [--cvs-user=USERNAME] [--skip-po]"
+ exit;;
+ --gnulib-srcdir=*)
+ GNULIB_SRCDIR=`expr "$1" : '--gnulib-srcdir=\(.*\)'`;;
+ --cvs-user=*)
+ CVS_USER=`expr "$1" : '--cvs-user=\(.*\)'`;;
+ --skip-po)
+ SKIP_PO=t;;
+ *)
+ echo >&2 "$0: $option: unknown option"
+ exit 1;;
+ esac
+done
+
+echo "$0: Bootstrapping CVS $package..."
+
+build_cvs_prefix() {
+ CVS_PREFIX=:${1}:
+ if [ "${2}" != - ]; then
+ CVS_PREFIX=${CVS_PREFIX}${2}@
+ fi
+}
+
+# Get gnulib files.
+
+case ${GNULIB_SRCDIR--} in
+-)
+ if [ ! -d gnulib ]; then
+ echo "$0: getting gnulib files..."
+
+ trap exit 1 2 13 15
+ trap 'rm -fr gnulib; exit 1' 0
+
+ case ${CVS_AUTH-anoncvs} in
+ anoncvs)
+ CVS_PREFIX='anoncvs@';;
+ ssh)
+ CVS_PREFIX="$CVS_USER${CVS_USER+@}";;
+ *)
+ echo "$0: $CVS_AUTH: Unknown CVS access method" >&2
+ exit 1;;
+ esac
+
+ case $CVS_RSH in
+ '') export CVS_RSH=ssh;;
+ esac
+
+ cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || exit
+
+ trap 0
+ fi
+ GNULIB_SRCDIR=gnulib
+esac
+
+<$GNULIB_SRCDIR/gnulib-tool || exit
+
+gnulib_modules='
+alloca
+argmatch
+dirname
+error
+getopt
+hard-locale
+hash
+malloc
+mbswidth
+obstack
+quote
+quotearg
+stdbool
+stpcpy
+xalloc
+xstrndup
+'
+
+previous_gnulib_modules=
+while [ "$gnulib_modules" != "$previous_gnulib_modules" ]; do
+ previous_gnulib_modules=$gnulib_modules
+ gnulib_modules=`
+ (echo "$gnulib_modules"
+ for gnulib_module in $gnulib_modules; do
+ $GNULIB_SRCDIR/gnulib-tool --extract-dependencies $gnulib_module
+ done) | sort -u
+ `
+done
+
+gnulib_files=`
+ (for gnulib_module in $gnulib_modules; do
+ $GNULIB_SRCDIR/gnulib-tool --extract-filelist $gnulib_module
+ done) | sort -u
+`
+
+gnulib_dirs=`echo "$gnulib_files" | sed 's,/[^/]*$,,' | sort -u`
+mkdir -p $gnulib_dirs || exit
+
+for gnulib_file in $gnulib_files; do
+ dest=$gnulib_file
+
+ case $gnulib_file in
+ m4/onceonly_2_57.m4) dest=m4/onceonly.m4;;
+ esac
+
+ rm -f $dest &&
+ echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file" &&
+ cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit
+done
+
+
+# Get translations.
+
+case $SKIP_PO in
+'')
+ echo "$0: getting translations into po..."
+ (cd po &&
+ rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'` &&
+ wget -nv -nd -r -l 1 -A .po -C off \
+ http://www2.iro.umontreal.ca/~gnutra/po/maint/$package/ &&
+ ls *.po | sed 's/\.po$//' >LINGUAS
+ ) || exit;;
+esac
+
+
+# Generate autoconf and automake snippets.
+
+(echo '# This file is generated automatically by "bootstrap".' &&
+ echo 'AC_DEFUN([GNULIB_AUTOCONF_SNIPPET],[' &&
+ $GNULIB_SRCDIR/gnulib-tool --extract-autoconf-snippet $gnulib_modules &&
+ echo '])'
+) >m4/gnulib.m4 || exit
+
+(echo '# This file is generated automatically by "bootstrap".' &&
+ $GNULIB_SRCDIR/gnulib-tool --extract-automake-snippet $gnulib_modules
+) >lib/gnulib.mk || exit
+
+
+# Reconfigure, getting other files.
+
+echo "$0: autoreconf --verbose --install --force ..."
+autoreconf --verbose --install --force || exit
+
+# We don't need intl, so remove it.
+echo "$0: rm -fr intl ..."
+rm -fr intl || exit
+
+
+# Patch what appears to be a bug in gettext 0.14.1;
+# remove this once the bug is fixed.
+grep @top_builddir@ po/Makefile.in.in >/dev/null || {
+ echo "$0: prepending 'top_builddir=@top_builddir@' to po/Makefile.in.in ... "
+ old_contents=$(cat po/Makefile.in.in) || exit
+ cat >po/Makefile.in.in <<EOF
+top_builddir=@top_builddir@
+$old_contents
+EOF
+}
+
+# Put bug-reporting address into po/Makevars.
+echo "$0: sed '/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-bison@gnu.org/' po/Makevars.template >po/Makevars ..."
+sed '/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-bison@gnu.org/' po/Makevars.template >po/Makevars
+
+
+# if src/parse-gram.[ch] are out of date, rebuild them.
+parse_gram_y=$(find src/parse-gram.y \
+ '(' -newer src/parse-gram.c -o -newer src/parse-gram.h ')' \
+ -print) || exit
+case $parse_gram_y in
+?*)
+ echo "$0: warning: bootstrapping with old src/parse-gram.[ch] files."
+
+ echo "$0: touch -c src/parse-gram.[ch] ... "
+ touch -c src/parse-gram.[ch] || exit
+
+ echo "$0: ./configure --disable-nls ..."
+ ./configure --disable-nls || exit
+
+ echo "$0: (cd lib && make) ..."
+ (cd lib && make) || exit
+
+ echo "$0: (cd src && make) ..."
+ (cd src && make) || exit
+
+ echo "$0: rm -f src/parse-gram.c src/parse-gram.h ..."
+ rm -f src/parse-gram.c src/parse-gram.h || exit
+
+ echo "$0: (cd src && make parse-gram.c parse-gram.h) ..."
+ (cd src && make parse-gram.c parse-gram.h) || exit
+
+ echo "$0: make distclean ..."
+ make distclean || exit;;
+esac
+
+echo "$0: done. Now you can run './configure'."
diff --git a/config/.cvsignore b/config/.cvsignore
index 568a05fc..971508e4 100644
--- a/config/.cvsignore
+++ b/config/.cvsignore
@@ -1,11 +1,13 @@
-Makefile
*.t
+Makefile
Makefile.in
-mkinstalldirs
-missing
-config.sub
config.guess
+config.rpath
+config.sub
+depcomp
+install-sh
mdate-sh
+missing
+mkinstalldirs
texinfo.tex
-config.rpath
ylwrap
diff --git a/config/depcomp b/config/depcomp
deleted file mode 100755
index 9e5522d0..00000000
--- a/config/depcomp
+++ /dev/null
@@ -1,520 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2003-11-08.23
-
-# Copyright (C) 1999, 2000, 2003 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit 0
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit 0
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-# `libtool' can also be set to `yes' or `no'.
-
-if test -z "$depfile"; then
- base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
- dir=`echo "$object" | sed 's,/.*$,/,'`
- if test "$dir" = "$object"; then
- dir=
- fi
- # FIXME: should be _deps on DOS.
- depfile="$dir.deps/$base"
-fi
-
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
- "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
- if test "$libtool" = yes; then
- "$@" -Wc,-M
- else
- "$@" -M
- fi
- stat=$?
-
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
-
- if test -f "$tmpdepfile"; then
- outname="$stripped.o"
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- tmpdepfile1="$dir.libs/$base.lo.d"
- tmpdepfile2="$dir.libs/$base.d"
- "$@" -Wc,-MD
- else
- tmpdepfile1="$dir$base.o.d"
- tmpdepfile2="$dir$base.d"
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2"
- exit $stat
- fi
-
- if test -f "$tmpdepfile1"; then
- tmpdepfile="$tmpdepfile1"
- else
- tmpdepfile="$tmpdepfile2"
- fi
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/config/install-sh b/config/install-sh
deleted file mode 100755
index 77bc3814..00000000
--- a/config/install-sh
+++ /dev/null
@@ -1,316 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2004-02-15.20
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=
-transform_arg=
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=
-chgrpcmd=
-stripcmd=
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=
-dst=
-dir_arg=
-
-usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 -d DIRECTORIES...
-
-In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
-In the second, create the directory path DIR.
-
-Options:
--b=TRANSFORMBASENAME
--c copy source (using $cpprog) instead of moving (using $mvprog).
--d create directories instead of installing files.
--g GROUP $chgrp installed files to GROUP.
--m MODE $chmod installed files to MODE.
--o USER $chown installed files to USER.
--s strip installed files (using $stripprog).
--t=TRANSFORM
---help display this help and exit.
---version display version info and exit.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
-"
-
-while test -n "$1"; do
- case $1 in
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- -c) instcmd=$cpprog
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- --help) echo "$usage"; exit 0;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd=$stripprog
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- --version) echo "$0 $scriptversion"; exit 0;;
-
- *) # When -d is used, all remaining arguments are directories to create.
- test -n "$dir_arg" && break
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dstarg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dstarg"
- shift # fnord
- fi
- shift # arg
- dstarg=$arg
- done
- break;;
- esac
-done
-
-if test -z "$1"; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src ;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- src=
-
- if test -d "$dst"; then
- instcmd=:
- chmodcmd=
- else
- instcmd=$mkdirprog
- fi
- else
- # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dstarg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dstarg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst ;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- dst=$dst/`basename "$src"`
- fi
- fi
-
- # This sed command emulates the dirname command.
- dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
- # Make sure that the destination directory exists.
-
- # Skip lots of stat calls in the usual case.
- if test ! -d "$dstdir"; then
- defaultIFS='
- '
- IFS="${IFS-$defaultIFS}"
-
- oIFS=$IFS
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
- IFS=$oIFS
-
- pathcomp=
-
- while test $# -ne 0 ; do
- pathcomp=$pathcomp$1
- shift
- if test ! -d "$pathcomp"; then
- $mkdirprog "$pathcomp" || lasterr=$?
- # mkdir can fail with a `File exist' error in case several
- # install-sh are creating the directory concurrently. This
- # is OK.
- test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; }
- fi
- pathcomp=$pathcomp/
- done
- fi
-
- if test -n "$dir_arg"; then
- $doit $instcmd "$dst" \
- && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
- else
- # If we're going to rename the final executable, determine the name now.
- if test -z "$transformarg"; then
- dstfile=`basename "$dst"`
- else
- dstfile=`basename "$dst" $transformbasename \
- | sed $transformarg`$transformbasename
- fi
-
- # don't allow the sed command to completely eliminate the filename.
- test -z "$dstfile" && dstfile=`basename "$dst"`
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
- trap '(exit $?); exit' 1 2 13 15
-
- # Move or copy the file name to the temp name
- $doit $instcmd "$src" "$dsttmp" &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $instcmd $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
- && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
- && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
- && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
-
- # Now remove or move aside any old file at destination location. We
- # try this two ways since rm can't unlink itself on some systems and
- # the destination file might be busy for other reasons. In this case,
- # the final cleanup might fail but the new file should still install
- # successfully.
- {
- if test -f "$dstdir/$dstfile"; then
- $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
- || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
- || {
- echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
- (exit 1); exit
- }
- else
- :
- fi
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
- fi || { (exit 1); exit; }
-done
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
- (exit 0); exit
-}
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/configure.ac b/configure.ac
index 7a661f2e..930dfb15 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Configure template for GNU Bison. -*-Autoconf-*-
#
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004 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
@@ -21,17 +21,16 @@
AC_PREREQ(2.57)
AC_INIT([GNU Bison], [1.875c], [bug-bison@gnu.org])
-AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.7 check-news readme-alpha dist-bzip2])
AC_CONFIG_HEADERS([config.h:config.hin])
+gl_USE_SYSTEM_EXTENSIONS
+
# Checks for the compiler.
AC_PROG_CC
-# Remove with Automake 1.8.
-AC_ISC_POSIX
-AC_GNU_SOURCE
-AC_MINIX
AM_PROG_CC_STDC
AC_ARG_ENABLE(gcc-warnings,
[ --enable-gcc-warnings turn on lots of GCC warnings (not recommended)],
@@ -87,8 +86,7 @@ fi
AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.])
# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([ctype.h locale.h memory.h stdlib.h string.h unistd.h])
+AC_CHECK_HEADERS_ONCE([locale.h])
AM_STDBOOL_H
# Checks for compiler characteristics.
@@ -98,36 +96,14 @@ AC_C_INLINE
AC_CHECK_TYPES([uintptr_t])
# Checks for library functions.
-AC_CHECK_FUNCS(setlocale)
-AC_CHECK_DECLS([free, getenv, getopt,
- stpcpy, strchr, strspn, strnlen,
- malloc, memchr, memrchr])
-AC_REPLACE_FUNCS(strchr strrchr strspn)
+AC_CHECK_FUNCS_ONCE([setlocale])
AM_WITH_DMALLOC
BISON_PREREQ_SUBPIPE
BISON_PREREQ_TIMEVAR
-gl_DIRNAME
-gl_ERROR
-gl_FUNC_ALLOCA
-gl_FUNC_MEMCHR
-gl_FUNC_MEMRCHR
-gl_FUNC_STPCPY
-gl_FUNC_STRNLEN
-gl_FUNC_STRTOL
-gl_GETOPT
-gl_HASH
-gl_MBSWIDTH
-gl_OBSTACK
-gl_QUOTE
-gl_QUOTEARG
-gl_XALLOC
-jm_FUNC_GLIBC_UNLOCKED_IO
-jm_FUNC_MALLOC
-jm_FUNC_REALLOC
-# Gettext.
-AM_GNU_GETTEXT([external], [need-ngettext])
-AM_GNU_GETTEXT_VERSION(0.12.1)
+# gnulib and gettext.
+GNULIB_AUTOCONF_SNIPPET
+AM_GNU_GETTEXT_VERSION([0.14.1])
# Initialize the test suite.
AC_CONFIG_TESTDIR(tests)
@@ -145,6 +121,5 @@ AC_CONFIG_FILES([Makefile
config/Makefile
po/Makefile.in
data/Makefile
- lib/Makefile src/Makefile doc/Makefile
- m4/Makefile])
+ lib/Makefile src/Makefile doc/Makefile])
AC_OUTPUT
diff --git a/lib/.cvsignore b/lib/.cvsignore
index e4b8df62..2f7c82c5 100644
--- a/lib/.cvsignore
+++ b/lib/.cvsignore
@@ -2,4 +2,59 @@
.deps
Makefile
Makefile.in
+alloca.c
+alloca.h
+alloca_.h
+argmatch.c
+argmatch.h
+basename.c
+dirname.c
+dirname.h
+error.c
+error.h
+exit.h
+exitfail.c
+exitfail.h
+getopt.c
+getopt.h
+getopt1.c
+getopt_int.h
+gettext.h
+gnulib.mk
+hard-locale.c
+hard-locale.h
+hash.c
+hash.h
+malloc.c
+mbswidth.c
+mbswidth.h
+memchr.c
+memcmp.c
+memrchr.c
+obstack.c
+obstack.h
+quote.c
+quote.h
+quotearg.c
+quotearg.h
+realloc.c
stdbool.h
+stdbool_.h
+stpcpy.c
+stpcpy.h
+strcasecmp.c
+strchr.c
+stripslash.c
+strncasecmp.c
+strndup.c
+strnlen.c
+strrchr.c
+strspn.c
+strtol.c
+strtoul.c
+unlocked-io.h
+xalloc.h
+xmalloc.c
+xstrdup.c
+xstrndup.c
+xstrndup.h
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 1c9679d8..9a92666e 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -17,36 +17,20 @@
AM_CFLAGS = $(WARNING_CFLAGS)
+BUILT_SOURCES =
+EXTRA_DIST =
+MOSTLYCLEANFILES =
+
lib_LIBRARIES = $(YACC_LIBRARY)
EXTRA_LIBRARIES = liby.a
noinst_LIBRARIES = libbison.a
liby_a_SOURCES = main.c yyerror.c
-# Heck, we are still using an old version of Automake which does not
-# understand inner AC_LIBOBJ (i.e., from Autoconf itself, not from
-# configure.in).
-EXTRA_DIST = malloc.c realloc.c stdbool_.h strnlen.c
-MOSTLYCLEANFILES = stdbool.h stdbool.h-t
-
-# We need the following in order to create an <stdbool.h> when the system
-# doesn't have one that works.
-$(libbison_a_OBJECTS): $(STDBOOL_H)
-stdbool.h: stdbool_.h
- sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' <$(srcdir)/stdbool_.h >$@-t
- mv $@-t $@
-
-libbison_a_SOURCES = \
- gettext.h \
- argmatch.c argmatch.h \
- basename.c dirname.h dirname.c \
+libbison_a_SOURCES = $(lib_SOURCES)
+lib_SOURCES = \
get-errno.h get-errno.c \
- getopt.h getopt.c getopt1.c \
- hash.h hash.c \
- mbswidth.h mbswidth.c \
- quote.h quote.c quotearg.h quotearg.c \
- subpipe.h subpipe.c unlocked-io.h \
- xalloc.h xmalloc.c xstrdup.c xstrndup.c \
+ subpipe.h subpipe.c \
$(bitsets_sources) $(additional_bitsets_sources) $(timevars_sources)
# Implementation of bitsets
@@ -65,3 +49,5 @@ timevars_sources = \
libbison_a_LIBADD = $(LIBOBJS) $(ALLOCA)
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
+
+include gnulib.mk
diff --git a/lib/alloca.c b/lib/alloca.c
deleted file mode 100644
index fd95a34d..00000000
--- a/lib/alloca.c
+++ /dev/null
@@ -1,508 +0,0 @@
-/* alloca.c -- allocate automatically reclaimed memory
- (Mostly) portable public-domain implementation -- D A Gwyn
-
- This implementation of the PWB library alloca function,
- which is used to allocate space off the run-time stack so
- that it is automatically reclaimed upon procedure exit,
- was inspired by discussions with J. Q. Johnson of Cornell.
- J.Otto Tennant <jot@cray.com> contributed the Cray support.
-
- There are some preprocessor constants that can
- be defined when compiling for your specific system, for
- improved efficiency; however, the defaults should be okay.
-
- The general concept of this implementation is to keep
- track of all alloca-allocated blocks, and reclaim any
- that are found to be deeper in the stack than the current
- invocation. This heuristic does not reclaim storage as
- soon as it becomes invalid, but it will do so eventually.
-
- As a special case, alloca(0) reclaims storage without
- allocating any. It is a good idea to use alloca(0) in
- your main control loop, etc. to force garbage collection. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if HAVE_STRING_H
-# include <string.h>
-#endif
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#ifdef emacs
-# include "lisp.h"
-# include "blockinput.h"
-# define xalloc_die() memory_full ()
-# ifdef EMACS_FREE
-# undef free
-# define free EMACS_FREE
-# endif
-#else
-# include <xalloc.h>
-#endif
-
-/* If compiling with GCC 2, this file's not needed. */
-#if !defined (__GNUC__) || __GNUC__ < 2
-
-/* If someone has defined alloca as a macro,
- there must be some other way alloca is supposed to work. */
-# ifndef alloca
-
-# ifdef emacs
-# ifdef static
-/* actually, only want this if static is defined as ""
- -- this is for usg, in which emacs must undefine static
- in order to make unexec workable
- */
-# ifndef STACK_DIRECTION
-you
-lose
--- must know STACK_DIRECTION at compile-time
-/* Using #error here is not wise since this file should work for
- old and obscure compilers. */
-# endif /* STACK_DIRECTION undefined */
-# endif /* static */
-# endif /* emacs */
-
-/* If your stack is a linked list of frames, you have to
- provide an "address metric" ADDRESS_FUNCTION macro. */
-
-# if defined (CRAY) && defined (CRAY_STACKSEG_END)
-long i00afunc ();
-# define ADDRESS_FUNCTION(arg) (char *) i00afunc (&(arg))
-# else
-# define ADDRESS_FUNCTION(arg) &(arg)
-# endif
-
-# ifndef POINTER_TYPE
-# ifdef __STDC__
-# define POINTER_TYPE void
-# else
-# define POINTER_TYPE char
-# endif
-# endif
-typedef POINTER_TYPE *pointer;
-
-# ifndef NULL
-# define NULL 0
-# endif
-
-/* Define STACK_DIRECTION if you know the direction of stack
- growth for your system; otherwise it will be automatically
- deduced at run-time.
-
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-
-# ifndef STACK_DIRECTION
-# define STACK_DIRECTION 0 /* Direction unknown. */
-# endif
-
-# if STACK_DIRECTION != 0
-
-# define STACK_DIR STACK_DIRECTION /* Known at compile-time. */
-
-# else /* STACK_DIRECTION == 0; need run-time code. */
-
-static int stack_dir; /* 1 or -1 once known. */
-# define STACK_DIR stack_dir
-
-static void
-find_stack_direction ()
-{
- static char *addr = NULL; /* Address of first `dummy', once known. */
- auto char dummy; /* To get stack address. */
-
- if (addr == NULL)
- { /* Initial entry. */
- addr = ADDRESS_FUNCTION (dummy);
-
- find_stack_direction (); /* Recurse once. */
- }
- else
- {
- /* Second entry. */
- if (ADDRESS_FUNCTION (dummy) > addr)
- stack_dir = 1; /* Stack grew upward. */
- else
- stack_dir = -1; /* Stack grew downward. */
- }
-}
-
-# endif /* STACK_DIRECTION == 0 */
-
-/* An "alloca header" is used to:
- (a) chain together all alloca'ed blocks;
- (b) keep track of stack depth.
-
- It is very important that sizeof(header) agree with malloc
- alignment chunk size. The following default should work okay. */
-
-# ifndef ALIGN_SIZE
-# define ALIGN_SIZE sizeof(double)
-# endif
-
-typedef union hdr
-{
- char align[ALIGN_SIZE]; /* To force sizeof(header). */
- struct
- {
- union hdr *next; /* For chaining headers. */
- char *deep; /* For stack depth measure. */
- } h;
-} header;
-
-static header *last_alloca_header = NULL; /* -> last alloca header. */
-
-/* Return a pointer to at least SIZE bytes of storage,
- which will be automatically reclaimed upon exit from
- the procedure that called alloca. Originally, this space
- was supposed to be taken from the current stack frame of the
- caller, but that method cannot be made to work for some
- implementations of C, for example under Gould's UTX/32. */
-
-pointer
-alloca (size)
- size_t size;
-{
- auto char probe; /* Probes stack depth: */
- register char *depth = ADDRESS_FUNCTION (probe);
-
-# if STACK_DIRECTION == 0
- if (STACK_DIR == 0) /* Unknown growth direction. */
- find_stack_direction ();
-# endif
-
- /* Reclaim garbage, defined as all alloca'd storage that
- was allocated from deeper in the stack than currently. */
-
- {
- register header *hp; /* Traverses linked list. */
-
-# ifdef emacs
- BLOCK_INPUT;
-# endif
-
- for (hp = last_alloca_header; hp != NULL;)
- if ((STACK_DIR > 0 && hp->h.deep > depth)
- || (STACK_DIR < 0 && hp->h.deep < depth))
- {
- register header *np = hp->h.next;
-
- free ((pointer) hp); /* Collect garbage. */
-
- hp = np; /* -> next header. */
- }
- else
- break; /* Rest are not deeper. */
-
- last_alloca_header = hp; /* -> last valid storage. */
-
-# ifdef emacs
- UNBLOCK_INPUT;
-# endif
- }
-
- if (size == 0)
- return NULL; /* No allocation required. */
-
- /* Allocate combined header + user data storage. */
-
- {
- /* Address of header. */
- register pointer new;
-
- size_t combined_size = sizeof (header) + size;
- if (combined_size < sizeof (header))
- xalloc_die ();
-
- new = xmalloc (combined_size);
-
- if (new == 0)
- abort();
-
- ((header *) new)->h.next = last_alloca_header;
- ((header *) new)->h.deep = depth;
-
- last_alloca_header = (header *) new;
-
- /* User storage begins just after header. */
-
- return (pointer) ((char *) new + sizeof (header));
- }
-}
-
-# if defined (CRAY) && defined (CRAY_STACKSEG_END)
-
-# ifdef DEBUG_I00AFUNC
-# include <stdio.h>
-# endif
-
-# ifndef CRAY_STACK
-# define CRAY_STACK
-# ifndef CRAY2
-/* Stack structures for CRAY-1, CRAY X-MP, and CRAY Y-MP */
-struct stack_control_header
- {
- long shgrow:32; /* Number of times stack has grown. */
- long shaseg:32; /* Size of increments to stack. */
- long shhwm:32; /* High water mark of stack. */
- long shsize:32; /* Current size of stack (all segments). */
- };
-
-/* The stack segment linkage control information occurs at
- the high-address end of a stack segment. (The stack
- grows from low addresses to high addresses.) The initial
- part of the stack segment linkage control information is
- 0200 (octal) words. This provides for register storage
- for the routine which overflows the stack. */
-
-struct stack_segment_linkage
- {
- long ss[0200]; /* 0200 overflow words. */
- long sssize:32; /* Number of words in this segment. */
- long ssbase:32; /* Offset to stack base. */
- long:32;
- long sspseg:32; /* Offset to linkage control of previous
- segment of stack. */
- long:32;
- long sstcpt:32; /* Pointer to task common address block. */
- long sscsnm; /* Private control structure number for
- microtasking. */
- long ssusr1; /* Reserved for user. */
- long ssusr2; /* Reserved for user. */
- long sstpid; /* Process ID for pid based multi-tasking. */
- long ssgvup; /* Pointer to multitasking thread giveup. */
- long sscray[7]; /* Reserved for Cray Research. */
- long ssa0;
- long ssa1;
- long ssa2;
- long ssa3;
- long ssa4;
- long ssa5;
- long ssa6;
- long ssa7;
- long sss0;
- long sss1;
- long sss2;
- long sss3;
- long sss4;
- long sss5;
- long sss6;
- long sss7;
- };
-
-# else /* CRAY2 */
-/* The following structure defines the vector of words
- returned by the STKSTAT library routine. */
-struct stk_stat
- {
- long now; /* Current total stack size. */
- long maxc; /* Amount of contiguous space which would
- be required to satisfy the maximum
- stack demand to date. */
- long high_water; /* Stack high-water mark. */
- long overflows; /* Number of stack overflow ($STKOFEN) calls. */
- long hits; /* Number of internal buffer hits. */
- long extends; /* Number of block extensions. */
- long stko_mallocs; /* Block allocations by $STKOFEN. */
- long underflows; /* Number of stack underflow calls ($STKRETN). */
- long stko_free; /* Number of deallocations by $STKRETN. */
- long stkm_free; /* Number of deallocations by $STKMRET. */
- long segments; /* Current number of stack segments. */
- long maxs; /* Maximum number of stack segments so far. */
- long pad_size; /* Stack pad size. */
- long current_address; /* Current stack segment address. */
- long current_size; /* Current stack segment size. This
- number is actually corrupted by STKSTAT to
- include the fifteen word trailer area. */
- long initial_address; /* Address of initial segment. */
- long initial_size; /* Size of initial segment. */
- };
-
-/* The following structure describes the data structure which trails
- any stack segment. I think that the description in 'asdef' is
- out of date. I only describe the parts that I am sure about. */
-
-struct stk_trailer
- {
- long this_address; /* Address of this block. */
- long this_size; /* Size of this block (does not include
- this trailer). */
- long unknown2;
- long unknown3;
- long link; /* Address of trailer block of previous
- segment. */
- long unknown5;
- long unknown6;
- long unknown7;
- long unknown8;
- long unknown9;
- long unknown10;
- long unknown11;
- long unknown12;
- long unknown13;
- long unknown14;
- };
-
-# endif /* CRAY2 */
-# endif /* not CRAY_STACK */
-
-# ifdef CRAY2
-/* Determine a "stack measure" for an arbitrary ADDRESS.
- I doubt that "lint" will like this much. */
-
-static long
-i00afunc (long *address)
-{
- struct stk_stat status;
- struct stk_trailer *trailer;
- long *block, size;
- long result = 0;
-
- /* We want to iterate through all of the segments. The first
- step is to get the stack status structure. We could do this
- more quickly and more directly, perhaps, by referencing the
- $LM00 common block, but I know that this works. */
-
- STKSTAT (&status);
-
- /* Set up the iteration. */
-
- trailer = (struct stk_trailer *) (status.current_address
- + status.current_size
- - 15);
-
- /* There must be at least one stack segment. Therefore it is
- a fatal error if "trailer" is null. */
-
- if (trailer == 0)
- abort ();
-
- /* Discard segments that do not contain our argument address. */
-
- while (trailer != 0)
- {
- block = (long *) trailer->this_address;
- size = trailer->this_size;
- if (block == 0 || size == 0)
- abort ();
- trailer = (struct stk_trailer *) trailer->link;
- if ((block <= address) && (address < (block + size)))
- break;
- }
-
- /* Set the result to the offset in this segment and add the sizes
- of all predecessor segments. */
-
- result = address - block;
-
- if (trailer == 0)
- {
- return result;
- }
-
- do
- {
- if (trailer->this_size <= 0)
- abort ();
- result += trailer->this_size;
- trailer = (struct stk_trailer *) trailer->link;
- }
- while (trailer != 0);
-
- /* We are done. Note that if you present a bogus address (one
- not in any segment), you will get a different number back, formed
- from subtracting the address of the first block. This is probably
- not what you want. */
-
- return (result);
-}
-
-# else /* not CRAY2 */
-/* Stack address function for a CRAY-1, CRAY X-MP, or CRAY Y-MP.
- Determine the number of the cell within the stack,
- given the address of the cell. The purpose of this
- routine is to linearize, in some sense, stack addresses
- for alloca. */
-
-static long
-i00afunc (long address)
-{
- long stkl = 0;
-
- long size, pseg, this_segment, stack;
- long result = 0;
-
- struct stack_segment_linkage *ssptr;
-
- /* Register B67 contains the address of the end of the
- current stack segment. If you (as a subprogram) store
- your registers on the stack and find that you are past
- the contents of B67, you have overflowed the segment.
-
- B67 also points to the stack segment linkage control
- area, which is what we are really interested in. */
-
- stkl = CRAY_STACKSEG_END ();
- ssptr = (struct stack_segment_linkage *) stkl;
-
- /* If one subtracts 'size' from the end of the segment,
- one has the address of the first word of the segment.
-
- If this is not the first segment, 'pseg' will be
- nonzero. */
-
- pseg = ssptr->sspseg;
- size = ssptr->sssize;
-
- this_segment = stkl - size;
-
- /* It is possible that calling this routine itself caused
- a stack overflow. Discard stack segments which do not
- contain the target address. */
-
- while (!(this_segment <= address && address <= stkl))
- {
-# ifdef DEBUG_I00AFUNC
- fprintf (stderr, "%011o %011o %011o\n", this_segment, address, stkl);
-# endif
- if (pseg == 0)
- break;
- stkl = stkl - pseg;
- ssptr = (struct stack_segment_linkage *) stkl;
- size = ssptr->sssize;
- pseg = ssptr->sspseg;
- this_segment = stkl - size;
- }
-
- result = address - this_segment;
-
- /* If you subtract pseg from the current end of the stack,
- you get the address of the previous stack segment's end.
- This seems a little convoluted to me, but I'll bet you save
- a cycle somewhere. */
-
- while (pseg != 0)
- {
-# ifdef DEBUG_I00AFUNC
- fprintf (stderr, "%011o %011o\n", pseg, size);
-# endif
- stkl = stkl - pseg;
- ssptr = (struct stack_segment_linkage *) stkl;
- size = ssptr->sssize;
- pseg = ssptr->sspseg;
- result += size;
- }
- return (result);
-}
-
-# endif /* not CRAY2 */
-# endif /* CRAY */
-
-# endif /* no alloca */
-#endif /* not GCC version 2 */
diff --git a/lib/argmatch.c b/lib/argmatch.c
deleted file mode 100644
index 39836325..00000000
--- a/lib/argmatch.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/* argmatch.c -- find a match for a string in an array
-
- Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by David MacKenzie <djm@ai.mit.edu>
- Modified by Akim Demaille <demaille@inf.enst.fr> */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/* Specification. */
-#include "argmatch.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-
-#include "error.h"
-#include "quotearg.h"
-#include "quote.h"
-#include "unlocked-io.h"
-
-/* When reporting an invalid argument, show nonprinting characters
- by using the quoting style ARGMATCH_QUOTING_STYLE. Do not use
- literal_quoting_style. */
-#ifndef ARGMATCH_QUOTING_STYLE
-# define ARGMATCH_QUOTING_STYLE locale_quoting_style
-#endif
-
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#endif
-
-/* Non failing version of argmatch call this function after failing. */
-#ifndef ARGMATCH_DIE
-# define ARGMATCH_DIE exit (EXIT_FAILURE)
-#endif
-
-#ifdef ARGMATCH_DIE_DECL
-ARGMATCH_DIE_DECL;
-#endif
-
-static void
-__argmatch_die (void)
-{
- ARGMATCH_DIE;
-}
-
-/* Used by XARGMATCH and XARGCASEMATCH. See description in argmatch.h.
- Default to __argmatch_die, but allow caller to change this at run-time. */
-argmatch_exit_fn argmatch_die = __argmatch_die;
-
-
-/* If ARG is an unambiguous match for an element of the
- null-terminated array ARGLIST, return the index in ARGLIST
- of the matched element, else -1 if it does not match any element
- or -2 if it is ambiguous (is a prefix of more than one element).
-
- If VALLIST is none null, use it to resolve ambiguities limited to
- synonyms, i.e., for
- "yes", "yop" -> 0
- "no", "nope" -> 1
- "y" is a valid argument, for `0', and "n" for `1'. */
-
-int
-argmatch (const char *arg, const char *const *arglist,
- const char *vallist, size_t valsize)
-{
- int i; /* Temporary index in ARGLIST. */
- size_t arglen; /* Length of ARG. */
- int matchind = -1; /* Index of first nonexact match. */
- int ambiguous = 0; /* If nonzero, multiple nonexact match(es). */
-
- arglen = strlen (arg);
-
- /* Test all elements for either exact match or abbreviated matches. */
- for (i = 0; arglist[i]; i++)
- {
- if (!strncmp (arglist[i], arg, arglen))
- {
- if (strlen (arglist[i]) == arglen)
- /* Exact match found. */
- return i;
- else if (matchind == -1)
- /* First nonexact match found. */
- matchind = i;
- else
- {
- /* Second nonexact match found. */
- if (vallist == NULL
- || memcmp (vallist + valsize * matchind,
- vallist + valsize * i, valsize))
- {
- /* There is a real ambiguity, or we could not
- disambiguate. */
- ambiguous = 1;
- }
- }
- }
- }
- if (ambiguous)
- return -2;
- else
- return matchind;
-}
-
-/* Error reporting for argmatch.
- CONTEXT is a description of the type of entity that was being matched.
- VALUE is the invalid value that was given.
- PROBLEM is the return value from argmatch. */
-
-void
-argmatch_invalid (const char *context, const char *value, int problem)
-{
- char const *format = (problem == -1
- ? _("invalid argument %s for %s")
- : _("ambiguous argument %s for %s"));
-
- error (0, 0, format, quotearg_n_style (0, ARGMATCH_QUOTING_STYLE, value),
- quote_n (1, context));
-}
-
-/* List the valid arguments for argmatch.
- ARGLIST is the same as in argmatch.
- VALLIST is a pointer to an array of values.
- VALSIZE is the size of the elements of VALLIST */
-void
-argmatch_valid (const char *const *arglist,
- const char *vallist, size_t valsize)
-{
- int i;
- const char *last_val = NULL;
-
- /* We try to put synonyms on the same line. The assumption is that
- synonyms follow each other */
- fprintf (stderr, _("Valid arguments are:"));
- for (i = 0; arglist[i]; i++)
- if ((i == 0)
- || memcmp (last_val, vallist + valsize * i, valsize))
- {
- fprintf (stderr, "\n - `%s'", arglist[i]);
- last_val = vallist + valsize * i;
- }
- else
- {
- fprintf (stderr, ", `%s'", arglist[i]);
- }
- putc ('\n', stderr);
-}
-
-/* Never failing versions of the previous functions.
-
- CONTEXT is the context for which argmatch is called (e.g.,
- "--version-control", or "$VERSION_CONTROL" etc.). Upon failure,
- calls the (supposed never to return) function EXIT_FN. */
-
-int
-__xargmatch_internal (const char *context,
- const char *arg, const char *const *arglist,
- const char *vallist, size_t valsize,
- argmatch_exit_fn exit_fn)
-{
- int res = argmatch (arg, arglist, vallist, valsize);
- if (res >= 0)
- /* Success. */
- return res;
-
- /* We failed. Explain why. */
- argmatch_invalid (context, arg, res);
- argmatch_valid (arglist, vallist, valsize);
- (*exit_fn) ();
-
- return -1; /* To please the compilers. */
-}
-
-/* Look for VALUE in VALLIST, an array of objects of size VALSIZE and
- return the first corresponding argument in ARGLIST */
-const char *
-argmatch_to_argument (const char *value,
- const char *const *arglist,
- const char *vallist, size_t valsize)
-{
- int i;
-
- for (i = 0; arglist[i]; i++)
- if (!memcmp (value, vallist + valsize * i, valsize))
- return arglist[i];
- return NULL;
-}
-
-#ifdef TEST
-/*
- * Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
- */
-char *program_name;
-extern const char *getenv ();
-
-/* When to make backup files. */
-enum backup_type
-{
- /* Never make backups. */
- none,
-
- /* Make simple backups of every file. */
- simple,
-
- /* Make numbered backups of files that already have numbered backups,
- and simple backups of the others. */
- numbered_existing,
-
- /* Make numbered backups of every file. */
- numbered
-};
-
-/* Two tables describing arguments (keys) and their corresponding
- values */
-static const char *const backup_args[] =
-{
- "no", "none", "off",
- "simple", "never",
- "existing", "nil",
- "numbered", "t",
- 0
-};
-
-static const enum backup_type backup_vals[] =
-{
- none, none, none,
- simple, simple,
- numbered_existing, numbered_existing,
- numbered, numbered
-};
-
-int
-main (int argc, const char *const *argv)
-{
- const char *cp;
- enum backup_type backup_type = none;
-
- program_name = (char *) argv[0];
-
- if (argc > 2)
- {
- fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name);
- exit (1);
- }
-
- if ((cp = getenv ("VERSION_CONTROL")))
- backup_type = XARGMATCH ("$VERSION_CONTROL", cp,
- backup_args, backup_vals);
-
- if (argc == 2)
- backup_type = XARGMATCH (program_name, argv[1],
- backup_args, backup_vals);
-
- printf ("The version control is `%s'\n",
- ARGMATCH_TO_ARGUMENT (backup_type, backup_args, backup_vals));
-
- return 0;
-}
-#endif
diff --git a/lib/argmatch.h b/lib/argmatch.h
deleted file mode 100644
index deb908fb..00000000
--- a/lib/argmatch.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/* argmatch.h -- definitions and prototypes for argmatch.c
- Copyright (C) 1990, 1998, 1999, 2001, 2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by David MacKenzie <djm@ai.mit.edu>
- Modified by Akim Demaille <demaille@inf.enst.fr> */
-
-#ifndef ARGMATCH_H_
-# define ARGMATCH_H_ 1
-
-# include <stddef.h>
-
-# define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array))
-
-# define ARGMATCH_CONSTRAINT(Arglist, Vallist) \
- (ARRAY_CARDINALITY (Arglist) == ARRAY_CARDINALITY (Vallist) + 1)
-
-/* Assert there are as many real arguments as there are values
- (argument list ends with a NULL guard). ARGMATCH_VERIFY is
- preferred, since it is guaranteed to be checked at compile-time.
- ARGMATCH_ASSERT is for backward compatibility only. */
-
-# define ARGMATCH_VERIFY(Arglist, Vallist) \
- struct argmatch_verify \
- { \
- char argmatch_verify[ARGMATCH_CONSTRAINT(Arglist, Vallist) ? 1 : -1]; \
- }
-
-# define ARGMATCH_ASSERT(Arglist, Vallist) \
- assert (ARGMATCH_CONSTRAINT (Arglist, Vallist))
-
-/* Return the index of the element of ARGLIST (NULL terminated) that
- matches with ARG. If VALLIST is not NULL, then use it to resolve
- false ambiguities (i.e., different matches of ARG but corresponding
- to the same values in VALLIST). */
-
-int argmatch (char const *arg, char const *const *arglist,
- char const *vallist, size_t valsize);
-
-# define ARGMATCH(Arg, Arglist, Vallist) \
- argmatch (Arg, Arglist, (char const *) (Vallist), sizeof *(Vallist))
-
-/* xargmatch calls this function when it fails. This function should not
- return. By default, this is a function that calls ARGMATCH_DIE which
- in turn defaults to `exit (EXIT_FAILURE)'. */
-typedef void (*argmatch_exit_fn) (void);
-extern argmatch_exit_fn argmatch_die;
-
-/* Report on stderr why argmatch failed. Report correct values. */
-
-void argmatch_invalid (char const *context, char const *value, int problem);
-
-/* Left for compatibility with the old name invalid_arg */
-
-# define invalid_arg(Context, Value, Problem) \
- argmatch_invalid (Context, Value, Problem)
-
-
-
-/* Report on stderr the list of possible arguments. */
-
-void argmatch_valid (char const *const *arglist,
- char const *vallist, size_t valsize);
-
-# define ARGMATCH_VALID(Arglist, Vallist) \
- argmatch_valid (Arglist, (char const *) (Vallist), sizeof *(Vallist))
-
-
-
-/* Same as argmatch, but upon failure, reports a explanation on the
- failure, and exits using the function EXIT_FN. */
-
-int __xargmatch_internal (char const *context,
- char const *arg, char const *const *arglist,
- char const *vallist, size_t valsize,
- argmatch_exit_fn exit_fn);
-
-/* Programmer friendly interface to __xargmatch_internal. */
-
-# define XARGMATCH(Context, Arg, Arglist, Vallist) \
- ((Vallist) [__xargmatch_internal (Context, Arg, Arglist, \
- (char const *) (Vallist), \
- sizeof *(Vallist), \
- argmatch_die)])
-
-/* Convert a value into a corresponding argument. */
-
-char const *argmatch_to_argument (char const *value,
- char const *const *arglist,
- char const *vallist, size_t valsize);
-
-# define ARGMATCH_TO_ARGUMENT(Value, Arglist, Vallist) \
- argmatch_to_argument (Value, Arglist, \
- (char const *) (Vallist), sizeof *(Vallist))
-
-#endif /* ARGMATCH_H_ */
diff --git a/lib/basename.c b/lib/basename.c
deleted file mode 100644
index 54f037ed..00000000
--- a/lib/basename.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* basename.c -- return the last element in a path
- Copyright (C) 1990, 1998, 1999, 2000, 2001 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if STDC_HEADERS || HAVE_STRING_H
-# include <string.h>
-#endif
-#include "dirname.h"
-
-/* In general, we can't use the builtin `basename' function if available,
- since it has different meanings in different environments.
- In some environments the builtin `basename' modifies its argument.
-
- Return the address of the last file name component of NAME. If
- NAME has no file name components because it is all slashes, return
- NAME if it is empty, the address of its last slash otherwise. */
-
-char *
-base_name (char const *name)
-{
- char const *base = name + FILESYSTEM_PREFIX_LEN (name);
- char const *p;
-
- for (p = base; *p; p++)
- {
- if (ISSLASH (*p))
- {
- /* Treat multiple adjacent slashes like a single slash. */
- do p++;
- while (ISSLASH (*p));
-
- /* If the file name ends in slash, use the trailing slash as
- the basename if no non-slashes have been found. */
- if (! *p)
- {
- if (ISSLASH (*base))
- base = p - 1;
- break;
- }
-
- /* *P is a non-slash preceded by a slash. */
- base = p;
- }
- }
-
- return (char *) base;
-}
-
-/* Return the length of of the basename NAME. Typically NAME is the
- value returned by base_name. Act like strlen (NAME), except omit
- redundant trailing slashes. */
-
-size_t
-base_len (char const *name)
-{
- size_t len;
-
- for (len = strlen (name); 1 < len && ISSLASH (name[len - 1]); len--)
- continue;
-
- return len;
-}
diff --git a/lib/dirname.c b/lib/dirname.c
deleted file mode 100644
index 131af8bb..00000000
--- a/lib/dirname.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/* dirname.c -- return all but the last element in a path
- Copyright 1990, 1998, 2000, 2001, 2003 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if STDC_HEADERS || HAVE_STRING_H
-# include <string.h>
-#endif
-
-#include "dirname.h"
-#include "xalloc.h"
-
-/* Return the length of `dirname (PATH)', or zero if PATH is
- in the working directory. Works properly even if
- there are trailing slashes (by effectively ignoring them). */
-size_t
-dir_len (char const *path)
-{
- size_t prefix_length = FILESYSTEM_PREFIX_LEN (path);
- size_t length;
-
- /* Strip the basename and any redundant slashes before it. */
- for (length = base_name (path) - path; prefix_length < length; length--)
- if (! ISSLASH (path[length - 1]))
- return length;
-
- /* But don't strip the only slash from "/". */
- return prefix_length + ISSLASH (path[prefix_length]);
-}
-
-/* Return the leading directories part of PATH,
- allocated with xmalloc.
- Works properly even if there are trailing slashes
- (by effectively ignoring them). */
-
-char *
-dir_name (char const *path)
-{
- size_t length = dir_len (path);
- int append_dot = (length == FILESYSTEM_PREFIX_LEN (path));
- char *newpath = xmalloc (length + append_dot + 1);
- memcpy (newpath, path, length);
- if (append_dot)
- newpath[length++] = '.';
- newpath[length] = 0;
- return newpath;
-}
-
-#ifdef TEST_DIRNAME
-/*
-
-Run the test like this (expect no output):
- gcc -DHAVE_CONFIG_H -DTEST_DIRNAME -I.. -O -Wall \
- basename.c dirname.c xmalloc.c error.c
- sed -n '/^BEGIN-DATA$/,/^END-DATA$/p' dirname.c|grep -v DATA|./a.out
-
-If it's been built on a DOS or Windows platforms, run another test like
-this (again, expect no output):
- sed -n '/^BEGIN-DOS-DATA$/,/^END-DOS-DATA$/p' dirname.c|grep -v DATA|./a.out
-
-BEGIN-DATA
-foo//// .
-bar/foo//// bar
-foo/ .
-/ /
-. .
-a .
-END-DATA
-
-BEGIN-DOS-DATA
-c:///// c:/
-c:/ c:/
-c:/. c:/
-c:foo c:.
-c:foo/bar c:foo
-END-DOS-DATA
-
-*/
-
-# define MAX_BUFF_LEN 1024
-# include <stdio.h>
-
-char *program_name;
-
-int
-main (int argc, char *argv[])
-{
- char buff[MAX_BUFF_LEN + 1];
-
- program_name = argv[0];
-
- buff[MAX_BUFF_LEN] = 0;
- while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0])
- {
- char path[MAX_BUFF_LEN];
- char expected_result[MAX_BUFF_LEN];
- char const *result;
- sscanf (buff, "%s %s", path, expected_result);
- result = dir_name (path);
- if (strcmp (result, expected_result))
- printf ("%s: got %s, expected %s\n", path, result, expected_result);
- }
- return 0;
-}
-#endif
diff --git a/lib/dirname.h b/lib/dirname.h
deleted file mode 100644
index 4f794ee4..00000000
--- a/lib/dirname.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 1998, 2001 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef DIRNAME_H_
-# define DIRNAME_H_ 1
-
-# include <stddef.h>
-
-# ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-# endif
-
-# ifndef DIRECTORY_SEPARATOR
-# define DIRECTORY_SEPARATOR '/'
-# endif
-
-# ifndef ISSLASH
-# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
-# endif
-
-# ifndef FILESYSTEM_PREFIX_LEN
-# define FILESYSTEM_PREFIX_LEN(Filename) 0
-# endif
-
-char *base_name PARAMS ((char const *path));
-char *dir_name PARAMS ((char const *path));
-size_t base_len PARAMS ((char const *path));
-size_t dir_len PARAMS ((char const *path));
-
-int strip_trailing_slashes PARAMS ((char *path));
-
-#endif /* not DIRNAME_H_ */
diff --git a/lib/error.c b/lib/error.c
deleted file mode 100644
index 18c779e9..00000000
--- a/lib/error.c
+++ /dev/null
@@ -1,407 +0,0 @@
-/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000, 2001, 2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "gettext.h"
-#endif
-
-#ifdef _LIBC
-# include <wchar.h>
-# define mbsrtowcs __mbsrtowcs
-#endif
-
-#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
-# if __STDC__
-# include <stdarg.h>
-# define VA_START(args, lastarg) va_start(args, lastarg)
-# else
-# include <varargs.h>
-# define VA_START(args, lastarg) va_start(args)
-# endif
-#else
-# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
-# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
-#endif
-
-#if STDC_HEADERS || _LIBC
-# include <stdlib.h>
-# include <string.h>
-#else
-void exit ();
-#endif
-
-#include "error.h"
-
-#if !_LIBC
-# include "unlocked-io.h"
-#endif
-
-#ifndef _
-# define _(String) String
-#endif
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-void (*error_print_progname) (
-#if __STDC__ - 0
- void
-#endif
- );
-
-/* This variable is incremented each time `error' is called. */
-unsigned int error_message_count;
-
-#ifdef _LIBC
-/* In the GNU C library, there is a predefined variable for this. */
-
-# define program_name program_invocation_name
-# include <errno.h>
-# include <libio/libioP.h>
-
-/* In GNU libc we want do not want to use the common name `error' directly.
- Instead make it a weak alias. */
-extern void __error (int status, int errnum, const char *message, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-extern void __error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message,
- ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));;
-# define error __error
-# define error_at_line __error_at_line
-
-# ifdef USE_IN_LIBIO
-# include <libio/iolibio.h>
-# define fflush(s) INTUSE(_IO_fflush) (s)
-# undef putc
-# define putc(c, fp) INTUSE(_IO_putc) (c, fp)
-# endif
-
-#else /* not _LIBC */
-
-# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
-# ifndef HAVE_DECL_STRERROR_R
-"this configure-time declaration test was not run"
-# endif
-char *strerror_r ();
-# endif
-
-/* The calling program should define program_name and set it to the
- name of the executing program. */
-extern char *program_name;
-
-# if HAVE_STRERROR_R || defined strerror_r
-# define __strerror_r strerror_r
-# else
-# if HAVE_STRERROR
-# ifndef HAVE_DECL_STRERROR
-"this configure-time declaration test was not run"
-# endif
-# if !HAVE_DECL_STRERROR
-char *strerror ();
-# endif
-# else
-static char *
-private_strerror (int errnum)
-{
- extern char *sys_errlist[];
- extern int sys_nerr;
-
- if (errnum > 0 && errnum <= sys_nerr)
- return _(sys_errlist[errnum]);
- return _("Unknown system error");
-}
-# define strerror private_strerror
-# endif /* HAVE_STRERROR */
-# endif /* HAVE_STRERROR_R || defined strerror_r */
-#endif /* not _LIBC */
-
-static void
-print_errno_message (int errnum)
-{
- char const *s;
-
-#if defined HAVE_STRERROR_R || _LIBC
- char errbuf[1024];
-# if STRERROR_R_CHAR_P || _LIBC
- s = __strerror_r (errnum, errbuf, sizeof errbuf);
-# else
- if (__strerror_r (errnum, errbuf, sizeof errbuf) == 0)
- s = errbuf;
- else
- s = 0;
-# endif
-#else
- s = strerror (errnum);
-#endif
-
-#if !_LIBC
- if (! s)
- s = _("Unknown system error");
-#endif
-
-#if _LIBC && USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- {
- __fwprintf (stderr, L": %s", s);
- return;
- }
-#endif
-
- fprintf (stderr, ": %s", s);
-}
-
-#ifdef VA_START
-static void
-error_tail (int status, int errnum, const char *message, va_list args)
-{
-# if HAVE_VPRINTF || _LIBC
-# if _LIBC && USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- {
-# define ALLOCA_LIMIT 2000
- size_t len = strlen (message) + 1;
- wchar_t *wmessage = NULL;
- mbstate_t st;
- size_t res;
- const char *tmp;
-
- do
- {
- if (len < ALLOCA_LIMIT)
- wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
- else
- {
- if (wmessage != NULL && len / 2 < ALLOCA_LIMIT)
- wmessage = NULL;
-
- wmessage = (wchar_t *) realloc (wmessage,
- len * sizeof (wchar_t));
-
- if (wmessage == NULL)
- {
- fputws_unlocked (L"out of memory\n", stderr);
- return;
- }
- }
-
- memset (&st, '\0', sizeof (st));
- tmp =message;
- }
- while ((res = mbsrtowcs (wmessage, &tmp, len, &st)) == len);
-
- if (res == (size_t) -1)
- /* The string cannot be converted. */
- wmessage = (wchar_t *) L"???";
-
- __vfwprintf (stderr, wmessage, args);
- }
- else
-# endif
- vfprintf (stderr, message, args);
-# else
- _doprnt (message, args, stderr);
-# endif
- va_end (args);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
-# if _LIBC && USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- putwc (L'\n', stderr);
- else
-# endif
- putc ('\n', stderr);
- fflush (stderr);
- if (status)
- exit (status);
-}
-#endif
-
-
-/* Print the program name and error message MESSAGE, which is a printf-style
- format string with optional args.
- If ERRNUM is nonzero, print its corresponding system error message.
- Exit with status STATUS if it is nonzero. */
-/* VARARGS */
-void
-#if defined VA_START && __STDC__
-error (int status, int errnum, const char *message, ...)
-#else
-error (status, errnum, message, va_alist)
- int status;
- int errnum;
- char *message;
- va_dcl
-#endif
-{
-#ifdef VA_START
- va_list args;
-#endif
-
- fflush (stdout);
-#ifdef _LIBC
-# ifdef USE_IN_LIBIO
- _IO_flockfile (stderr);
-# else
- __flockfile (stderr);
-# endif
-#endif
- if (error_print_progname)
- (*error_print_progname) ();
- else
- {
-#if _LIBC && USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s: ", program_name);
- else
-#endif
- fprintf (stderr, "%s: ", program_name);
- }
-
-#ifdef VA_START
- VA_START (args, message);
- error_tail (status, errnum, message, args);
-#else
- fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
- putc ('\n', stderr);
- fflush (stderr);
- if (status)
- exit (status);
-#endif
-
-#ifdef _LIBC
-# ifdef USE_IN_LIBIO
- _IO_funlockfile (stderr);
-# else
- __funlockfile (stderr);
-# endif
-#endif
-}
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-int error_one_per_line;
-
-void
-#if defined VA_START && __STDC__
-error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message, ...)
-#else
-error_at_line (status, errnum, file_name, line_number, message, va_alist)
- int status;
- int errnum;
- const char *file_name;
- unsigned int line_number;
- char *message;
- va_dcl
-#endif
-{
-#ifdef VA_START
- va_list args;
-#endif
-
- if (error_one_per_line)
- {
- static const char *old_file_name;
- static unsigned int old_line_number;
-
- if (old_line_number == line_number
- && (file_name == old_file_name
- || strcmp (old_file_name, file_name) == 0))
- /* Simply return and print nothing. */
- return;
-
- old_file_name = file_name;
- old_line_number = line_number;
- }
-
- fflush (stdout);
-#ifdef _LIBC
-# ifdef USE_IN_LIBIO
- _IO_flockfile (stderr);
-# else
- __flockfile (stderr);
-# endif
-#endif
- if (error_print_progname)
- (*error_print_progname) ();
- else
- {
-#if _LIBC && USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s: ", program_name);
- else
-#endif
- fprintf (stderr, "%s:", program_name);
- }
-
- if (file_name != NULL)
- {
-#if _LIBC && USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s:%d: ", file_name, line_number);
- else
-#endif
- fprintf (stderr, "%s:%d: ", file_name, line_number);
- }
-
-#ifdef VA_START
- VA_START (args, message);
- error_tail (status, errnum, message, args);
-#else
- fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
-
- ++error_message_count;
- if (errnum)
- print_errno_message (errnum);
- putc ('\n', stderr);
- fflush (stderr);
- if (status)
- exit (status);
-#endif
-
-#ifdef _LIBC
-# ifdef USE_IN_LIBIO
- _IO_funlockfile (stderr);
-# else
- __funlockfile (stderr);
-# endif
-#endif
-}
-
-#ifdef _LIBC
-/* Make the weak alias. */
-# undef error
-# undef error_at_line
-weak_alias (__error, error)
-weak_alias (__error_at_line, error_at_line)
-#endif
diff --git a/lib/error.h b/lib/error.h
deleted file mode 100644
index 177b2dcb..00000000
--- a/lib/error.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Declaration for error-reporting function
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
-
- NOTE: The canonical source of this file is maintained with the GNU C Library.
- Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-#ifndef _ERROR_H
-#define _ERROR_H 1
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of `format' and `printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-# define __format__ format
-# define __printf__ printf
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined (__STDC__) && __STDC__
-
-/* Print a message with `fprintf (stderr, FORMAT, ...)';
- if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
- If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
-
-extern void error (int status, int errnum, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
-
-extern void error_at_line (int status, int errnum, const char *fname,
- unsigned int lineno, const char *format, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
-
-/* If NULL, error will flush stdout, then print on stderr the program
- name, a colon and a space. Otherwise, error will call this
- function without parameters instead. */
-extern void (*error_print_progname) (void);
-
-#else
-void error ();
-void error_at_line ();
-extern void (*error_print_progname) ();
-#endif
-
-/* This variable is incremented each time `error' is called. */
-extern unsigned int error_message_count;
-
-/* Sometimes we want to have at most one error per line. This
- variable controls whether this mode is selected or not. */
-extern int error_one_per_line;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* error.h */
diff --git a/lib/getopt.c b/lib/getopt.c
deleted file mode 100644
index 3e7928a8..00000000
--- a/lib/getopt.c
+++ /dev/null
@@ -1,1273 +0,0 @@
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to drepper@gnu.org
- before changing it!
- Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
- Ditto for AIX 3.2 and <stdlib.h>. */
-#ifndef _NO_PROTO
-# define _NO_PROTO
-#endif
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-# ifndef const
-# define const
-# endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-#define GETOPT_INTERFACE_VERSION 2
-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
-# include <gnu-versions.h>
-# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
-# define ELIDE_CODE
-# endif
-#endif
-
-#ifndef ELIDE_CODE
-
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
- contain conflicting prototypes for getopt. */
-# include <stdlib.h>
-# include <unistd.h>
-#endif /* GNU C library. */
-
-#ifdef VMS
-# include <unixlib.h>
-# if HAVE_STRING_H - 0
-# include <string.h>
-# endif
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-/* This is for other GNU distributions with internationalized messages. */
-# include "gettext.h"
-#endif
-#define _(msgid) gettext (msgid)
-
-#if defined _LIBC && defined USE_IN_LIBIO
-# include <wchar.h>
-#endif
-
-#ifndef attribute_hidden
-# define attribute_hidden
-#endif
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
- but it behaves differently for the user, since it allows the user
- to intersperse the options with the other arguments.
-
- As `getopt' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Setting the environment variable POSIXLY_CORRECT disables permutation.
- Then the behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-#include "getopt.h"
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* 1003.2 says this must be 1 before any call. */
-int optind = 1;
-
-/* Formerly, initialization of getopt depended on optind==0, which
- causes problems with re-calling getopt as programs generally don't
- know that. */
-
-int __getopt_initialized attribute_hidden;
-
-/* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-int optopt = '?';
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters.
-
- PERMUTE is the default. We permute the contents of ARGV as we scan,
- so that eventually all the non-options are at the end. This allows options
- to be given in any order, even with programs that were not written to
- expect this.
-
- RETURN_IN_ORDER is an option available to programs that were written
- to expect options and other ARGV-elements in any order and that care about
- the ordering of the two. We describe each non-option ARGV-element
- as if it were the argument of an option with character code 1.
- Using `-' as the first character of the list of option characters
- selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-
-static enum
-{
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable. */
-static char *posixly_correct;
-
-#ifdef __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
- because there are many ways it can cause trouble.
- On some systems, it contains special magic macros that don't work
- in GCC. */
-# include <string.h>
-# define my_index strchr
-#else
-
-# if HAVE_STRING_H
-# include <string.h>
-# else
-# include <strings.h>
-# endif
-
-/* Avoid depending on library functions or files
- whose names are inconsistent. */
-
-#ifndef getenv
-extern char *getenv ();
-#endif
-
-static char *
-my_index (str, chr)
- const char *str;
- int chr;
-{
- while (*str)
- {
- if (*str == chr)
- return (char *) str;
- str++;
- }
- return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
- If not using GCC, it is ok not to declare it. */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
- That was relevant to code that was here before. */
-# if (!defined __STDC__ || !__STDC__) && !defined strlen
-/* gcc with -traditional declares the built-in strlen to return int,
- and has done so at least since version 2.4.5. -- rms. */
-extern int strlen (const char *);
-# endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-#endif /* not __GNU_LIBRARY__ */
-
-/* Handle permutation of arguments. */
-
-/* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first of them;
- `last_nonopt' is the index after the last of them. */
-
-static int first_nonopt;
-static int last_nonopt;
-
-#ifdef _LIBC
-/* Stored original parameters.
- XXX This is no good solution. We should rather copy the args so
- that we can compare them later. But we must not use malloc(3). */
-extern int __libc_argc;
-extern char **__libc_argv;
-
-/* Bash 2.0 gives us an environment variable containing flags
- indicating ARGV elements that should not be considered arguments. */
-
-# ifdef USE_NONOPTION_FLAGS
-/* Defined in getopt_init.c */
-extern char *__getopt_nonoption_flags;
-
-static int nonoption_flags_max_len;
-static int nonoption_flags_len;
-# endif
-
-# ifdef USE_NONOPTION_FLAGS
-# define SWAP_FLAGS(ch1, ch2) \
- if (nonoption_flags_len > 0) \
- { \
- char __tmp = __getopt_nonoption_flags[ch1]; \
- __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
- __getopt_nonoption_flags[ch2] = __tmp; \
- }
-# else
-# define SWAP_FLAGS(ch1, ch2)
-# endif
-#else /* !_LIBC */
-# define SWAP_FLAGS(ch1, ch2)
-#endif /* _LIBC */
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved. */
-
-#if defined __STDC__ && __STDC__
-static void exchange (char **);
-#endif
-
-static void
-exchange (argv)
- char **argv;
-{
- int bottom = first_nonopt;
- int middle = last_nonopt;
- int top = optind;
- char *tem;
-
- /* Exchange the shorter segment with the far end of the longer segment.
- That puts the shorter segment into the right place.
- It leaves the longer segment in the right place overall,
- but it consists of two parts that need to be swapped next. */
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- /* First make sure the handling of the `__getopt_nonoption_flags'
- string can work normally. Our top argument must be in the range
- of the string. */
- if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
- {
- /* We must extend the array. The user plays games with us and
- presents new arguments. */
- char *new_str = malloc (top + 1);
- if (new_str == NULL)
- nonoption_flags_len = nonoption_flags_max_len = 0;
- else
- {
- memset (__mempcpy (new_str, __getopt_nonoption_flags,
- nonoption_flags_max_len),
- '\0', top + 1 - nonoption_flags_max_len);
- nonoption_flags_max_len = top + 1;
- __getopt_nonoption_flags = new_str;
- }
- }
-#endif
-
- while (top > middle && middle > bottom)
- {
- if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
- else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- SWAP_FLAGS (bottom + i, middle + i);
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
- }
-
- /* Update records for the slots the non-options now occupy. */
-
- first_nonopt += (optind - last_nonopt);
- last_nonopt = optind;
-}
-
-/* Initialize the internal data when the first call is made. */
-
-#if defined __STDC__ && __STDC__
-static const char *_getopt_initialize (int, char *const *, const char *);
-#endif
-static const char *
-_getopt_initialize (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- /* Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- first_nonopt = last_nonopt = optind;
-
- nextchar = NULL;
-
- posixly_correct = getenv ("POSIXLY_CORRECT");
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- ordering = REQUIRE_ORDER;
- ++optstring;
- }
- else if (posixly_correct != NULL)
- ordering = REQUIRE_ORDER;
- else
- ordering = PERMUTE;
-
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
- if (posixly_correct == NULL
- && argc == __libc_argc && argv == __libc_argv)
- {
- if (nonoption_flags_max_len == 0)
- {
- if (__getopt_nonoption_flags == NULL
- || __getopt_nonoption_flags[0] == '\0')
- nonoption_flags_max_len = -1;
- else
- {
- const char *orig_str = __getopt_nonoption_flags;
- int len = nonoption_flags_max_len = strlen (orig_str);
- if (nonoption_flags_max_len < argc)
- nonoption_flags_max_len = argc;
- __getopt_nonoption_flags =
- (char *) malloc (nonoption_flags_max_len);
- if (__getopt_nonoption_flags == NULL)
- nonoption_flags_max_len = -1;
- else
- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
- '\0', nonoption_flags_max_len - len);
- }
- }
- nonoption_flags_len = nonoption_flags_max_len;
- }
- else
- nonoption_flags_len = 0;
-#endif
-
- return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns -1.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return '?' after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return '?'.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- The elements of ARGV aren't really const, because we permute them.
- But we pretend they're const in the prototype to be compatible
- with other systems.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options. */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct option *longopts;
- int *longind;
- int long_only;
-{
- int print_errors = opterr;
- if (optstring[0] == ':')
- print_errors = 0;
-
- if (argc < 1)
- return -1;
-
- optarg = NULL;
-
- if (optind == 0 || !__getopt_initialized)
- {
- if (optind == 0)
- optind = 1; /* Don't scan ARGV[0], the program name. */
- optstring = _getopt_initialize (argc, argv, optstring);
- __getopt_initialized = 1;
- }
-
- /* Test whether ARGV[optind] points to a non-option argument.
- Either it does not have option syntax, or there is an environment flag
- from the shell indicating it is not an option. The later information
- is only used when the used in the GNU libc. */
-#if defined _LIBC && defined USE_NONOPTION_FLAGS
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \
- || (optind < nonoption_flags_len \
- && __getopt_nonoption_flags[optind] == '1'))
-#else
-# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#endif
-
- if (nextchar == NULL || *nextchar == '\0')
- {
- /* Advance to the next ARGV-element. */
-
- /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
- moved back by the user (who may also have changed the arguments). */
- if (last_nonopt > optind)
- last_nonopt = optind;
- if (first_nonopt > optind)
- first_nonopt = optind;
-
- if (ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (last_nonopt != optind)
- first_nonopt = optind;
-
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (optind < argc && NONOPTION_P)
- optind++;
- last_nonopt = optind;
- }
-
- /* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (optind != argc && !strcmp (argv[optind], "--"))
- {
- optind++;
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (first_nonopt == last_nonopt)
- first_nonopt = optind;
- last_nonopt = argc;
-
- optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (first_nonopt != last_nonopt)
- optind = first_nonopt;
- return -1;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if (NONOPTION_P)
- {
- if (ordering == REQUIRE_ORDER)
- return -1;
- optarg = argv[optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Skip the initial punctuation. */
-
- nextchar = (argv[optind] + 1
- + (longopts != NULL && argv[optind][1] == '-'));
- }
-
- /* Decode the current option-ARGV-element. */
-
- /* Check whether the ARGV-element is a long option.
-
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
- On the other hand, if there's a long option "fubar" and
- the ARGV-element is "-fu", do consider that an abbreviation of
- the long option, just like "--fu", and not "-f" with arg "u".
-
- This distinction seems to be the most useful approach. */
-
- if (longopts != NULL
- && (argv[optind][1] == '-'
- || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = -1;
- int option_index;
-
- for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if ((unsigned int) (nameend - nextchar)
- == (unsigned int) strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else if (long_only
- || pfound->has_arg != p->has_arg
- || pfound->flag != p->flag
- || pfound->val != p->val)
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[optind]) >= 0)
- {
-
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[optind]);
-#endif
- }
- nextchar += strlen (nextchar);
- optind++;
- optopt = 0;
- return '?';
- }
-
- if (pfound != NULL)
- {
- option_index = indfound;
- optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (argv[optind - 1][1] == '-')
- {
- /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("\
-%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-#else
- fprintf (stderr, _("\
-%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-#endif
- }
- else
- {
- /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[optind - 1][0],
- pfound->name);
-#else
- fprintf (stderr, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[optind - 1][0], pfound->name);
-#endif
- }
-
-#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#endif
- }
-
- nextchar += strlen (nextchar);
-
- optopt = pfound->val;
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]) >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
-#endif
- }
- nextchar += strlen (nextchar);
- optopt = pfound->val;
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
-
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[optind][1] == '-'
- || my_index (optstring, *nextchar) == NULL)
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (argv[optind][1] == '-')
- {
- /* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
- argv[0], nextchar);
-#else
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
- argv[0], nextchar);
-#endif
- }
- else
- {
- /* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[optind][0], nextchar);
-#else
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[optind][0], nextchar);
-#endif
- }
-
-#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#endif
- }
- nextchar = (char *) "";
- optind++;
- optopt = 0;
- return '?';
- }
- }
-
- /* Look at and handle the next short option-character. */
-
- {
- char c = *nextchar++;
- char *temp = my_index (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*nextchar == '\0')
- ++optind;
-
- if (temp == NULL || c == ':')
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (posixly_correct)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
-#endif
- }
- else
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
-#endif
- }
-
-#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#endif
- }
- optopt = c;
- return '?';
- }
- /* Convenience. Treat POSIX -W foo same as long option --foo */
- if (temp[0] == 'W' && temp[1] == ';')
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = 0;
- int option_index;
-
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c) >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("%s: option requires an argument -- %c\n"),
- argv[0], c);
-#endif
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- return c;
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
-
- /* optarg is now the argument, see if it's in the
- table of longopts. */
-
- for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if ((unsigned int) (nameend - nextchar) == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
- if (ambig && !exact)
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[optind]) >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[optind]);
-#endif
- }
- nextchar += strlen (nextchar);
- optind++;
- return '?';
- }
- if (pfound != NULL)
- {
- option_index = indfound;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name) >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name);
-#endif
- }
-
- nextchar += strlen (nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (print_errors)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]) >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[optind - 1]);
-#endif
- }
- nextchar += strlen (nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
- nextchar = NULL;
- return 'W'; /* Let the application handle it. */
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- optind++;
- }
- else
- optarg = NULL;
- nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
-
- if (__asprintf (&buf, _("\
-%s: option requires an argument -- %c\n"),
- argv[0], c) >= 0)
- {
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s", buf);
- else
- fputs (buf, stderr);
-
- free (buf);
- }
-#else
- fprintf (stderr,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c);
-#endif
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
- nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int
-getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- return _getopt_internal (argc, argv, optstring,
- (const struct option *) 0,
- (int *) 0,
- 0);
-}
-
-#endif /* Not ELIDE_CODE. */
-
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
- the above definition of `getopt'. */
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
-
- c = getopt (argc, argv, "abc:d:0123456789");
- if (c == -1)
- break;
-
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif /* TEST */
diff --git a/lib/getopt.h b/lib/getopt.h
deleted file mode 100644
index 4d6adeea..00000000
--- a/lib/getopt.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _GETOPT_H
-
-#ifndef __need_getopt
-# define _GETOPT_H 1
-#endif
-
-/* If __GNU_LIBRARY__ is not already defined, either we are being used
- standalone, or this is the first header included in the source file.
- If we are being used with glibc, we need to include <features.h>, but
- that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
- not defined, include <ctype.h>, which will pull in <features.h> for us
- if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
- doesn't flood the namespace with stuff the way some other headers do.) */
-#if !defined __GNU_LIBRARY__
-# include <ctype.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns -1, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized. */
-
-extern int optopt;
-
-#ifndef __need_getopt
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct option
-{
-# if (defined __STDC__ && __STDC__) || defined __cplusplus
- const char *name;
-# else
- char *name;
-# endif
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-# define no_argument 0
-# define required_argument 1
-# define optional_argument 2
-#endif /* need getopt */
-
-
-/* Get definitions and prototypes for functions to process the
- arguments in ARGV (ARGC of them, minus the program name) for
- options given in OPTS.
-
- Return the option character from OPTS just read. Return -1 when
- there are no more options. For unrecognized options, or options
- missing arguments, `optopt' is set to the option letter, and '?' is
- returned.
-
- The OPTS string is a list of characters which are recognized option
- letters, optionally followed by colons, specifying that that letter
- takes an argument, to be placed in `optarg'.
-
- If a letter in OPTS is followed by two colons, its argument is
- optional. This behavior is specific to the GNU `getopt'.
-
- The argument `--' causes premature termination of argument
- scanning, explicitly telling `getopt' that there are no more
- options.
-
- If OPTS begins with `--', then non-option arguments are treated as
- arguments to the option '\0'. This behavior is specific to the GNU
- `getopt'. */
-
-#if (defined __STDC__ && __STDC__) || defined __cplusplus
-# ifdef __GNU_LIBRARY__
-/* Many other libraries have conflicting prototypes for getopt, with
- differences in the consts, in stdlib.h. To avoid compilation
- errors, only prototype getopt for the GNU C library. */
-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
-# else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-# endif /* __GNU_LIBRARY__ */
-
-# ifndef __need_getopt
-extern int getopt_long (int ___argc, char *const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind);
-extern int getopt_long_only (int ___argc, char *const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind);
-
-/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int ___argc, char *const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only);
-# endif
-#else /* not __STDC__ */
-extern int getopt ();
-# ifndef __need_getopt
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-# endif
-#endif /* __STDC__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Make sure we later can get all the definitions and declarations. */
-#undef __need_getopt
-
-#endif /* getopt.h */
diff --git a/lib/getopt1.c b/lib/getopt1.c
deleted file mode 100644
index d2759cef..00000000
--- a/lib/getopt1.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
- Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef _LIBC
-# include <getopt.h>
-#else
-# include "getopt.h"
-#endif
-
-#if !defined __STDC__ || !__STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-#ifndef const
-#define const
-#endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-#define GETOPT_INTERFACE_VERSION 2
-#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
-#include <gnu-versions.h>
-#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
-#define ELIDE_CODE
-#endif
-#endif
-
-#ifndef ELIDE_CODE
-
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-#include <stdlib.h>
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-/* Like getopt_long, but '-' as well as '--' can indicate a long option.
- If an option that starts with '-' (not '--') doesn't match a long option,
- but does match a short option, it is parsed as a short option
- instead. */
-
-int
-getopt_long_only (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
-}
-
-# ifdef _LIBC
-libc_hidden_def (getopt_long)
-libc_hidden_def (getopt_long_only)
-# endif
-
-#endif /* Not ELIDE_CODE. */
-
-#ifdef TEST
-
-#include <stdio.h>
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
- int option_index = 0;
- static struct option long_options[] =
- {
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 0, 0, 0},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
- };
-
- c = getopt_long (argc, argv, "abc:d:0123456789",
- long_options, &option_index);
- if (c == -1)
- break;
-
- switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case 'd':
- printf ("option d with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif /* TEST */
diff --git a/lib/gettext.h b/lib/gettext.h
deleted file mode 100644
index 8b262f4c..00000000
--- a/lib/gettext.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU Library General Public License as published
- by the Free Software Foundation; either version 2, 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-#ifndef _LIBGETTEXT_H
-#define _LIBGETTEXT_H 1
-
-/* NLS can be disabled through the configure --disable-nls option. */
-#if ENABLE_NLS
-
-/* Get declarations of GNU message catalog functions. */
-# include <libintl.h>
-
-#else
-
-/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
- chokes if dcgettext is defined as a macro. So include it now, to make
- later inclusions of <locale.h> a NOP. We don't include <libintl.h>
- as well because people using "gettext.h" will not include <libintl.h>,
- and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
- is OK. */
-#if defined(__sun)
-# include <locale.h>
-#endif
-
-/* Disabled NLS.
- The casts to 'const char *' serve the purpose of producing warnings
- for invalid uses of the value returned from these functions.
- On pre-ANSI systems without 'const', the config.h file is supposed to
- contain "#define const". */
-# define gettext(Msgid) ((const char *) (Msgid))
-# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
-# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
-# define ngettext(Msgid1, Msgid2, N) \
- ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define dngettext(Domainname, Msgid1, Msgid2, N) \
- ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
- ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
-# define textdomain(Domainname) ((const char *) (Domainname))
-# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
-# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
-
-#endif
-
-/* A pseudo function call that serves as a marker for the automated
- extraction of messages, but does not call gettext(). The run-time
- translation is done at a different place in the code.
- The argument, String, should be a literal string. Concatenated strings
- and other string expressions won't work.
- The macro's expansion is not parenthesized, so that it is suitable as
- initializer for static 'char[]' or 'const char[]' variables. */
-#define gettext_noop(String) String
-
-#endif /* _LIBGETTEXT_H */
diff --git a/lib/hash.c b/lib/hash.c
deleted file mode 100644
index 7373a011..00000000
--- a/lib/hash.c
+++ /dev/null
@@ -1,1051 +0,0 @@
-/* hash - hashing table processing.
-
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software
- Foundation, Inc.
-
- Written by Jim Meyering, 1992.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* A generic hash table package. */
-
-/* Define USE_OBSTACK to 1 if you want the allocator to use obstacks instead
- of malloc. If you change USE_OBSTACK, you have to recompile! */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#include <limits.h>
-#include <stdbool.h>
-#include <stdio.h>
-
-#ifndef HAVE_DECL_FREE
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_FREE
-void free ();
-#endif
-
-#ifndef HAVE_DECL_MALLOC
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_MALLOC
-char *malloc ();
-#endif
-
-#if USE_OBSTACK
-# include "obstack.h"
-# ifndef obstack_chunk_alloc
-# define obstack_chunk_alloc malloc
-# endif
-# ifndef obstack_chunk_free
-# define obstack_chunk_free free
-# endif
-#endif
-
-#include "hash.h"
-
-struct hash_table
- {
- /* The array of buckets starts at BUCKET and extends to BUCKET_LIMIT-1,
- for a possibility of N_BUCKETS. Among those, N_BUCKETS_USED buckets
- are not empty, there are N_ENTRIES active entries in the table. */
- struct hash_entry *bucket;
- struct hash_entry *bucket_limit;
- unsigned n_buckets;
- unsigned n_buckets_used;
- unsigned n_entries;
-
- /* Tuning arguments, kept in a physicaly separate structure. */
- const Hash_tuning *tuning;
-
- /* Three functions are given to `hash_initialize', see the documentation
- block for this function. In a word, HASHER randomizes a user entry
- into a number up from 0 up to some maximum minus 1; COMPARATOR returns
- true if two user entries compare equally; and DATA_FREER is the cleanup
- function for a user entry. */
- Hash_hasher hasher;
- Hash_comparator comparator;
- Hash_data_freer data_freer;
-
- /* A linked list of freed struct hash_entry structs. */
- struct hash_entry *free_entry_list;
-
-#if USE_OBSTACK
- /* Whenever obstacks are used, it is possible to allocate all overflowed
- entries into a single stack, so they all can be freed in a single
- operation. It is not clear if the speedup is worth the trouble. */
- struct obstack entry_stack;
-#endif
- };
-
-/* A hash table contains many internal entries, each holding a pointer to
- some user provided data (also called a user entry). An entry indistinctly
- refers to both the internal entry and its associated user entry. A user
- entry contents may be hashed by a randomization function (the hashing
- function, or just `hasher' for short) into a number (or `slot') between 0
- and the current table size. At each slot position in the hash table,
- starts a linked chain of entries for which the user data all hash to this
- slot. A bucket is the collection of all entries hashing to the same slot.
-
- A good `hasher' function will distribute entries rather evenly in buckets.
- In the ideal case, the length of each bucket is roughly the number of
- entries divided by the table size. Finding the slot for a data is usually
- done in constant time by the `hasher', and the later finding of a precise
- entry is linear in time with the size of the bucket. Consequently, a
- larger hash table size (that is, a larger number of buckets) is prone to
- yielding shorter chains, *given* the `hasher' function behaves properly.
-
- Long buckets slow down the lookup algorithm. One might use big hash table
- sizes in hope to reduce the average length of buckets, but this might
- become inordinate, as unused slots in the hash table take some space. The
- best bet is to make sure you are using a good `hasher' function (beware
- that those are not that easy to write! :-), and to use a table size
- larger than the actual number of entries. */
-
-/* If an insertion makes the ratio of nonempty buckets to table size larger
- than the growth threshold (a number between 0.0 and 1.0), then increase
- the table size by multiplying by the growth factor (a number greater than
- 1.0). The growth threshold defaults to 0.8, and the growth factor
- defaults to 1.414, meaning that the table will have doubled its size
- every second time 80% of the buckets get used. */
-#define DEFAULT_GROWTH_THRESHOLD 0.8
-#define DEFAULT_GROWTH_FACTOR 1.414
-
-/* If a deletion empties a bucket and causes the ratio of used buckets to
- table size to become smaller than the shrink threshold (a number between
- 0.0 and 1.0), then shrink the table by multiplying by the shrink factor (a
- number greater than the shrink threshold but smaller than 1.0). The shrink
- threshold and factor default to 0.0 and 1.0, meaning that the table never
- shrinks. */
-#define DEFAULT_SHRINK_THRESHOLD 0.0
-#define DEFAULT_SHRINK_FACTOR 1.0
-
-/* Use this to initialize or reset a TUNING structure to
- some sensible values. */
-static const Hash_tuning default_tuning =
- {
- DEFAULT_SHRINK_THRESHOLD,
- DEFAULT_SHRINK_FACTOR,
- DEFAULT_GROWTH_THRESHOLD,
- DEFAULT_GROWTH_FACTOR,
- false
- };
-
-/* Information and lookup. */
-
-/* The following few functions provide information about the overall hash
- table organization: the number of entries, number of buckets and maximum
- length of buckets. */
-
-/* Return the number of buckets in the hash table. The table size, the total
- number of buckets (used plus unused), or the maximum number of slots, are
- the same quantity. */
-
-unsigned
-hash_get_n_buckets (const Hash_table *table)
-{
- return table->n_buckets;
-}
-
-/* Return the number of slots in use (non-empty buckets). */
-
-unsigned
-hash_get_n_buckets_used (const Hash_table *table)
-{
- return table->n_buckets_used;
-}
-
-/* Return the number of active entries. */
-
-unsigned
-hash_get_n_entries (const Hash_table *table)
-{
- return table->n_entries;
-}
-
-/* Return the length of the longest chain (bucket). */
-
-unsigned
-hash_get_max_bucket_length (const Hash_table *table)
-{
- struct hash_entry *bucket;
- unsigned max_bucket_length = 0;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- if (bucket->data)
- {
- struct hash_entry *cursor = bucket;
- unsigned bucket_length = 1;
-
- while (cursor = cursor->next, cursor)
- bucket_length++;
-
- if (bucket_length > max_bucket_length)
- max_bucket_length = bucket_length;
- }
- }
-
- return max_bucket_length;
-}
-
-/* Do a mild validation of a hash table, by traversing it and checking two
- statistics. */
-
-bool
-hash_table_ok (const Hash_table *table)
-{
- struct hash_entry *bucket;
- unsigned n_buckets_used = 0;
- unsigned n_entries = 0;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- if (bucket->data)
- {
- struct hash_entry *cursor = bucket;
-
- /* Count bucket head. */
- n_buckets_used++;
- n_entries++;
-
- /* Count bucket overflow. */
- while (cursor = cursor->next, cursor)
- n_entries++;
- }
- }
-
- if (n_buckets_used == table->n_buckets_used && n_entries == table->n_entries)
- return true;
-
- return false;
-}
-
-void
-hash_print_statistics (const Hash_table *table, FILE *stream)
-{
- unsigned n_entries = hash_get_n_entries (table);
- unsigned n_buckets = hash_get_n_buckets (table);
- unsigned n_buckets_used = hash_get_n_buckets_used (table);
- unsigned max_bucket_length = hash_get_max_bucket_length (table);
-
- fprintf (stream, "# entries: %u\n", n_entries);
- fprintf (stream, "# buckets: %u\n", n_buckets);
- fprintf (stream, "# buckets used: %u (%.2f%%)\n", n_buckets_used,
- (100.0 * n_buckets_used) / n_buckets);
- fprintf (stream, "max bucket length: %u\n", max_bucket_length);
-}
-
-/* If ENTRY matches an entry already in the hash table, return the
- entry from the table. Otherwise, return NULL. */
-
-void *
-hash_lookup (const Hash_table *table, const void *entry)
-{
- struct hash_entry *bucket
- = table->bucket + table->hasher (entry, table->n_buckets);
- struct hash_entry *cursor;
-
- if (! (bucket < table->bucket_limit))
- abort ();
-
- if (bucket->data == NULL)
- return NULL;
-
- for (cursor = bucket; cursor; cursor = cursor->next)
- if (table->comparator (entry, cursor->data))
- return cursor->data;
-
- return NULL;
-}
-
-/* Walking. */
-
-/* The functions in this page traverse the hash table and process the
- contained entries. For the traversal to work properly, the hash table
- should not be resized nor modified while any particular entry is being
- processed. In particular, entries should not be added or removed. */
-
-/* Return the first data in the table, or NULL if the table is empty. */
-
-void *
-hash_get_first (const Hash_table *table)
-{
- struct hash_entry *bucket;
-
- if (table->n_entries == 0)
- return NULL;
-
- for (bucket = table->bucket; ; bucket++)
- if (! (bucket < table->bucket_limit))
- abort ();
- else if (bucket->data)
- return bucket->data;
-}
-
-/* Return the user data for the entry following ENTRY, where ENTRY has been
- returned by a previous call to either `hash_get_first' or `hash_get_next'.
- Return NULL if there are no more entries. */
-
-void *
-hash_get_next (const Hash_table *table, const void *entry)
-{
- struct hash_entry *bucket
- = table->bucket + table->hasher (entry, table->n_buckets);
- struct hash_entry *cursor;
-
- if (! (bucket < table->bucket_limit))
- abort ();
-
- /* Find next entry in the same bucket. */
- for (cursor = bucket; cursor; cursor = cursor->next)
- if (cursor->data == entry && cursor->next)
- return cursor->next->data;
-
- /* Find first entry in any subsequent bucket. */
- while (++bucket < table->bucket_limit)
- if (bucket->data)
- return bucket->data;
-
- /* None found. */
- return NULL;
-}
-
-/* Fill BUFFER with pointers to active user entries in the hash table, then
- return the number of pointers copied. Do not copy more than BUFFER_SIZE
- pointers. */
-
-unsigned
-hash_get_entries (const Hash_table *table, void **buffer,
- unsigned buffer_size)
-{
- unsigned counter = 0;
- struct hash_entry *bucket;
- struct hash_entry *cursor;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- if (bucket->data)
- {
- for (cursor = bucket; cursor; cursor = cursor->next)
- {
- if (counter >= buffer_size)
- return counter;
- buffer[counter++] = cursor->data;
- }
- }
- }
-
- return counter;
-}
-
-/* Call a PROCESSOR function for each entry of a hash table, and return the
- number of entries for which the processor function returned success. A
- pointer to some PROCESSOR_DATA which will be made available to each call to
- the processor function. The PROCESSOR accepts two arguments: the first is
- the user entry being walked into, the second is the value of PROCESSOR_DATA
- as received. The walking continue for as long as the PROCESSOR function
- returns nonzero. When it returns zero, the walking is interrupted. */
-
-unsigned
-hash_do_for_each (const Hash_table *table, Hash_processor processor,
- void *processor_data)
-{
- unsigned counter = 0;
- struct hash_entry *bucket;
- struct hash_entry *cursor;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- if (bucket->data)
- {
- for (cursor = bucket; cursor; cursor = cursor->next)
- {
- if (!(*processor) (cursor->data, processor_data))
- return counter;
- counter++;
- }
- }
- }
-
- return counter;
-}
-
-/* Allocation and clean-up. */
-
-/* Return a hash index for a NUL-terminated STRING between 0 and N_BUCKETS-1.
- This is a convenience routine for constructing other hashing functions. */
-
-#if USE_DIFF_HASH
-
-/* About hashings, Paul Eggert writes to me (FP), on 1994-01-01: "Please see
- B. J. McKenzie, R. Harries & T. Bell, Selecting a hashing algorithm,
- Software--practice & experience 20, 2 (Feb 1990), 209-224. Good hash
- algorithms tend to be domain-specific, so what's good for [diffutils'] io.c
- may not be good for your application." */
-
-unsigned
-hash_string (const char *string, unsigned n_buckets)
-{
-# define ROTATE_LEFT(Value, Shift) \
- ((Value) << (Shift) | (Value) >> ((sizeof (unsigned) * CHAR_BIT) - (Shift)))
-# define HASH_ONE_CHAR(Value, Byte) \
- ((Byte) + ROTATE_LEFT (Value, 7))
-
- unsigned value = 0;
-
- for (; *string; string++)
- value = HASH_ONE_CHAR (value, *(const unsigned char *) string);
- return value % n_buckets;
-
-# undef ROTATE_LEFT
-# undef HASH_ONE_CHAR
-}
-
-#else /* not USE_DIFF_HASH */
-
-/* This one comes from `recode', and performs a bit better than the above as
- per a few experiments. It is inspired from a hashing routine found in the
- very old Cyber `snoop', itself written in typical Greg Mansfield style.
- (By the way, what happened to this excellent man? Is he still alive?) */
-
-unsigned
-hash_string (const char *string, unsigned n_buckets)
-{
- unsigned value = 0;
-
- while (*string)
- value = ((value * 31 + (int) *(const unsigned char *) string++)
- % n_buckets);
- return value;
-}
-
-#endif /* not USE_DIFF_HASH */
-
-/* Return true if CANDIDATE is a prime number. CANDIDATE should be an odd
- number at least equal to 11. */
-
-static bool
-is_prime (unsigned long candidate)
-{
- unsigned long divisor = 3;
- unsigned long square = divisor * divisor;
-
- while (square < candidate && (candidate % divisor))
- {
- divisor++;
- square += 4 * divisor;
- divisor++;
- }
-
- return (candidate % divisor ? true : false);
-}
-
-/* Round a given CANDIDATE number up to the nearest prime, and return that
- prime. Primes lower than 10 are merely skipped. */
-
-static unsigned long
-next_prime (unsigned long candidate)
-{
- /* Skip small primes. */
- if (candidate < 10)
- candidate = 10;
-
- /* Make it definitely odd. */
- candidate |= 1;
-
- while (!is_prime (candidate))
- candidate += 2;
-
- return candidate;
-}
-
-void
-hash_reset_tuning (Hash_tuning *tuning)
-{
- *tuning = default_tuning;
-}
-
-/* For the given hash TABLE, check the user supplied tuning structure for
- reasonable values, and return true if there is no gross error with it.
- Otherwise, definitively reset the TUNING field to some acceptable default
- in the hash table (that is, the user loses the right of further modifying
- tuning arguments), and return false. */
-
-static bool
-check_tuning (Hash_table *table)
-{
- const Hash_tuning *tuning = table->tuning;
-
- if (tuning->growth_threshold > 0.0
- && tuning->growth_threshold < 1.0
- && tuning->growth_factor > 1.0
- && tuning->shrink_threshold >= 0.0
- && tuning->shrink_threshold < 1.0
- && tuning->shrink_factor > tuning->shrink_threshold
- && tuning->shrink_factor <= 1.0
- && tuning->shrink_threshold < tuning->growth_threshold)
- return true;
-
- table->tuning = &default_tuning;
- return false;
-}
-
-/* Allocate and return a new hash table, or NULL upon failure. The initial
- number of buckets is automatically selected so as to _guarantee_ that you
- may insert at least CANDIDATE different user entries before any growth of
- the hash table size occurs. So, if have a reasonably tight a-priori upper
- bound on the number of entries you intend to insert in the hash table, you
- may save some table memory and insertion time, by specifying it here. If
- the IS_N_BUCKETS field of the TUNING structure is true, the CANDIDATE
- argument has its meaning changed to the wanted number of buckets.
-
- TUNING points to a structure of user-supplied values, in case some fine
- tuning is wanted over the default behavior of the hasher. If TUNING is
- NULL, the default tuning parameters are used instead.
-
- The user-supplied HASHER function should be provided. It accepts two
- arguments ENTRY and TABLE_SIZE. It computes, by hashing ENTRY contents, a
- slot number for that entry which should be in the range 0..TABLE_SIZE-1.
- This slot number is then returned.
-
- The user-supplied COMPARATOR function should be provided. It accepts two
- arguments pointing to user data, it then returns true for a pair of entries
- that compare equal, or false otherwise. This function is internally called
- on entries which are already known to hash to the same bucket index.
-
- The user-supplied DATA_FREER function, when not NULL, may be later called
- with the user data as an argument, just before the entry containing the
- data gets freed. This happens from within `hash_free' or `hash_clear'.
- You should specify this function only if you want these functions to free
- all of your `data' data. This is typically the case when your data is
- simply an auxiliary struct that you have malloc'd to aggregate several
- values. */
-
-Hash_table *
-hash_initialize (unsigned candidate, const Hash_tuning *tuning,
- Hash_hasher hasher, Hash_comparator comparator,
- Hash_data_freer data_freer)
-{
- Hash_table *table;
- struct hash_entry *bucket;
-
- if (hasher == NULL || comparator == NULL)
- return NULL;
-
- table = (Hash_table *) malloc (sizeof (Hash_table));
- if (table == NULL)
- return NULL;
-
- if (!tuning)
- tuning = &default_tuning;
- table->tuning = tuning;
- if (!check_tuning (table))
- {
- /* Fail if the tuning options are invalid. This is the only occasion
- when the user gets some feedback about it. Once the table is created,
- if the user provides invalid tuning options, we silently revert to
- using the defaults, and ignore further request to change the tuning
- options. */
- free (table);
- return NULL;
- }
-
- table->n_buckets
- = next_prime (tuning->is_n_buckets ? candidate
- : (unsigned) (candidate / tuning->growth_threshold));
-
- table->bucket = (struct hash_entry *)
- malloc (table->n_buckets * sizeof (struct hash_entry));
- if (table->bucket == NULL)
- {
- free (table);
- return NULL;
- }
- table->bucket_limit = table->bucket + table->n_buckets;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- bucket->data = NULL;
- bucket->next = NULL;
- }
- table->n_buckets_used = 0;
- table->n_entries = 0;
-
- table->hasher = hasher;
- table->comparator = comparator;
- table->data_freer = data_freer;
-
- table->free_entry_list = NULL;
-#if USE_OBSTACK
- obstack_init (&table->entry_stack);
-#endif
- return table;
-}
-
-/* Make all buckets empty, placing any chained entries on the free list.
- Apply the user-specified function data_freer (if any) to the datas of any
- affected entries. */
-
-void
-hash_clear (Hash_table *table)
-{
- struct hash_entry *bucket;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- if (bucket->data)
- {
- struct hash_entry *cursor;
- struct hash_entry *next;
-
- /* Free the bucket overflow. */
- for (cursor = bucket->next; cursor; cursor = next)
- {
- if (table->data_freer)
- (*table->data_freer) (cursor->data);
- cursor->data = NULL;
-
- next = cursor->next;
- /* Relinking is done one entry at a time, as it is to be expected
- that overflows are either rare or short. */
- cursor->next = table->free_entry_list;
- table->free_entry_list = cursor;
- }
-
- /* Free the bucket head. */
- if (table->data_freer)
- (*table->data_freer) (bucket->data);
- bucket->data = NULL;
- bucket->next = NULL;
- }
- }
-
- table->n_buckets_used = 0;
- table->n_entries = 0;
-}
-
-/* Reclaim all storage associated with a hash table. If a data_freer
- function has been supplied by the user when the hash table was created,
- this function applies it to the data of each entry before freeing that
- entry. */
-
-void
-hash_free (Hash_table *table)
-{
- struct hash_entry *bucket;
- struct hash_entry *cursor;
- struct hash_entry *next;
-
- /* Call the user data_freer function. */
- if (table->data_freer && table->n_entries)
- {
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- if (bucket->data)
- {
- for (cursor = bucket; cursor; cursor = cursor->next)
- {
- (*table->data_freer) (cursor->data);
- }
- }
- }
- }
-
-#if USE_OBSTACK
-
- obstack_free (&table->entry_stack, NULL);
-
-#else
-
- /* Free all bucket overflowed entries. */
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- for (cursor = bucket->next; cursor; cursor = next)
- {
- next = cursor->next;
- free (cursor);
- }
- }
-
- /* Also reclaim the internal list of previously freed entries. */
- for (cursor = table->free_entry_list; cursor; cursor = next)
- {
- next = cursor->next;
- free (cursor);
- }
-
-#endif
-
- /* Free the remainder of the hash table structure. */
- free (table->bucket);
- free (table);
-}
-
-/* Insertion and deletion. */
-
-/* Get a new hash entry for a bucket overflow, possibly by reclying a
- previously freed one. If this is not possible, allocate a new one. */
-
-static struct hash_entry *
-allocate_entry (Hash_table *table)
-{
- struct hash_entry *new;
-
- if (table->free_entry_list)
- {
- new = table->free_entry_list;
- table->free_entry_list = new->next;
- }
- else
- {
-#if USE_OBSTACK
- new = (struct hash_entry *)
- obstack_alloc (&table->entry_stack, sizeof (struct hash_entry));
-#else
- new = (struct hash_entry *) malloc (sizeof (struct hash_entry));
-#endif
- }
-
- return new;
-}
-
-/* Free a hash entry which was part of some bucket overflow,
- saving it for later recycling. */
-
-static void
-free_entry (Hash_table *table, struct hash_entry *entry)
-{
- entry->data = NULL;
- entry->next = table->free_entry_list;
- table->free_entry_list = entry;
-}
-
-/* This private function is used to help with insertion and deletion. When
- ENTRY matches an entry in the table, return a pointer to the corresponding
- user data and set *BUCKET_HEAD to the head of the selected bucket.
- Otherwise, return NULL. When DELETE is true and ENTRY matches an entry in
- the table, unlink the matching entry. */
-
-static void *
-hash_find_entry (Hash_table *table, const void *entry,
- struct hash_entry **bucket_head, bool delete)
-{
- struct hash_entry *bucket
- = table->bucket + table->hasher (entry, table->n_buckets);
- struct hash_entry *cursor;
-
- if (! (bucket < table->bucket_limit))
- abort ();
-
- *bucket_head = bucket;
-
- /* Test for empty bucket. */
- if (bucket->data == NULL)
- return NULL;
-
- /* See if the entry is the first in the bucket. */
- if ((*table->comparator) (entry, bucket->data))
- {
- void *data = bucket->data;
-
- if (delete)
- {
- if (bucket->next)
- {
- struct hash_entry *next = bucket->next;
-
- /* Bump the first overflow entry into the bucket head, then save
- the previous first overflow entry for later recycling. */
- *bucket = *next;
- free_entry (table, next);
- }
- else
- {
- bucket->data = NULL;
- }
- }
-
- return data;
- }
-
- /* Scan the bucket overflow. */
- for (cursor = bucket; cursor->next; cursor = cursor->next)
- {
- if ((*table->comparator) (entry, cursor->next->data))
- {
- void *data = cursor->next->data;
-
- if (delete)
- {
- struct hash_entry *next = cursor->next;
-
- /* Unlink the entry to delete, then save the freed entry for later
- recycling. */
- cursor->next = next->next;
- free_entry (table, next);
- }
-
- return data;
- }
- }
-
- /* No entry found. */
- return NULL;
-}
-
-/* For an already existing hash table, change the number of buckets through
- specifying CANDIDATE. The contents of the hash table are preserved. The
- new number of buckets is automatically selected so as to _guarantee_ that
- the table may receive at least CANDIDATE different user entries, including
- those already in the table, before any other growth of the hash table size
- occurs. If TUNING->IS_N_BUCKETS is true, then CANDIDATE specifies the
- exact number of buckets desired. */
-
-bool
-hash_rehash (Hash_table *table, unsigned candidate)
-{
- Hash_table *new_table;
- struct hash_entry *bucket;
- struct hash_entry *cursor;
- struct hash_entry *next;
-
- new_table = hash_initialize (candidate, table->tuning, table->hasher,
- table->comparator, table->data_freer);
- if (new_table == NULL)
- return false;
-
- /* Merely reuse the extra old space into the new table. */
-#if USE_OBSTACK
- obstack_free (&new_table->entry_stack, NULL);
- new_table->entry_stack = table->entry_stack;
-#endif
- new_table->free_entry_list = table->free_entry_list;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- if (bucket->data)
- for (cursor = bucket; cursor; cursor = next)
- {
- void *data = cursor->data;
- struct hash_entry *new_bucket
- = (new_table->bucket
- + new_table->hasher (data, new_table->n_buckets));
-
- if (! (new_bucket < new_table->bucket_limit))
- abort ();
-
- next = cursor->next;
-
- if (new_bucket->data)
- {
- if (cursor == bucket)
- {
- /* Allocate or recycle an entry, when moving from a bucket
- header into a bucket overflow. */
- struct hash_entry *new_entry = allocate_entry (new_table);
-
- if (new_entry == NULL)
- return false;
-
- new_entry->data = data;
- new_entry->next = new_bucket->next;
- new_bucket->next = new_entry;
- }
- else
- {
- /* Merely relink an existing entry, when moving from a
- bucket overflow into a bucket overflow. */
- cursor->next = new_bucket->next;
- new_bucket->next = cursor;
- }
- }
- else
- {
- /* Free an existing entry, when moving from a bucket
- overflow into a bucket header. Also take care of the
- simple case of moving from a bucket header into a bucket
- header. */
- new_bucket->data = data;
- new_table->n_buckets_used++;
- if (cursor != bucket)
- free_entry (new_table, cursor);
- }
- }
-
- free (table->bucket);
- table->bucket = new_table->bucket;
- table->bucket_limit = new_table->bucket_limit;
- table->n_buckets = new_table->n_buckets;
- table->n_buckets_used = new_table->n_buckets_used;
- table->free_entry_list = new_table->free_entry_list;
- /* table->n_entries already holds its value. */
-#if USE_OBSTACK
- table->entry_stack = new_table->entry_stack;
-#endif
- free (new_table);
-
- return true;
-}
-
-/* If ENTRY matches an entry already in the hash table, return the pointer
- to the entry from the table. Otherwise, insert ENTRY and return ENTRY.
- Return NULL if the storage required for insertion cannot be allocated. */
-
-void *
-hash_insert (Hash_table *table, const void *entry)
-{
- void *data;
- struct hash_entry *bucket;
-
- /* The caller cannot insert a NULL entry. */
- if (! entry)
- abort ();
-
- /* If there's a matching entry already in the table, return that. */
- if ((data = hash_find_entry (table, entry, &bucket, false)) != NULL)
- return data;
-
- /* ENTRY is not matched, it should be inserted. */
-
- if (bucket->data)
- {
- struct hash_entry *new_entry = allocate_entry (table);
-
- if (new_entry == NULL)
- return NULL;
-
- /* Add ENTRY in the overflow of the bucket. */
-
- new_entry->data = (void *) entry;
- new_entry->next = bucket->next;
- bucket->next = new_entry;
- table->n_entries++;
- return (void *) entry;
- }
-
- /* Add ENTRY right in the bucket head. */
-
- bucket->data = (void *) entry;
- table->n_entries++;
- table->n_buckets_used++;
-
- /* If the growth threshold of the buckets in use has been reached, increase
- the table size and rehash. There's no point in checking the number of
- entries: if the hashing function is ill-conditioned, rehashing is not
- likely to improve it. */
-
- if (table->n_buckets_used
- > table->tuning->growth_threshold * table->n_buckets)
- {
- /* Check more fully, before starting real work. If tuning arguments
- became invalid, the second check will rely on proper defaults. */
- check_tuning (table);
- if (table->n_buckets_used
- > table->tuning->growth_threshold * table->n_buckets)
- {
- const Hash_tuning *tuning = table->tuning;
- unsigned candidate
- = (unsigned) (tuning->is_n_buckets
- ? (table->n_buckets * tuning->growth_factor)
- : (table->n_buckets * tuning->growth_factor
- * tuning->growth_threshold));
-
- /* If the rehash fails, arrange to return NULL. */
- if (!hash_rehash (table, candidate))
- entry = NULL;
- }
- }
-
- return (void *) entry;
-}
-
-/* If ENTRY is already in the table, remove it and return the just-deleted
- data (the user may want to deallocate its storage). If ENTRY is not in the
- table, don't modify the table and return NULL. */
-
-void *
-hash_delete (Hash_table *table, const void *entry)
-{
- void *data;
- struct hash_entry *bucket;
-
- data = hash_find_entry (table, entry, &bucket, true);
- if (!data)
- return NULL;
-
- table->n_entries--;
- if (!bucket->data)
- {
- table->n_buckets_used--;
-
- /* If the shrink threshold of the buckets in use has been reached,
- rehash into a smaller table. */
-
- if (table->n_buckets_used
- < table->tuning->shrink_threshold * table->n_buckets)
- {
- /* Check more fully, before starting real work. If tuning arguments
- became invalid, the second check will rely on proper defaults. */
- check_tuning (table);
- if (table->n_buckets_used
- < table->tuning->shrink_threshold * table->n_buckets)
- {
- const Hash_tuning *tuning = table->tuning;
- unsigned candidate
- = (unsigned) (tuning->is_n_buckets
- ? table->n_buckets * tuning->shrink_factor
- : (table->n_buckets * tuning->shrink_factor
- * tuning->growth_threshold));
-
- hash_rehash (table, candidate);
- }
- }
- }
-
- return data;
-}
-
-/* Testing. */
-
-#if TESTING
-
-void
-hash_print (const Hash_table *table)
-{
- struct hash_entry *bucket;
-
- for (bucket = table->bucket; bucket < table->bucket_limit; bucket++)
- {
- struct hash_entry *cursor;
-
- if (bucket)
- printf ("%d:\n", bucket - table->bucket);
-
- for (cursor = bucket; cursor; cursor = cursor->next)
- {
- char *s = (char *) cursor->data;
- /* FIXME */
- if (s)
- printf (" %s\n", s);
- }
- }
-}
-
-#endif /* TESTING */
diff --git a/lib/hash.h b/lib/hash.h
deleted file mode 100644
index b5537fa8..00000000
--- a/lib/hash.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* hash - hashing table processing.
- Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
- Written by Jim Meyering <meyering@ascend.com>, 1998.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* A generic hash table package. */
-
-/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use
- obstacks instead of malloc, and recompile `hash.c' with same setting. */
-
-#ifndef HASH_H_
-# define HASH_H_
-
-# include <stdio.h>
-
-# ifndef PARAMS
-# if PROTOTYPES || __STDC__
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-# endif
-
-typedef unsigned (*Hash_hasher) PARAMS ((const void *, unsigned));
-typedef bool (*Hash_comparator) PARAMS ((const void *, const void *));
-typedef void (*Hash_data_freer) PARAMS ((void *));
-typedef bool (*Hash_processor) PARAMS ((void *, void *));
-
-struct hash_entry
- {
- void *data;
- struct hash_entry *next;
- };
-
-struct hash_tuning
- {
- /* This structure is mainly used for `hash_initialize', see the block
- documentation of `hash_reset_tuning' for more complete comments. */
-
- float shrink_threshold; /* ratio of used buckets to trigger a shrink */
- float shrink_factor; /* ratio of new smaller size to original size */
- float growth_threshold; /* ratio of used buckets to trigger a growth */
- float growth_factor; /* ratio of new bigger size to original size */
- bool is_n_buckets; /* if CANDIDATE really means table size */
- };
-
-typedef struct hash_tuning Hash_tuning;
-
-struct hash_table;
-
-typedef struct hash_table Hash_table;
-
-/* Information and lookup. */
-unsigned hash_get_n_buckets PARAMS ((const Hash_table *));
-unsigned hash_get_n_buckets_used PARAMS ((const Hash_table *));
-unsigned hash_get_n_entries PARAMS ((const Hash_table *));
-unsigned hash_get_max_bucket_length PARAMS ((const Hash_table *));
-bool hash_table_ok PARAMS ((const Hash_table *));
-void hash_print_statistics PARAMS ((const Hash_table *, FILE *));
-void *hash_lookup PARAMS ((const Hash_table *, const void *));
-
-/* Walking. */
-void *hash_get_first PARAMS ((const Hash_table *));
-void *hash_get_next PARAMS ((const Hash_table *, const void *));
-unsigned hash_get_entries PARAMS ((const Hash_table *, void **, unsigned));
-unsigned hash_do_for_each PARAMS ((const Hash_table *, Hash_processor, void *));
-
-/* Allocation and clean-up. */
-unsigned hash_string PARAMS ((const char *, unsigned));
-void hash_reset_tuning PARAMS ((Hash_tuning *));
-Hash_table *hash_initialize PARAMS ((unsigned, const Hash_tuning *,
- Hash_hasher, Hash_comparator,
- Hash_data_freer));
-void hash_clear PARAMS ((Hash_table *));
-void hash_free PARAMS ((Hash_table *));
-
-/* Insertion and deletion. */
-bool hash_rehash PARAMS ((Hash_table *, unsigned));
-void *hash_insert PARAMS ((Hash_table *, const void *));
-void *hash_delete PARAMS ((Hash_table *, const void *));
-
-#endif
diff --git a/lib/malloc.c b/lib/malloc.c
deleted file mode 100644
index bcd6b564..00000000
--- a/lib/malloc.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Work around bug on some systems where malloc (0) fails.
- Copyright (C) 1997, 1998 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* written by Jim Meyering */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-#undef malloc
-
-#include <stddef.h>
-
-char *malloc ();
-
-/* Allocate an N-byte block of memory from the heap.
- If N is zero, allocate a 1-byte block. */
-
-char *
-rpl_malloc (size_t n)
-{
- if (n == 0)
- n = 1;
- return malloc (n);
-}
diff --git a/lib/mbswidth.c b/lib/mbswidth.c
deleted file mode 100644
index a2ef5b3f..00000000
--- a/lib/mbswidth.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by Bruno Haible <haible@clisp.cons.org>. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/* Specification. */
-#include "mbswidth.h"
-
-/* Get MB_CUR_MAX. */
-#include <stdlib.h>
-
-#include <string.h>
-
-/* Get isprint(). */
-#include <ctype.h>
-
-/* Get mbstate_t, mbrtowc(), mbsinit(), wcwidth(). */
-#if HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-
-/* Get iswprint(), iswcntrl(). */
-#if HAVE_WCTYPE_H
-# include <wctype.h>
-#endif
-#if !defined iswprint && !HAVE_ISWPRINT
-# define iswprint(wc) 1
-#endif
-#if !defined iswcntrl && !HAVE_ISWCNTRL
-# define iswcntrl(wc) 0
-#endif
-
-#ifndef mbsinit
-# if !HAVE_MBSINIT
-# define mbsinit(ps) 1
-# endif
-#endif
-
-#ifndef HAVE_DECL_WCWIDTH
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_WCWIDTH
-int wcwidth ();
-#endif
-
-#ifndef wcwidth
-# if !HAVE_WCWIDTH
-/* wcwidth doesn't exist, so assume all printable characters have
- width 1. */
-# define wcwidth(wc) ((wc) == 0 ? 0 : iswprint (wc) ? 1 : -1)
-# endif
-#endif
-
-/* Get ISPRINT. */
-#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
-# define IN_CTYPE_DOMAIN(c) 1
-#else
-# define IN_CTYPE_DOMAIN(c) isascii(c)
-#endif
-/* Undefine to protect against the definition in wctype.h of solaris2.6. */
-#undef ISPRINT
-#define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
-#undef ISCNTRL
-#define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c))
-
-/* Returns the number of columns needed to represent the multibyte
- character string pointed to by STRING. If a non-printable character
- occurs, and MBSW_REJECT_UNPRINTABLE is specified, -1 is returned.
- With flags = MBSW_REJECT_INVALID | MBSW_REJECT_UNPRINTABLE, this is
- the multibyte analogon of the wcswidth function. */
-int
-mbswidth (const char *string, int flags)
-{
- return mbsnwidth (string, strlen (string), flags);
-}
-
-/* Returns the number of columns needed to represent the multibyte
- character string pointed to by STRING of length NBYTES. If a
- non-printable character occurs, and MBSW_REJECT_UNPRINTABLE is
- specified, -1 is returned. */
-int
-mbsnwidth (const char *string, size_t nbytes, int flags)
-{
- const char *p = string;
- const char *plimit = p + nbytes;
- int width;
-
- width = 0;
-#if HAVE_MBRTOWC
- if (MB_CUR_MAX > 1)
- {
- while (p < plimit)
- switch (*p)
- {
- case ' ': case '!': case '"': case '#': case '%':
- case '&': case '\'': case '(': case ')': case '*':
- case '+': case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- case ':': case ';': case '<': case '=': case '>':
- case '?':
- case 'A': case 'B': case 'C': case 'D': case 'E':
- case 'F': case 'G': case 'H': case 'I': case 'J':
- case 'K': case 'L': case 'M': case 'N': case 'O':
- case 'P': case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': case 'X': case 'Y':
- case 'Z':
- case '[': case '\\': case ']': case '^': case '_':
- case 'a': case 'b': case 'c': case 'd': case 'e':
- case 'f': case 'g': case 'h': case 'i': case 'j':
- case 'k': case 'l': case 'm': case 'n': case 'o':
- case 'p': case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x': case 'y':
- case 'z': case '{': case '|': case '}': case '~':
- /* These characters are printable ASCII characters. */
- p++;
- width++;
- break;
- default:
- /* If we have a multibyte sequence, scan it up to its end. */
- {
- mbstate_t mbstate;
- memset (&mbstate, 0, sizeof mbstate);
- do
- {
- wchar_t wc;
- size_t bytes;
- int w;
-
- bytes = mbrtowc (&wc, p, plimit - p, &mbstate);
-
- if (bytes == (size_t) -1)
- /* An invalid multibyte sequence was encountered. */
- {
- if (!(flags & MBSW_REJECT_INVALID))
- {
- p++;
- width++;
- break;
- }
- else
- return -1;
- }
-
- if (bytes == (size_t) -2)
- /* An incomplete multibyte character at the end. */
- {
- if (!(flags & MBSW_REJECT_INVALID))
- {
- p = plimit;
- width++;
- break;
- }
- else
- return -1;
- }
-
- if (bytes == 0)
- /* A null wide character was encountered. */
- bytes = 1;
-
- w = wcwidth (wc);
- if (w >= 0)
- /* A printable multibyte character. */
- width += w;
- else
- /* An unprintable multibyte character. */
- if (!(flags & MBSW_REJECT_UNPRINTABLE))
- width += (iswcntrl (wc) ? 0 : 1);
- else
- return -1;
-
- p += bytes;
- }
- while (! mbsinit (&mbstate));
- }
- break;
- }
- return width;
- }
-#endif
-
- while (p < plimit)
- {
- unsigned char c = (unsigned char) *p++;
-
- if (ISPRINT (c))
- width++;
- else if (!(flags & MBSW_REJECT_UNPRINTABLE))
- width += (ISCNTRL (c) ? 0 : 1);
- else
- return -1;
- }
- return width;
-}
diff --git a/lib/mbswidth.h b/lib/mbswidth.h
deleted file mode 100644
index cd41c9f2..00000000
--- a/lib/mbswidth.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Determine the number of screen columns needed for a string.
- Copyright (C) 2000-2003 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include <stddef.h>
-
-/* Avoid a clash of our mbswidth() with a function of the same name defined
- in UnixWare 7.1.1 <wchar.h>. We need this #include before the #define
- below. */
-#if HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-
-
-/* Optional flags to influence mbswidth/mbsnwidth behavior. */
-
-/* If this bit is set, return -1 upon finding an invalid or incomplete
- character. Otherwise, assume invalid characters have width 1. */
-#define MBSW_REJECT_INVALID 1
-
-/* If this bit is set, return -1 upon finding a non-printable character.
- Otherwise, assume unprintable characters have width 0 if they are
- control characters and 1 otherwise. */
-#define MBSW_REJECT_UNPRINTABLE 2
-
-
-/* Returns the number of screen columns needed for STRING. */
-#define mbswidth gnu_mbswidth /* avoid clash with UnixWare 7.1.1 function */
-extern int mbswidth (const char *string, int flags);
-
-/* Returns the number of screen columns needed for the NBYTES bytes
- starting at BUF. */
-extern int mbsnwidth (const char *buf, size_t nbytes, int flags);
diff --git a/lib/memchr.c b/lib/memchr.c
deleted file mode 100644
index 4b28e481..00000000
--- a/lib/memchr.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Copyright (C) 1991,93,96,97,99,2000 Free Software Foundation, Inc.
- Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
- with help from Dan Sahlin (dan@sics.se) and
- commentary by Jim Blandy (jimb@ai.mit.edu);
- adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu),
- and implemented by Roland McGrath (roland@ai.mit.edu).
-
-NOTE: The canonical source of this file is maintained with the GNU C Library.
-Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#undef __ptr_t
-#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
-# define __ptr_t void *
-#else /* Not C++ or ANSI C. */
-# define __ptr_t char *
-#endif /* C++ or ANSI C. */
-
-#if defined _LIBC
-# include <string.h>
-# include <memcopy.h>
-#else
-# define reg_char char
-#endif
-
-#if HAVE_STDLIB_H || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#if HAVE_LIMITS_H || defined _LIBC
-# include <limits.h>
-#endif
-
-#define LONG_MAX_32_BITS 2147483647
-
-#ifndef LONG_MAX
-# define LONG_MAX LONG_MAX_32_BITS
-#endif
-
-#include <sys/types.h>
-#if HAVE_BP_SYM_H || defined _LIBC
-# include <bp-sym.h>
-#else
-# define BP_SYM(sym) sym
-#endif
-
-#undef memchr
-#undef __memchr
-
-/* Search no more than N bytes of S for C. */
-__ptr_t
-__memchr (s, c_in, n)
- const __ptr_t s;
- int c_in;
- size_t n;
-{
- const unsigned char *char_ptr;
- const unsigned long int *longword_ptr;
- unsigned long int longword, magic_bits, charmask;
- unsigned reg_char c;
-
- c = (unsigned char) c_in;
-
- /* Handle the first few characters by reading one character at a time.
- Do this until CHAR_PTR is aligned on a longword boundary. */
- for (char_ptr = (const unsigned char *) s;
- n > 0 && ((unsigned long int) char_ptr
- & (sizeof (longword) - 1)) != 0;
- --n, ++char_ptr)
- if (*char_ptr == c)
- return (__ptr_t) char_ptr;
-
- /* All these elucidatory comments refer to 4-byte longwords,
- but the theory applies equally well to 8-byte longwords. */
-
- longword_ptr = (unsigned long int *) char_ptr;
-
- /* Bits 31, 24, 16, and 8 of this number are zero. Call these bits
- the "holes." Note that there is a hole just to the left of
- each byte, with an extra at the end:
-
- bits: 01111110 11111110 11111110 11111111
- bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD
-
- The 1-bits make sure that carries propagate to the next 0-bit.
- The 0-bits provide holes for carries to fall into. */
-
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
- abort ();
-
-#if LONG_MAX <= LONG_MAX_32_BITS
- magic_bits = 0x7efefeff;
-#else
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
-#endif
-
- /* Set up a longword, each of whose bytes is C. */
- charmask = c | (c << 8);
- charmask |= charmask << 16;
-#if LONG_MAX > LONG_MAX_32_BITS
- charmask |= charmask << 32;
-#endif
-
- /* Instead of the traditional loop which tests each character,
- we will test a longword at a time. The tricky part is testing
- if *any of the four* bytes in the longword in question are zero. */
- while (n >= sizeof (longword))
- {
- /* We tentatively exit the loop if adding MAGIC_BITS to
- LONGWORD fails to change any of the hole bits of LONGWORD.
-
- 1) Is this safe? Will it catch all the zero bytes?
- Suppose there is a byte with all zeros. Any carry bits
- propagating from its left will fall into the hole at its
- least significant bit and stop. Since there will be no
- carry from its most significant bit, the LSB of the
- byte to the left will be unchanged, and the zero will be
- detected.
-
- 2) Is this worthwhile? Will it ignore everything except
- zero bytes? Suppose every byte of LONGWORD has a bit set
- somewhere. There will be a carry into bit 8. If bit 8
- is set, this will carry into bit 16. If bit 8 is clear,
- one of bits 9-15 must be set, so there will be a carry
- into bit 16. Similarly, there will be a carry into bit
- 24. If one of bits 24-30 is set, there will be a carry
- into bit 31, so all of the hole bits will be changed.
-
- The one misfire occurs when bits 24-30 are clear and bit
- 31 is set; in this case, the hole at bit 31 is not
- changed. If we had access to the processor carry flag,
- we could close this loophole by putting the fourth hole
- at bit 32!
-
- So it ignores everything except 128's, when they're aligned
- properly.
-
- 3) But wait! Aren't we looking for C, not zero?
- Good point. So what we do is XOR LONGWORD with a longword,
- each of whose bytes is C. This turns each byte that is C
- into a zero. */
-
- longword = *longword_ptr++ ^ charmask;
-
- /* Add MAGIC_BITS to LONGWORD. */
- if ((((longword + magic_bits)
-
- /* Set those bits that were unchanged by the addition. */
- ^ ~longword)
-
- /* Look at only the hole bits. If any of the hole bits
- are unchanged, most likely one of the bytes was a
- zero. */
- & ~magic_bits) != 0)
- {
- /* Which of the bytes was C? If none of them were, it was
- a misfire; continue the search. */
-
- const unsigned char *cp = (const unsigned char *) (longword_ptr - 1);
-
- if (cp[0] == c)
- return (__ptr_t) cp;
- if (cp[1] == c)
- return (__ptr_t) &cp[1];
- if (cp[2] == c)
- return (__ptr_t) &cp[2];
- if (cp[3] == c)
- return (__ptr_t) &cp[3];
-#if LONG_MAX > 2147483647
- if (cp[4] == c)
- return (__ptr_t) &cp[4];
- if (cp[5] == c)
- return (__ptr_t) &cp[5];
- if (cp[6] == c)
- return (__ptr_t) &cp[6];
- if (cp[7] == c)
- return (__ptr_t) &cp[7];
-#endif
- }
-
- n -= sizeof (longword);
- }
-
- char_ptr = (const unsigned char *) longword_ptr;
-
- while (n-- > 0)
- {
- if (*char_ptr == c)
- return (__ptr_t) char_ptr;
- else
- ++char_ptr;
- }
-
- return 0;
-}
-#ifdef weak_alias
-weak_alias (__memchr, BP_SYM (memchr))
-#endif
diff --git a/lib/memcmp.c b/lib/memcmp.c
deleted file mode 100644
index 5756bc0a..00000000
--- a/lib/memcmp.c
+++ /dev/null
@@ -1,386 +0,0 @@
-/* Copyright (C) 1991, 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
- Contributed by Torbjorn Granlund (tege@sics.se).
-
- NOTE: The canonical source of this file is maintained with the GNU C Library.
- Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#undef __ptr_t
-#if defined __cplusplus || (defined __STDC__ && __STDC__)
-# define __ptr_t void *
-#else /* Not C++ or ANSI C. */
-# undef const
-# define const
-# define __ptr_t char *
-#endif /* C++ or ANSI C. */
-
-#ifndef __P
-# if defined __GNUC__ || (defined __STDC__ && __STDC__)
-# define __P(args) args
-# else
-# define __P(args) ()
-# endif /* GCC. */
-#endif /* Not __P. */
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#endif
-
-#undef memcmp
-
-#ifdef _LIBC
-
-# include <memcopy.h>
-# include <endian.h>
-
-# if __BYTE_ORDER == __BIG_ENDIAN
-# define WORDS_BIGENDIAN
-# endif
-
-#else /* Not in the GNU C library. */
-
-# include <sys/types.h>
-
-/* Type to use for aligned memory operations.
- This should normally be the biggest type supported by a single load
- and store. Must be an unsigned type. */
-# define op_t unsigned long int
-# define OPSIZ (sizeof(op_t))
-
-/* Threshold value for when to enter the unrolled loops. */
-# define OP_T_THRES 16
-
-/* Type to use for unaligned operations. */
-typedef unsigned char byte;
-
-# ifndef WORDS_BIGENDIAN
-# define MERGE(w0, sh_1, w1, sh_2) (((w0) >> (sh_1)) | ((w1) << (sh_2)))
-# else
-# define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2)))
-# endif
-
-#endif /* In the GNU C library. */
-
-#ifdef WORDS_BIGENDIAN
-# define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1)
-#else
-# define CMP_LT_OR_GT(a, b) memcmp_bytes ((a), (b))
-#endif
-
-/* BE VERY CAREFUL IF YOU CHANGE THIS CODE! */
-
-/* The strategy of this memcmp is:
-
- 1. Compare bytes until one of the block pointers is aligned.
-
- 2. Compare using memcmp_common_alignment or
- memcmp_not_common_alignment, regarding the alignment of the other
- block after the initial byte operations. The maximum number of
- full words (of type op_t) are compared in this way.
-
- 3. Compare the few remaining bytes. */
-
-#ifndef WORDS_BIGENDIAN
-/* memcmp_bytes -- Compare A and B bytewise in the byte order of the machine.
- A and B are known to be different.
- This is needed only on little-endian machines. */
-
-static int memcmp_bytes __P((op_t, op_t));
-
-# ifdef __GNUC__
-__inline
-# endif
-static int
-memcmp_bytes (long unsigned int a, long unsigned int b)
-{
- long int srcp1 = (long int) &a;
- long int srcp2 = (long int) &b;
- op_t a0, b0;
-
- do
- {
- a0 = ((byte *) srcp1)[0];
- b0 = ((byte *) srcp2)[0];
- srcp1 += 1;
- srcp2 += 1;
- }
- while (a0 == b0);
- return a0 - b0;
-}
-#endif
-
-static int memcmp_common_alignment __P((long, long, size_t));
-
-/* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t'
- objects (not LEN bytes!). Both SRCP1 and SRCP2 should be aligned for
- memory operations on `op_t's. */
-#ifdef __GNUC__
-__inline
-#endif
-static int
-memcmp_common_alignment (long int srcp1, long int srcp2, size_t len)
-{
- op_t a0, a1;
- op_t b0, b1;
-
- switch (len % 4)
- {
- default: /* Avoid warning about uninitialized local variables. */
- case 2:
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- srcp1 -= 2 * OPSIZ;
- srcp2 -= 2 * OPSIZ;
- len += 2;
- goto do1;
- case 3:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- srcp1 -= OPSIZ;
- srcp2 -= OPSIZ;
- len += 1;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return 0;
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- goto do3;
- case 1:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- /* Fall through. */
- }
-
- do
- {
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- if (a1 != b1)
- return CMP_LT_OR_GT (a1, b1);
-
- do3:
- a1 = ((op_t *) srcp1)[1];
- b1 = ((op_t *) srcp2)[1];
- if (a0 != b0)
- return CMP_LT_OR_GT (a0, b0);
-
- do2:
- a0 = ((op_t *) srcp1)[2];
- b0 = ((op_t *) srcp2)[2];
- if (a1 != b1)
- return CMP_LT_OR_GT (a1, b1);
-
- do1:
- a1 = ((op_t *) srcp1)[3];
- b1 = ((op_t *) srcp2)[3];
- if (a0 != b0)
- return CMP_LT_OR_GT (a0, b0);
-
- srcp1 += 4 * OPSIZ;
- srcp2 += 4 * OPSIZ;
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- if (a1 != b1)
- return CMP_LT_OR_GT (a1, b1);
- return 0;
-}
-
-static int memcmp_not_common_alignment __P((long, long, size_t));
-
-/* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN
- `op_t' objects (not LEN bytes!). SRCP2 should be aligned for memory
- operations on `op_t', but SRCP1 *should be unaligned*. */
-#ifdef __GNUC__
-__inline
-#endif
-static int
-memcmp_not_common_alignment (long int srcp1, long int srcp2, size_t len)
-{
- op_t a0, a1, a2, a3;
- op_t b0, b1, b2, b3;
- op_t x;
- int shl, shr;
-
- /* Calculate how to shift a word read at the memory operation
- aligned srcp1 to make it aligned for comparison. */
-
- shl = 8 * (srcp1 % OPSIZ);
- shr = 8 * OPSIZ - shl;
-
- /* Make SRCP1 aligned by rounding it down to the beginning of the `op_t'
- it points in the middle of. */
- srcp1 &= -OPSIZ;
-
- switch (len % 4)
- {
- default: /* Avoid warning about uninitialized local variables. */
- case 2:
- a1 = ((op_t *) srcp1)[0];
- a2 = ((op_t *) srcp1)[1];
- b2 = ((op_t *) srcp2)[0];
- srcp1 -= 1 * OPSIZ;
- srcp2 -= 2 * OPSIZ;
- len += 2;
- goto do1;
- case 3:
- a0 = ((op_t *) srcp1)[0];
- a1 = ((op_t *) srcp1)[1];
- b1 = ((op_t *) srcp2)[0];
- srcp2 -= 1 * OPSIZ;
- len += 1;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return 0;
- a3 = ((op_t *) srcp1)[0];
- a0 = ((op_t *) srcp1)[1];
- b0 = ((op_t *) srcp2)[0];
- srcp1 += 1 * OPSIZ;
- goto do3;
- case 1:
- a2 = ((op_t *) srcp1)[0];
- a3 = ((op_t *) srcp1)[1];
- b3 = ((op_t *) srcp2)[0];
- srcp1 += 2 * OPSIZ;
- srcp2 += 1 * OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- /* Fall through. */
- }
-
- do
- {
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- x = MERGE(a2, shl, a3, shr);
- if (x != b3)
- return CMP_LT_OR_GT (x, b3);
-
- do3:
- a1 = ((op_t *) srcp1)[1];
- b1 = ((op_t *) srcp2)[1];
- x = MERGE(a3, shl, a0, shr);
- if (x != b0)
- return CMP_LT_OR_GT (x, b0);
-
- do2:
- a2 = ((op_t *) srcp1)[2];
- b2 = ((op_t *) srcp2)[2];
- x = MERGE(a0, shl, a1, shr);
- if (x != b1)
- return CMP_LT_OR_GT (x, b1);
-
- do1:
- a3 = ((op_t *) srcp1)[3];
- b3 = ((op_t *) srcp2)[3];
- x = MERGE(a1, shl, a2, shr);
- if (x != b2)
- return CMP_LT_OR_GT (x, b2);
-
- srcp1 += 4 * OPSIZ;
- srcp2 += 4 * OPSIZ;
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- x = MERGE(a2, shl, a3, shr);
- if (x != b3)
- return CMP_LT_OR_GT (x, b3);
- return 0;
-}
-
-int
-rpl_memcmp (const void *s1, const void *s2, size_t len)
-{
- op_t a0;
- op_t b0;
- long int srcp1 = (long int) s1;
- long int srcp2 = (long int) s2;
- op_t res;
-
- if (len >= OP_T_THRES)
- {
- /* There are at least some bytes to compare. No need to test
- for LEN == 0 in this alignment loop. */
- while (srcp2 % OPSIZ != 0)
- {
- a0 = ((byte *) srcp1)[0];
- b0 = ((byte *) srcp2)[0];
- srcp1 += 1;
- srcp2 += 1;
- res = a0 - b0;
- if (res != 0)
- return res;
- len -= 1;
- }
-
- /* SRCP2 is now aligned for memory operations on `op_t'.
- SRCP1 alignment determines if we can do a simple,
- aligned compare or need to shuffle bits. */
-
- if (srcp1 % OPSIZ == 0)
- res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ);
- else
- res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ);
- if (res != 0)
- return res;
-
- /* Number of bytes remaining in the interval [0..OPSIZ-1]. */
- srcp1 += len & -OPSIZ;
- srcp2 += len & -OPSIZ;
- len %= OPSIZ;
- }
-
- /* There are just a few bytes to compare. Use byte memory operations. */
- while (len != 0)
- {
- a0 = ((byte *) srcp1)[0];
- b0 = ((byte *) srcp2)[0];
- srcp1 += 1;
- srcp2 += 1;
- res = a0 - b0;
- if (res != 0)
- return res;
- len -= 1;
- }
-
- return 0;
-}
-
-#ifdef weak_alias
-# undef bcmp
-weak_alias (memcmp, bcmp)
-#endif
diff --git a/lib/memrchr.c b/lib/memrchr.c
deleted file mode 100644
index 4a3141e2..00000000
--- a/lib/memrchr.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* memrchr -- find the last occurrence of a byte in a memory block
- Copyright (C) 1991, 93, 96, 97, 99, 2000 Free Software Foundation, Inc.
- Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
- with help from Dan Sahlin (dan@sics.se) and
- commentary by Jim Blandy (jimb@ai.mit.edu);
- adaptation to memchr suggested by Dick Karpinski (dick@cca.ucsf.edu),
- and implemented by Roland McGrath (roland@ai.mit.edu).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdlib.h>
-
-#undef __ptr_t
-#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
-# define __ptr_t void *
-#else /* Not C++ or ANSI C. */
-# define __ptr_t char *
-#endif /* C++ or ANSI C. */
-
-#if defined (_LIBC)
-# include <string.h>
-# include <memcopy.h>
-#else
-# define reg_char char
-#endif
-
-#if defined (HAVE_LIMITS_H) || defined (_LIBC)
-# include <limits.h>
-#endif
-
-#define LONG_MAX_32_BITS 2147483647
-
-#ifndef LONG_MAX
-# define LONG_MAX LONG_MAX_32_BITS
-#endif
-
-#include <sys/types.h>
-
-#undef __memrchr
-#undef memrchr
-
-#ifndef weak_alias
-# define __memrchr memrchr
-#endif
-
-/* Search no more than N bytes of S for C. */
-__ptr_t
-__memrchr (s, c_in, n)
- const __ptr_t s;
- int c_in;
- size_t n;
-{
- const unsigned char *char_ptr;
- const unsigned long int *longword_ptr;
- unsigned long int longword, magic_bits, charmask;
- unsigned reg_char c;
-
- c = (unsigned char) c_in;
-
- /* Handle the last few characters by reading one character at a time.
- Do this until CHAR_PTR is aligned on a longword boundary. */
- for (char_ptr = (const unsigned char *) s + n;
- n > 0 && ((unsigned long int) char_ptr
- & (sizeof (longword) - 1)) != 0;
- --n)
- if (*--char_ptr == c)
- return (__ptr_t) char_ptr;
-
- /* All these elucidatory comments refer to 4-byte longwords,
- but the theory applies equally well to 8-byte longwords. */
-
- longword_ptr = (unsigned long int *) char_ptr;
-
- /* Bits 31, 24, 16, and 8 of this number are zero. Call these bits
- the "holes." Note that there is a hole just to the left of
- each byte, with an extra at the end:
-
- bits: 01111110 11111110 11111110 11111111
- bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD
-
- The 1-bits make sure that carries propagate to the next 0-bit.
- The 0-bits provide holes for carries to fall into. */
-
- if (sizeof (longword) != 4 && sizeof (longword) != 8)
- abort ();
-
-#if LONG_MAX <= LONG_MAX_32_BITS
- magic_bits = 0x7efefeff;
-#else
- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff;
-#endif
-
- /* Set up a longword, each of whose bytes is C. */
- charmask = c | (c << 8);
- charmask |= charmask << 16;
-#if LONG_MAX > LONG_MAX_32_BITS
- charmask |= charmask << 32;
-#endif
-
- /* Instead of the traditional loop which tests each character,
- we will test a longword at a time. The tricky part is testing
- if *any of the four* bytes in the longword in question are zero. */
- while (n >= sizeof (longword))
- {
- /* We tentatively exit the loop if adding MAGIC_BITS to
- LONGWORD fails to change any of the hole bits of LONGWORD.
-
- 1) Is this safe? Will it catch all the zero bytes?
- Suppose there is a byte with all zeros. Any carry bits
- propagating from its left will fall into the hole at its
- least significant bit and stop. Since there will be no
- carry from its most significant bit, the LSB of the
- byte to the left will be unchanged, and the zero will be
- detected.
-
- 2) Is this worthwhile? Will it ignore everything except
- zero bytes? Suppose every byte of LONGWORD has a bit set
- somewhere. There will be a carry into bit 8. If bit 8
- is set, this will carry into bit 16. If bit 8 is clear,
- one of bits 9-15 must be set, so there will be a carry
- into bit 16. Similarly, there will be a carry into bit
- 24. If one of bits 24-30 is set, there will be a carry
- into bit 31, so all of the hole bits will be changed.
-
- The one misfire occurs when bits 24-30 are clear and bit
- 31 is set; in this case, the hole at bit 31 is not
- changed. If we had access to the processor carry flag,
- we could close this loophole by putting the fourth hole
- at bit 32!
-
- So it ignores everything except 128's, when they're aligned
- properly.
-
- 3) But wait! Aren't we looking for C, not zero?
- Good point. So what we do is XOR LONGWORD with a longword,
- each of whose bytes is C. This turns each byte that is C
- into a zero. */
-
- longword = *--longword_ptr ^ charmask;
-
- /* Add MAGIC_BITS to LONGWORD. */
- if ((((longword + magic_bits)
-
- /* Set those bits that were unchanged by the addition. */
- ^ ~longword)
-
- /* Look at only the hole bits. If any of the hole bits
- are unchanged, most likely one of the bytes was a
- zero. */
- & ~magic_bits) != 0)
- {
- /* Which of the bytes was C? If none of them were, it was
- a misfire; continue the search. */
-
- const unsigned char *cp = (const unsigned char *) longword_ptr;
-
-#if LONG_MAX > 2147483647
- if (cp[7] == c)
- return (__ptr_t) &cp[7];
- if (cp[6] == c)
- return (__ptr_t) &cp[6];
- if (cp[5] == c)
- return (__ptr_t) &cp[5];
- if (cp[4] == c)
- return (__ptr_t) &cp[4];
-#endif
- if (cp[3] == c)
- return (__ptr_t) &cp[3];
- if (cp[2] == c)
- return (__ptr_t) &cp[2];
- if (cp[1] == c)
- return (__ptr_t) &cp[1];
- if (cp[0] == c)
- return (__ptr_t) cp;
- }
-
- n -= sizeof (longword);
- }
-
- char_ptr = (const unsigned char *) longword_ptr;
-
- while (n-- > 0)
- {
- if (*--char_ptr == c)
- return (__ptr_t) char_ptr;
- }
-
- return 0;
-}
-#ifdef weak_alias
-weak_alias (__memrchr, memrchr)
-#endif
diff --git a/lib/obstack.c b/lib/obstack.c
deleted file mode 100644
index 17eb986f..00000000
--- a/lib/obstack.c
+++ /dev/null
@@ -1,616 +0,0 @@
-/* obstack.c - subroutines used implicitly by object stack macros
- Copyright (C) 1988-1994, 1996-1999, 2000-2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "obstack.h"
-
-/* NOTE BEFORE MODIFYING THIS FILE: This version number must be
- incremented whenever callers compiled using an old obstack.h can no
- longer properly call the functions in this obstack.c. */
-#define OBSTACK_INTERFACE_VERSION 1
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself, and the installed library
- supports the same library interface we do. This code is part of the GNU
- C Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object
- files, it is simpler to just do this in the source for each such file. */
-
-#include <stdio.h> /* Random thing to get __GNU_LIBRARY__. */
-#if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
-# include <gnu-versions.h>
-# if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
-# define ELIDE_CODE
-# endif
-#endif
-
-#if defined _LIBC && defined USE_IN_LIBIO
-# include <wchar.h>
-#endif
-
-#ifndef ELIDE_CODE
-
-
-# if defined __STDC__ && __STDC__
-# define POINTER void *
-# else
-# define POINTER char *
-# endif
-
-/* Determine default alignment. */
-struct fooalign {char x; double d;};
-# define DEFAULT_ALIGNMENT \
- ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0))
-/* If malloc were really smart, it would round addresses to DEFAULT_ALIGNMENT.
- But in fact it might be less smart and round addresses to as much as
- DEFAULT_ROUNDING. So we prepare for it to do that. */
-union fooround {long x; double d;};
-# define DEFAULT_ROUNDING (sizeof (union fooround))
-
-/* When we copy a long block of data, this is the unit to do it with.
- On some machines, copying successive ints does not work;
- in such a case, redefine COPYING_UNIT to `long' (if that works)
- or `char' as a last resort. */
-# ifndef COPYING_UNIT
-# define COPYING_UNIT int
-# endif
-
-
-/* The functions allocating more room by calling `obstack_chunk_alloc'
- jump to the handler pointed to by `obstack_alloc_failed_handler'.
- This can be set to a user defined function which should either
- abort gracefully or use longjump - but shouldn't return. This
- variable by default points to the internal function
- `print_and_abort'. */
-# if defined __STDC__ && __STDC__
-static void print_and_abort (void);
-void (*obstack_alloc_failed_handler) (void) = print_and_abort;
-# else
-static void print_and_abort ();
-void (*obstack_alloc_failed_handler) () = print_and_abort;
-# endif
-
-/* Exit value used when `print_and_abort' is used. */
-# if defined __GNU_LIBRARY__ || defined HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-# ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-# endif
-int obstack_exit_failure = EXIT_FAILURE;
-
-/* The non-GNU-C macros copy the obstack into this global variable
- to avoid multiple evaluation. */
-
-struct obstack *_obstack;
-
-/* Define a macro that either calls functions with the traditional malloc/free
- calling interface, or calls functions with the mmalloc/mfree interface
- (that adds an extra first argument), based on the state of use_extra_arg.
- For free, do not use ?:, since some compilers, like the MIPS compilers,
- do not allow (expr) ? void : void. */
-
-# if defined __STDC__ && __STDC__
-# define CALL_CHUNKFUN(h, size) \
- (((h) -> use_extra_arg) \
- ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
- : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
-
-# define CALL_FREEFUN(h, old_chunk) \
- do { \
- if ((h) -> use_extra_arg) \
- (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
- else \
- (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
- } while (0)
-# else
-# define CALL_CHUNKFUN(h, size) \
- (((h) -> use_extra_arg) \
- ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
- : (*(struct _obstack_chunk *(*) ()) (h)->chunkfun) ((size)))
-
-# define CALL_FREEFUN(h, old_chunk) \
- do { \
- if ((h) -> use_extra_arg) \
- (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
- else \
- (*(void (*) ()) (h)->freefun) ((old_chunk)); \
- } while (0)
-# endif
-
-
-/* Initialize an obstack H for use. Specify chunk size SIZE (0 means default).
- Objects start on multiples of ALIGNMENT (0 means use default).
- CHUNKFUN is the function to use to allocate chunks,
- and FREEFUN the function to free them.
-
- Return nonzero if successful, calls obstack_alloc_failed_handler if
- allocation fails. */
-
-int
-_obstack_begin (h, size, alignment, chunkfun, freefun)
- struct obstack *h;
- int size;
- int alignment;
-# if defined __STDC__ && __STDC__
- POINTER (*chunkfun) (long);
- void (*freefun) (void *);
-# else
- POINTER (*chunkfun) ();
- void (*freefun) ();
-# endif
-{
- register struct _obstack_chunk *chunk; /* points to new chunk */
-
- if (alignment == 0)
- alignment = (int) DEFAULT_ALIGNMENT;
- if (size == 0)
- /* Default size is what GNU malloc can fit in a 4096-byte block. */
- {
- /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
- Use the values for range checking, because if range checking is off,
- the extra bytes won't be missed terribly, but if range checking is on
- and we used a larger request, a whole extra 4096 bytes would be
- allocated.
-
- These number are irrelevant to the new GNU malloc. I suspect it is
- less sensitive to the size of the request. */
- int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
- + 4 + DEFAULT_ROUNDING - 1)
- & ~(DEFAULT_ROUNDING - 1));
- size = 4096 - extra;
- }
-
-# if defined __STDC__ && __STDC__
- h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun;
- h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
-# else
- h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
- h->freefun = freefun;
-# endif
- h->chunk_size = size;
- h->alignment_mask = alignment - 1;
- h->use_extra_arg = 0;
-
- chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
- if (!chunk)
- (*obstack_alloc_failed_handler) ();
- h->next_free = h->object_base = chunk->contents;
- h->chunk_limit = chunk->limit
- = (char *) chunk + h->chunk_size;
- chunk->prev = 0;
- /* The initial chunk now contains no empty object. */
- h->maybe_empty_object = 0;
- h->alloc_failed = 0;
- return 1;
-}
-
-int
-_obstack_begin_1 (h, size, alignment, chunkfun, freefun, arg)
- struct obstack *h;
- int size;
- int alignment;
-# if defined __STDC__ && __STDC__
- POINTER (*chunkfun) (POINTER, long);
- void (*freefun) (POINTER, POINTER);
-# else
- POINTER (*chunkfun) ();
- void (*freefun) ();
-# endif
- POINTER arg;
-{
- register struct _obstack_chunk *chunk; /* points to new chunk */
-
- if (alignment == 0)
- alignment = (int) DEFAULT_ALIGNMENT;
- if (size == 0)
- /* Default size is what GNU malloc can fit in a 4096-byte block. */
- {
- /* 12 is sizeof (mhead) and 4 is EXTRA from GNU malloc.
- Use the values for range checking, because if range checking is off,
- the extra bytes won't be missed terribly, but if range checking is on
- and we used a larger request, a whole extra 4096 bytes would be
- allocated.
-
- These number are irrelevant to the new GNU malloc. I suspect it is
- less sensitive to the size of the request. */
- int extra = ((((12 + DEFAULT_ROUNDING - 1) & ~(DEFAULT_ROUNDING - 1))
- + 4 + DEFAULT_ROUNDING - 1)
- & ~(DEFAULT_ROUNDING - 1));
- size = 4096 - extra;
- }
-
-# if defined __STDC__ && __STDC__
- h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun;
- h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun;
-# else
- h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
- h->freefun = freefun;
-# endif
- h->chunk_size = size;
- h->alignment_mask = alignment - 1;
- h->extra_arg = arg;
- h->use_extra_arg = 1;
-
- chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
- if (!chunk)
- (*obstack_alloc_failed_handler) ();
- h->next_free = h->object_base = chunk->contents;
- h->chunk_limit = chunk->limit
- = (char *) chunk + h->chunk_size;
- chunk->prev = 0;
- /* The initial chunk now contains no empty object. */
- h->maybe_empty_object = 0;
- h->alloc_failed = 0;
- return 1;
-}
-
-/* Allocate a new current chunk for the obstack *H
- on the assumption that LENGTH bytes need to be added
- to the current object, or a new object of length LENGTH allocated.
- Copies any partial object from the end of the old chunk
- to the beginning of the new one. */
-
-void
-_obstack_newchunk (h, length)
- struct obstack *h;
- int length;
-{
- register struct _obstack_chunk *old_chunk = h->chunk;
- register struct _obstack_chunk *new_chunk;
- register long new_size;
- register long obj_size = h->next_free - h->object_base;
- register long i;
- long already;
- char *object_base;
-
- /* Compute size for new chunk. */
- new_size = (obj_size + length) + (obj_size >> 3) + h->alignment_mask + 100;
- if (new_size < h->chunk_size)
- new_size = h->chunk_size;
-
- /* Allocate and initialize the new chunk. */
- new_chunk = CALL_CHUNKFUN (h, new_size);
- if (!new_chunk)
- (*obstack_alloc_failed_handler) ();
- h->chunk = new_chunk;
- new_chunk->prev = old_chunk;
- new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size;
-
- /* Compute an aligned object_base in the new chunk */
- object_base =
- __INT_TO_PTR ((__PTR_TO_INT (new_chunk->contents) + h->alignment_mask)
- & ~ (h->alignment_mask));
-
- /* Move the existing object to the new chunk.
- Word at a time is fast and is safe if the object
- is sufficiently aligned. */
- if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT)
- {
- for (i = obj_size / sizeof (COPYING_UNIT) - 1;
- i >= 0; i--)
- ((COPYING_UNIT *)object_base)[i]
- = ((COPYING_UNIT *)h->object_base)[i];
- /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT,
- but that can cross a page boundary on a machine
- which does not do strict alignment for COPYING_UNITS. */
- already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT);
- }
- else
- already = 0;
- /* Copy remaining bytes one by one. */
- for (i = already; i < obj_size; i++)
- object_base[i] = h->object_base[i];
-
- /* If the object just copied was the only data in OLD_CHUNK,
- free that chunk and remove it from the chain.
- But not if that chunk might contain an empty object. */
- if (h->object_base == old_chunk->contents && ! h->maybe_empty_object)
- {
- new_chunk->prev = old_chunk->prev;
- CALL_FREEFUN (h, old_chunk);
- }
-
- h->object_base = object_base;
- h->next_free = h->object_base + obj_size;
- /* The new chunk certainly contains no empty object yet. */
- h->maybe_empty_object = 0;
-}
-
-/* Return nonzero if object OBJ has been allocated from obstack H.
- This is here for debugging.
- If you use it in a program, you are probably losing. */
-
-# if defined __STDC__ && __STDC__
-/* Suppress -Wmissing-prototypes warning. We don't want to declare this in
- obstack.h because it is just for debugging. */
-int _obstack_allocated_p (struct obstack *h, POINTER obj);
-# endif
-
-int
-_obstack_allocated_p (h, obj)
- struct obstack *h;
- POINTER obj;
-{
- register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- register struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = (h)->chunk;
- /* We use >= rather than > since the object cannot be exactly at
- the beginning of the chunk but might be an empty object exactly
- at the end of an adjacent chunk. */
- while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj))
- {
- plp = lp->prev;
- lp = plp;
- }
- return lp != 0;
-}
-
-/* Free objects in obstack H, including OBJ and everything allocate
- more recently than OBJ. If OBJ is zero, free everything in H. */
-
-# undef obstack_free
-
-/* This function has two names with identical definitions.
- This is the first one, called from non-ANSI code. */
-
-void
-_obstack_free (h, obj)
- struct obstack *h;
- POINTER obj;
-{
- register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- register struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = h->chunk;
- /* We use >= because there cannot be an object at the beginning of a chunk.
- But there can be an empty object at that address
- at the end of another chunk. */
- while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj))
- {
- plp = lp->prev;
- CALL_FREEFUN (h, lp);
- lp = plp;
- /* If we switch chunks, we can't tell whether the new current
- chunk contains an empty object, so assume that it may. */
- h->maybe_empty_object = 1;
- }
- if (lp)
- {
- h->object_base = h->next_free = (char *) (obj);
- h->chunk_limit = lp->limit;
- h->chunk = lp;
- }
- else if (obj != 0)
- /* obj is not in any of the chunks! */
- abort ();
-}
-
-/* This function is used from ANSI code. */
-
-void
-obstack_free (h, obj)
- struct obstack *h;
- POINTER obj;
-{
- register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */
- register struct _obstack_chunk *plp; /* point to previous chunk if any */
-
- lp = h->chunk;
- /* We use >= because there cannot be an object at the beginning of a chunk.
- But there can be an empty object at that address
- at the end of another chunk. */
- while (lp != 0 && ((POINTER) lp >= obj || (POINTER) (lp)->limit < obj))
- {
- plp = lp->prev;
- CALL_FREEFUN (h, lp);
- lp = plp;
- /* If we switch chunks, we can't tell whether the new current
- chunk contains an empty object, so assume that it may. */
- h->maybe_empty_object = 1;
- }
- if (lp)
- {
- h->object_base = h->next_free = (char *) (obj);
- h->chunk_limit = lp->limit;
- h->chunk = lp;
- }
- else if (obj != 0)
- /* obj is not in any of the chunks! */
- abort ();
-}
-
-int
-_obstack_memory_used (h)
- struct obstack *h;
-{
- register struct _obstack_chunk* lp;
- register int nbytes = 0;
-
- for (lp = h->chunk; lp != 0; lp = lp->prev)
- {
- nbytes += lp->limit - (char *) lp;
- }
- return nbytes;
-}
-
-/* Define the error handler. */
-# ifdef _LIBC
-# include <libintl.h>
-# else
-# include "gettext.h"
-# endif
-# define _(msgid) gettext (msgid)
-
-# if defined _LIBC && defined USE_IN_LIBIO
-# include <libio/iolibio.h>
-# define fputs(s, f) _IO_fputs (s, f)
-# endif
-
-# ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-# endif
-
-static void
-__attribute__ ((noreturn))
-print_and_abort ()
-{
- /* Don't change any of these strings. Yes, it would be possible to add
- the newline to the string and use fputs or so. But this must not
- happen because the "memory exhausted" message appears in other places
- like this and the translation should be reused instead of creating
- a very similar string which requires a separate translation. */
-# if defined _LIBC && defined USE_IN_LIBIO
- if (_IO_fwide (stderr, 0) > 0)
- __fwprintf (stderr, L"%s\n", _("memory exhausted"));
- else
-# endif
- fprintf (stderr, "%s\n", _("memory exhausted"));
- exit (obstack_exit_failure);
-}
-
-# if 0
-/* These are now turned off because the applications do not use it
- and it uses bcopy via obstack_grow, which causes trouble on sysV. */
-
-/* Now define the functional versions of the obstack macros.
- Define them to simply use the corresponding macros to do the job. */
-
-# if defined __STDC__ && __STDC__
-/* These function definitions do not work with non-ANSI preprocessors;
- they won't pass through the macro names in parentheses. */
-
-/* The function names appear in parentheses in order to prevent
- the macro-definitions of the names from being expanded there. */
-
-POINTER (obstack_base) (obstack)
- struct obstack *obstack;
-{
- return obstack_base (obstack);
-}
-
-POINTER (obstack_next_free) (obstack)
- struct obstack *obstack;
-{
- return obstack_next_free (obstack);
-}
-
-int (obstack_object_size) (obstack)
- struct obstack *obstack;
-{
- return obstack_object_size (obstack);
-}
-
-int (obstack_room) (obstack)
- struct obstack *obstack;
-{
- return obstack_room (obstack);
-}
-
-int (obstack_make_room) (obstack, length)
- struct obstack *obstack;
- int length;
-{
- return obstack_make_room (obstack, length);
-}
-
-void (obstack_grow) (obstack, data, length)
- struct obstack *obstack;
- const POINTER data;
- int length;
-{
- obstack_grow (obstack, data, length);
-}
-
-void (obstack_grow0) (obstack, data, length)
- struct obstack *obstack;
- const POINTER data;
- int length;
-{
- obstack_grow0 (obstack, data, length);
-}
-
-void (obstack_1grow) (obstack, character)
- struct obstack *obstack;
- int character;
-{
- obstack_1grow (obstack, character);
-}
-
-void (obstack_blank) (obstack, length)
- struct obstack *obstack;
- int length;
-{
- obstack_blank (obstack, length);
-}
-
-void (obstack_1grow_fast) (obstack, character)
- struct obstack *obstack;
- int character;
-{
- obstack_1grow_fast (obstack, character);
-}
-
-void (obstack_blank_fast) (obstack, length)
- struct obstack *obstack;
- int length;
-{
- obstack_blank_fast (obstack, length);
-}
-
-POINTER (obstack_finish) (obstack)
- struct obstack *obstack;
-{
- return obstack_finish (obstack);
-}
-
-POINTER (obstack_alloc) (obstack, length)
- struct obstack *obstack;
- int length;
-{
- return obstack_alloc (obstack, length);
-}
-
-POINTER (obstack_copy) (obstack, address, length)
- struct obstack *obstack;
- const POINTER address;
- int length;
-{
- return obstack_copy (obstack, address, length);
-}
-
-POINTER (obstack_copy0) (obstack, address, length)
- struct obstack *obstack;
- const POINTER address;
- int length;
-{
- return obstack_copy0 (obstack, address, length);
-}
-
-# endif /* __STDC__ */
-
-# endif /* 0 */
-
-#endif /* !ELIDE_CODE */
diff --git a/lib/obstack.h b/lib/obstack.h
deleted file mode 100644
index c0fc9ac6..00000000
--- a/lib/obstack.h
+++ /dev/null
@@ -1,613 +0,0 @@
-/* obstack.h - object stack macros
- Copyright (C) 1988,89,90,91,92,93,94,96,97,98,99,2003 Free Software Foundation, Inc.
-
- This file is part of the GNU C Library. Its master source is NOT part of
- the C library, however. The master source lives in /gd/gnu/lib.
-
- NOTE: The canonical source of this file is maintained with the GNU C Library.
- Bugs can be reported to bug-glibc@gnu.org.
-
- 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, 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-/* Summary:
-
-All the apparent functions defined here are macros. The idea
-is that you would use these pre-tested macros to solve a
-very specific set of problems, and they would run fast.
-Caution: no side-effects in arguments please!! They may be
-evaluated MANY times!!
-
-These macros operate a stack of objects. Each object starts life
-small, and may grow to maturity. (Consider building a word syllable
-by syllable.) An object can move while it is growing. Once it has
-been "finished" it never changes address again. So the "top of the
-stack" is typically an immature growing object, while the rest of the
-stack is of mature, fixed size and fixed address objects.
-
-These routines grab large chunks of memory, using a function you
-supply, called `obstack_chunk_alloc'. On occasion, they free chunks,
-by calling `obstack_chunk_free'. You must define them and declare
-them before using any obstack macros.
-
-Each independent stack is represented by a `struct obstack'.
-Each of the obstack macros expects a pointer to such a structure
-as the first argument.
-
-One motivation for this package is the problem of growing char strings
-in symbol tables. Unless you are "fascist pig with a read-only mind"
---Gosper's immortal quote from HAKMEM item 154, out of context--you
-would not like to put any arbitrary upper limit on the length of your
-symbols.
-
-In practice this often means you will build many short symbols and a
-few long symbols. At the time you are reading a symbol you don't know
-how long it is. One traditional method is to read a symbol into a
-buffer, realloc()ating the buffer every time you try to read a symbol
-that is longer than the buffer. This is beaut, but you still will
-want to copy the symbol from the buffer to a more permanent
-symbol-table entry say about half the time.
-
-With obstacks, you can work differently. Use one obstack for all symbol
-names. As you read a symbol, grow the name in the obstack gradually.
-When the name is complete, finalize it. Then, if the symbol exists already,
-free the newly read name.
-
-The way we do this is to take a large chunk, allocating memory from
-low addresses. When you want to build a symbol in the chunk you just
-add chars above the current "high water mark" in the chunk. When you
-have finished adding chars, because you got to the end of the symbol,
-you know how long the chars are, and you can create a new object.
-Mostly the chars will not burst over the highest address of the chunk,
-because you would typically expect a chunk to be (say) 100 times as
-long as an average object.
-
-In case that isn't clear, when we have enough chars to make up
-the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
-so we just point to it where it lies. No moving of chars is
-needed and this is the second win: potentially long strings need
-never be explicitly shuffled. Once an object is formed, it does not
-change its address during its lifetime.
-
-When the chars burst over a chunk boundary, we allocate a larger
-chunk, and then copy the partly formed object from the end of the old
-chunk to the beginning of the new larger chunk. We then carry on
-accreting characters to the end of the object as we normally would.
-
-A special macro is provided to add a single char at a time to a
-growing object. This allows the use of register variables, which
-break the ordinary 'growth' macro.
-
-Summary:
- We allocate large chunks.
- We carve out one object at a time from the current chunk.
- Once carved, an object never moves.
- We are free to append data of any size to the currently
- growing object.
- Exactly one object is growing in an obstack at any one time.
- You can run one obstack per control block.
- You may have as many control blocks as you dare.
- Because of the way we do it, you can `unwind' an obstack
- back to a previous state. (You may remove objects much
- as you would with a stack.)
-*/
-
-
-/* Don't do the contents of this file more than once. */
-
-#ifndef _OBSTACK_H
-#define _OBSTACK_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* We use subtraction of (char *) 0 instead of casting to int
- because on word-addressable machines a simple cast to int
- may ignore the byte-within-word field of the pointer. */
-
-#ifndef __PTR_TO_INT
-# define __PTR_TO_INT(P) ((P) - (char *) 0)
-#endif
-
-#ifndef __INT_TO_PTR
-#if defined __STDC__ && __STDC__
-# define __INT_TO_PTR(P) ((void *) ((P) + (char *) 0))
-#else
-# define __INT_TO_PTR(P) ((P) + (char *) 0)
-#endif
-#endif
-
-/* We need the type of the resulting object. If __PTRDIFF_TYPE__ is
- defined, as with GNU C, use that; that way we don't pollute the
- namespace with <stddef.h>'s symbols. Otherwise, if <stddef.h> is
- available, include it and use ptrdiff_t. In traditional C, long is
- the best that we can do. */
-
-#ifdef __PTRDIFF_TYPE__
-# define PTR_INT_TYPE __PTRDIFF_TYPE__
-#else
-# ifdef HAVE_STDDEF_H
-# include <stddef.h>
-# define PTR_INT_TYPE ptrdiff_t
-# else
-# define PTR_INT_TYPE long
-# endif
-#endif
-
-#if defined _LIBC || defined HAVE_STRING_H
-# include <string.h>
-# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N))
-#else
-# ifdef memcpy
-# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N))
-# else
-# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N))
-# endif
-#endif
-
-struct _obstack_chunk /* Lives at front of each chunk. */
-{
- char *limit; /* 1 past end of this chunk */
- struct _obstack_chunk *prev; /* address of prior chunk or NULL */
- char contents[4]; /* objects begin here */
-};
-
-struct obstack /* control current object in current chunk */
-{
- long chunk_size; /* preferred size to allocate chunks in */
- struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */
- char *object_base; /* address of object we are building */
- char *next_free; /* where to add next char to current object */
- char *chunk_limit; /* address of char after current chunk */
- PTR_INT_TYPE temp; /* Temporary for some macros. */
- int alignment_mask; /* Mask of alignment for each object. */
-#if defined __STDC__ && __STDC__
- /* These prototypes vary based on `use_extra_arg', and we use
- casts to the prototypeless function type in all assignments,
- but having prototypes here quiets -Wstrict-prototypes. */
- struct _obstack_chunk *(*chunkfun) (void *, long);
- void (*freefun) (void *, struct _obstack_chunk *);
- void *extra_arg; /* first arg for chunk alloc/dealloc funcs */
-#else
- struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk. */
- void (*freefun) (); /* User's function to free a chunk. */
- char *extra_arg; /* first arg for chunk alloc/dealloc funcs */
-#endif
- unsigned use_extra_arg:1; /* chunk alloc/dealloc funcs take extra arg */
- unsigned maybe_empty_object:1;/* There is a possibility that the current
- chunk contains a zero-length object. This
- prevents freeing the chunk if we allocate
- a bigger chunk to replace it. */
- unsigned alloc_failed:1; /* No longer used, as we now call the failed
- handler on error, but retained for binary
- compatibility. */
-};
-
-/* Declare the external functions we use; they are in obstack.c. */
-
-#if defined __STDC__ && __STDC__
-extern void _obstack_newchunk (struct obstack *, int);
-extern void _obstack_free (struct obstack *, void *);
-extern int _obstack_begin (struct obstack *, int, int,
- void *(*) (long), void (*) (void *));
-extern int _obstack_begin_1 (struct obstack *, int, int,
- void *(*) (void *, long),
- void (*) (void *, void *), void *);
-extern int _obstack_memory_used (struct obstack *);
-#else
-extern void _obstack_newchunk ();
-extern void _obstack_free ();
-extern int _obstack_begin ();
-extern int _obstack_begin_1 ();
-extern int _obstack_memory_used ();
-#endif
-
-#if defined __STDC__ && __STDC__
-
-/* Do the function-declarations after the structs
- but before defining the macros. */
-
-void obstack_init (struct obstack *obstack);
-
-void * obstack_alloc (struct obstack *obstack, int size);
-
-void * obstack_copy (struct obstack *obstack, const void *address, int size);
-void * obstack_copy0 (struct obstack *obstack, const void *address, int size);
-
-void obstack_free (struct obstack *obstack, void *block);
-
-void obstack_blank (struct obstack *obstack, int size);
-
-void obstack_grow (struct obstack *obstack, const void *data, int size);
-void obstack_grow0 (struct obstack *obstack, const void *data, int size);
-
-void obstack_1grow (struct obstack *obstack, int data_char);
-void obstack_ptr_grow (struct obstack *obstack, const void *data);
-void obstack_int_grow (struct obstack *obstack, int data);
-
-void * obstack_finish (struct obstack *obstack);
-
-int obstack_object_size (struct obstack *obstack);
-
-int obstack_room (struct obstack *obstack);
-void obstack_make_room (struct obstack *obstack, int size);
-void obstack_1grow_fast (struct obstack *obstack, int data_char);
-void obstack_ptr_grow_fast (struct obstack *obstack, const void *data);
-void obstack_int_grow_fast (struct obstack *obstack, int data);
-void obstack_blank_fast (struct obstack *obstack, int size);
-
-void * obstack_base (struct obstack *obstack);
-void * obstack_next_free (struct obstack *obstack);
-int obstack_alignment_mask (struct obstack *obstack);
-int obstack_chunk_size (struct obstack *obstack);
-int obstack_memory_used (struct obstack *obstack);
-
-#endif /* __STDC__ */
-
-/* Non-ANSI C cannot really support alternative functions for these macros,
- so we do not declare them. */
-
-/* Error handler called when `obstack_chunk_alloc' failed to allocate
- more memory. This can be set to a user defined function which
- should either abort gracefully or use longjump - but shouldn't
- return. The default action is to print a message and abort. */
-#if defined __STDC__ && __STDC__
-extern void (*obstack_alloc_failed_handler) (void);
-#else
-extern void (*obstack_alloc_failed_handler) ();
-#endif
-
-/* Exit value used when `print_and_abort' is used. */
-extern int obstack_exit_failure;
-
-/* Pointer to beginning of object being allocated or to be allocated next.
- Note that this might not be the final address of the object
- because a new chunk might be needed to hold the final size. */
-
-#define obstack_base(h) ((h)->object_base)
-
-/* Size for allocating ordinary chunks. */
-
-#define obstack_chunk_size(h) ((h)->chunk_size)
-
-/* Pointer to next byte not yet allocated in current chunk. */
-
-#define obstack_next_free(h) ((h)->next_free)
-
-/* Mask specifying low bits that should be clear in address of an object. */
-
-#define obstack_alignment_mask(h) ((h)->alignment_mask)
-
-/* To prevent prototype warnings provide complete argument list in
- standard C version. */
-#if defined __STDC__ && __STDC__
-
-# define obstack_init(h) \
- _obstack_begin ((h), 0, 0, \
- (void *(*) (long)) obstack_chunk_alloc, \
- (void (*) (void *)) obstack_chunk_free)
-
-# define obstack_begin(h, size) \
- _obstack_begin ((h), (size), 0, \
- (void *(*) (long)) obstack_chunk_alloc, \
- (void (*) (void *)) obstack_chunk_free)
-
-# define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
- _obstack_begin ((h), (size), (alignment), \
- (void *(*) (long)) (chunkfun), \
- (void (*) (void *)) (freefun))
-
-# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
- _obstack_begin_1 ((h), (size), (alignment), \
- (void *(*) (void *, long)) (chunkfun), \
- (void (*) (void *, void *)) (freefun), (arg))
-
-# define obstack_chunkfun(h, newchunkfun) \
- ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun))
-
-# define obstack_freefun(h, newfreefun) \
- ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun))
-
-#else
-
-# define obstack_init(h) \
- _obstack_begin ((h), 0, 0, \
- (void *(*) ()) obstack_chunk_alloc, \
- (void (*) ()) obstack_chunk_free)
-
-# define obstack_begin(h, size) \
- _obstack_begin ((h), (size), 0, \
- (void *(*) ()) obstack_chunk_alloc, \
- (void (*) ()) obstack_chunk_free)
-
-# define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \
- _obstack_begin ((h), (size), (alignment), \
- (void *(*) ()) (chunkfun), \
- (void (*) ()) (freefun))
-
-# define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \
- _obstack_begin_1 ((h), (size), (alignment), \
- (void *(*) ()) (chunkfun), \
- (void (*) ()) (freefun), (arg))
-
-# define obstack_chunkfun(h, newchunkfun) \
- ((h) -> chunkfun = (struct _obstack_chunk *(*)()) (newchunkfun))
-
-# define obstack_freefun(h, newfreefun) \
- ((h) -> freefun = (void (*)()) (newfreefun))
-
-#endif
-
-#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = achar)
-
-#define obstack_blank_fast(h,n) ((h)->next_free += (n))
-
-#define obstack_memory_used(h) _obstack_memory_used (h)
-
-#if defined __GNUC__ && defined __STDC__ && __STDC__
-/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
- does not implement __extension__. But that compiler doesn't define
- __GNUC_MINOR__. */
-# if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
-# define __extension__
-# endif
-
-/* For GNU C, if not -traditional,
- we can define these macros to compute all args only once
- without using a global variable.
- Also, we can avoid using the `temp' slot, to make faster code. */
-
-# define obstack_object_size(OBSTACK) \
- __extension__ \
- ({ struct obstack const *__o = (OBSTACK); \
- (unsigned) (__o->next_free - __o->object_base); })
-
-# define obstack_room(OBSTACK) \
- __extension__ \
- ({ struct obstack const *__o = (OBSTACK); \
- (unsigned) (__o->chunk_limit - __o->next_free); })
-
-# define obstack_make_room(OBSTACK,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->chunk_limit - __o->next_free < __len) \
- _obstack_newchunk (__o, __len); \
- (void) 0; })
-
-# define obstack_empty_p(OBSTACK) \
- __extension__ \
- ({ struct obstack const *__o = (OBSTACK); \
- (__o->chunk->prev == 0 && __o->next_free - __o->chunk->contents == 0); })
-
-# define obstack_grow(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->next_free + __len > __o->chunk_limit) \
- _obstack_newchunk (__o, __len); \
- _obstack_memcpy (__o->next_free, (where), __len); \
- __o->next_free += __len; \
- (void) 0; })
-
-# define obstack_grow0(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->next_free + __len + 1 > __o->chunk_limit) \
- _obstack_newchunk (__o, __len + 1); \
- _obstack_memcpy (__o->next_free, (where), __len); \
- __o->next_free += __len; \
- *(__o->next_free)++ = 0; \
- (void) 0; })
-
-# define obstack_1grow(OBSTACK,datum) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- if (__o->next_free + 1 > __o->chunk_limit) \
- _obstack_newchunk (__o, 1); \
- *(__o->next_free)++ = (datum); \
- (void) 0; })
-
-/* These assume that the obstack alignment is good enough for pointers
- or ints, and that the data added so far to the current object
- shares that much alignment. */
-
-# define obstack_ptr_grow(OBSTACK,datum) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- if (__o->next_free + sizeof (void *) > __o->chunk_limit) \
- _obstack_newchunk (__o, sizeof (void *)); \
- *((void **)__o->next_free)++ = (datum); \
- (void) 0; })
-
-# define obstack_int_grow(OBSTACK,datum) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- if (__o->next_free + sizeof (int) > __o->chunk_limit) \
- _obstack_newchunk (__o, sizeof (int)); \
- *((int *)__o->next_free)++ = (datum); \
- (void) 0; })
-
-# define obstack_ptr_grow_fast(h,aptr) \
- (*((void **) (h)->next_free)++ = (aptr))
-
-# define obstack_int_grow_fast(h,aint) \
- (*((int *) (h)->next_free)++ = (aint))
-
-# define obstack_blank(OBSTACK,length) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- int __len = (length); \
- if (__o->chunk_limit - __o->next_free < __len) \
- _obstack_newchunk (__o, __len); \
- __o->next_free += __len; \
- (void) 0; })
-
-# define obstack_alloc(OBSTACK,length) \
-__extension__ \
-({ struct obstack *__h = (OBSTACK); \
- obstack_blank (__h, (length)); \
- obstack_finish (__h); })
-
-# define obstack_copy(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__h = (OBSTACK); \
- obstack_grow (__h, (where), (length)); \
- obstack_finish (__h); })
-
-# define obstack_copy0(OBSTACK,where,length) \
-__extension__ \
-({ struct obstack *__h = (OBSTACK); \
- obstack_grow0 (__h, (where), (length)); \
- obstack_finish (__h); })
-
-/* The local variable is named __o1 to avoid a name conflict
- when obstack_blank is called. */
-# define obstack_finish(OBSTACK) \
-__extension__ \
-({ struct obstack *__o1 = (OBSTACK); \
- void *value; \
- value = (void *) __o1->object_base; \
- if (__o1->next_free == value) \
- __o1->maybe_empty_object = 1; \
- __o1->next_free \
- = __INT_TO_PTR ((__PTR_TO_INT (__o1->next_free)+__o1->alignment_mask)\
- & ~ (__o1->alignment_mask)); \
- if (__o1->next_free - (char *)__o1->chunk \
- > __o1->chunk_limit - (char *)__o1->chunk) \
- __o1->next_free = __o1->chunk_limit; \
- __o1->object_base = __o1->next_free; \
- value; })
-
-# define obstack_free(OBSTACK, OBJ) \
-__extension__ \
-({ struct obstack *__o = (OBSTACK); \
- void *__obj = (OBJ); \
- if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit) \
- __o->next_free = __o->object_base = (char *)__obj; \
- else (obstack_free) (__o, __obj); })
-
-#else /* not __GNUC__ or not __STDC__ */
-
-# define obstack_object_size(h) \
- (unsigned) ((h)->next_free - (h)->object_base)
-
-# define obstack_room(h) \
- (unsigned) ((h)->chunk_limit - (h)->next_free)
-
-# define obstack_empty_p(h) \
- ((h)->chunk->prev == 0 && (h)->next_free - (h)->chunk->contents == 0)
-
-/* Note that the call to _obstack_newchunk is enclosed in (..., 0)
- so that we can avoid having void expressions
- in the arms of the conditional expression.
- Casting the third operand to void was tried before,
- but some compilers won't accept it. */
-
-# define obstack_make_room(h,length) \
-( (h)->temp = (length), \
- (((h)->next_free + (h)->temp > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), (h)->temp), 0) : 0))
-
-# define obstack_grow(h,where,length) \
-( (h)->temp = (length), \
- (((h)->next_free + (h)->temp > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \
- _obstack_memcpy ((h)->next_free, (where), (h)->temp), \
- (h)->next_free += (h)->temp)
-
-# define obstack_grow0(h,where,length) \
-( (h)->temp = (length), \
- (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \
- _obstack_memcpy ((h)->next_free, (where), (h)->temp), \
- (h)->next_free += (h)->temp, \
- *((h)->next_free)++ = 0)
-
-# define obstack_1grow(h,datum) \
-( (((h)->next_free + 1 > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), 1), 0) : 0), \
- (*((h)->next_free)++ = (datum)))
-
-# define obstack_ptr_grow(h,datum) \
-( (((h)->next_free + sizeof (char *) > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \
- (*((const char **) (((h)->next_free+=sizeof(char *))-sizeof(char *))) = (datum)))
-
-# define obstack_int_grow(h,datum) \
-( (((h)->next_free + sizeof (int) > (h)->chunk_limit) \
- ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \
- (*((int *) (((h)->next_free+=sizeof(int))-sizeof(int))) = (datum)))
-
-# define obstack_ptr_grow_fast(h,aptr) \
- (*((const char **) (h)->next_free)++ = (aptr))
-
-# define obstack_int_grow_fast(h,aint) \
- (*((int *) (h)->next_free)++ = (aint))
-
-# define obstack_blank(h,length) \
-( (h)->temp = (length), \
- (((h)->chunk_limit - (h)->next_free < (h)->temp) \
- ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \
- ((h)->next_free += (h)->temp))
-
-# define obstack_alloc(h,length) \
- (obstack_blank ((h), (length)), obstack_finish ((h)))
-
-# define obstack_copy(h,where,length) \
- (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_copy0(h,where,length) \
- (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
-
-# define obstack_finish(h) \
-( ((h)->next_free == (h)->object_base \
- ? (((h)->maybe_empty_object = 1), 0) \
- : 0), \
- (h)->temp = __PTR_TO_INT ((h)->object_base), \
- (h)->next_free \
- = __INT_TO_PTR ((__PTR_TO_INT ((h)->next_free)+(h)->alignment_mask) \
- & ~ ((h)->alignment_mask)), \
- (((h)->next_free - (char *) (h)->chunk \
- > (h)->chunk_limit - (char *) (h)->chunk) \
- ? ((h)->next_free = (h)->chunk_limit) : 0), \
- (h)->object_base = (h)->next_free, \
- __INT_TO_PTR ((h)->temp))
-
-# if defined __STDC__ && __STDC__
-# define obstack_free(h,obj) \
-( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
- (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
- ? (int) ((h)->next_free = (h)->object_base \
- = (h)->temp + (char *) (h)->chunk) \
- : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
-# else
-# define obstack_free(h,obj) \
-( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
- (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\
- ? (int) ((h)->next_free = (h)->object_base \
- = (h)->temp + (char *) (h)->chunk) \
- : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0)))
-# endif
-
-#endif /* not __GNUC__ or not __STDC__ */
-
-#ifdef __cplusplus
-} /* C++ */
-#endif
-
-#endif /* obstack.h */
diff --git a/lib/quote.c b/lib/quote.c
deleted file mode 100644
index 5f11d836..00000000
--- a/lib/quote.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* quote.c - quote arguments for output
- Copyright (C) 1998, 1999, 2000, 2001, 2003 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "quotearg.h"
-#include "quote.h"
-
-/* Return an unambiguous printable representation of NAME,
- allocated in slot N, suitable for diagnostics. */
-char const *
-quote_n (int n, char const *name)
-{
- return quotearg_n_style (n, locale_quoting_style, name);
-}
-
-/* Return an unambiguous printable representation of NAME,
- suitable for diagnostics. */
-char const *
-quote (char const *name)
-{
- return quote_n (0, name);
-}
diff --git a/lib/quote.h b/lib/quote.h
deleted file mode 100644
index c750b1e7..00000000
--- a/lib/quote.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* quote.h - prototypes for quote.c
- Copyright (C) 1998, 1999, 2000, 2001 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-
-#ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-#endif
-
-char const *quote_n PARAMS ((int n, char const *name));
-char const *quote PARAMS ((char const *name));
diff --git a/lib/quotearg.c b/lib/quotearg.c
deleted file mode 100644
index bffa14b7..00000000
--- a/lib/quotearg.c
+++ /dev/null
@@ -1,630 +0,0 @@
-/* quotearg.c - quote arguments for output
- Copyright (C) 1998, 1999, 2000, 2001, 2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "quotearg.h"
-
-#include "xalloc.h"
-
-#include <ctype.h>
-#include <errno.h>
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-#define N_(msgid) msgid
-
-#if HAVE_WCHAR_H
-
-/* BSD/OS 4.1 wchar.h requires FILE and struct tm to be declared. */
-# include <stdio.h>
-# include <time.h>
-
-# include <wchar.h>
-#endif
-
-#if !HAVE_MBRTOWC
-/* Disable multibyte processing entirely. Since MB_CUR_MAX is 1, the
- other macros are defined only for documentation and to satisfy C
- syntax. */
-# undef MB_CUR_MAX
-# define MB_CUR_MAX 1
-# define mbrtowc(pwc, s, n, ps) ((*(pwc) = *(s)) != 0)
-# define iswprint(wc) isprint ((unsigned char) (wc))
-# undef HAVE_MBSINIT
-#endif
-
-#if !defined mbsinit && !HAVE_MBSINIT
-# define mbsinit(ps) 1
-#endif
-
-#ifndef iswprint
-# if HAVE_WCTYPE_H
-# include <wctype.h>
-# endif
-# if !defined iswprint && !HAVE_ISWPRINT
-# define iswprint(wc) 1
-# endif
-#endif
-
-#ifndef SIZE_MAX
-# define SIZE_MAX ((size_t) -1)
-#endif
-
-#define INT_BITS (sizeof (int) * CHAR_BIT)
-
-struct quoting_options
-{
- /* Basic quoting style. */
- enum quoting_style style;
-
- /* Quote the characters indicated by this bit vector even if the
- quoting style would not normally require them to be quoted. */
- int quote_these_too[(UCHAR_MAX / INT_BITS) + 1];
-};
-
-/* Names of quoting styles. */
-char const *const quoting_style_args[] =
-{
- "literal",
- "shell",
- "shell-always",
- "c",
- "escape",
- "locale",
- "clocale",
- 0
-};
-
-/* Correspondences to quoting style names. */
-enum quoting_style const quoting_style_vals[] =
-{
- literal_quoting_style,
- shell_quoting_style,
- shell_always_quoting_style,
- c_quoting_style,
- escape_quoting_style,
- locale_quoting_style,
- clocale_quoting_style
-};
-
-/* The default quoting options. */
-static struct quoting_options default_quoting_options;
-
-/* Allocate a new set of quoting options, with contents initially identical
- to O if O is not null, or to the default if O is null.
- It is the caller's responsibility to free the result. */
-struct quoting_options *
-clone_quoting_options (struct quoting_options *o)
-{
- int e = errno;
- struct quoting_options *p = xmalloc (sizeof *p);
- *p = *(o ? o : &default_quoting_options);
- errno = e;
- return p;
-}
-
-/* Get the value of O's quoting style. If O is null, use the default. */
-enum quoting_style
-get_quoting_style (struct quoting_options *o)
-{
- return (o ? o : &default_quoting_options)->style;
-}
-
-/* In O (or in the default if O is null),
- set the value of the quoting style to S. */
-void
-set_quoting_style (struct quoting_options *o, enum quoting_style s)
-{
- (o ? o : &default_quoting_options)->style = s;
-}
-
-/* In O (or in the default if O is null),
- set the value of the quoting options for character C to I.
- Return the old value. Currently, the only values defined for I are
- 0 (the default) and 1 (which means to quote the character even if
- it would not otherwise be quoted). */
-int
-set_char_quoting (struct quoting_options *o, char c, int i)
-{
- unsigned char uc = c;
- int *p = (o ? o : &default_quoting_options)->quote_these_too + uc / INT_BITS;
- int shift = uc % INT_BITS;
- int r = (*p >> shift) & 1;
- *p ^= ((i & 1) ^ r) << shift;
- return r;
-}
-
-/* MSGID approximates a quotation mark. Return its translation if it
- has one; otherwise, return either it or "\"", depending on S. */
-static char const *
-gettext_quote (char const *msgid, enum quoting_style s)
-{
- char const *translation = _(msgid);
- if (translation == msgid && s == clocale_quoting_style)
- translation = "\"";
- return translation;
-}
-
-/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
- argument ARG (of size ARGSIZE), using QUOTING_STYLE and the
- non-quoting-style part of O to control quoting.
- Terminate the output with a null character, and return the written
- size of the output, not counting the terminating null.
- If BUFFERSIZE is too small to store the output string, return the
- value that would have been returned had BUFFERSIZE been large enough.
- If ARGSIZE is -1, use the string length of the argument for ARGSIZE.
-
- This function acts like quotearg_buffer (BUFFER, BUFFERSIZE, ARG,
- ARGSIZE, O), except it uses QUOTING_STYLE instead of the quoting
- style specified by O, and O may not be null. */
-
-static size_t
-quotearg_buffer_restyled (char *buffer, size_t buffersize,
- char const *arg, size_t argsize,
- enum quoting_style quoting_style,
- struct quoting_options const *o)
-{
- size_t i;
- size_t len = 0;
- char const *quote_string = 0;
- size_t quote_string_len = 0;
- int backslash_escapes = 0;
- int unibyte_locale = MB_CUR_MAX == 1;
-
-#define STORE(c) \
- do \
- { \
- if (len < buffersize) \
- buffer[len] = (c); \
- len++; \
- } \
- while (0)
-
- switch (quoting_style)
- {
- case c_quoting_style:
- STORE ('"');
- backslash_escapes = 1;
- quote_string = "\"";
- quote_string_len = 1;
- break;
-
- case escape_quoting_style:
- backslash_escapes = 1;
- break;
-
- case locale_quoting_style:
- case clocale_quoting_style:
- {
- /* Get translations for open and closing quotation marks.
-
- The message catalog should translate "`" to a left
- quotation mark suitable for the locale, and similarly for
- "'". If the catalog has no translation,
- locale_quoting_style quotes `like this', and
- clocale_quoting_style quotes "like this".
-
- For example, an American English Unicode locale should
- translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
- should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
- MARK). A British English Unicode locale should instead
- translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
- U+2019 (RIGHT SINGLE QUOTATION MARK), respectively. */
-
- char const *left = gettext_quote (N_("`"), quoting_style);
- char const *right = gettext_quote (N_("'"), quoting_style);
- for (quote_string = left; *quote_string; quote_string++)
- STORE (*quote_string);
- backslash_escapes = 1;
- quote_string = right;
- quote_string_len = strlen (quote_string);
- }
- break;
-
- case shell_always_quoting_style:
- STORE ('\'');
- quote_string = "'";
- quote_string_len = 1;
- break;
-
- default:
- break;
- }
-
- for (i = 0; ! (argsize == SIZE_MAX ? arg[i] == '\0' : i == argsize); i++)
- {
- unsigned char c;
- unsigned char esc;
-
- if (backslash_escapes
- && quote_string_len
- && i + quote_string_len <= argsize
- && memcmp (arg + i, quote_string, quote_string_len) == 0)
- STORE ('\\');
-
- c = arg[i];
- switch (c)
- {
- case '\0':
- if (backslash_escapes)
- {
- STORE ('\\');
- STORE ('0');
- STORE ('0');
- c = '0';
- }
- break;
-
- case '?':
- switch (quoting_style)
- {
- case shell_quoting_style:
- goto use_shell_always_quoting_style;
-
- case c_quoting_style:
- if (i + 2 < argsize && arg[i + 1] == '?')
- switch (arg[i + 2])
- {
- case '!': case '\'':
- case '(': case ')': case '-': case '/':
- case '<': case '=': case '>':
- /* Escape the second '?' in what would otherwise be
- a trigraph. */
- c = arg[i + 2];
- i += 2;
- STORE ('?');
- STORE ('\\');
- STORE ('?');
- break;
- }
- break;
-
- default:
- break;
- }
- break;
-
- case '\a': esc = 'a'; goto c_escape;
- case '\b': esc = 'b'; goto c_escape;
- case '\f': esc = 'f'; goto c_escape;
- case '\n': esc = 'n'; goto c_and_shell_escape;
- case '\r': esc = 'r'; goto c_and_shell_escape;
- case '\t': esc = 't'; goto c_and_shell_escape;
- case '\v': esc = 'v'; goto c_escape;
- case '\\': esc = c; goto c_and_shell_escape;
-
- c_and_shell_escape:
- if (quoting_style == shell_quoting_style)
- goto use_shell_always_quoting_style;
- c_escape:
- if (backslash_escapes)
- {
- c = esc;
- goto store_escape;
- }
- break;
-
- case '#': case '~':
- if (i != 0)
- break;
- /* Fall through. */
- case ' ':
- case '!': /* special in bash */
- case '"': case '$': case '&':
- case '(': case ')': case '*': case ';':
- case '<': case '>': case '[':
- case '^': /* special in old /bin/sh, e.g. SunOS 4.1.4 */
- case '`': case '|':
- /* A shell special character. In theory, '$' and '`' could
- be the first bytes of multibyte characters, which means
- we should check them with mbrtowc, but in practice this
- doesn't happen so it's not worth worrying about. */
- if (quoting_style == shell_quoting_style)
- goto use_shell_always_quoting_style;
- break;
-
- case '\'':
- switch (quoting_style)
- {
- case shell_quoting_style:
- goto use_shell_always_quoting_style;
-
- case shell_always_quoting_style:
- STORE ('\'');
- STORE ('\\');
- STORE ('\'');
- break;
-
- default:
- break;
- }
- break;
-
- case '%': case '+': case ',': case '-': case '.': case '/':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9': case ':': case '=':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z': case ']': case '_': case 'a': case 'b':
- case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l': case 'm': case 'n':
- case 'o': case 'p': case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': case 'x': case 'y': case 'z':
- case '{': case '}':
- /* These characters don't cause problems, no matter what the
- quoting style is. They cannot start multibyte sequences. */
- break;
-
- default:
- /* If we have a multibyte sequence, copy it until we reach
- its end, find an error, or come back to the initial shift
- state. For C-like styles, if the sequence has
- unprintable characters, escape the whole sequence, since
- we can't easily escape single characters within it. */
- {
- /* Length of multibyte sequence found so far. */
- size_t m;
-
- int printable;
-
- if (unibyte_locale)
- {
- m = 1;
- printable = isprint (c);
- }
- else
- {
- mbstate_t mbstate;
- memset (&mbstate, 0, sizeof mbstate);
-
- m = 0;
- printable = 1;
- if (argsize == SIZE_MAX)
- argsize = strlen (arg);
-
- do
- {
- wchar_t w;
- size_t bytes = mbrtowc (&w, &arg[i + m],
- argsize - (i + m), &mbstate);
- if (bytes == 0)
- break;
- else if (bytes == (size_t) -1)
- {
- printable = 0;
- break;
- }
- else if (bytes == (size_t) -2)
- {
- printable = 0;
- while (i + m < argsize && arg[i + m])
- m++;
- break;
- }
- else
- {
- if (! iswprint (w))
- printable = 0;
- m += bytes;
- }
- }
- while (! mbsinit (&mbstate));
- }
-
- if (1 < m || (backslash_escapes && ! printable))
- {
- /* Output a multibyte sequence, or an escaped
- unprintable unibyte character. */
- size_t ilim = i + m;
-
- for (;;)
- {
- if (backslash_escapes && ! printable)
- {
- STORE ('\\');
- STORE ('0' + (c >> 6));
- STORE ('0' + ((c >> 3) & 7));
- c = '0' + (c & 7);
- }
- if (ilim <= i + 1)
- break;
- STORE (c);
- c = arg[++i];
- }
-
- goto store_c;
- }
- }
- }
-
- if (! (backslash_escapes
- && o->quote_these_too[c / INT_BITS] & (1 << (c % INT_BITS))))
- goto store_c;
-
- store_escape:
- STORE ('\\');
-
- store_c:
- STORE (c);
- }
-
- if (quote_string)
- for (; *quote_string; quote_string++)
- STORE (*quote_string);
-
- if (len < buffersize)
- buffer[len] = '\0';
- return len;
-
- use_shell_always_quoting_style:
- return quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
- shell_always_quoting_style, o);
-}
-
-/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
- argument ARG (of size ARGSIZE), using O to control quoting.
- If O is null, use the default.
- Terminate the output with a null character, and return the written
- size of the output, not counting the terminating null.
- If BUFFERSIZE is too small to store the output string, return the
- value that would have been returned had BUFFERSIZE been large enough.
- If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */
-size_t
-quotearg_buffer (char *buffer, size_t buffersize,
- char const *arg, size_t argsize,
- struct quoting_options const *o)
-{
- struct quoting_options const *p = o ? o : &default_quoting_options;
- int e = errno;
- size_t r = quotearg_buffer_restyled (buffer, buffersize, arg, argsize,
- p->style, p);
- errno = e;
- return r;
-}
-
-/* Use storage slot N to return a quoted version of argument ARG.
- ARG is of size ARGSIZE, but if that is -1, ARG is a null-terminated string.
- OPTIONS specifies the quoting options.
- The returned value points to static storage that can be
- reused by the next call to this function with the same value of N.
- N must be nonnegative. N is deliberately declared with type "int"
- to allow for future extensions (using negative values). */
-static char *
-quotearg_n_options (int n, char const *arg, size_t argsize,
- struct quoting_options const *options)
-{
- int e = errno;
-
- /* Preallocate a slot 0 buffer, so that the caller can always quote
- one small component of a "memory exhausted" message in slot 0. */
- static char slot0[256];
- static unsigned int nslots = 1;
- unsigned int n0 = n;
- struct slotvec
- {
- size_t size;
- char *val;
- };
- static struct slotvec slotvec0 = {sizeof slot0, slot0};
- static struct slotvec *slotvec = &slotvec0;
-
- if (n < 0)
- abort ();
-
- if (nslots <= n0)
- {
- unsigned int n1 = n0 + 1;
- size_t s = n1 * sizeof *slotvec;
-
- if (SIZE_MAX / UINT_MAX <= sizeof *slotvec
- && n1 != s / sizeof *slotvec)
- xalloc_die ();
-
- if (slotvec == &slotvec0)
- {
- slotvec = xmalloc (sizeof *slotvec);
- *slotvec = slotvec0;
- }
- slotvec = xrealloc (slotvec, s);
- memset (slotvec + nslots, 0, (n1 - nslots) * sizeof *slotvec);
- nslots = n1;
- }
-
- {
- size_t size = slotvec[n].size;
- char *val = slotvec[n].val;
- size_t qsize = quotearg_buffer (val, size, arg, argsize, options);
-
- if (size <= qsize)
- {
- slotvec[n].size = size = qsize + 1;
- slotvec[n].val = val = xrealloc (val == slot0 ? 0 : val, size);
- quotearg_buffer (val, size, arg, argsize, options);
- }
-
- errno = e;
- return val;
- }
-}
-
-char *
-quotearg_n (int n, char const *arg)
-{
- return quotearg_n_options (n, arg, SIZE_MAX, &default_quoting_options);
-}
-
-char *
-quotearg (char const *arg)
-{
- return quotearg_n (0, arg);
-}
-
-/* Return quoting options for STYLE, with no extra quoting. */
-static struct quoting_options
-quoting_options_from_style (enum quoting_style style)
-{
- struct quoting_options o;
- o.style = style;
- memset (o.quote_these_too, 0, sizeof o.quote_these_too);
- return o;
-}
-
-char *
-quotearg_n_style (int n, enum quoting_style s, char const *arg)
-{
- struct quoting_options const o = quoting_options_from_style (s);
- return quotearg_n_options (n, arg, SIZE_MAX, &o);
-}
-
-char *
-quotearg_n_style_mem (int n, enum quoting_style s,
- char const *arg, size_t argsize)
-{
- struct quoting_options const o = quoting_options_from_style (s);
- return quotearg_n_options (n, arg, argsize, &o);
-}
-
-char *
-quotearg_style (enum quoting_style s, char const *arg)
-{
- return quotearg_n_style (0, s, arg);
-}
-
-char *
-quotearg_char (char const *arg, char ch)
-{
- struct quoting_options options;
- options = default_quoting_options;
- set_char_quoting (&options, ch, 1);
- return quotearg_n_options (0, arg, SIZE_MAX, &options);
-}
-
-char *
-quotearg_colon (char const *arg)
-{
- return quotearg_char (arg, ':');
-}
diff --git a/lib/quotearg.h b/lib/quotearg.h
deleted file mode 100644
index efc93317..00000000
--- a/lib/quotearg.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/* quotearg.h - quote arguments for output
-
- Copyright (C) 1998, 1999, 2000, 2001, 2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* Written by Paul Eggert <eggert@twinsun.com> */
-
-#ifndef QUOTEARG_H_
-# define QUOTEARG_H_ 1
-
-# include <stddef.h>
-
-/* Basic quoting styles. */
-enum quoting_style
- {
- literal_quoting_style, /* --quoting-style=literal */
- shell_quoting_style, /* --quoting-style=shell */
- shell_always_quoting_style, /* --quoting-style=shell-always */
- c_quoting_style, /* --quoting-style=c */
- escape_quoting_style, /* --quoting-style=escape */
- locale_quoting_style, /* --quoting-style=locale */
- clocale_quoting_style /* --quoting-style=clocale */
- };
-
-/* For now, --quoting-style=literal is the default, but this may change. */
-# ifndef DEFAULT_QUOTING_STYLE
-# define DEFAULT_QUOTING_STYLE literal_quoting_style
-# endif
-
-/* Names of quoting styles and their corresponding values. */
-extern char const *const quoting_style_args[];
-extern enum quoting_style const quoting_style_vals[];
-
-struct quoting_options;
-
-/* The functions listed below set and use a hidden variable
- that contains the default quoting style options. */
-
-/* Allocate a new set of quoting options, with contents initially identical
- to O if O is not null, or to the default if O is null.
- It is the caller's responsibility to free the result. */
-struct quoting_options *clone_quoting_options (struct quoting_options *o);
-
-/* Get the value of O's quoting style. If O is null, use the default. */
-enum quoting_style get_quoting_style (struct quoting_options *o);
-
-/* In O (or in the default if O is null),
- set the value of the quoting style to S. */
-void set_quoting_style (struct quoting_options *o, enum quoting_style s);
-
-/* In O (or in the default if O is null),
- set the value of the quoting options for character C to I.
- Return the old value. Currently, the only values defined for I are
- 0 (the default) and 1 (which means to quote the character even if
- it would not otherwise be quoted). */
-int set_char_quoting (struct quoting_options *o, char c, int i);
-
-/* Place into buffer BUFFER (of size BUFFERSIZE) a quoted version of
- argument ARG (of size ARGSIZE), using O to control quoting.
- If O is null, use the default.
- Terminate the output with a null character, and return the written
- size of the output, not counting the terminating null.
- If BUFFERSIZE is too small to store the output string, return the
- value that would have been returned had BUFFERSIZE been large enough.
- If ARGSIZE is -1, use the string length of the argument for ARGSIZE. */
-size_t quotearg_buffer (char *buffer, size_t buffersize,
- char const *arg, size_t argsize,
- struct quoting_options const *o);
-
-/* Use storage slot N to return a quoted version of the string ARG.
- Use the default quoting options.
- The returned value points to static storage that can be
- reused by the next call to this function with the same value of N.
- N must be nonnegative. */
-char *quotearg_n (int n, char const *arg);
-
-/* Equivalent to quotearg_n (0, ARG). */
-char *quotearg (char const *arg);
-
-/* Use style S and storage slot N to return a quoted version of the string ARG.
- This is like quotearg_n (N, ARG), except that it uses S with no other
- options to specify the quoting method. */
-char *quotearg_n_style (int n, enum quoting_style s, char const *arg);
-
-/* Use style S and storage slot N to return a quoted version of the
- argument ARG of size ARGSIZE. This is like quotearg_n_style
- (N, S, ARG), except it can quote null bytes. */
-char *quotearg_n_style_mem (int n, enum quoting_style s,
- char const *arg, size_t argsize);
-
-/* Equivalent to quotearg_n_style (0, S, ARG). */
-char *quotearg_style (enum quoting_style s, char const *arg);
-
-/* Like quotearg (ARG), except also quote any instances of CH. */
-char *quotearg_char (char const *arg, char ch);
-
-/* Equivalent to quotearg_char (ARG, ':'). */
-char *quotearg_colon (char const *arg);
-
-#endif /* !QUOTEARG_H_ */
diff --git a/lib/realloc.c b/lib/realloc.c
deleted file mode 100644
index 5c94a0a2..00000000
--- a/lib/realloc.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Work around bug on some systems where realloc (NULL, 0) fails.
- Copyright (C) 1997 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* written by Jim Meyering */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-#undef realloc
-
-#include <stddef.h>
-
-char *malloc ();
-char *realloc ();
-
-/* Change the size of an allocated block of memory P to N bytes,
- with error checking. If N is zero, change it to 1. If P is NULL,
- use malloc. */
-
-char *
-rpl_realloc (p, n)
- char *p;
- size_t n;
-{
- if (n == 0)
- n = 1;
- if (p == 0)
- return malloc (n);
- return realloc (p, n);
-}
diff --git a/lib/stdbool_.h b/lib/stdbool_.h
deleted file mode 100644
index 69f6ef72..00000000
--- a/lib/stdbool_.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2001-2002 Free Software Foundation, Inc.
- Written by Bruno Haible <haible@clisp.cons.org>, 2001.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef _STDBOOL_H
-#define _STDBOOL_H
-
-/* ISO C 99 <stdbool.h> for platforms that lack it. */
-
-/* 7.16. Boolean type and values */
-
-/* BeOS <sys/socket.h> already #defines false 0, true 1. We use the same
- definitions below, but temporarily we have to #undef them. */
-#ifdef __BEOS__
-# undef false
-# undef true
-#endif
-
-/* For the sake of symbolic names in gdb, define _Bool as an enum type. */
-#ifndef __cplusplus
-# if !@HAVE__BOOL@
-typedef enum { false = 0, true = 1 } _Bool;
-# endif
-#else
-typedef bool _Bool;
-#endif
-#define bool _Bool
-
-/* The other macros must be usable in preprocessor directives. */
-#define false 0
-#define true 1
-#define __bool_true_false_are_defined 1
-
-#endif /* _STDBOOL_H */
diff --git a/lib/stpcpy.c b/lib/stpcpy.c
deleted file mode 100644
index a01636cd..00000000
--- a/lib/stpcpy.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* stpcpy.c -- copy a string and return pointer to end of new string
- Copyright (C) 1992, 1995, 1997, 1998 Free Software Foundation, Inc.
-
- NOTE: The canonical source of this file is maintained with the GNU C Library.
- Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <string.h>
-
-#undef __stpcpy
-#undef stpcpy
-
-#ifndef weak_alias
-# define __stpcpy stpcpy
-#endif
-
-/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
-char *
-__stpcpy (char *dest, const char *src)
-{
- register char *d = dest;
- register const char *s = src;
-
- do
- *d++ = *s;
- while (*s++ != '\0');
-
- return d - 1;
-}
-#ifdef weak_alias
-weak_alias (__stpcpy, stpcpy)
-#endif
diff --git a/lib/strcasecmp.c b/lib/strcasecmp.c
deleted file mode 100644
index cf4ab88d..00000000
--- a/lib/strcasecmp.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* strcasecmp.c -- case insensitive string comparator
- Copyright (C) 1998, 1999 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef LENGTH_LIMIT
-# define STRXCASECMP_FUNCTION strncasecmp
-# define STRXCASECMP_DECLARE_N , size_t n
-# define LENGTH_LIMIT_EXPR(Expr) Expr
-#else
-# define STRXCASECMP_FUNCTION strcasecmp
-# define STRXCASECMP_DECLARE_N /* empty */
-# define LENGTH_LIMIT_EXPR(Expr) 0
-#endif
-
-#include <stddef.h>
-#include <ctype.h>
-
-#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
-
-/* Compare {{no more than N characters of }}strings S1 and S2,
- ignoring case, returning less than, equal to or
- greater than zero if S1 is lexicographically less
- than, equal to or greater than S2. */
-
-int
-STRXCASECMP_FUNCTION (const char *s1, const char *s2 STRXCASECMP_DECLARE_N)
-{
- register const unsigned char *p1 = (const unsigned char *) s1;
- register const unsigned char *p2 = (const unsigned char *) s2;
- unsigned char c1, c2;
-
- if (p1 == p2 || LENGTH_LIMIT_EXPR (n == 0))
- return 0;
-
- do
- {
- c1 = TOLOWER (*p1);
- c2 = TOLOWER (*p2);
-
- if (LENGTH_LIMIT_EXPR (--n == 0) || c1 == '\0')
- break;
-
- ++p1;
- ++p2;
- }
- while (c1 == c2);
-
- return c1 - c2;
-}
diff --git a/lib/strchr.c b/lib/strchr.c
deleted file mode 100644
index 87c91750..00000000
--- a/lib/strchr.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2001 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-char *
-strchr (const char *s, int c)
-{
- return index (s, c);
-}
diff --git a/lib/strncasecmp.c b/lib/strncasecmp.c
deleted file mode 100644
index 68d95aac..00000000
--- a/lib/strncasecmp.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define LENGTH_LIMIT
-#include "strcasecmp.c"
diff --git a/lib/strnlen.c b/lib/strnlen.c
deleted file mode 100644
index e7ad6d2f..00000000
--- a/lib/strnlen.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Find the length of STRING, but scan at most MAXLEN characters.
- Copyright (C) 1996, 1997, 1998, 2000-2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-#undef strnlen
-
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-#ifndef HAVE_DECL_MEMCHR
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_MEMCHR
-char *memchr ();
-#endif
-
-#undef __strnlen
-#undef strnlen
-
-#ifndef _LIBC
-# define strnlen rpl_strnlen
-#endif
-
-#ifndef weak_alias
-# define __strnlen strnlen
-#endif
-
-/* Find the length of STRING, but scan at most MAXLEN characters.
- If no '\0' terminator is found in that many characters, return MAXLEN. */
-
-size_t
-__strnlen (const char *string, size_t maxlen)
-{
- const char *end = memchr (string, '\0', maxlen);
- return end ? (size_t) (end - string) : maxlen;
-}
-#ifdef weak_alias
-weak_alias (__strnlen, strnlen)
-#endif
diff --git a/lib/strrchr.c b/lib/strrchr.c
deleted file mode 100644
index bc380c4c..00000000
--- a/lib/strrchr.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Portable version of strrchr().
- This function is in the public domain. */
-
-/*
-
-@deftypefn Supplemental char* strrchr (const char *@var{s}, int @var{c})
-
-Returns a pointer to the last occurrence of the character @var{c} in
-the string @var{s}, or @code{NULL} if not found. If @var{c} is itself the
-null character, the results are undefined.
-
-@end deftypefn
-
-*/
-
-#include <ansidecl.h>
-
-char *
-strrchr (s, c)
- register const char *s;
- int c;
-{
- char *rtnval = 0;
-
- do {
- if (*s == c)
- rtnval = (char*) s;
- } while (*s++);
- return (rtnval);
-}
diff --git a/lib/strspn.c b/lib/strspn.c
deleted file mode 100644
index bf785ef0..00000000
--- a/lib/strspn.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
-
- NOTE: The canonical source of this file is maintained with the GNU
- C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined _LIBC || HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-# ifndef strchr
-# define strchr index
-# endif
-#endif
-
-#undef strspn
-
-/* Return the length of the maximum initial segment
- of S which contains only characters in ACCEPT. */
-size_t
-strspn (s, accept)
- const char *s;
- const char *accept;
-{
- const char *p;
- const char *a;
- size_t count = 0;
-
- for (p = s; *p != '\0'; ++p)
- {
- for (a = accept; *a != '\0'; ++a)
- if (*p == *a)
- break;
- if (*a == '\0')
- return count;
- else
- ++count;
- }
-
- return count;
-}
diff --git a/lib/strtol.c b/lib/strtol.c
deleted file mode 100644
index 0c9c2767..00000000
--- a/lib/strtol.c
+++ /dev/null
@@ -1,472 +0,0 @@
-/* Convert string representation of a number into an integer value.
- Copyright (C) 1991, 92, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
- NOTE: The canonical source of this file is maintained with the GNU C
- Library. Bugs can be reported to bug-glibc@gnu.org.
-
- 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef _LIBC
-# define USE_NUMBER_GROUPING
-# define STDC_HEADERS
-# define HAVE_LIMITS_H
-#endif
-
-#include <ctype.h>
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-#ifndef __set_errno
-# define __set_errno(Val) errno = (Val)
-#endif
-
-#ifdef HAVE_LIMITS_H
-# include <limits.h>
-#endif
-
-#ifdef STDC_HEADERS
-# include <stddef.h>
-# include <stdlib.h>
-# include <string.h>
-#else
-# ifndef NULL
-# define NULL 0
-# endif
-#endif
-
-#ifdef USE_NUMBER_GROUPING
-# include "../locale/localeinfo.h"
-#endif
-
-/* Nonzero if we are defining `strtoul' or `strtoull', operating on
- unsigned integers. */
-#ifndef UNSIGNED
-# define UNSIGNED 0
-# define INT LONG int
-#else
-# define INT unsigned LONG int
-#endif
-
-/* Determine the name. */
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
-# if UNSIGNED
-# ifdef USE_WIDE_CHAR
-# ifdef QUAD
-# define strtol __wcstoull_l
-# else
-# define strtol __wcstoul_l
-# endif
-# else
-# ifdef QUAD
-# define strtol __strtoull_l
-# else
-# define strtol __strtoul_l
-# endif
-# endif
-# else
-# ifdef USE_WIDE_CHAR
-# ifdef QUAD
-# define strtol __wcstoll_l
-# else
-# define strtol __wcstol_l
-# endif
-# else
-# ifdef QUAD
-# define strtol __strtoll_l
-# else
-# define strtol __strtol_l
-# endif
-# endif
-# endif
-#else
-# if UNSIGNED
-# ifdef USE_WIDE_CHAR
-# ifdef QUAD
-# define strtol wcstoull
-# else
-# define strtol wcstoul
-# endif
-# else
-# ifdef QUAD
-# define strtol strtoull
-# else
-# define strtol strtoul
-# endif
-# endif
-# else
-# ifdef USE_WIDE_CHAR
-# ifdef QUAD
-# define strtol wcstoll
-# else
-# define strtol wcstol
-# endif
-# else
-# ifdef QUAD
-# define strtol strtoll
-# endif
-# endif
-# endif
-#endif
-
-/* If QUAD is defined, we are defining `strtoll' or `strtoull',
- operating on `long long int's. */
-#ifdef QUAD
-# define LONG long long
-# define STRTOL_LONG_MIN LONG_LONG_MIN
-# define STRTOL_LONG_MAX LONG_LONG_MAX
-# define STRTOL_ULONG_MAX ULONG_LONG_MAX
-
-/* The extra casts work around common compiler bugs,
- e.g. Cray C 5.0.3.0 when t == time_t. */
-# ifndef TYPE_SIGNED
-# define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-# endif
-# ifndef TYPE_MINIMUM
-# define TYPE_MINIMUM(t) ((t) (TYPE_SIGNED (t) \
- ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) \
- : (t) 0))
-# endif
-# ifndef TYPE_MAXIMUM
-# define TYPE_MAXIMUM(t) ((t) (~ (t) 0 - TYPE_MINIMUM (t)))
-# endif
-
-# ifndef ULONG_LONG_MAX
-# define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long)
-# endif
-# ifndef LONG_LONG_MAX
-# define LONG_LONG_MAX TYPE_MAXIMUM (long long int)
-# endif
-# ifndef LONG_LONG_MIN
-# define LONG_LONG_MIN TYPE_MINIMUM (long long int)
-# endif
-
-# if __GNUC__ == 2 && __GNUC_MINOR__ < 7
- /* Work around gcc bug with using this constant. */
- static const unsigned long long int maxquad = ULONG_LONG_MAX;
-# undef STRTOL_ULONG_MAX
-# define STRTOL_ULONG_MAX maxquad
-# endif
-#else
-# define LONG long
-
-# ifndef ULONG_MAX
-# define ULONG_MAX ((unsigned long) ~(unsigned long) 0)
-# endif
-# ifndef LONG_MAX
-# define LONG_MAX ((long int) (ULONG_MAX >> 1))
-# endif
-# define STRTOL_LONG_MIN LONG_MIN
-# define STRTOL_LONG_MAX LONG_MAX
-# define STRTOL_ULONG_MAX ULONG_MAX
-#endif
-
-
-/* We use this code also for the extended locale handling where the
- function gets as an additional argument the locale which has to be
- used. To access the values we have to redefine the _NL_CURRENT
- macro. */
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
-# undef _NL_CURRENT
-# define _NL_CURRENT(category, item) \
- (current->values[_NL_ITEM_INDEX (item)].string)
-# define LOCALE_PARAM , loc
-# define LOCALE_PARAM_DECL __locale_t loc;
-#else
-# define LOCALE_PARAM
-# define LOCALE_PARAM_DECL
-#endif
-
-#if defined _LIBC || defined HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-
-#ifdef USE_WIDE_CHAR
-# include <wctype.h>
-# define L_(Ch) L##Ch
-# define UCHAR_TYPE wint_t
-# define STRING_TYPE wchar_t
-# ifdef USE_IN_EXTENDED_LOCALE_MODEL
-# define ISSPACE(Ch) __iswspace_l ((Ch), loc)
-# define ISALPHA(Ch) __iswalpha_l ((Ch), loc)
-# define TOUPPER(Ch) __towupper_l ((Ch), loc)
-# else
-# define ISSPACE(Ch) iswspace (Ch)
-# define ISALPHA(Ch) iswalpha (Ch)
-# define TOUPPER(Ch) towupper (Ch)
-# endif
-#else
-# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)
-# define IN_CTYPE_DOMAIN(c) 1
-# else
-# define IN_CTYPE_DOMAIN(c) isascii(c)
-# endif
-# define L_(Ch) Ch
-# define UCHAR_TYPE unsigned char
-# define STRING_TYPE char
-# ifdef USE_IN_EXTENDED_LOCALE_MODEL
-# define ISSPACE(Ch) __isspace_l ((Ch), loc)
-# define ISALPHA(Ch) __isalpha_l ((Ch), loc)
-# define TOUPPER(Ch) __toupper_l ((Ch), loc)
-# else
-# define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch))
-# define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch))
-# define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch))
-# endif
-#endif
-
-/* For compilers which are ansi but don't define __STDC__, like SGI
- Irix-4.0.5 cc, also check whether PROTOTYPES is defined. */
-#if defined (__STDC__) || defined (PROTOTYPES)
-# define INTERNAL(X) INTERNAL1(X)
-# define INTERNAL1(X) __##X##_internal
-# define WEAKNAME(X) WEAKNAME1(X)
-#else
-# define INTERNAL(X) __/**/X/**/_internal
-#endif
-
-#ifdef USE_NUMBER_GROUPING
-/* This file defines a function to check for correct grouping. */
-# include "grouping.h"
-#endif
-
-
-
-/* Convert NPTR to an `unsigned long int' or `long int' in base BASE.
- If BASE is 0 the base is determined by the presence of a leading
- zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal.
- If BASE is < 2 or > 36, it is reset to 10.
- If ENDPTR is not NULL, a pointer to the character after the last
- one converted is stored in *ENDPTR. */
-
-INT
-INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM)
- const STRING_TYPE *nptr;
- STRING_TYPE **endptr;
- int base;
- int group;
- LOCALE_PARAM_DECL
-{
- int negative;
- register unsigned LONG int cutoff;
- register unsigned int cutlim;
- register unsigned LONG int i;
- register const STRING_TYPE *s;
- register UCHAR_TYPE c;
- const STRING_TYPE *save, *end;
- int overflow;
-
-#ifdef USE_NUMBER_GROUPING
-# ifdef USE_IN_EXTENDED_LOCALE_MODEL
- struct locale_data *current = loc->__locales[LC_NUMERIC];
-# endif
- /* The thousands character of the current locale. */
- wchar_t thousands = L'\0';
- /* The numeric grouping specification of the current locale,
- in the format described in <locale.h>. */
- const char *grouping;
-
- if (group)
- {
- grouping = _NL_CURRENT (LC_NUMERIC, GROUPING);
- if (*grouping <= 0 || *grouping == CHAR_MAX)
- grouping = NULL;
- else
- {
- /* Figure out the thousands separator character. */
-# if defined _LIBC || defined _HAVE_BTOWC
- thousands = __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP));
- if (thousands == WEOF)
- thousands = L'\0';
-# endif
- if (thousands == L'\0')
- grouping = NULL;
- }
- }
- else
- grouping = NULL;
-#endif
-
- if (base < 0 || base == 1 || base > 36)
- {
- __set_errno (EINVAL);
- return 0;
- }
-
- save = s = nptr;
-
- /* Skip white space. */
- while (ISSPACE (*s))
- ++s;
- if (*s == L_('\0'))
- goto noconv;
-
- /* Check for a sign. */
- if (*s == L_('-'))
- {
- negative = 1;
- ++s;
- }
- else if (*s == L_('+'))
- {
- negative = 0;
- ++s;
- }
- else
- negative = 0;
-
- /* Recognize number prefix and if BASE is zero, figure it out ourselves. */
- if (*s == L_('0'))
- {
- if ((base == 0 || base == 16) && TOUPPER (s[1]) == L_('X'))
- {
- s += 2;
- base = 16;
- }
- else if (base == 0)
- base = 8;
- }
- else if (base == 0)
- base = 10;
-
- /* Save the pointer so we can check later if anything happened. */
- save = s;
-
-#ifdef USE_NUMBER_GROUPING
- if (group)
- {
- /* Find the end of the digit string and check its grouping. */
- end = s;
- for (c = *end; c != L_('\0'); c = *++end)
- if ((wchar_t) c != thousands
- && ((wchar_t) c < L_('0') || (wchar_t) c > L_('9'))
- && (!ISALPHA (c) || (int) (TOUPPER (c) - L_('A') + 10) >= base))
- break;
- if (*s == thousands)
- end = s;
- else
- end = correctly_grouped_prefix (s, end, thousands, grouping);
- }
- else
-#endif
- end = NULL;
-
- cutoff = STRTOL_ULONG_MAX / (unsigned LONG int) base;
- cutlim = STRTOL_ULONG_MAX % (unsigned LONG int) base;
-
- overflow = 0;
- i = 0;
- for (c = *s; c != L_('\0'); c = *++s)
- {
- if (s == end)
- break;
- if (c >= L_('0') && c <= L_('9'))
- c -= L_('0');
- else if (ISALPHA (c))
- c = TOUPPER (c) - L_('A') + 10;
- else
- break;
- if ((int) c >= base)
- break;
- /* Check for overflow. */
- if (i > cutoff || (i == cutoff && c > cutlim))
- overflow = 1;
- else
- {
- i *= (unsigned LONG int) base;
- i += c;
- }
- }
-
- /* Check if anything actually happened. */
- if (s == save)
- goto noconv;
-
- /* Store in ENDPTR the address of one character
- past the last character we converted. */
- if (endptr != NULL)
- *endptr = (STRING_TYPE *) s;
-
-#if !UNSIGNED
- /* Check for a value that is within the range of
- `unsigned LONG int', but outside the range of `LONG int'. */
- if (overflow == 0
- && i > (negative
- ? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1
- : (unsigned LONG int) STRTOL_LONG_MAX))
- overflow = 1;
-#endif
-
- if (overflow)
- {
- __set_errno (ERANGE);
-#if UNSIGNED
- return STRTOL_ULONG_MAX;
-#else
- return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX;
-#endif
- }
-
- /* Return the result of the appropriate sign. */
- return negative ? -i : i;
-
-noconv:
- /* We must handle a special case here: the base is 0 or 16 and the
- first two characters are '0' and 'x', but the rest are no
- hexadecimal digits. This is no error case. We return 0 and
- ENDPTR points to the `x`. */
- if (endptr != NULL)
- {
- if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X')
- && save[-2] == L_('0'))
- *endptr = (STRING_TYPE *) &save[-1];
- else
- /* There was no number to convert. */
- *endptr = (STRING_TYPE *) nptr;
- }
-
- return 0L;
-}
-
-/* External user entry point. */
-
-#if _LIBC - 0 == 0
-# undef PARAMS
-# if defined (__STDC__) && __STDC__
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-
-/* Prototype. */
-INT strtol PARAMS ((const STRING_TYPE *nptr, STRING_TYPE **endptr, int base));
-#endif
-
-
-INT
-#ifdef weak_function
-weak_function
-#endif
-strtol (nptr, endptr, base LOCALE_PARAM)
- const STRING_TYPE *nptr;
- STRING_TYPE **endptr;
- int base;
- LOCALE_PARAM_DECL
-{
- return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM);
-}
diff --git a/lib/strtoul.c b/lib/strtoul.c
deleted file mode 100644
index cfe239cd..00000000
--- a/lib/strtoul.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 1991, 1999, 2001 Free Software Foundation, Inc.
-
-NOTE: The canonical source of this file is maintained with the GNU C Library.
-Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#define UNSIGNED 1
-
-#include "strtol.c"
diff --git a/lib/unlocked-io.h b/lib/unlocked-io.h
deleted file mode 100644
index a7240fb9..00000000
--- a/lib/unlocked-io.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Prefer faster, non-thread-safe stdio functions if available.
-
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU Library General Public License as published
- by the Free Software Foundation; either version 2, 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
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-/* Written by Jim Meyering. */
-
-#ifndef UNLOCKED_IO_H
-# define UNLOCKED_IO_H 1
-
-# ifndef USE_UNLOCKED_IO
-# define USE_UNLOCKED_IO 1
-# endif
-
-# if USE_UNLOCKED_IO
-
-/* These are wrappers for functions/macros from GNU libc.
- The standard I/O functions are thread-safe. These *_unlocked ones are
- more efficient but not thread-safe. That they're not thread-safe is
- fine since all of the applications in this package are single threaded. */
-
-# if HAVE_DECL_CLEARERR_UNLOCKED
-# undef clearerr
-# define clearerr(x) clearerr_unlocked (x)
-# endif
-# if HAVE_DECL_FEOF_UNLOCKED
-# undef feof
-# define feof(x) feof_unlocked (x)
-# endif
-# if HAVE_DECL_FERROR_UNLOCKED
-# undef ferror
-# define ferror(x) ferror_unlocked (x)
-# endif
-# if HAVE_DECL_FFLUSH_UNLOCKED
-# undef fflush
-# define fflush(x) fflush_unlocked (x)
-# endif
-# if HAVE_DECL_FGETS_UNLOCKED
-# undef fgets
-# define fgets(x,y,z) fgets_unlocked (x,y,z)
-# endif
-# if HAVE_DECL_FPUTC_UNLOCKED
-# undef fputc
-# define fputc(x,y) fputc_unlocked (x,y)
-# endif
-# if HAVE_DECL_FPUTS_UNLOCKED
-# undef fputs
-# define fputs(x,y) fputs_unlocked (x,y)
-# endif
-# if HAVE_DECL_FREAD_UNLOCKED
-# undef fread
-# define fread(w,x,y,z) fread_unlocked (w,x,y,z)
-# endif
-# if HAVE_DECL_FWRITE_UNLOCKED
-# undef fwrite
-# define fwrite(w,x,y,z) fwrite_unlocked (w,x,y,z)
-# endif
-# if HAVE_DECL_GETC_UNLOCKED
-# undef getc
-# define getc(x) getc_unlocked (x)
-# endif
-# if HAVE_DECL_GETCHAR_UNLOCKED
-# undef getchar
-# define getchar() getchar_unlocked ()
-# endif
-# if HAVE_DECL_PUTC_UNLOCKED
-# undef putc
-# define putc(x,y) putc_unlocked (x,y)
-# endif
-# if HAVE_DECL_PUTCHAR_UNLOCKED
-# undef putchar
-# define putchar(x) putchar_unlocked (x)
-# endif
-
-# endif /* USE_UNLOCKED_IO */
-#endif /* UNLOCKED_IO_H */
diff --git a/lib/xalloc.h b/lib/xalloc.h
deleted file mode 100644
index 5b623da2..00000000
--- a/lib/xalloc.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* xalloc.h -- malloc with out-of-memory checking
- Copyright (C) 1990-1998, 1999, 2000 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef XALLOC_H_
-# define XALLOC_H_
-
-# include <stddef.h>
-
-# ifndef PARAMS
-# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-# endif
-
-# ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) || __STRICT_ANSI__
-# define __attribute__(x)
-# endif
-# endif
-
-# ifndef ATTRIBUTE_NORETURN
-# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
-# endif
-
-/* Exit value when the requested amount of memory is not available.
- It is initialized to EXIT_FAILURE, but the caller may set it to
- some other value. */
-extern int xalloc_exit_failure;
-
-/* If this pointer is non-zero, run the specified function upon each
- allocation failure. It is initialized to zero. */
-extern void (*xalloc_fail_func) PARAMS ((void));
-
-/* If XALLOC_FAIL_FUNC is undefined or a function that returns, this
- message is output. It is translated via gettext.
- Its value is "memory exhausted". */
-extern char const xalloc_msg_memory_exhausted[];
-
-/* This function is always triggered when memory is exhausted. It is
- in charge of honoring the three previous items. This is the
- function to call when one wants the program to die because of a
- memory allocation failure. */
-extern void xalloc_die PARAMS ((void)) ATTRIBUTE_NORETURN;
-
-void *xmalloc PARAMS ((size_t n));
-void *xcalloc PARAMS ((size_t n, size_t s));
-void *xrealloc PARAMS ((void *p, size_t n));
-char *xstrdup PARAMS ((const char *str));
-
-# define XMALLOC(Type, N_items) ((Type *) xmalloc (sizeof (Type) * (N_items)))
-# define XCALLOC(Type, N_items) ((Type *) xcalloc (sizeof (Type), (N_items)))
-# define XREALLOC(Ptr, Type, N_items) \
- ((Type *) xrealloc ((void *) (Ptr), sizeof (Type) * (N_items)))
-
-/* Declare and alloc memory for VAR of type TYPE. */
-# define NEW(Type, Var) Type *(Var) = XMALLOC (Type, 1)
-
-/* Free VAR only if non NULL. */
-# define XFREE(Var) \
- do { \
- if (Var) \
- free (Var); \
- } while (0)
-
-/* Return a pointer to a malloc'ed copy of the array SRC of NUM elements. */
-# define CCLONE(Src, Num) \
- (memcpy (xmalloc (sizeof (*Src) * (Num)), (Src), sizeof (*Src) * (Num)))
-
-/* Return a malloc'ed copy of SRC. */
-# define CLONE(Src) CCLONE (Src, 1)
-
-
-#endif /* !XALLOC_H_ */
diff --git a/lib/xmalloc.c b/lib/xmalloc.c
deleted file mode 100644
index 3affee7a..00000000
--- a/lib/xmalloc.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* xmalloc.c -- malloc with out of memory checking
- Copyright (C) 1990-1999, 2000, 2002 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#else
-void *calloc ();
-void *malloc ();
-void *realloc ();
-void free ();
-#endif
-
-#include "gettext.h"
-#define _(msgid) gettext (msgid)
-#define N_(msgid) msgid
-
-#include "error.h"
-#include "xalloc.h"
-
-#ifndef EXIT_FAILURE
-# define EXIT_FAILURE 1
-#endif
-
-/* The following tests require AC_PREREQ(2.54). */
-
-#ifndef HAVE_MALLOC
-"you must run the autoconf test for a GNU libc compatible malloc"
-#endif
-
-#ifndef HAVE_REALLOC
-"you must run the autoconf test for a GNU libc compatible realloc"
-#endif
-
-/* Exit value when the requested amount of memory is not available.
- The caller may set it to some other value. */
-int xalloc_exit_failure = EXIT_FAILURE;
-
-/* If non NULL, call this function when memory is exhausted. */
-void (*xalloc_fail_func) PARAMS ((void)) = 0;
-
-/* If XALLOC_FAIL_FUNC is NULL, or does return, display this message
- before exiting when memory is exhausted. Goes through gettext. */
-char const xalloc_msg_memory_exhausted[] = N_("memory exhausted");
-
-void
-xalloc_die (void)
-{
- if (xalloc_fail_func)
- (*xalloc_fail_func) ();
- error (xalloc_exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted));
- /* The `noreturn' cannot be given to error, since it may return if
- its first argument is 0. To help compilers understand the
- xalloc_die does terminate, call exit. */
- exit (EXIT_FAILURE);
-}
-
-/* Allocate N bytes of memory dynamically, with error checking. */
-
-void *
-xmalloc (size_t n)
-{
- void *p;
-
- p = malloc (n);
- if (p == 0)
- xalloc_die ();
- return p;
-}
-
-/* Change the size of an allocated block of memory P to N bytes,
- with error checking. */
-
-void *
-xrealloc (void *p, size_t n)
-{
- p = realloc (p, n);
- if (p == 0)
- xalloc_die ();
- return p;
-}
-
-/* Allocate memory for N elements of S bytes, with error checking. */
-
-void *
-xcalloc (size_t n, size_t s)
-{
- void *p;
-
- p = calloc (n, s);
- if (p == 0)
- xalloc_die ();
- return p;
-}
diff --git a/lib/xstrdup.c b/lib/xstrdup.c
deleted file mode 100644
index cb1efa8c..00000000
--- a/lib/xstrdup.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* xstrdup.c -- copy a string with out of memory checking
- Copyright (C) 1990, 1996, 1998, 2001 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if STDC_HEADERS || HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-#include <sys/types.h>
-
-#include "xalloc.h"
-
-/* Return a newly allocated copy of STRING. */
-
-char *
-xstrdup (const char *string)
-{
- return strcpy (xmalloc (strlen (string) + 1), string);
-}
diff --git a/lib/xstrndup.c b/lib/xstrndup.c
deleted file mode 100644
index 594a6c9f..00000000
--- a/lib/xstrndup.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 2001 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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if STDC_HEADERS || HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-#include <sys/types.h>
-
-#include "xalloc.h"
-
-#ifndef HAVE_DECL_STRNLEN
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_STRNLEN
-size_t strnlen ();
-#endif
-
-char *xstrndup (const char *s, size_t n);
-
-char *
-xstrndup (const char *s, size_t n)
-{
- size_t len = strnlen (s, n);
- char *new = xmalloc (len + 1);
-
- if (new == NULL)
- return NULL;
-
- new[len] = '\0';
- return (char *) memcpy (new, s, len);
-}
diff --git a/m4/.cvsignore b/m4/.cvsignore
index d24a47f5..1fb1732e 100644
--- a/m4/.cvsignore
+++ b/m4/.cvsignore
@@ -1,8 +1,12 @@
-Makefile
-Makefile.in
+alloca.m4
codeset.m4
+dirname.m4
+dos.m4
+error.m4
+getopt.m4
gettext.m4
glibc21.m4
+hash.m4
iconv.m4
intdiv0.m4
inttypes-pri.m4
@@ -13,9 +17,20 @@ lcmessage.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
+mbrtowc.m4
+mbswidth.m4
nls.m4
+obstack.m4
+onceonly.m4
po.m4
progtest.m4
+quote.m4
+quotearg.m4
+stdbool.m4
stdint_h.m4
+stpcpy.m4
+strnlen.m4
uintmax_t.m4
ulonglong.m4
+unlocked-io.m4
+xalloc.m4
diff --git a/m4/Makefile.am b/m4/Makefile.am
deleted file mode 100644
index 9e002b69..00000000
--- a/m4/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-## Process this file with automake to produce Makefile.in -*-Makefile-*-
-EXTRA_DIST = \
- alloca.m4 dirname.m4 dmalloc.m4 dos.m4 error.m4 getopt.m4 hash.m4 \
- m4.m4 malloc.m4 \
- mbrtowc.m4 mbswidth.m4 memchr.m4 memcmp.m4 memrchr.m4 \
- obstack.m4 onceonly.m4 \
- prereq.m4 quote.m4 quotearg.m4 \
- realloc.m4 stdbool.m4 \
- stpcpy.m4 strnlen.m4 strtol.m4 strtoul.m4 \
- subpipe.m4 timevar.m4 unlocked-io.m4 warning.m4 xalloc.m4 \
- gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 \
- codeset.m4 glibc21.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \
- isc-posix.m4 lcmessage.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
diff --git a/m4/alloca.m4 b/m4/alloca.m4
deleted file mode 100644
index 4df039d2..00000000
--- a/m4/alloca.m4
+++ /dev/null
@@ -1,36 +0,0 @@
-# alloca.m4 serial 2 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_ALLOCA],
-[
- dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
- AC_REQUIRE([AC_PROG_CPP])
- AC_REQUIRE([AC_PROG_EGREP])
-
- AC_REQUIRE([AC_FUNC_ALLOCA])
- if test $ac_cv_func_alloca_works = no; then
- gl_PREREQ_ALLOCA
- fi
-
- # Define an additional variable used in the Makefile substitution.
-
- AC_EGREP_CPP([Need own alloca], [
-#if defined __GNUC__ || defined _MSC_VER || !HAVE_ALLOCA_H
- Need own alloca
-#endif
- ],
- ALLOCA_H=alloca.h,
- ALLOCA_H=)
- AC_SUBST([ALLOCA_H])
-])
-
-# Prerequisites of lib/alloca.c.
-# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
-AC_DEFUN([gl_PREREQ_ALLOCA], [
- AC_CHECK_HEADERS_ONCE(stdlib.h string.h)
-])
diff --git a/m4/dirname.m4 b/m4/dirname.m4
deleted file mode 100644
index 8b04bcab..00000000
--- a/m4/dirname.m4
+++ /dev/null
@@ -1,25 +0,0 @@
-# dirname.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_DIRNAME],
-[
- dnl Prerequisites of lib/dirname.h.
- AC_REQUIRE([jm_AC_DOS])
-
- dnl Prerequisites of lib/dirname.c.
- AC_REQUIRE([AC_HEADER_STDC])
- AC_CHECK_HEADERS_ONCE(string.h)
-
- dnl Prerequisites of lib/basename.c.
- AC_REQUIRE([AC_HEADER_STDC])
- AC_CHECK_HEADERS_ONCE(string.h)
-
- dnl Prerequisites of lib/stripslash.c.
- AC_REQUIRE([AC_HEADER_STDC])
- AC_CHECK_HEADERS_ONCE(string.h)
-])
diff --git a/m4/dos.m4 b/m4/dos.m4
deleted file mode 100644
index 868626e7..00000000
--- a/m4/dos.m4
+++ /dev/null
@@ -1,53 +0,0 @@
-#serial 5
-
-# Define some macros required for proper operation of code in lib/*.c
-# on MSDOS/Windows systems.
-
-# From Jim Meyering.
-
-AC_DEFUN([jm_AC_DOS],
- [
- AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
- [
- AC_TRY_COMPILE([],
- [#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__
-neither MSDOS nor Windows
-#endif],
- [ac_cv_win_or_dos=yes],
- [ac_cv_win_or_dos=no])
- ])
-
- if test x"$ac_cv_win_or_dos" = xyes; then
- ac_fs_accepts_drive_letter_prefix=1
- ac_fs_backslash_is_file_name_separator=1
- else
- ac_fs_accepts_drive_letter_prefix=0
- ac_fs_backslash_is_file_name_separator=0
- fi
-
- AH_VERBATIM(FILESYSTEM_PREFIX_LEN,
- [#if FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
-# define FILESYSTEM_PREFIX_LEN(Filename) \
- ((Filename)[0] && (Filename)[1] == ':' ? 2 : 0)
-#else
-# define FILESYSTEM_PREFIX_LEN(Filename) 0
-#endif])
-
- AC_DEFINE_UNQUOTED([FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
- $ac_fs_accepts_drive_letter_prefix,
- [Define on systems for which file names may have a so-called
- `drive letter' prefix, define this to compute the length of that
- prefix, including the colon.])
-
- AH_VERBATIM(ISSLASH,
- [#if FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
-# define ISSLASH(C) ((C) == '/' || (C) == '\\')
-#else
-# define ISSLASH(C) ((C) == '/')
-#endif])
-
- AC_DEFINE_UNQUOTED([FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
- $ac_fs_backslash_is_file_name_separator,
- [Define if the backslash character may also serve as a file name
- component separator.])
- ])
diff --git a/m4/error.m4 b/m4/error.m4
deleted file mode 100644
index 14e23a71..00000000
--- a/m4/error.m4
+++ /dev/null
@@ -1,18 +0,0 @@
-#serial 7
-
-AC_DEFUN([gl_ERROR],
-[
- AC_FUNC_ERROR_AT_LINE
- dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
- jm_PREREQ_ERROR
-])
-
-# Prerequisites of lib/error.c.
-AC_DEFUN([jm_PREREQ_ERROR],
-[
- AC_REQUIRE([AC_HEADER_STDC])
- AC_REQUIRE([AC_FUNC_VPRINTF])
- AC_CHECK_FUNCS(strerror)
- AC_CHECK_DECLS([strerror])
- AC_FUNC_STRERROR_R
-])
diff --git a/m4/getopt.m4 b/m4/getopt.m4
deleted file mode 100644
index 558558de..00000000
--- a/m4/getopt.m4
+++ /dev/null
@@ -1,13 +0,0 @@
-# getopt.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_GETOPT],
-[
- dnl Prerequisites of lib/getopt.c.
- AC_CHECK_HEADERS_ONCE(string.h)
-])
diff --git a/m4/hash.m4 b/m4/hash.m4
deleted file mode 100644
index b88c6ec9..00000000
--- a/m4/hash.m4
+++ /dev/null
@@ -1,15 +0,0 @@
-# hash.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_HASH],
-[
- dnl Prerequisites of lib/hash.c.
- AC_CHECK_HEADERS_ONCE(stdlib.h)
- AC_HEADER_STDBOOL
- AC_CHECK_DECLS_ONCE(free malloc)
-])
diff --git a/m4/malloc.m4 b/m4/malloc.m4
deleted file mode 100644
index 2452acf0..00000000
--- a/m4/malloc.m4
+++ /dev/null
@@ -1,25 +0,0 @@
-# malloc.m4 serial 7
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Jim Meyering.
-dnl Determine whether malloc accepts 0 as its argument.
-dnl If it doesn't, arrange to use the replacement function.
-
-AC_DEFUN([jm_FUNC_MALLOC],
-[
- AC_REQUIRE([AC_FUNC_MALLOC])
- dnl autoconf < 2.57 used the symbol ac_cv_func_malloc_works.
- if test X"$ac_cv_func_malloc_0_nonnull" = Xno || test X"$ac_cv_func_malloc_works" = Xno; then
- gl_PREREQ_MALLOC
- fi
-])
-
-# Prerequisites of lib/malloc.c.
-AC_DEFUN([gl_PREREQ_MALLOC], [
- :
-])
diff --git a/m4/mbrtowc.m4 b/m4/mbrtowc.m4
deleted file mode 100644
index 21e9daab..00000000
--- a/m4/mbrtowc.m4
+++ /dev/null
@@ -1,27 +0,0 @@
-# mbrtowc.m4 serial 5
-dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Paul Eggert
-
-dnl This file can be removed, and jm_FUNC_MBRTOWC replaced with
-dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere.
-
-AC_DEFUN([jm_FUNC_MBRTOWC],
-[
- AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
- jm_cv_func_mbrtowc,
- [AC_TRY_LINK(
- [#include <wchar.h>],
- [mbstate_t state; return ! (sizeof state && mbrtowc);],
- jm_cv_func_mbrtowc=yes,
- jm_cv_func_mbrtowc=no)])
- if test $jm_cv_func_mbrtowc = yes; then
- AC_DEFINE(HAVE_MBRTOWC, 1,
- [Define to 1 if mbrtowc and mbstate_t are properly declared.])
- fi
-])
diff --git a/m4/mbswidth.m4 b/m4/mbswidth.m4
deleted file mode 100644
index d7981ca3..00000000
--- a/m4/mbswidth.m4
+++ /dev/null
@@ -1,36 +0,0 @@
-#serial 9
-
-dnl autoconf tests required for use of mbswidth.c
-dnl From Bruno Haible.
-
-AC_DEFUN([gl_MBSWIDTH],
-[
- AC_CHECK_HEADERS_ONCE(wchar.h wctype.h)
- AC_CHECK_FUNCS_ONCE(isascii iswprint mbsinit)
- AC_CHECK_FUNCS(iswcntrl wcwidth)
- jm_FUNC_MBRTOWC
-
- AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
- [AC_TRY_COMPILE([
-/* AIX 3.2.5 declares wcwidth in <string.h>. */
-#if HAVE_STRING_H
-# include <string.h>
-#endif
-#if HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-], [
-#ifndef wcwidth
- char *p = (char *) wcwidth;
-#endif
-], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
- if test $ac_cv_have_decl_wcwidth = yes; then
- ac_val=1
- else
- ac_val=0
- fi
- AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
- [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
-
- AC_TYPE_MBSTATE_T
-])
diff --git a/m4/memchr.m4 b/m4/memchr.m4
deleted file mode 100644
index 7b6cfc43..00000000
--- a/m4/memchr.m4
+++ /dev/null
@@ -1,21 +0,0 @@
-# memchr.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_MEMCHR],
-[
- AC_REPLACE_FUNCS(memchr)
- if test $ac_cv_func_memchr = no; then
- jm_PREREQ_MEMCHR
- fi
-])
-
-# Prerequisites of lib/memchr.c.
-AC_DEFUN([jm_PREREQ_MEMCHR], [
- AC_CHECK_HEADERS_ONCE(limits.h stdlib.h)
- AC_CHECK_HEADERS(bp-sym.h)
-])
diff --git a/m4/memcmp.m4 b/m4/memcmp.m4
deleted file mode 100644
index 4442e47b..00000000
--- a/m4/memcmp.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-# memcmp.m4 serial 8
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([jm_FUNC_MEMCMP],
-[
- AC_REQUIRE([AC_FUNC_MEMCMP])
- if test $ac_cv_func_memcmp_working = no; then
- AC_DEFINE(memcmp, rpl_memcmp,
- [Define to rpl_memcmp if the replacement function should be used.])
- gl_PREREQ_MEMCMP
- fi
-])
-
-# Prerequisites of lib/memcmp.c.
-AC_DEFUN([gl_PREREQ_MEMCMP], [
- AC_CHECK_HEADERS_ONCE(string.h)
-])
diff --git a/m4/memrchr.m4 b/m4/memrchr.m4
deleted file mode 100644
index c489ec3d..00000000
--- a/m4/memrchr.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# memrchr.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_MEMRCHR],
-[
- dnl Persuade glibc <string.h> to declare memrchr().
- AC_REQUIRE([AC_GNU_SOURCE])
-
- AC_REPLACE_FUNCS(memrchr)
- if test $ac_cv_func_memrchr = no; then
- gl_PREREQ_MEMRCHR
- fi
-])
-
-# Prerequisites of lib/memrchr.c.
-AC_DEFUN([gl_PREREQ_MEMRCHR], [
- AC_CHECK_HEADERS_ONCE(limits.h)
-])
diff --git a/m4/obstack.m4 b/m4/obstack.m4
deleted file mode 100644
index cd962729..00000000
--- a/m4/obstack.m4
+++ /dev/null
@@ -1,24 +0,0 @@
-# obstack.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_OBSTACK],
-[
- dnl Prerequisites of lib/obstack.h.
- AC_CHECK_HEADERS_ONCE(stddef.h string.h)
-
- AC_FUNC_OBSTACK
- dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]).
- if test $ac_cv_func_obstack = no; then
- gl_PREREQ_OBSTACK
- fi
-])
-
-# Prerequisites of lib/obstack.c.
-AC_DEFUN([gl_PREREQ_OBSTACK], [
- AC_CHECK_HEADERS_ONCE(stdlib.h)
-])
diff --git a/m4/onceonly.m4 b/m4/onceonly.m4
deleted file mode 100644
index 50b33f489..00000000
--- a/m4/onceonly.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-# onceonly.m4 serial 3 (gettext-0.12)
-dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl This file defines some "once only" variants of standard autoconf macros.
-dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS
-dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS
-dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS
-dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC
-dnl The advantage is that the check for each of the headers/functions/decls
-dnl will be put only once into the 'configure' file. It keeps the size of
-dnl the 'configure' file down, and avoids redundant output when 'configure'
-dnl is run.
-dnl The drawback is that the checks cannot be conditionalized. If you write
-dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi
-dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to
-dnl empty, and the check will be inserted before the body of the AC_DEFUNed
-dnl function.
-
-dnl Autoconf version 2.57 or newer is recommended.
-AC_PREREQ(2.54)
-
-# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of
-# AC_CHECK_HEADERS(HEADER1 HEADER2 ...).
-AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
- :
- AC_FOREACH([gl_HEADER_NAME], [$1], [
- AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]),
- [-./], [___])), [
- AC_CHECK_HEADERS(gl_HEADER_NAME)
- ])
- AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
- [-./], [___])))
- ])
-])
-
-# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of
-# AC_CHECK_FUNCS(FUNC1 FUNC2 ...).
-AC_DEFUN([AC_CHECK_FUNCS_ONCE], [
- :
- AC_FOREACH([gl_FUNC_NAME], [$1], [
- AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [
- AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME]))
- ])
- AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]))
- ])
-])
-
-# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of
-# AC_CHECK_DECLS(DECL1, DECL2, ...).
-AC_DEFUN([AC_CHECK_DECLS_ONCE], [
- :
- AC_FOREACH([gl_DECL_NAME], [$1], [
- AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [
- AC_CHECK_DECLS(m4_defn([gl_DECL_NAME]))
- ])
- AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]))
- ])
-])
diff --git a/m4/prereq.m4 b/m4/prereq.m4
deleted file mode 100644
index 3c5d16ae..00000000
--- a/m4/prereq.m4
+++ /dev/null
@@ -1,63 +0,0 @@
-#serial 27
-
-dnl These are the prerequisite macros for files in the lib/
-dnl directories of the fileutils, sh-utils, and textutils packages.
-
-AC_DEFUN([jm_PREREQ],
-[
- gl_BACKUPFILE
- jm_PREREQ_C_STACK
- gl_CANON_HOST
- gl_DIRNAME
- jm_PREREQ_ERROR
- gl_EXCLUDE
- gl_GETPAGESIZE
- gl_HARD_LOCALE
- gl_HASH
- gl_HUMAN
- gl_MBSWIDTH
- gl_FUNC_MEMCHR
- gl_PHYSMEM
- gl_POSIXVER
- gl_QUOTEARG
- gl_READUTMP
- gl_REGEX
- jm_PREREQ_STAT
- gl_FUNC_STRNLEN
- gl_XGETCWD
- gl_XREADLINK
-])
-
-AC_DEFUN([jm_PREREQ_STAT],
-[
- AC_CHECK_HEADERS(sys/sysmacros.h sys/statvfs.h sys/vfs.h inttypes.h)
- AC_CHECK_HEADERS(sys/param.h sys/mount.h)
- AC_CHECK_FUNCS(statvfs)
- jm_AC_TYPE_LONG_LONG
-
- statxfs_includes="\
-$ac_includes_default
-#if HAVE_SYS_STATVFS_H
-# include <sys/statvfs.h>
-#endif
-#if HAVE_SYS_VFS_H
-# include <sys/vfs.h>
-#endif
-#if ( ! HAVE_SYS_STATVFS_H && ! HAVE_SYS_VFS_H && HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H )
-/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */
-# include <sys/param.h>
-# include <sys/mount.h>
-#endif
-"
- AC_CHECK_MEMBERS([struct statfs.f_basetype],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statvfs.f_basetype],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statfs.f_type],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statvfs.f_type],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statvfs.f_fsid.__val],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])
- AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])
-])
diff --git a/m4/quote.m4 b/m4/quote.m4
deleted file mode 100644
index 14ce1b61..00000000
--- a/m4/quote.m4
+++ /dev/null
@@ -1,13 +0,0 @@
-# quote.m4 serial 2
-dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_QUOTE],
-[
- dnl Prerequisites of lib/quote.c.
- dnl (none)
-])
diff --git a/m4/quotearg.m4 b/m4/quotearg.m4
deleted file mode 100644
index 2fba109f..00000000
--- a/m4/quotearg.m4
+++ /dev/null
@@ -1,16 +0,0 @@
-# quotearg.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_QUOTEARG],
-[
- dnl Prerequisites of lib/quotearg.c.
- AC_CHECK_HEADERS_ONCE(wchar.h wctype.h)
- AC_CHECK_FUNCS_ONCE(iswprint mbsinit)
- AC_TYPE_MBSTATE_T
- jm_FUNC_MBRTOWC
-])
diff --git a/m4/realloc.m4 b/m4/realloc.m4
deleted file mode 100644
index 9f746f19..00000000
--- a/m4/realloc.m4
+++ /dev/null
@@ -1,25 +0,0 @@
-# realloc.m4 serial 7
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Jim Meyering.
-dnl Determine whether realloc works when both arguments are 0.
-dnl If it doesn't, arrange to use the replacement function.
-
-AC_DEFUN([jm_FUNC_REALLOC],
-[
- AC_REQUIRE([AC_FUNC_REALLOC])
- dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works.
- if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then
- gl_PREREQ_REALLOC
- fi
-])
-
-# Prerequisites of lib/realloc.c.
-AC_DEFUN([gl_PREREQ_REALLOC], [
- :
-])
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
deleted file mode 100644
index ed000c81..00000000
--- a/m4/stdbool.m4
+++ /dev/null
@@ -1,89 +0,0 @@
-# Check for stdbool.h that conforms to C99.
-
-# Copyright (C) 2002-2003 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, 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., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# Prepare for substituting <stdbool.h> if it is not supported.
-
-AC_DEFUN([AM_STDBOOL_H],
-[
- AC_REQUIRE([AC_HEADER_STDBOOL])
-
- # Define two additional variables used in the Makefile substitution.
-
- if test "$ac_cv_header_stdbool_h" = yes; then
- STDBOOL_H=''
- else
- STDBOOL_H='stdbool.h'
- fi
- AC_SUBST([STDBOOL_H])
-
- if test "$ac_cv_type__Bool" = yes; then
- HAVE__BOOL=1
- else
- HAVE__BOOL=0
- fi
- AC_SUBST([HAVE__BOOL])
-])
-
-# This macro is only needed in autoconf <= 2.54. Newer versions of autoconf
-# have this macro built-in.
-
-AC_DEFUN([AC_HEADER_STDBOOL],
- [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
- [ac_cv_header_stdbool_h],
- [AC_TRY_COMPILE(
- [
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: false is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) -0.5 == true ? 1 : -1];
- bool e = &s;
- char f[(_Bool) -0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- ],
- [ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ],
- [ac_cv_header_stdbool_h=yes],
- [ac_cv_header_stdbool_h=no])])
- AC_CHECK_TYPES([_Bool])
- if test $ac_cv_header_stdbool_h = yes; then
- AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])
- fi])
diff --git a/m4/stpcpy.m4 b/m4/stpcpy.m4
deleted file mode 100644
index b3282661..00000000
--- a/m4/stpcpy.m4
+++ /dev/null
@@ -1,24 +0,0 @@
-# stpcpy.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_STPCPY],
-[
- dnl Persuade glibc <string.h> to declare stpcpy().
- AC_REQUIRE([AC_GNU_SOURCE])
-
- AC_REPLACE_FUNCS(stpcpy)
- if test $ac_cv_func_stpcpy = no; then
- gl_PREREQ_STPCPY
- fi
-])
-
-# Prerequisites of lib/stpcpy.c.
-AC_DEFUN([gl_PREREQ_STPCPY], [
- :
-])
-
diff --git a/m4/strnlen.m4 b/m4/strnlen.m4
deleted file mode 100644
index 89cca67e..00000000
--- a/m4/strnlen.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# strnlen.m4 serial 2
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_STRNLEN],
-[
- dnl Persuade glibc <string.h> to declare strnlen().
- AC_REQUIRE([AC_GNU_SOURCE])
-
- AC_FUNC_STRNLEN
- if test $ac_cv_func_strnlen_working = no; then
- # This is necessary because automake-1.6.1 doens't understand
- # that the above use of AC_FUNC_STRNLEN means we may have to use
- # lib/strnlen.c.
- #AC_LIBOBJ(strnlen)
- AC_DEFINE(strnlen, rpl_strnlen,
- [Define to rpl_strnlen if the replacement function should be used.])
- gl_PREREQ_STRNLEN
- fi
-])
-
-# Prerequisites of lib/strnlen.c.
-AC_DEFUN([gl_PREREQ_STRNLEN], [
- AC_REQUIRE([AC_HEADER_STDC])
- AC_CHECK_HEADERS_ONCE(memory.h string.h)
- AC_CHECK_DECLS(memchr)
-])
-
diff --git a/m4/strtol.m4 b/m4/strtol.m4
deleted file mode 100644
index 59a74f65..00000000
--- a/m4/strtol.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-# strtol.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_STRTOL],
-[
- AC_REPLACE_FUNCS(strtol)
- if test $ac_cv_func_strtol = no; then
- gl_PREREQ_STRTOL
- fi
-])
-
-# Prerequisites of lib/strtol.c.
-AC_DEFUN([gl_PREREQ_STRTOL], [
- AC_REQUIRE([AC_HEADER_STDC])
- AC_CHECK_HEADERS_ONCE(limits.h)
- AC_CHECK_FUNCS_ONCE(isascii)
-])
diff --git a/m4/strtoul.m4 b/m4/strtoul.m4
deleted file mode 100644
index a76fef6d..00000000
--- a/m4/strtoul.m4
+++ /dev/null
@@ -1,20 +0,0 @@
-# strtoul.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_FUNC_STRTOUL],
-[
- AC_REPLACE_FUNCS(strtoul)
- if test $ac_cv_func_strtoul = no; then
- gl_PREREQ_STRTOUL
- fi
-])
-
-# Prerequisites of lib/strtoul.c.
-AC_DEFUN([gl_PREREQ_STRTOUL], [
- gl_PREREQ_STRTOL
-])
diff --git a/m4/unlocked-io.m4 b/m4/unlocked-io.m4
deleted file mode 100644
index f0c15d99..00000000
--- a/m4/unlocked-io.m4
+++ /dev/null
@@ -1,22 +0,0 @@
-#serial 7 -*- autoconf -*-
-
-dnl From Jim Meyering.
-dnl
-dnl See if the glibc *_unlocked I/O macros or functions are available.
-dnl Use only those *_unlocked macros or functions that are declared
-dnl (because some of them were declared in Solaris 2.5.1 but were removed
-dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run
-dnl on Solaris 2.6).
-
-AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO],
-[
- dnl Persuade glibc <stdio.h> to declare fgets_unlocked(), fputs_unlocked()
- dnl etc.
- AC_REQUIRE([AC_GNU_SOURCE])
-
- AC_CHECK_DECLS_ONCE(
- [clearerr_unlocked feof_unlocked ferror_unlocked
- fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked
- fread_unlocked fwrite_unlocked getc_unlocked
- getchar_unlocked putc_unlocked putchar_unlocked])
-])
diff --git a/m4/xalloc.m4 b/m4/xalloc.m4
deleted file mode 100644
index 1826bdcc..00000000
--- a/m4/xalloc.m4
+++ /dev/null
@@ -1,26 +0,0 @@
-# xalloc.m4 serial 1
-dnl Copyright (C) 2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License. As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-AC_DEFUN([gl_XALLOC],
-[
- gl_PREREQ_XMALLOC
- gl_PREREQ_XSTRDUP
-])
-
-# Prerequisites of lib/xmalloc.c.
-AC_DEFUN([gl_PREREQ_XMALLOC], [
- AC_REQUIRE([AC_HEADER_STDC])
- AC_REQUIRE([jm_FUNC_MALLOC])
- AC_REQUIRE([jm_FUNC_REALLOC])
-])
-
-# Prerequisites of lib/xstrdup.c.
-AC_DEFUN([gl_PREREQ_XSTRDUP], [
- AC_REQUIRE([AC_HEADER_STDC])
- AC_CHECK_HEADERS_ONCE(string.h)
-])
diff --git a/po/.cvsignore b/po/.cvsignore
index cb912ac0..e060f7ff 100644
--- a/po/.cvsignore
+++ b/po/.cvsignore
@@ -1,13 +1,14 @@
-ChangeLog
+*.gmo
+*.po
+LINGUAS
Makefile
Makefile.in
+Makefile.in.in
+Makevars
Makevars.template
POTFILES
-bison.pot
-stamp-po
-*.gmo
-Makefile.in
Rules-quot
+bison.pot
boldquot.sed
en@boldquot.header
en@quot.header
@@ -15,3 +16,4 @@ insert-header.sin
quot.sed
remove-potcdate.sed
remove-potcdate.sin
+stamp-po
diff --git a/po/ChangeLog b/po/ChangeLog
deleted file mode 100644
index 970a0c67..00000000
--- a/po/ChangeLog
+++ /dev/null
@@ -1,70 +0,0 @@
-2002-08-08 gettextize <bug-gnu-gettext@gnu.org>
-
- * Rules-quot: New file, from gettext-0.11.5.
- * boldquot.sed: New file, from gettext-0.11.5.
- * en@boldquot.header: New file, from gettext-0.11.5.
- * en@quot.header: New file, from gettext-0.11.5.
- * insert-header.sin: New file, from gettext-0.11.5.
- * quot.sed: New file, from gettext-0.11.5.
- * remove-potcdate.sin: New file, from gettext-0.11.5.
-
-2001-10-10 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
- * cat-id-tbl.c: Remove file.
-
-2001-10-08 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
-
-2001-10-04 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
- * cat-id-tbl.c: Remove file.
-
-2001-09-27 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.40.
- * cat-id-tbl.c: Remove file.
-
-2001-08-03 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.39.
- * cat-id-tbl.c: Remove file.
-
-2001-07-14 gettextize <bug-gnu-utils@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.10.38.
- * cat-id-tbl.c: Remove file.
- * stamp-cat-id: Remove file.
-
-2000-11-02 Akim Demaille <akim@epita.fr>
-
- * POTFILES.in: Adjust.
-
-1999-07-26 Jesse Thilo <jthilo@gnu.org>
-
- * po/ru.po: Added Russian translation.
-
-1999-06-14 Jesse Thilo <jthilo@gnu.org>
-
- * po/POTFILES.in: Got rid of version.c.
-
-1999-04-18 Jesse Thilo <jthilo@gnu.org>
-
- * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
- Adjusted paths to reflect directory reorganization.
-
-1999-03-23 Jesse Thilo <jthilo@gnu.org>
-
- * po/.cvsignore: Added i18n support.
-
-1999-03-15 Jesse Thilo <jthilo@gnu.org>
-
- * po/es.po, po/fr.po, po/nl.po, po/de.po:
- Added PO files from Translation Project.
-
-1999-02-05 Jesse Thilo <jthilo@gnu.org>
-
- * po/Makefile.in.in, po/POTFILES.in:
- Add `po' directory skeleton.
diff --git a/po/LINGUAS b/po/LINGUAS
deleted file mode 100644
index 5e5aec3c..00000000
--- a/po/LINGUAS
+++ /dev/null
@@ -1,16 +0,0 @@
-da
-de
-es
-et
-fr
-hr
-id
-it
-ja
-ms
-nl
-pt_BR
-ro
-ru
-sv
-tr
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
deleted file mode 100644
index 27b721aa..00000000
--- a/po/Makefile.in.in
+++ /dev/null
@@ -1,353 +0,0 @@
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datadir = @datadir@
-localedir = $(datadir)/locale
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
-
-.po.mo:
- @echo "$(MSGFMT) -c -o $@ $<"; \
- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
- @lang=`echo $* | sed -e 's,.*/,,'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
- sed -e '/^#/d' $< > t-$@
- mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
- test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
- @echo "touch stamp-po"
- @echo timestamp > stamp-poT
- @mv stamp-poT stamp-po
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
- test ! -f $(DOMAIN).po || { \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
- if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
- else \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- else \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- }
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
- $(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
- @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
- for file in $(DISTFILES.common) Makevars.template; do \
- $(INSTALL_DATA) $(srcdir)/$$file \
- $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- for file in Makevars; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-install-data-no: all
-install-data-yes: all
- $(mkinstalldirs) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
- if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
- fi; \
- done; \
- done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
- else \
- : ; \
- fi
-installdirs-data-no:
-installdirs-data-yes:
- $(mkinstalldirs) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- fi; \
- done; \
- done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- for file in $(DISTFILES.common) Makevars.template; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-uninstall-data-no:
-uninstall-data-yes:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- done; \
- done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
- rm -f remove-potcdate.sed
- rm -f stamp-poT
- rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
- rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
- $(MAKE) update-po
- @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
- dists="$(DISTFILES)"; \
- if test "$(PACKAGE)" = "gettext-tools"; then \
- dists="$$dists Makevars.template"; \
- fi; \
- if test -f $(srcdir)/ChangeLog; then \
- dists="$$dists ChangeLog"; \
- fi; \
- for i in 0 1 2 3 4 5 6 7 8 9; do \
- if test -f $(srcdir)/ChangeLog.$$i; then \
- dists="$$dists ChangeLog.$$i"; \
- fi; \
- done; \
- if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
- for file in $$dists; do \
- if test -f $$file; then \
- cp -p $$file $(distdir); \
- else \
- cp -p $(srcdir)/$$file $(distdir); \
- fi; \
- done
-
-update-po: Makefile
- $(MAKE) $(DOMAIN).pot-update
- test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
- $(MAKE) update-gmo
-
-# General rule for updating PO files.
-
-.nop.po-update:
- @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
- cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "msgmerge for $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
- @:
-
-Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
- $(SHELL) ./config.status
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/po/Makevars b/po/Makevars
deleted file mode 100644
index 4fad0308..00000000
--- a/po/Makevars
+++ /dev/null
@@ -1,41 +0,0 @@
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-# package. (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.) Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright. The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-# in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-# understood.
-# - Strings which make invalid assumptions about notation of date, time or
-# money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS = bug-bison@gnu.org
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used. It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
diff --git a/po/da.po b/po/da.po
deleted file mode 100644
index 7d78f7eb..00000000
--- a/po/da.po
+++ /dev/null
@@ -1,710 +0,0 @@
-# Danish messages for bison.
-# Copyright © 2001, 2002 Free Software Foundation, Inc.
-# Keld Simonsen <keld@dkuug.dk>, 2002.
-# Byrial Ole Jensen <byrial@image.dk>, 2002-2003.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875a\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-04-12 22:57+0200\n"
-"Last-Translator: Byrial Ole Jensen <byrial@image.dk>\n"
-"Language-Team: Danish <dansk@klid.dk>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Ukendt systemfejl"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "advarsel: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "fatal fejl: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Konflikt mellem regel %d og element %s løstes som skift"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Konflikt mellem regel %d og element %s løstes som reducér"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Konflikt mellem regel %d og element %s løstes som en fejl"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "konflikter: %d skift/reducér, %d reducér/reducér\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "konflikter: %d skift/reducér\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "konflikter: %d reducér/reducér\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Tilstand %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "forventede %d skift/reducér-konflikt"
-msgstr[1] "forventede %d skift/reducér-konflikter"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "forventede 0 reducér/reducér-konflikter"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "kan ikke åbne filen \"%s\""
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "Fejl ved ind- eller udlæsning"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "kan ikke lukke fil"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "konfliktende uddata til filen %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Prøv med \"%s --help\" for mere information.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genererer fortolkere til LALR(1)-grammatiker.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Brug: %s [FLAG]... FIL\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Hvis et lang flag viser et argument som obligatorisk, er det også\n"
-"obligatorisk for det tilsvarende korte flag. Tilsvarende\n"
-"for valgfrie argumenter.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Arbejdstilstande:\n"
-" -h, --help vis denne hjælpetekst og afslut\n"
-" -V, --version vis versionsinformation og afslut\n"
-" -y, --yacc emulér POSIX-yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Fortolker:\n"
-" -S, --skeleton=FIL angiv skeletfilen som skal bruges\n"
-" -t, --debug instrumentér fortolkeren for fejlsøgning\n"
-" --locations aktivér tilstandsberegning\n"
-" -p, --name-prefix=PRÆFIKS tilføj PRÆFIKS for eksterne symboler\n"
-" -l, --no-lines generér ikke \"#line\"-direktiver\n"
-" -n, --no-parser generér kun tabellerne\n"
-" -k, --token-table inkludér en tabel over elementnavne\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Uddata:\n"
-" -d, --defines lav også en hovedfil\n"
-" -r, --report=SAGER lav også detaljer om automaten\n"
-" -v, --verbose samme som \"--report=state\"\n"
-" -b, --file-prefix=PRÆFIKS angiv et PRÆFIKS for uddatafiler\n"
-" -o, --output=FIL læg uddata i FIL\n"
-" -g, --graph lav også en VCG-beskrivelse af automaten\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"TING er en liste med kommaseparerede ord som kan indeholde:\n"
-" \"state\" beskriv tilstandene\n"
-" \"itemset\" komplettér kerneobjektmængderne med deres afslutninger\n"
-" \"lookahead\" kobl udtrykkeligt fremadkig til objekter\n"
-" \"solved\" beskriv løsninger af skift/reducér-konflikter\n"
-" \"all\" inkludér al ovenstående information\n"
-" \"none\" deaktivér rapporten\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr ""
-"Rapportér fejl til <bug-bison@gnu.org>.\n"
-"Rapportér synpunkter om oversættelsen til <dansk@klid.dk>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Skrevet af Robert Corbett og Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright © %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Dette er frit programmel, se kildekoden for kopieringsbetingelser. Der\n"
-"gives INGEN garanti, endog ikke for SALGBARHED eller EGNETHED FOR NOGET\n"
-"BESTEMT FORMÅL.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "manglende operand efter \"%s\""
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "overtallig operand \"%s\""
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "tom"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammatik"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "advarsel"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "regel aldrig reduceret på grund af konflikter"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX forbyder deklarationer i grammatikken"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "manglende identifikator i parameterdeklaration"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " type %d er %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "skift, og gå til tilstand %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "gå til tilstand %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "fejl (ikke-associativ)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reducér med regel %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "acceptér"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "tilstand %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminaler, med regler hvor de forekommer"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Ikke-terminaler, med regler hvor de forekommer"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " til venstre:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " til højre:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Aldrig reducerede regler"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "flere %s-deklarationer"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "resultattypekonflikt ved sammenfletningsfunktion %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "regel givet for %s som er et element"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "typekonflikt for standardhandling: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "tom regel for typet ikke-terminal, og ingen handling"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "kun en %s tilladt per regel"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s påvirker kun GLR-fortolkere"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s skal følges af et positivt tal"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "ingen regler i inddatagrammatikken"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "ubrugelig regel"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "ubrugelig ikke-terminal: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Ubrugelige ikke-terminaler"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminaler som ikke bruges"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Ubrugelige regler"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regel reduceres aldrig\n"
-msgstr[1] "%d regler reduceres aldrig\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d ubrugelig ikke-terminal"
-msgstr[1] "%d ubrugelige ikke-terminaler"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " og "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d ubrugelig regel"
-msgstr[1] "%d ubrugelige regler"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "startsymbolet %s genererer ingen sætninger"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "Malplaceret \",\" behandlet som blanktegn"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "ugyldigt direktiv: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "heltal uden for gyldigshedsområdet: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "ugyldigt tegn: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "ugyldig undvigesekvens: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "ukendt undvigesekvens: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "manglende \"{\" i \"%s\""
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ for \"%s\" har ingen erklæret type"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d for \"%s\" har ingen erklæret type"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "fejlagtig værdi: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "manglende \"%s\" ved slutningen af filen"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "fejlagtig $-værdi"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "gentagen typeerklæring for %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "gentagen %s-erklæring for %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "redefinition af præcedens for %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "symbol %s redefineret"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "redefinition af elementnummer for %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"symbol %s bruges, men er ikke defineret som et element og har ingen regler"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "symbol \"%s\" bruges mere end en gang som en bogstavelig streng"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "symbol \"%s\" har fået mere end én bogstavelig streng"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "modstridige præcedenser mellem %s og %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "modstridige associativiteter for %s (%s) og %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "elementerne %s og %s har begge fået nummer %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "startsymbolet %s er udefineret"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "startsymbolet %s er et element"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "ugyldigt argument %s til %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "flertydigt argument %s til %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Gyldige argumenter er:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitmængdeallokeringer, %u frigjort (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitmængdeindstillinger, %u cachede (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitmængdenulstillinger, %u cachede (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitmængdetest, %u cachede (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitmængdelister\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "kaldsloghistogram\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "størrelsesloghistogram\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "densitetshistogram\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Bitmængdestatistik:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Akkumulerede kørsler = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Kunne ikke læse statistikfil."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Dårlig statistikfilstørrelse.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Kunne ikke skrive statistikfil."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Kunne ikke åbne statistikfil for skrivning."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: flaget \"%s\" er flertydigt\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: flaget \"--%s\" tager intet argument\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: flaget \"%c%s\" tager intet argument\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: flaget \"%s\" behøver et argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ukendt flag \"--%s\"\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ukendt flag \"%c%s\"\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ikke tilladt flag -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ugyldigt flag --%c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flaget behøver et argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: flaget \"-W %s\" er flertydigt\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: flaget \"-W %s\" tager intet argument\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "hukommelsen opbrugt"
-
-# Når vi går over til Unicode mere allmænt måske vi bør oversættta båda disse
-# med U+201D (RIGHT DOUBLE QUOTATION MARK) på svenska. Eller?
-#
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "\""
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "\""
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "hjælpeprogrammet \"%s\" kunne ikke startes"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "hjælpeprogrammet \"%s\" ikke fundet"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "hjælpeprogrammet \"%s\" fejlede"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "hjælpeprogrammet \"%s\" fejlede med afslutningskode %d"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Udførelsestider (sekunder)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTALT :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tid i %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/de.po b/po/de.po
deleted file mode 100644
index 697c1709..00000000
--- a/po/de.po
+++ /dev/null
@@ -1,1011 +0,0 @@
-# German translation for message of GNU bison.
-# Copyright (C) 1996 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
-# Michael Piefel <piefel@informatik.hu-berlin.de>, 2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-02 12:38:45+0100\n"
-"Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
-"Language-Team: German <de@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Unbekannter Systemfehler"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "Warnung: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "fataler Fehler: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr ""
-" Konflikt zwischen Regel %d and Token %s wurde durch Schieben gelöst"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr ""
-" Konflikt zwischen Regel %d and Token %s wurde durch Reduzierung gelöst"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr ""
-" Konflikt zwischen Regel %d and Token %s wurde als Fehler betrachtet"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "Konflikte: %d Schiebe/Reduziere, %d Reduziere/Reduziere\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "Konflikte: %d Schiebe/Reduziere\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "Konflikte: %d Reduziere/Reduziere\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Zustand %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "erwartete %d Schiebe/Reduziere-Konflikt"
-msgstr[1] "erwartete %d Schiebe/Reduziere-Konflikte"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "erwartete 0 Reduziere/Reduziere-Konflikte"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "kann Datei »%s« nicht öffnen"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "E/A-Fehler"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "kann Datei nicht schließen"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "widersprüchliche Ausgaben in Datei %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "»%s --help« gibt weitere Informationen.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison generiert Parser für LALR(1)-Grammatiken.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Aufruf: %s [OPTION]... DATEI\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Wenn eine lange Option ein Argument als erforderlich anzeigt, dann ist es "
-"auch\n"
-"für die äquivalente kurze Option erforderlich. Ähnlich für optionale "
-"Argumente.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Arbeitsmodi:\n"
-" -h, --help diese Hilfe anzeigen und beenden.\n"
-" -v, --version Versionsinformation anzeigen und beenden.\n"
-" -y, --yacc POSIX' yacc emulieren\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=DATEI zu benutzende Skelettdatei angeben\n"
-" -t, --debug den Parser auf Debugging-Unterstützung "
-"vorbereiten\n"
-" --locations Standortberechnung ermöglichen\n"
-" -p, --name-prefix=PRÄFIX PRÄFIX vor alle externen Symbole setzen\n"
-" -l, --no-lines keine »#line«-Direktiven erzeugen\n"
-" -n, --no-parser nur die Tabellen generieren\n"
-" -k, --token-table einer Tabellen der Token-Namen mit "
-"einschließen\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Ausgabe:\n"
-" -d, --defines auch eine Header-Datei herstellen\n"
-" -r, --report=DINGE auch Details des Automaten ausgeben\n"
-" -v, --verbose auch eine Erklärung des Automaten herstellen\n"
-" -b, --file-prefix=PRÄFIX einen PRÄFIX für Ausgabe-Dateien angeben\n"
-" -o, --output=DATEI Ausgabe in DATEI schreiben\n"
-" -g, --graph auch eine VCG-Beschreibung des Automaten "
-"herstellen\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"DINGE ist eine Liste kommagetrennter Wörter aus:\n"
-" »state« die Zustänge beschreiben\n"
-" »itemset« die Kernsybolmengen mit ihrem Abschluss vervollständigen\n"
-" »lookahead« explizit Vorschau mit Symbolen verbinden\n"
-" »solved« Schiebe-/Reduzier-Konfliktlösung beschreiben\n"
-" »all« alle oben genannten Informationen\n"
-" »none« den Report abschalten\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr ""
-"Berichten Sie Fehler (auf Englisch, mit LC_ALL=C) an <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Geschrieben von Robert Corbett und Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright © %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es\n"
-"gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE "
-"ZWECKE.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "fehlender Operand nach »%s«"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "zusätzlicher Operand »%s«"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "leer"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammatik"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "Warnung"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "Regel nie reduziert wegen Konflikten"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX verbietet Deklarationen in der Grammatik"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "fehlender Bezeichner in Parameterdeklaration"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " Typ %d ist %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "schiebe und gehe zu Zustand %d über\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "gehe zu Zustand %d über\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "Fehler (nicht assoziativ)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reduziere mit Regel %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "annehmen"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "Zustand %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminale und die Regeln, in denen sie verwendet werden"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Nicht-Terminal und die Regeln, in denen sie verwendet werden"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " auf der linken Seite:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " auf der rechten Seite:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "niemals reduzierte Regeln"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "mehr als eine %s-Deklaration"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "Rückgabetyp-Konflikt in merge-Funktion %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "Regel für %s vorhanden, welches aber ein Token ist"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "Typkonflikt bei Default-Aktion: <%s> != <%s>) "
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "leere Regel für Nicht-Terminal mit Typ und keine Aktion"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "nur ein %s pro Regel erlaubt"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s betrifft nur GLR-Parser"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s muss von positiver Zahl gefolgt sein"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "Eingabegrammatik enthält keine Regeln"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "nutzlose Regel"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "nutzloses Nicht-Terminal: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Nutzlose Nicht-Terminale"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Nicht genutzte Terminale"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Nutzlose Regeln"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d Regel wurde niemals reduziert\n"
-msgstr[1] "%d Regeln wurden niemals reduziert\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d nutzloses Nicht-Terminal"
-msgstr[1] "%d nutzlose Nicht-Terminale"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " und "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d nutzlose Regel"
-msgstr[1] "%d nutzlose Regeln"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "überzähliges »,« als Freiraum betrachtet"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "ungültige Direktive: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "Ganzzahl außerhalb des Wertebereichs: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "ungültiges Zeichen: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "unzulässiges Fluchtzeichen: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "unbekanntes Fluchtzeichen: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "fehlende »{« in »%s«"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ von »%s« hat keinen deklarierten Typ"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d von »%s« hat keinen deklarierten Typ"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "unzulässiger Wert: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "fehlendes »%s« am Ende der Datei"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "unzulässiger $-Wert"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "erneute Deklaration des Typs für %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s erneute Deklaration für %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "Vorrang von %s wird erneut definiert"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "Symbol %s noch einmal definiert"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "Nutzertokennummer von %s erneut definiert"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
-"Regel"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "Symbol »%s« wird mehr als einmal als literale Zeichenkette benutzt"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "Symbol »%s« wird mehr als eine literale Zeichenkette gegeben"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "Vorrang für %s und %s widersprechen sich"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "Assoziativitäts-Werte für %s (%s) und %s (%s) widersprechen sich"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "Token %s und %s haben die selbe Nummer %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "das Startsymbol %s ist undefiniert"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "das Startsymbol %s ist ein Token"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "unzulässiges Argument %s für %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "mehrdeutiges Argument %s für %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Gültige Argumente sind:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u freigegeben (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u zwischengespeichert (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u zwischengespeichert (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u zwischengespeichert (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "Zähler-Histogramm\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "Größe-Histogramm\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "Dichte-Histogramm\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Bitset-Statistiken:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Gesammelte Durchläufe = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Konnte Statistik-Datei nicht lesen."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Ungültige Statistik-Datei-Größe.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Konnte Statistik-Datei nicht schreiben."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Konnte Statistik-Datei nicht zum Schreiben öffnen."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Option »%s« ist mehrdeutig\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: Option »--%s« erlaubt kein Argument\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: Option »%c%s« erlaubt kein Argument\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: Option »%s« erfordert ein Argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: unbekannte Option »--%s«\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: unbekannte Option »%c%s«\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ungültige Option -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ungültige Option -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: Option erfordert ein Argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: Option »-W %s« ist mehrdeutig\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: Option »-W %s« erlaubt kein Argument\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "Speicher ausgeschöpft"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "»"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "«"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "untergeordnetes Programm »%s« konnte nicht aufgerufen werden"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "untergeordnetes Programm »%s« nicht gefunden"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "untergeordnetes Programm »%s« fehlgeschlagen"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "untergeordnetes Programm »%s« fehlgeschlagen (Rückgabewert %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Ausführungszeiten (Sekunden)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " ZUSAMMEN :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "Zeit in %s: %ld.%06ld (%ld%%)\n"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d Schiebe/Reduziere-Konflikt"
-#~ msgstr[1] "%d Schiebe/Reduziere-Konflikte"
-
-#~ msgid "and"
-#~ msgstr "und"
-
-#~ msgid "conflicts: "
-#~ msgstr "Konflikte: "
-
-#~ msgid "State %d contains "
-#~ msgstr "Zustand %d enthält "
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "zu viele Gotos (max %d)"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "zu viele Symbole (Token plus Nicht-Terminale); Maximum %d"
-
-#~ msgid ": unexpected end of file in a comment\n"
-#~ msgstr ": Datei endet unerwartet innerhalb eines Kommentars\n"
-
-#~ msgid ": unexpected end of file in a string\n"
-#~ msgstr ": Datei endet unerwartet innerhalb einer Zeichenkette\n"
-
-#~ msgid ": unexpected end of file in a character\n"
-#~ msgstr ": Datei endet unerwartet innerhalb eines Zeichens\n"
-
-#~ msgid ": unexpected end of file in a braced code\n"
-#~ msgstr ": Datei endet unerwartet innerhalb geklammerten Programmtexts\n"
-
-#~ msgid ": unexpected end of file in a prologue\n"
-#~ msgstr ": Datei endet unerwartet innerhalb eines Prologs\n"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s ist unzulässig"
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "zu viele Zustände (max %d)"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: keine Grammatik-Datei angegeben\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "zwei @prec-Anweisungen nacheinander"
-
-#~ msgid "%%dprec affects only GLR parsers"
-#~ msgstr "%%dprec betrifft nur GLR-Parser"
-
-#~ msgid "only one %%dprec allowed per rule"
-#~ msgstr "nur ein %%dprec pro Regel erlaubt"
-
-#~ msgid "state_list_append (state = %d, symbol = %d (%s))\n"
-#~ msgstr "state_list_append (Zustand = %d, Symbol = %d (%s))\n"
-
-#~ msgid "Entering new_itemsets, state = %d\n"
-#~ msgstr "Betrete new_itemsets, Zustand = %d\n"
-
-#~ msgid "Entering get_state, symbol = %d (%s)\n"
-#~ msgstr "Betrete get_state, Symbol = %d (%s)\n"
-
-#~ msgid "Exiting get_state => %d\n"
-#~ msgstr "Verlasse get_state => %d\n"
-
-#~ msgid "Entering append_states, state = %d\n"
-#~ msgstr "Betrete append_states, Zustand = %d\n"
-
-#~ msgid "Processing state %d (reached by %s)\n"
-#~ msgstr "Verarbeite Zustand %d (erreicht von %s)\n"
-
-#~ msgid "undefined associativity"
-#~ msgstr "undefinierte Assoziativität"
-
-#~ msgid "Closure: %s\n"
-#~ msgstr "Abschluss: %s\n"
-
-#~ msgid " (rule %d)\n"
-#~ msgstr " (Regel %d)\n"
-
-#~ msgid "input"
-#~ msgstr "Eingabe"
-
-#~ msgid "output"
-#~ msgstr "Ausgabe"
-
-#~ msgid ""
-#~ "Variables\n"
-#~ "---------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Variablen\n"
-#~ "---------\n"
-#~ "\n"
-
-#~ msgid "Value Sprec Sassoc Tag\n"
-#~ msgstr "Wert Spräz Sassoz Tag\n"
-
-#~ msgid ""
-#~ "Rules\n"
-#~ "-----\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Regeln\n"
-#~ "-----\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]\n"
-#~ msgstr ""
-#~ "Num (Präz, Assoz, Nützl., Ritem-Ber.) LS -> RS (Ritem-Ber.) [Num]\n"
-
-#~ msgid ""
-#~ "Rules interpreted\n"
-#~ "-----------------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Regeln interpretiert\n"
-#~ "-----------------\n"
-#~ "\n"
-
-#~ msgid "Lookaheads: BEGIN\n"
-#~ msgstr "Vorschau: ANFANG\n"
-
-#~ msgid "State %d: %d lookaheads\n"
-#~ msgstr "Zustand %d: %d Vorschauen\n"
-
-#~ msgid " on %d (%s) -> rule %d\n"
-#~ msgstr " auf %d (%s) -> Regel %d\n"
-
-#~ msgid "Lookaheads: END\n"
-#~ msgstr "Vorschau: ENDE\n"
-
-#~ msgid "relation_transpose: input\n"
-#~ msgstr "relation_transpose: Eingabe\n"
-
-#~ msgid "relation_transpose: output\n"
-#~ msgstr "relation_transpose: Ausgabe\n"
-
-#~ msgid "reduce"
-#~ msgstr "durch Reduzierung gelöst"
-
-#~ msgid "shift"
-#~ msgstr "durch Schieben gelöst"
-
-#~ msgid "%s contains "
-#~ msgstr "%s enthält "
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "»%s« wird nicht länger unterstützt"
-
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
-
-#~ msgid "unterminated comment"
-#~ msgstr "unbeendeter Kommentar"
-
-#~ msgid "unescaped newline in constant"
-#~ msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
-
-# Oder soll man den Begriff "Escapezeichen" verwenden?
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "unbekanntes Escapezeichen: »\\« gefolgt von »%s«"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "unerwarteter Typname am Ende der Datei"
-
-#~ msgid "unterminated type name"
-#~ msgstr "unerwarteter Typname"
-
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "»%s« unterstützt kein Argument: %s"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "die Option »%s« erfordert ein Argument"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\tFehler (nicht assoziativ)\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $default\treduziere mit Regel %d (%s)\n"
-#~ "\n"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[reduziere mit Regel %d (%s)]\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\treduziere mit Regel %d (%s)\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $default\treduziere mit Regel %d (%s)\n"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $default\takzeptiere\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " KEINE AKTIONEN\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "Nummer, Zeile, Regel"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " Überspringe Zeichen bis zum nächsten \\n"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " Überspringe Zeichen bis zum nächten %c"
-
-#~ msgid "unterminated string"
-#~ msgstr "unbeendete Zeichenkette"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr "unbeendete »%{«-Definition"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "Vorzeitiges EOF nach %s"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "»%s« ist in %s nicht erlaubt"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "ungültige %s-Deklaration"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "%type-Deklaration hat keinen <Typ-Namen>"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "ungültige %%type-Deklaration wegen: %s"
-
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr "unzulässiger Text (%s) - Zahl sollte nach Bezeichner kommen"
-
-#~ msgid "unexpected item: %s"
-#~ msgstr "unerwartetes Symbol: %s"
-
-#~ msgid "unmatched %s"
-#~ msgstr "%s ohne Gegenstück"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "Argument von %%expect ist keine ganze Zahl"
-
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
-
-#~ msgid "no input grammar"
-#~ msgstr "keine Eingabe-Grammatik"
-
-#~ msgid "unknown character: %s"
-#~ msgstr "unbekanntes Zeichen: %s"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr ""
-#~ "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
-#~ "gefolgt"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
-
-#~ msgid "previous rule lacks an ending `;'"
-#~ msgstr "vorangehende Regel hat kein abschließendes »;«"
-
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr ""
-#~ "%%guard-Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "Zwei Aktionen am Ende einer Regel"
-
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "maximale Tabellengröße (%d) überschritten"
-
-#~ msgid " $ \tgo to state %d\n"
-#~ msgstr " $ \tgehe zu Zustand %d über\n"
-
-#~ msgid "unterminated %guard clause"
-#~ msgstr "unbeendeter %guard-Fall"
diff --git a/po/es.po b/po/es.po
deleted file mode 100644
index 746ee664..00000000
--- a/po/es.po
+++ /dev/null
@@ -1,1018 +0,0 @@
-# Mensajes en español para GNU Bison.
-# Copyright (C) 1998 Free Software Foundation, Inc.
-# Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>, 1998.
-#
-# Corregido por:
-#
-# cll - Carlos Linares López clinares@acm.org
-# clinares@delicias.dia.fi.upm.es
-#
-# Notas:
-#
-# 1. Nicolás, en algunas ocasiones notarás que algunos `msgstr' no están
-# indentados como los `msgid'. No te preocupes, eso es porque yo utilizo
-# el `po-mode' de Emacs, ... Él es el responsable de esas indentaciones
-# del `msgstr' :)
-#
-# 2. Todos los comentarios que contengan "Duda:" debieran revisarse.
-#
-# --------------------------------------------------------------------
-# En mi opinión has hecho un excelente trabajo y te animo a que sigas
-# manteniendo esta traducción y a que lo intentes con otras.
-#
-# (¡te lo dice el tío que ha traducido el paquete más grande: 1406
-# mensajes en el clisp!)
-#
-# Carlos Linares
-# --------------------------------------------------------------------
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-02 12:47+0100\n"
-"Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
-"Language-Team: Spanish <es@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Error del sistema desconocido"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "aviso: "
-
-# Duda: desconozco cuál será el convenio en la lista de correo a
-# propósito de "fatal". Por favor, comprueba que "error grave" es
-# preferido por todos los miembros a "error fatal" - cll
-# veremos que dice la mayoría, como hay otros 2 revisores
-# La verdad es que a mi lo de error fatal me suena fatal
-# ngp
-#
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "error grave: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr ""
-" El conflicto entre la regla %d y el terminal %s se resuelve como "
-"desplazamiento."
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr ""
-" El conflicto entre la regla %d y el terminal %s se resuelve como "
-"reducción."
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr ""
-" El conflicto entre la regla %d y el terminal %s se resuelve como un "
-"error."
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "conflictos: %d desplazamiento/reducción, %d reducción/reducción\n"
-
-# Date cuenta de que `%d' puede ser cualquier número decimal. Podría
-# ocurrir, por lo tanto, que tu mensaje en ejecución se vea luego como:
-#
-# 23845789243789 desplazamiento/reducción
-#
-# (¡estoy exagerando!, por supuesto :)
-#
-# Te sugiero por lo tanto que añadas el caso (s) tal y como se hace en
-# español habitualmente.
-# ok
-# ngp
-#
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "conflictos: %d desplazamiento(s)/reducción(ones)\n"
-
-# Date cuenta de que `%d' puede ser cualquier número decimal. Podría
-# ocurrir, por lo tanto, que tu mensaje en ejecución se vea luego como:
-#
-# 23845789243789 reducción/reducción
-#
-# (¡estoy exagerando!, por supuesto :)
-#
-# Te sugiero por lo tanto que añadas el caso (s) tal y como se hace en
-# español habitualmente.
-#
-# ok
-# ngp
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "conflictos: %d reducción(ones)/reducción(ones)\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Estado %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "esperado %d conflicto desplazamiento/reducción"
-msgstr[1] "esperados %d conflictos desplazamiento/reducción"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "esperados 0 conflictos reducción/reducción"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "no se puede abrir el fichero `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "Error de E/S"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "no se puede cerrar el fichero"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "salidas en conflicto al fichero %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Pruebe `%s --help' para más información.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genera analizadores para gramáticas LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Utilización: %s [OPCIÓN]... FICHERO\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Si una opción larga muestra un argumento como obligatorio, entonces es "
-"obligatorio\n"
-"para la opción corta equivalente también. De igual forma para los argumentos "
-"opcionales.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Modos de operación:\n"
-" -h, --help muestra esta ayuda y termina\n"
-" -V, --version informa de la versión y termina\n"
-" -y, --yacc emula POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Analizador:\n"
-" -S, --skeleton=FICHERO especifica el skeleton a utilizar\n"
-" -t, --debug instrumenta al analizador para depuración\n"
-" --locations abilita la computación de localizaciones\n"
-" -p, --name-prefix=PREFIJO preañade PREFIJO a los símbolos externos\n"
-" -l, --no-lines no genera la directiva `#line'\n"
-" -n, --no-parser solamente genera las tablas\n"
-" --k, --token-table incluye una tabla de nombres de terminales\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Salida:\n"
-" -d, --defines también produce un fichero de cabecera\n"
-" -r, --report=THINGS también produce detalles del automaton\n"
-" -v, --verbose también produce una explicación del automaton\n"
-" -b, --file-prefix=PREFIJO especifia el PREFIJO para los ficheros de "
-"salida\n"
-" -o, --output=FICHERO almacena la salida en FICHERO\n"
-" -g, --graph también produce una descripción en VCG del "
-"automaton\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"THINGS es una lista de palabras separadas por comas que puede incluir:\n"
-" `state' describe los estados\n"
-" `itemset' completa los conjuntos de ítems núcleo con sus cierres\n"
-" `lookahead' asocia explícitamente lookaheads a los ítems\n"
-" `solved' describe la resolución de los conflictos desplazamiento/"
-"reducción\n"
-" `all' incluye toda la información anterior\n"
-" `none' disable the report\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Informe de los errores a <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Escrito por Robert Corbett y Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Esto es software libre; mire el fuente para las condiciones de copia. No "
-"hay\n"
-"NINGUNA garantía; ni siquiera para COMERCIALIZACIÓN o ADAPTACIÓN PARA UN\n"
-"USO PARTICULAR\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "falta un operando después de `%s'"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "operando extra `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "vacío"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Gramática"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "aviso"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "la regla nunca se redujo debido a los conflictos"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX prohíbe declaraciones en a gramática"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "falta el identificador el la declaración del parámetro"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " el tipo %d es %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "desplazar e ir al estado %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "ir al estado %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "error (no asociativo)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reduce usando la regla %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "aceptar"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "estado %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminales con las reglas donde aparecen"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "No terminales con las reglas donde aparecen"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " en la izquierda:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " en la derecha:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Reglas nunca reducidas"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "múltiples declaraciones de %s"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "tipo resultado incompatible en la función combinada %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "se ha dado una regla para %s, que es un terminal"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "incompatibilidad de tipos en la acción por defecto: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "sólo se permite un %s por regla"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s afecta sólo a los analizadores GLR"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s debe estar seguido por un número positivo"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "no hay reglas en la gramática de entrada"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "regla sin uso"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "No terminal sin uso: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "No terminales sin uso"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminales que no se usan"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Reglas sin uso"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regla que nunca se ha reducido\n"
-msgstr[1] "%d reglas que nunca se han reducido\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d no terminal sin uso"
-msgstr[1] "%d no terminales sin uso"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " y "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d regla sin uso"
-msgstr[1] "%d reglas sin uso"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "`,' perdido se trato como un espacio en blanco"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "directiva no válida: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "entero fuera de rango: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "carácter no válido: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "secuencia de escape no válida: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "secuencia de escape no reconocida: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "falta `{' en `%s'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ de `%s' no tiene tipo declarado"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d de `%s' no tiene tipo declarado"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "valor no válido: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "falta cadena `%s' al final del fichero"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "valor $ no válido"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "redeclaración del tipo de %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s redeclaración de %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "redefinición de la precedencia de %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "redefinido el símbolo %s"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "redefinición del número del terminal del usuario de %s"
-
-# `token' se debe traducir como `literal' - cll
-# en terminología de compiladores token es más un terminal - ngp
-#
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "símbolo `%s' utilizado más de una vez como cadena literal"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "al símbolo `%s' se le ha dado más de una cadena literal"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "precedencias en conflicto entre %s y %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "conflicto de asociaciatividades para %s (%s) y %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "los terminales %s y %s tienen asignados ambos el número %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "el símbolo de inicio (axioma) %s no está definido"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "el símbolo de inicio (axioma) %s es un terminal"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "argumento no válido %s para %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argumento %s ambigüo para %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Los argumentos válidos son:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u liberados (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u en la caché (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u en la caché (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u en la caché (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "histograma del registro de conteo\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "histograma del registro de tamaño\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "histograma de densidad\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr "Estadísticas de bitset\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Ejecuciones acumuladas = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "No pude leer fichero de estadísticas"
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Fichero de estadística no válido.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "No pude escribir el fichero de estadísticas."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "No pude abrir el fichero de estadísticas para escritura"
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: la opción `%s' es ambigua\n"
-
-# Pongo esto como en otros .po. sv
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: la opción `--%s' no admite ningún argumento\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: la opción `%s' requiere un argumento\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opción `--%s' no reconocida\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opción `%c%s' no reconocida\n"
-
-# ¿Qué encuentras de malo en traducir `illegal' como `ilegal'? Date
-# cuenta de que el mensaje "opción no válida" parece ambigua y hará
-# pensar al usuario de que tal vez la ha usado incorrectamente, sin
-# reparar, por lo tanto, en que la opción misma es ilegal. Esto es, ¡¡no
-# existe!! (porque imagino que es en este sentido como se ha programado)
-# - cll
-# Sobre esto hubo una discusión en la lista hace tiempo,
-# quizás ilegal queda un poco fuerte, alguien decía que parecía que
-# ibas a ir a la carcel por usar la opción.
-# ngp
-#
-# Sí, era Enrique a quien no le gustaba la palabra.
-# No creo que debamos dejar de decir algo por la "corrección política"
-# Yo creo que si el 386 tiene instrucciones *ilegales*, también puede
-# haber opciones ilegales, digo yo, y no por eso las CPUs van
-# a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv
-#
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opción -- %c ilegal\n"
-
-# ¡Muy bien traducido! En el grupo de traducción ha habido auténticas
-# batallas con el tema "invalid - inválido/a" :) - cll
-# Porque Enrique decía que le recordaba a disminuidos físicos.
-# Francamente, no creo que haya que andar con estas "fobias".
-# Pongo inválida. sv
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opción -- %c no válida\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: la opción -- %c requiere un argumento\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: la opción `-W %s' es ambigua\n"
-
-# Pongo esto como en otros .po. sv
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "memoria agotada"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "no se pudo invocar el programa subsidiario `%s'"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "no se encontró el programa subsidiario `%s'"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "falló el programa subsidiario `%s'"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "falló el programa subsidiario `%s' (estado de salida %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Tiempos de ejecución (segundo)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTAL :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tiempo en %s: %ld.%06ld (%ld%%)\n"
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "demasiados estados (máximo %d)"
-
-#~ msgid "reduce"
-#~ msgstr "reduce"
-
-#~ msgid "shift"
-#~ msgstr "desplaza"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d conflicto desplazamiento/reducción"
-#~ msgstr[1] "%d conflictos desplazamiento/reducción"
-
-#~ msgid "and"
-#~ msgstr "y"
-
-#~ msgid "State %d contains "
-#~ msgstr "El estado %d contiene"
-
-#~ msgid "conflicts: "
-#~ msgstr "conflictos: "
-
-#~ msgid "%s contains "
-#~ msgstr "%s contiene "
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "`%s' ya no está soportado"
-
-# Me parece menos "computadora" decir "ningún fichero de gramática" - cll
-#
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: no se ha especificado ningún fichero de gramática\n"
-
-# Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "demasiados gotos (máximo %d)"
-
-# to ignore no es ignorar. Pon otra cosa, please. sv
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
-
-#~ msgid "unterminated comment"
-#~ msgstr "comentario sin terminar"
-
-#~ msgid "unexpected end of file"
-#~ msgstr "fin de fichero inesperado"
-
-# ¿unescaped?
-#~ msgid "unescaped newline in constant"
-#~ msgstr "salto de línea en constante sin secuencia de escape"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "valor octal fuera del rango 0...255: `\\%o'"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "valor hexadecimal mayor que 255: `\\x%x'"
-
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "secuencia de escape desconocida: `\\' seguido de `%s'"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "nombre de tipo sin terminar al final del fichero"
-
-#~ msgid "unterminated type name"
-#~ msgstr "nombre de tipo sin terminar"
-
-# ¿multicarácter o multicaracteres? sv
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr "use \"...\" para terminales literales multicarácter"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "`%s' no soporta el argumento: %s"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "`%s' requiere un argumento"
-
-#~ msgid " (rule %d)"
-#~ msgstr " (regla %d)"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\terror (no asociativo)\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $default\treduce usando la regla %d (%s)\n"
-#~ "\n"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[reduce usando la regla %d (%s)]\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\treduce usando la regla %d (%s)\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $default\treduce usando la regla %d (%s)\n"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $default\taceptar\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " SIN ACCIONES\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "Número, Línea, Regla"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " Saltando al siguiente \\n"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " Saltando al siguiente %c"
-
-#~ msgid "unterminated string"
-#~ msgstr "cadena sin terminar"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s no es válido"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr "definición `%{' sin terminar"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "EOF prematuro después de %s"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "`%s' no es válido en %s"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "declaración de %s no válida"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "la declaración %type no tiene <nombre-tipo>"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "declaración de %%type no válida debido al ítem: %s"
-
-# Una corrección menor: en realidad, `should' es el pasado y condicional
-# de "to must" y aquí se emplea en su forma condicional. Por eso, he
-# cambiado `debe' por `debería' - cll
-# ahí me has pillado en un olvido del inglés - ngp
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr ""
-#~ "texto no válido (%s) - el número debería estar después del identificador"
-
-# En unas ocasiones, has traducido `unexpected' como `no esperado' y, en
-# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
-# este caso, la segunda me parece más apropiada - cll
-# ok - ngp
-#~ msgid "unexpected item: %s"
-#~ msgstr "ítem inesperado: %s"
-
-# Cambio el orden y el sexo. Ahora está "en español". sv
-#~ msgid "unmatched %s"
-#~ msgstr "%s desemparejado/a"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "el argumento de %%expect no es un entero"
-
-# No te recomiendo que emplees participios para expresar acciones (¡si
-# me oyera mi antigua profesora de lengua, lloraría de emoción! :). En
-# vez de eso, emplea las conjugaciones habituales, que para eso están :)
-# - cll
-# ok - ngp
-#
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "no se reconoce el ítem %s, se esperaba un identificador"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "se esperaba una cadena constante en lugar de %s"
-
-#~ msgid "no input grammar"
-#~ msgstr "no hay gramática de entrada"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr "regla mal formada: el símbolo inicial no está seguido por :"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "la gramática comienza con una barra vertical"
-
-#~ msgid "previous rule lacks an ending `;'"
-#~ msgstr "a la regla previa le falta un `;' al final"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "dos @prec en una línea"
-
-# Insisto, el empleo de participios a secas me parece como hablar en
-# indio. Por favor, permíteme que añada un "está" :) - cll
-# ok - ngp
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr "%%guard presente pero %%semantic_parser está sin especificar"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "dos acciones al final de una regla"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "demasiados símbolos (terminales y no terminales); máximo %d"
-
-# Únicamente cambio la posición del adjetivo `máximo'. En vez de después
-# de `tabla', después de `tamaño' - cll
-# en inglés era así, pero quizás en español sea mejor como dices
-# ngp
-#
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "excedido el tamaño máximo de la tabla (%d)"
-
-#~ msgid " $ \tgo to state %d\n"
-#~ msgstr " $ \tir al estado %d\n"
-
-# Tal vez pueda parecer pedante, pero `inconclusa' me suena muchísimo
-# mejor que `sin terminar' que me parece más "computerizado" - cll
-# quizás un poco cacofónico lo de claúsula inconclusa - ngp
-#
-#~ msgid "unterminated %guard clause"
-#~ msgstr "cláusula %guard sin terminar"
diff --git a/po/et.po b/po/et.po
deleted file mode 100644
index 79f80c0e..00000000
--- a/po/et.po
+++ /dev/null
@@ -1,704 +0,0 @@
-# Estonian translations for bison.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Toomas Soome <tsoome@ut.ee>, 2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-02 11:59+0200\n"
-"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
-"Language-Team: Estonian <et@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-15\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Tundmatu süsteemi viga"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "hoiatus: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "fataalne viga: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Konflikt reegli %d ja märgi %s vahel lahendatud nihkega"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Konflikt reegli %d ja märgi %s vahel lahendatud redutseerimisega"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Konflikt reegli %d ja märgi %s vahel lahendatud veana"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr ""
-"konfliktid: %d nihutamine/redutseerimine, %d redutseerimine/redutseerimine\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "konfliktid: %d nihutamine/redutseerimine\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "konfliktid: %d redutseerimine/redutseerimine\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Olek %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti"
-msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "eeldasin 0 redutseerimine/redutseerimine konflikti"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "faili `%s' ei saa avada"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "S/V viga"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "faili ei õnnestu sulgeda"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "konfliktsed väljundid faili %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Lisainfo saamiseks proovige `%s --help'.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genereerib parsereid LALR(1) grammatikatele.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Kasuta: %s [VÕTI]...FAIL\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Kui pikk võti näitab, et argument on kohustuslik, siis on see kohustuslik \n"
-"ka lühikese võtme korral. Sama ka vabalt valitavate võtmete korral.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Töömoodid:\n"
-" -h, --help esita see abiinfo ja lõpeta töö\n"
-" -V, --version esita versiooniinfo ja lõpeta töö\n"
-" -y, --yacc emuleeri POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=FAIL kasutatava skeleti kirjeldus\n"
-" -t, --debug varusta parser silumisinfoga\n"
-" --locations luba asukohtade arvestamine\n"
-" -p, --name-prefix=PREFIKS lisa välissümbolite nimedele PREFIKS\n"
-" -l, --no-lines ära genereeri `#line' direktiive\n"
-" -n, --no-parser genereeri ainult tabelid\n"
-" -k, --token-table lisa ka sümbolite nimede tabel\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Väljund:\n"
-" -d, --defines loo ka päisfail\n"
-" -r, --report=ASJAD väljasta automaadi kohta selgitusi\n"
-" -v, --verbose sama, kui `--report=state'\n"
-" -b, --file-prefix=PREFIKS kasuta väljundfailide nimedes PREFIKSit\n"
-" -o, --output-file=FAIL jäta väljund FAILi\n"
-" -g, --graph loo automaadi kirjeldus VCG graafina\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"ASJAD on loend komadega eraldatud järgnevaid sõnu:\n"
-" `state' olekute kirjeldus\n"
-" `itemset' täienda põhilisi elemente nende sulunditega\n"
-" `lookahead' seo ettevaatamised elementidega\n"
-" `solved' kirjelda nihuta/redutseeri konfliktide lahendamisi\n"
-" `all' kogu ülaltoodud info\n"
-" `none' blokeeri raport\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Teatage palun vigadest aadressil <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Kirjutanud Robert Corbett ja Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Autoriõigus © %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
-"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "`%s' järel puudub operand"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "Liigne operand `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "tühi"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammatika"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "hoiatus"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "reeglit ei redutseerita konfliktide tõttu kunagi"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX keelab deklareerimised grammatikas"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "parameetri deklaratsioonis puudub identifikaator"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " tüüp %d on %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "nihuta ja liigu olekule %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "liigu olekule %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "viga (mitteassotsiatiivne)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "redutseerin kasutades reeglit %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "nõustun"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "olek %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminalid, koos reeglitega kus nad ilmuvad"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Mitteterminalid, koos reeglitega kus nad ilmuvad"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " vasakul:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " paremal:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Mitteredutseeruvad reeglid"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "korduvad %s deklaratsioonid"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "tulemuse tüübikonflikt mestimise funktsioonis %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "%s jaoks on antud reegel, aga see on märk"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "vaikimisi tegevuse tüübikonflikt: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "reeglis on lubatud ainult üks %s"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s puudutab ainult GLR parsereid"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s järel peab olema positiivne number"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "sisendgrammatikas pole reegleid"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "kasutamata reegel"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "kasutamata mitteterminal: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Kasutamata mitteterminalid"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminalid, mida ei kasutatud"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Kasutamata reeglid"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d reegel ei redutseeru\n"
-msgstr[1] "%d reeglit ei redutseeru\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d kasutamata mitteterminal"
-msgstr[1] "%d kasutamata mitteterminali"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " ja "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d kasutamata reegel"
-msgstr[1] "%d kasutamata reeglit"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "stardisümbolist %s ei tuletata ühtegi lauset"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "käsitlen juhuslikku `,' kui tühikut"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "vigane juhus: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "number piiridest väljas: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "vigased sümbolid: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "vigane paojada: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "tundmatu paojada: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "`%s' juures puudub `{'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "`%s' $$ ei oma deklareeritud tüüpi"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d `%s' ei oma deklareeritud tüüpi"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "vigane väärtus: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "faili lõpus puudub `%s'"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "vigane $ väärtus"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "%s tüübi uuesti deklareerimine"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s uuesti deklareerimine %s jaoks"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "%s prioriteedi uus definitsioon"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "sümbol %s on uuesti defineeritud"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "%s kasutaja märgi numbri uuesti defineerimine"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
-"reeglid"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "sümbolit `%s' on kasutatud enam kui kord literaal sõnena"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "sümbolile `%s' on antud enam kui üks literaal sõne"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "%s ja %s omavad konfliktseid prioriteete"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "%s (%s) ja %s (%s) omavad konfliktseid assotsiatiivseid väärtuseid"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "stardisümbol %s ei ole defineeritud"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "stardisümbol %s on märk"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "vigane argument %s %s'le"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "segane argument %s %s'le"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Lubatud argumendid on:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u vabastatud (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u puhverdatud (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u puhverdatud (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u puhverdatud (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "loenduri logi histogramm\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "suuruste logi histogramm\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "tiheduse histogramm\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Bitset statistika:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Salvestatud läbimisi = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Statistika faili ei saa lugeda."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Vigane statistika faili suurus.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Statistika faili ei saa kirjutada."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Statistika faili ei saa kirjutamiseks avada."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: võti `%s' on segane\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: võti `--%s' ei luba argumenti\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: võti `%c%s' ei luba argumenti\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: võti `%s' nõuab argumenti\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: tundmatu võti `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: tundmatu võti `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: lubamatu võti -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: vigane võti -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: võti nõuab argumenti -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: võti `-W %s' on segane\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: võti `-W %s' ei luba argumenti\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "mälu on otsas"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "abiprogrammi `%s' ei saa käivitada"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "ei leia abiprogrammi `%s'"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "abiprogramm `%s' ebaõnnestus"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "abiprogramm `%s' ebaõnnestus (lõpetamise kood %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Täitmise ajad (sekundites)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " KOKKU :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "aeg %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/fr.po b/po/fr.po
deleted file mode 100644
index 7066ac62..00000000
--- a/po/fr.po
+++ /dev/null
@@ -1,1183 +0,0 @@
-# Messages français pour Bison.
-# Copyright © 1996 Free Software Foundation, Inc.
-# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996
-# Dominique Boucher a été le traducteur de 1996 à 2000
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-01 20:00-0500\n"
-"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
-"Language-Team: French <traduc@traduc.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Erreur système inconnue"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "AVERTISSEMENT: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "erreur fatale: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr "Conflit entre la règle %d et le jeton %s résolu par décalage"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr "Conflit entre la règle %d et le jeton %s résolu par réduction"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr "Conflit entre la règle %d et le jeton %s résolu comme étant une erreur"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "conflits: %d décalage/réduction, %d réduction/réduction\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "conflits: %d décalage/réduction\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "conflits: %d réduction/réduction\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "État %d"
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "attendait %d conflit par décalage/réduction"
-msgstr[1] "attendait %d conflits par décalage/réduction"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "attendait 0 conflit par réduction/réduction"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "ne peut ouvrir le fichier « %s »"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "une erreur d'E/S"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "ne peut fermer le fichier"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "sorties en conflit vers le fichier %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Pour en savoir davantage, faites: « %s --help ».\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison génère des analyseurs pour les grammaires de type LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Usage: %s [OPTION]... FICHIER\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Si une option de forme longue montre un arguement comme étant obligatoire,\n"
-"il est alors obligatoire également pour une option de forme courte.\n"
-"Il en est de même pour les arguments optionnels.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Modes d'utilisation:\n"
-" -h, --help afficher l'aide-mémoire\n"
-" -V, --version afficher le nom et la version du logiciel\n"
-" -y, --yacc émuler yacc en mode POSIX\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Analyseur:\n"
-" -S, --skeleton=FICHIER utiliser le FICHIER squelette\n"
-" -t, --debug activer le mode de mise au point\n"
-" de l'analyseur\n"
-" --locations permettre le calcul des localisations\n"
-" -p, --name-prefix=PREFIXE accoler le PREFIXE aux symboles externes\n"
-" -l, --no-lines ne pas générer les directives « #line »\n"
-" -n, --no-parser générer les tables seulement\n"
-" -r, --raw compter les jetons à partir de 3\n"
-" -k, --token-table inclure la table des noms de jetons\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Sortie:\n"
-" -d, --defines produire un fichier d'en-tête\n"
-" -r, --report=CHOSES générer les détails concernant l'automate\n"
-" -v, --verbose produire une explication de l'automate\n"
-" -b, --file-prefix=PREFIXE utiliser le PREFIXE pour le fichier de sortie\n"
-" -o, --output=FICHIER produire la sortie dans le FICHIER\n"
-" -g, --graph produire aussi la description du graphe VCG de "
-"l'automate\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"CHOSES est une liste de mots séparés par des virgules par les suivants:\n"
-" `state' description des états\n"
-" `itemset' compléter le corps du jeu d'items avec leur fermeture\n"
-" `lookahead' explicitement associé les lookahead aux items\n"
-" `solved' décrirer la résolution des conflits décalage/réduction\n"
-" `all' inclure toutes les informations ci-haut\n"
-" `none' désactiver la génération de rapport\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Rapporter toutes anomalies à <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Écrit par Robert Corbett et Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright © %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Ce logiciel est libre; voir les sources pour les conditions de\n"
-"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
-"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "opérande manquante après « %s »"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "opérande superflue « %s »"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "vide"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammaire"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "AVERTISSEMENT"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "la règle n'a jamais fait de réduction en raison des conflits"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX interdit les déclaration dans la grammaire"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "identificateur manquant dans la déclaration de paramètres"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " le type %d est %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "décalage et aller à l'état %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "aller à l'état %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "erreur (non-associative)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "réduction par utilisation de la règle %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "accepter"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$défaut"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "état %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminaux, suivis des règles où ils apparaissent"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Non-terminaux, suivis des règles où ils apparaissent"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " à gauche:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " à droite:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Règles jamais réduites"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "déclarations multiples de %s"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-"conflit dans le type résultant de la fonction de fusion %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "la règle pour %s, qui est un terminal"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "conflit de type pour l'action par défaut: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "règle vide pour une catégorie typée et aucune action"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "seul un %s est permis par règle"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s affecte seulement les analyseurs GLR"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s doit être suivi d'un nombre positif"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "la grammaire n'a pas de règles"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "règle inutilisable"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "non-terminal inutilisable: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Non-terminaux inutiles"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminaux qui ne sont utilisés"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Règles inutiles"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d règle n'a jamais été réduite\n"
-msgstr[1] "%d règles n'ont jamais été réduites\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d nonterminal inutilisable"
-msgstr[1] "%d nonterminals inutilisables"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " et "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d règle inutilisable"
-msgstr[1] "%d règles inutilisables"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr ""
-"symbole de départ %s peut permettre la dérivation de n'importe quelle phrase"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "« , » errante traitée comme un blanc"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "directive invalide: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "entier hors gamme: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "caractère invalide: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "séquence d'échappement invalide: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "séquence d'échappement non reconnue: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "« { » manquante dans « %s »"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ de « %s » n'a pas son type déclaré"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d de « %s » n'a pas de type déclaré"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "valeur invalide: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "chaîne de caractères « %s » manquante en fin de fichier"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "la valeur de symbole $ n'est pas valide"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "redéclaration du type de %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "redéclaration de %s pour %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "redéfinition du niveau de priorité de %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "symbole %s redéfini"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "redéfinition du jeton usager numéro de %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
-"de règle"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "symbole « %s » utilisé plus d'une fois dans une chaîne litérale"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "symbole « %s » présent dans plus d'une chaîne litérale"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "les priorités pour %s et %s entrent en conflit"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "conflits d'associativités pour %s (%s) et %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "les jetons %s et %s se sont vus assigner le nombre %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "le symbole de départ %s n'est pas défini"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "le symbole de départ %s est un terminal"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "argument invalide %s pour %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argument ambiguë %s pour %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Arguments valides sont:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u libérés (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u dans la cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u dans la cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u dans la cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "histogramme des compteurs\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "taille de l'histogramme des compteurs\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "densité de l'histogramme\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Statistiques des bitset:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Exécutions accumulées = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Ne peut lire le fichier de stats."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Taille erronée du fichier de stats.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Ne peut écrire le fichier de stats."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Ne ouvrir en écriture le fichier de stats."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'option %s est ambigüe\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'option « --%s » n'admet pas d'argument\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'option « %c%s » n'admet pas d'argument\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'option « %s » requiert un argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: l'option « --%s » est inconnue\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: l'option « %c%s » est inconnue\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: option illégale -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: option non valide -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'option requiert un argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'option « -W %s » est ambiguë\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'option « -W %s » n'admet pas d'argument\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "mémoire épuisée"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "programme subsidiaire « %s » n'a pu être invoqué"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "programme subsidiaire « %s » n'a pas été repéré"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "programme subsidiaire « %s » a échoué"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "programme subsidiaire « %s » a échoué (statut d'exécution %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Temps d'exécution (secondes)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTAL :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "temps dans %s: %ld.%06ld (%ld%%)\n"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d conflit par décalage/réduction"
-#~ msgstr[1] "%d conflits par décalage/réduction"
-
-#~ msgid "and"
-#~ msgstr "et"
-
-#~ msgid "conflicts: "
-#~ msgstr "conflits: "
-
-#~ msgid "State %d contains "
-#~ msgstr "L'état %d contient "
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "nombre trop grand de « goto » (Max %d)"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
-
-#~ msgid ": unexpected end of file in a comment\n"
-#~ msgstr ": fin de fichier inattendue dans un commentaire\n"
-
-#~ msgid ": unexpected end of file in a string\n"
-#~ msgstr ": fin de fichier inattendue dans une chaîne\n"
-
-#~ msgid ": unexpected end of file in a character\n"
-#~ msgstr ": fin de fichier inattendue dans un caractère\n"
-
-#~ msgid ": unexpected end of file in a braced code\n"
-#~ msgstr ": fin de fichier inattendue dans du code entre accolades\n"
-
-#~ msgid ": unexpected end of file in a prologue\n"
-#~ msgstr ": fin de fichier inattendue dans un prologue\n"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s n'est pas valide"
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "nombre trop grand d'états (max %d)"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: grammaire manquante\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: arguments supplémentaires ignorés après « %s »\n"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "deux @prec de suite"
-
-#~ msgid "%%dprec affects only GLR parsers"
-#~ msgstr "%%dprec affecte seulement les analyseurs GLR"
-
-#~ msgid "only one %%dprec allowed per rule"
-#~ msgstr "seul un %%dprec est permis par règle"
-
-#~ msgid "state_list_append (state = %d, symbol = %d (%s))\n"
-#~ msgstr "state_list_append (état = %d, symbole = %d (%s))\n"
-
-#~ msgid "Entering new_itemsets, state = %d\n"
-#~ msgstr "Entrant dans new_itemsets, état = %d\n"
-
-#~ msgid "Entering get_state, symbol = %d (%s)\n"
-#~ msgstr "Entrant dans get_state, symbole = %d (%s)\n"
-
-#~ msgid "Exiting get_state => %d\n"
-#~ msgstr "Sortant de get_state => %d\n"
-
-#~ msgid "Entering append_states, state = %d\n"
-#~ msgstr "Entrant dans append_states, état = %d\n"
-
-#~ msgid "Processing state %d (reached by %s)\n"
-#~ msgstr "Traitement de l'état %d (atteint par %s)\n"
-
-#~ msgid "undefined associativity"
-#~ msgstr "associativité indéfinie"
-
-#~ msgid "Closure: %s\n"
-#~ msgstr "Fermeture: %s\n"
-
-#~ msgid " (rule %d)\n"
-#~ msgstr " (règle %d)\n"
-
-#~ msgid "RTC: Firsts Input"
-#~ msgstr "RTC: premières entrées"
-
-#~ msgid "RTC: Firsts Output"
-#~ msgstr "RTC: premières sorties"
-
-#~ msgid "input"
-#~ msgstr "entrée"
-
-#~ msgid "output"
-#~ msgstr "sortie"
-
-#~ msgid ""
-#~ "Variables\n"
-#~ "---------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Variables\n"
-#~ "---------\n"
-#~ "\n"
-
-#~ msgid "Value Sprec Sassoc Tag\n"
-#~ msgstr "Valeur Sprec Sassoc Étiquette\n"
-
-#~ msgid ""
-#~ "Rules\n"
-#~ "-----\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Règles\n"
-#~ "------\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]\n"
-#~ msgstr ""
-#~ "Num (Prec, Assoc, Utile, Ritem étendue) Lhs -> Rhs (Ritem étendue) "
-#~ "[Num]\n"
-
-#~ msgid ""
-#~ "Rules interpreted\n"
-#~ "-----------------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Règles interprétées\n"
-#~ "-------------------\n"
-#~ "\n"
-
-#~ msgid "Lookaheads: BEGIN\n"
-#~ msgstr "Lookaheads: DÉBUT\n"
-
-#~ msgid "State %d: %d lookaheads\n"
-#~ msgstr "État %d: %d lookaheads\n"
-
-#~ msgid " on %d (%s) -> rule %d\n"
-#~ msgstr " sur %d (%s) -> règle %d\n"
-
-#~ msgid "Lookaheads: END\n"
-#~ msgstr "Lookaheads: FIN\n"
-
-#~ msgid "relation_transpose: input\n"
-#~ msgstr "relation_transpose: entrée\n"
-
-#~ msgid "relation_transpose: output\n"
-#~ msgstr "relation_transpose: sortie\n"
-
-#~ msgid "growing table and check from: %lu to %lu\n"
-#~ msgstr "table en croissance et vérification depuis %lu à %lu\n"
-
-#~ msgid "base_t too small to hold %d\n"
-#~ msgstr "base_t trop petite pour contenir %d\n"
-
-#~ msgid "reduce"
-#~ msgstr "réduction"
-
-#~ msgid "shift"
-#~ msgstr "décalage"
-
-#~ msgid "%s contains "
-#~ msgstr "%s contient "
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "« %s » n'est plus supporté"
-
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "« / » inattendu et ignoré"
-
-#~ msgid "unterminated comment"
-#~ msgstr "le commentaire ne se termine pas"
-
-#~ msgid "unescaped newline in constant"
-#~ msgstr "retour de chariot sans échappement dans une constante"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "valeur octale à l'extérieur de l'intervalle 0...255: « \\%o »"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "valeur hexadécimale supérieure à 255: « \\x%x »"
-
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "séquence d'échappement inconnue: « \\ » suivie de « %s »"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "le nom de type ne se termine pas avant la fin de fichier"
-
-#~ msgid "unterminated type name"
-#~ msgstr "le nom de type ne se termine pas"
-
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr ""
-#~ "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "« %s » ne supporte aucun argument: %s"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "« %s »: requiert un argument"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\terreur (non-associatif)\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $défaut\tréduction par la règle %d (%s)\n"
-#~ "\n"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[réduction par la règle %d (%s)]\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\tréduction par la règle %d (%s)\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $défaut\tréduction par la règle %d (%s)\n"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $défaut\taccepter\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " PAS D'ACTION\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "Nombre, ligne, règle"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " Saut jusqu'au prochain \\n"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " Saut jusqu'au prochain %c"
-
-#~ msgid "unterminated string"
-#~ msgstr "chaîne de caractère non terminée"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr ""
-#~ "La section de définition « %{ » ne termine pas avant la fin du fichier"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "Fin de fichier prématutée après %s"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "« %s » n'est pas valide dans %s"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "la déclaration %s n'est pas valide"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "la déclaration %type n'a pas de <nom_de_type>"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "la déclaration %%type n'est pas valide en raison de l'item: %s"
-
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr ""
-#~ "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
-
-#~ msgid "unexpected item: %s"
-#~ msgstr "item inattendu: %s"
-
-#~ msgid "unmatched %s"
-#~ msgstr "non appariement de %s"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "l'argument de %%expect n'est pas un entier"
-
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "item %s non reconnu, un identificateur est attendu"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "chaîne de caractères constante attendue plutôt que %s"
-
-#~ msgid "no input grammar"
-#~ msgstr "aucune grammaire en entrée"
-
-#~ msgid "unknown character: %s"
-#~ msgstr "caractère inconnu: %s"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr "règle mal formée: le symbole initial n'est pas suivi de « : »"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "la grammaire débute par une barre verticale"
-
-#~ msgid "previous rule lacks an ending `;'"
-#~ msgstr "règle précédente manque une terminaison « ; »"
-
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "deux actions à la fin d'une même règle"
-
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "taille maximale de la table (%d) dépassée"
-
-#~ msgid " $ \tgo to state %d\n"
-#~ msgstr " $ \taller à l'état %d\n"
-
-#~ msgid "unterminated %guard clause"
-#~ msgstr "clause %guard non terminée"
-
-#~ msgid "%s: internal error: %s\n"
-#~ msgstr "%s: erreur interne: %s\n"
-
-#~ msgid "DERIVES"
-#~ msgstr "DÉRIVES"
-
-#~ msgid "%s derives"
-#~ msgstr "%s dérive"
-
-#~ msgid "Entering set_nullable"
-#~ msgstr "Entré dans set_nullable"
-
-#~ msgid ""
-#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
-#~ msgstr ""
-#~ "la réduction de %s définit %d terminal%s, %d catégorie%s et %d production%"
-#~ "s.\n"
-
-#~ msgid " 1 shift/reduce conflict"
-#~ msgstr " 1 conflit décalage/réduction"
-
-#~ msgid "%s contains"
-#~ msgstr "%s contient"
-
-#~ msgid "\t\t/* empty */"
-#~ msgstr "\t\t/* epsilon */"
-
-#~ msgid "multiple %%header_extension declarations"
-#~ msgstr "multiples déclarations %%header_extension"
-
-#~ msgid "multiple %%source_extension declarations"
-#~ msgstr "multiples déclarations %%source_extension"
-
-#~ msgid "vcg graph: no such color."
-#~ msgstr "graphe vcg: pas de telle couleur"
-
-#~ msgid "vcg graph: no such text mode"
-#~ msgstr "graphe vcg: pas de tel mode texte"
-
-#~ msgid "vcg graph: no such shape"
-#~ msgstr "graphe vcg: pas de telle forme"
-
-#~ msgid "vcg graph: no such decision"
-#~ msgstr "graphe vcg: pas de telle décision"
-
-#~ msgid "vcg graph: no such an orientation"
-#~ msgstr "graphe vcg: pas de telle orientation"
-
-#~ msgid "vcg graph: no such an alignement"
-#~ msgstr "graphe vcg: pas de tel alignement"
-
-#~ msgid "vcg graph: no such an arrow mode"
-#~ msgstr "graphe vcg: pas de tel mode de flèche"
-
-#~ msgid "vcg graph: no such crossing_type"
-#~ msgstr "graphe vcg: pas de tel type de croisement (crossing_type)"
-
-#~ msgid "vcg graph: no such view"
-#~ msgstr "graphe vcg: pas de tel vue"
-
-#~ msgid "vcg graph: no such linestyle"
-#~ msgstr "graphe vcg: pas de tel style de ligne"
-
-#~ msgid "vcg graph: no such an arrowstyle"
-#~ msgstr "graphe vcg: pas de tel style de flèche"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "DERIVES\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "DERIVES\n"
-#~ "\n"
-
-#~ msgid "unterminated comment at end of file"
-#~ msgstr "le commentaire ne se termine pas avant la fin du fichier"
-
-#~ msgid "unmatched close-brace (`}')"
-#~ msgstr "accolade fermante `}' non appariée"
-
-#~ msgid "@%s is invalid"
-#~ msgstr "@%s n'est pas valide"
-
-#~ msgid "unmatched right brace (`}')"
-#~ msgstr "accolade fermante `}' non appariée"
-
-#~ msgid "ill-formed %type declaration"
-#~ msgstr "déclaration %type mal formée"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "FIRSTS\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "FIRSTS\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "%s firsts\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "%s firsts\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "%s derives\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "%s derives\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
-#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
-#~ " [--verbose] [--version] [--help] [--yacc]\n"
-#~ " [--no-parser] [--token-table]\n"
-#~ " [--file-prefix=prefix] [--name-prefix=prefix]\n"
-#~ " [--output=outfile] grammar-file\n"
-#~ msgstr ""
-#~ "Usage: %s [-dhklntvyV] [-b préfixe-de-fichier] [-o sortie] [-p préfixe-de-"
-#~ "nom]\n"
-#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
-#~ " [--verbose] [--version] [--help] [--yacc]\n"
-#~ " [--no-parser] [--token-table]\n"
-#~ " [--file-prefix=préfixe] [--name-prefix=préfixe]\n"
-#~ " [--output=outfile] grammaire\n"
-
-#~ msgid "gotos"
-#~ msgstr "gotos"
-
-#~ msgid "\"%s\", line %d: %s\n"
-#~ msgstr "\"%s\", ligne %d: %s\n"
-
-#~ msgid "(\"%s\", line %d) error: %s\n"
-#~ msgstr "(\"%s\", ligne %d) erreur: %s\n"
-
-#~ msgid "limit of %d exceeded, too many %s"
-#~ msgstr "limite de %d dépassée, trop de %s"
-
-#~ msgid "unterminated comment in `%{' definition"
-#~ msgstr "le commentaire ne se termine pas dans la section de définition (%{)"
-
-#~ msgid "invalid @-construct"
-#~ msgstr "la construction «@» n'est pas valide"
diff --git a/po/hr.po b/po/hr.po
deleted file mode 100644
index 2246a6ae..00000000
--- a/po/hr.po
+++ /dev/null
@@ -1,896 +0,0 @@
-# Translation of bision to Croatian
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Denis Lackovic <delacko@fly.srk.fer.hr>, 2002.
-# This file is distributed under the same license as the bison package.
-# Denis Lackovic <delacko@fly.srk.fer.hr>, 2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.34a\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2002-04-10 22:20+01\n"
-"Last-Translator: Denis Lackovic <delacko@fly.srk.fer.hr>\n"
-"Language-Team: Croatian <lokalizacija@linux.hr>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n==1 ? 0 : 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Nepoznata sistemska gre¹ka"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "upozorenje:"
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "fatalna gre¹ka:"
-
-#: src/conflicts.c:75
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr "Konflikt u stanju %d izmeğu pravila %d i znaka %s razrije¹en kao %s.\n"
-
-#: src/conflicts.c:83
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr "Konflikt u stanju %d izmeğu pravila %d i znaka %s razrije¹en kao %s.\n"
-
-#: src/conflicts.c:90
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr "Konflikt u stanju %d izmeğu pravila %d i znaka %s razrije¹en kao %s.\n"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr ""
-
-#: src/conflicts.c:401
-#, fuzzy, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr " %d pomakni/reduciraj"
-
-#: src/conflicts.c:403
-#, fuzzy, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr " %d reduviraj/reduciraj"
-
-#: src/conflicts.c:421
-#, fuzzy, c-format
-msgid "State %d "
-msgstr "stanje %d"
-
-#: src/conflicts.c:498
-#, fuzzy, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "oèekujem %d pomakni/reduciraj konflikt\n"
-msgstr[1] "oèekujem %d pomakni/reduciraj konflikata\n"
-
-#: src/conflicts.c:503
-#, fuzzy
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "%d reduciraj/reduciraj konflikt"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "ne mogu otvoriti datoteku `%s'"
-
-#: src/files.c:115
-#, fuzzy
-msgid "I/O error"
-msgstr "gre¹ka"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "ne mogu zatvoriti datoteku"
-
-#: src/files.c:336
-#, fuzzy, c-format
-msgid "conflicting outputs to file %s"
-msgstr "konfliktne asocijativne vrijednosti za %s i %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Poku¹aj `%s --help' za vi¹e informacija.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison generira parsere za LALR(1) gramatike.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Kori¹tenje: %s [OPCIJA]... DATOTEKA\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Ako duga opcija ka¾e da je argument obavezan, tada je on obavezan\n"
-"i za ekvivalentnu kratku opciju. Slièno je i za opcionalne argumente.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Naèini rada:\n"
-" -h, --help prika¾i ovu pomoæ i izaği\n"
-" -V, --version prika¾i verziju i izaği\n"
-" -y, --yacc emuliraj POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=DATOTEKA specificiraj kostur za uporabu\n"
-" -t, --debug pripremi parser za deugiranje\n"
-" --locations omoguæi izraèunavanje lokacija\n"
-" -p, --name-prefix=PREFIKS stavi PREFIX ispred vanjskih simbola\n"
-" -l, --no-lines ne eneriraj `#line' direktive\n"
-" -n, --no-parser generiraj samo tablice\n"
-" -k, --token-table ukljuèi tablicu imena znakova\n"
-
-#: src/getargs.c:225
-#, fuzzy
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Izlaz:\n"
-" -d, --defines takoğer proizvedi header datoteku\n"
-" -v, --verbose takoğer proizvedi obja¹njenje automata\n"
-" -b, --file-prefix=PREFIKS specificiraj PREFIKS za izlazne datoteke\n"
-" -o, --output=DATOTEKA ispi¹i izlaz u DATOTEKU\n"
-" -g, --graph takoğer proizvedi VCG opis automata\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Izvjesti o bugovima na <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr ""
-
-#: src/getargs.c:270
-#, fuzzy, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr ""
-"Copyright 1984, 1986, 1989, 1992, 2000, 2001, 2002\n"
-"Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Ovo je slobodni softver; pogledajte kod kako biste doznali uvjete "
-"kopiranja. NEMA\n"
-"garancije; èak ni tvrdnje o ISPLATIVOSTI ili POGODNOSTI ZA NEKU SVRHU.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr ""
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr ""
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "prazno"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Gramatika"
-
-#: src/gram.c:321 src/reduce.c:394
-#, fuzzy
-msgid "warning"
-msgstr "upozorenje:"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr ""
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr ""
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr ""
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " tip %d je %s\n"
-
-#: src/print.c:165
-#, fuzzy, c-format
-msgid "shift, and go to state %d\n"
-msgstr " %-4s\tpomakni i idi u stanje %d\n"
-
-#: src/print.c:167
-#, fuzzy, c-format
-msgid "go to state %d\n"
-msgstr " $ \tidu u stanje %d\n"
-
-#: src/print.c:204
-#, fuzzy
-msgid "error (nonassociative)\n"
-msgstr "%-4s\tgre¹ka (nonassociative)"
-
-#: src/print.c:292
-#, fuzzy, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "$default\treduciraj koristeæi pravilo %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr ""
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr ""
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "stanje %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Zavr¹ni znakovi, sa pravilima gdje se pojavljuju"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Nezavr¹ni znakovi, sa pravilima gdje se pojavljuju"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr "s lijeva:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr "s desna:"
-
-#: src/print.c:555
-#, fuzzy
-msgid "Rules never reduced"
-msgstr "%d pravilo nije nikad reducirano\n"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "vi¹estruke %s deklaracije"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "pravilo dato za %s, a to je znak"
-
-#: src/reader.c:242
-#, fuzzy, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "sudar tipova (`%s' `%s') na deaultnoj akciji"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "prazno pravilo za nezavr¹ni znak, i nema akcije"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr ""
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr ""
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr ""
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "nema pravila u ulaznoj gramatici"
-
-#: src/reduce.c:242
-#, fuzzy
-msgid "useless rule"
-msgstr "%d beskorisno pravilo"
-
-#: src/reduce.c:303
-#, fuzzy, c-format
-msgid "useless nonterminal: %s"
-msgstr "Beskorisni nezavr¹ni znakovi:"
-
-#: src/reduce.c:351
-#, fuzzy
-msgid "Useless nonterminals"
-msgstr "Beskorisni nezavr¹ni znakovi:"
-
-#: src/reduce.c:364
-#, fuzzy
-msgid "Terminals which are not used"
-msgstr "Zavr¹ni znakovi koji nisu kori¹teni:"
-
-#: src/reduce.c:373
-#, fuzzy
-msgid "Useless rules"
-msgstr "Beskorisna pravila:"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d pravilo nije nikad reducirano\n"
-msgstr[1] "%d pravila nisu nikad reducirana\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d beskorisan nezavr¹ni znak"
-msgstr[1] "%d beskorisnih nezavr¹nih znakova"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " i"
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d beskorisno pravilo"
-msgstr[1] "%d beskorisnih pravila"
-
-#: src/reduce.c:436
-#, fuzzy, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "Poèetni simbol %s ne daje niti jednu reèenicu"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr ""
-
-#: src/scan-gram.l:221
-#, fuzzy, c-format
-msgid "invalid directive: %s"
-msgstr "nedozvoljeni ulaz: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr ""
-
-#: src/scan-gram.l:283
-#, fuzzy, c-format
-msgid "invalid character: %s"
-msgstr "nepoznati znak: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, fuzzy, c-format
-msgid "invalid escape sequence: %s"
-msgstr "nedozvoljeni ulaz: %s"
-
-#: src/scan-gram.l:446
-#, fuzzy, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "neprepoznati: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr ""
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ od `%s' nema deklarirani tip"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d od `%s' nema deklarirani tip"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, fuzzy, c-format
-msgid "invalid value: %s"
-msgstr "nedozvoljena $ vrijednost"
-
-#: src/scan-gram.l:996
-#, fuzzy, c-format
-msgid "missing `%s' at end of file"
-msgstr "nezavr¹eni znakovni niz na kraju datoteke"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "nedozvoljena $ vrijednost"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "ponovna deklaracija za %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, fuzzy, c-format
-msgid "%s redeclaration for %s"
-msgstr "ponovna deklaracija za %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "ponovno definiran prethodnik od %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "simbol %s ponovo definiran"
-
-#: src/symtab.c:179
-#, fuzzy, c-format
-msgid "redefining user token number of %s"
-msgstr "ponovno definiran prethodnik od %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr "simbol %s je kori¹ten, ali nije definiran kao znak i nema pravila"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "simbol `%s' kori¹ten vi¹e puta kao znakovni niz"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "simbolz `%s' dat vi¹e od jednog znakovnog niza"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "konflikt u prethodnici za %s and %s"
-
-#: src/symtab.c:282
-#, fuzzy, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "konfliktne asocijativne vrijednosti za %s i %s"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "objema znakovima %s i %s je pridru¾en broj %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "poèetni simbol %s nije definiran"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "poèetni simbol %s je znak"
-
-#: lib/argmatch.c:135
-#, fuzzy, c-format
-msgid "invalid argument %s for %s"
-msgstr "nedozvoljeni ulaz: %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr ""
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr ""
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr ""
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr ""
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr ""
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr ""
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr ""
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr ""
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr ""
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcija `%s' je nejednoznaèna\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opcija `--%s' ne dopu¹ta argument\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcija `%c%s' ne dopu¹ta argument\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcija `%s' zahtijeva argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: neprepoznata opcija `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: neprepoznata opcija `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: nedozvoljena opcija -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: nedozvoljena opcija -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcija zahtijeva argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcija `-W %s' je nejednoznaèna\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opcija `-W %s' ne dopu¹ta argument\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "iscrpljeni memorijski resursi"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr ""
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr ""
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr ""
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr ""
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr ""
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr ""
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "previ¹e stanja (maks %d)"
-
-#~ msgid "reduce"
-#~ msgstr "reduciraj"
-
-#~ msgid "shift"
-#~ msgstr "pomakni"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d pomakni/reduciraj konflikat"
-#~ msgstr[1] "%d pomakni/reduciraj konflikata"
-
-#~ msgid "and"
-#~ msgstr "i"
-
-#~ msgid "State %d contains "
-#~ msgstr "Stanje %d sadr¾i"
-
-#~ msgid "conflicts: "
-#~ msgstr "konflikt:"
-
-#~ msgid "%s contains "
-#~ msgstr "%s sadr¾i"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[reduciraj koristeæi pravilo %d (%s)]\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $default\treduciraj koristeæi pravilo %d (%s)\n"
-#~ "\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\treduciraj koristeæi pravilo %d (%s)\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $default\treduciraj koristeæi pravilo %d (%s)\n"
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "`%s' vi¹e nije podr¾ano"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: nije data datoteka sa gramatikom\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: dodatni argumenti se ignoriraju nakon `%s'\n"
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "previ¹e goto-a (maksimalno %d)"
-
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "neoèekivan `/' nağen i zanemaren"
-
-#~ msgid "unterminated comment"
-#~ msgstr "nezavr¹eni komentar"
-
-#~ msgid "unexpected end of file"
-#~ msgstr "neoèekivan kraj datoteke"
-
-#~ msgid "unescaped newline in constant"
-#~ msgstr "neoèekivan znak za novu liniju u konstanti"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "oktalna vrijednost izvan dosega 0...255: `\\%o'"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "heksadecimalna vrijednost vi¹a od 255: `\\x%x'"
-
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "nepoznata escape sekvenca: `\\' koju slijedi `%s'"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "nezavr¹eno ime tipa pri kraju datoteke"
-
-#~ msgid "unterminated type name"
-#~ msgstr "nezavr¹eno ime tipa"
-
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr "koristi \"...\" za vi¹ebajtne znakove"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "`%s' ne podr¾ava argument: %s"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "`%s' zahtijeva argument"
-
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "maksimalna velièina tablice (%d) prekoraèena"
-
-#~ msgid " (rule %d)"
-#~ msgstr " (pravilo %d)"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $default\tprihvati\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " NEMA AKCIJA\n"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\tgre¹ka (nonassociative)\n"
-
-#~ msgid " %-4s\tgo to state %d\n"
-#~ msgstr " %-4s\tidu u stanje %d\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "Broj, Linija, Pravilo"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " Preskaèem na slijedeæe \\n"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " Preskaèem na slijedeæi %c"
-
-#~ msgid "unterminated string"
-#~ msgstr "nezavr¹eni znakovni niz"
-
-#~ msgid "invalid @ value"
-#~ msgstr "nedozvoljena @ vrijednost"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s je nedozvoljeno"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr "nezavr¹ena `%{' definicija"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "Preuranjeni EOF nakon %s"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "`%s' je nedozvoljen u %s"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "nedozvoljena %s deklaracija"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "%type deklaracija nema <typename>"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "nedozvoljena %%type deklaracija zbog: %s"
-
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr "nedozvoljeno tekst (%s) - broj bi trebao biti nakon identifikatora"
-
-#~ msgid "unexpected item: %s"
-#~ msgstr "neoèekivani: %s"
-
-#~ msgid "unmatched %s"
-#~ msgstr "nije pronağen %s"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "argument od %%expect nije cijeli broj"
-
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "neprepoznati %s, oèekivan nakon identifikatora"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "oèekivana znakovna konstana umjesto %s"
-
-#~ msgid "no input grammar"
-#~ msgstr "nema ulazne gramatike"
-
-#~ msgid "unterminated %guard clause"
-#~ msgstr "nezavr¹ena %guard klauzula"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr "lo¹e pravilo: zarez ne bi trebao slijediti poèetni simbol"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "gramatika poèinje sa okomitom crtom"
-
-#~ msgid "previous rule lacks an ending `;'"
-#~ msgstr "prethodnom pravilu nedostaje zavr¹etak `;'"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "dva @prec's u retku"
-
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr "%%guard prisutan ali %%semantic_parser nije specificiran"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "dvije akcije pri kraju jednog pravila"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "previ¹e simbola (znakovi plus nezavr¹ni znakovi); maksimalno %d"
diff --git a/po/id.po b/po/id.po
deleted file mode 100644
index c7bd63c4..00000000
--- a/po/id.po
+++ /dev/null
@@ -1,721 +0,0 @@
-# bison 1.875 (Indonesian)
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# This file is distributed under the same license as the bison 1.50 package.
-# Tedi Heriyanto <tedi_h@gmx.net>, 2002, 2003
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-07 13:25GMT+0700\n"
-"Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
-"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: KBabel 0.9.6\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Kesalahan sistem tidak dikenal"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "peringatan: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "kesalahan fatal: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Konflik antara aturan %d dan token %s diselesaikan sebagai shift"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Konflik antara aturan %d dan token %s diselesaikan sebagai reduce"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr ""
-" Konflik antara aturan %d dan token %s diselesaikan sebagai kesalahan"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "konflik: %d geser/kurangi, %d kurangi/kurangi\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "konflik: %d geser/kurangi\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "konflik: %d kurangi/kurangi\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "State %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "mengharapkan %d shift/reduce konflik"
-msgstr[1] "mengharapkan %d shift/reduce konflik"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "diharapkan 0 kurangi/kurangi konflik"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "tidak dapat membuka file `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "Kesalahan I/O"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "tidak dapat menutup file"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "output konflik ke file %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison generates parsers for LALR(1) grammars.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Penggunaan: %s [OPTION]... FILE\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Jika option panjang menyatakan argumen sebagai mandatori, maka ia mandatori "
-"juga\n"
-"untuk option pendek. Hal yang sama untuk argumen opsional.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Mode Operasi:\n"
-" -h, --help tampilkan bantuan ini dan keluar\n"
-" -V, --version tampilkan informasi versi dan keluar\n"
-" -y, --yacc emulasikan POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=FILE specifikasikan rangka yang akan digunakan\n"
-" -t, --debug instrumen parser untuk debugging\n"
-" --locations aktifkan lokasi perhitungan\n"
-" -p, --name-prefix=PREFIX tambahkan PREFIX ke simbol eksternal\n"
-" -l, --no-lines jangan hasilkan direktiv `#line'\n"
-" -n, --no-parser hasilkan hanya tabel\n"
-" -k, --token-table sertakan tabel nama token\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Output:\n"
-" -d, --defines juga hasilkan file header\n"
-" -r, --report=THINGS juga hasilkan detil tentang otomaton\n"
-" -v, --verbose sama seperti `--report=state'\n"
-" -b, --file-prefix=PREFIX spesifikasikan PREFIX untuk file output\n"
-" -o, --output=FILE simpan output ke FILE\n"
-" -g, --graph juga hasilkan deskripsi VCG automaton\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"THINGS adalah daftar kata yang dipisahkan koma termasuk:\n"
-" `state' menggambarkan state\n"
-" `itemset' lengkapi himpunan item inti dengan klosurnya\n"
-" `lookahead' asosiasikan lookaheads ke items secara eksplisit\n"
-" `solved' gambarkan penyelesaian konflik shift/reduce\n"
-" `all' sertakan semua informasi di atas\n"
-" `none' tiadakan laporan\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Laporkan kesalahan ke <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Written by Robert Corbett and Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "operand hilang setelah `%s'"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "operand ekstra `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "kosong"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammar"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "peringatan"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "aturan tidak pernah dikurangi karena konflik"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX melarang deklarasi dalam grammar"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "identifier tidak ada dalam deklarasi parameter"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " tipe %d adalah %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "geser, dan ke state %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "ke state %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "kesalahan(nonasosiatif)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "kurangi gunakan aturan %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "terima"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "state %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminal, dengan aturan tempat mereka muncul"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Nonterminal, dengan aturan tempat mereka muncul"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " di kiri:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " di kanan:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Aturan tidak pernah dikurangi"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "deklarasi ganda %s"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "tipe hasil bentrok pada fungsi merge %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "aturan diberikan untuk %s, yang merupakan sebuah token"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "bentrokan tipe pada aksi baku: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "aturan kosong untuk nonterminal typed, dan tidak ada aksi"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "hanya satu %s yang dibolehkan per aturan"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s hanya mempengaruhi parser GLR"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s harus diikuti angka positif"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "tidak ada aturan dalam grammar input"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "aturan tidak berguna"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "nonterminal tidak berguna: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Nonterminal tidak berguna"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminal yang tidak digunakan"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Useless rules"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "Aturan %d tidak pernah dikurangi\n"
-msgstr[1] "Aturan %d tidak pernah dikurangi\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "nonterminal tidak berguna %d"
-msgstr[1] "nonterminal tidak berguna %d"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " dan "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "aturan tidak berguna %d"
-msgstr[1] "aturan tidak berguna %d"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "simbol awal %s tidak melahirkan kalimat"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "stray `,' dianggap sebagai white space"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "direktif tidak valid: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "integer ke luar batas: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "karakter tidak valid: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "urutan escape tidak valid: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "urutan escape tidak dikenal: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "hilang `{' dalam `%s'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ dari `%s' tidak memiliki tipe yang terdeklarasi"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d dari `%s' tidak memiliki tipe terdeklarasi"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "nilai tidak valid: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "`%s' hilang di akhir file"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "nilai $ tidak valid"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "redeklarasi tipe untuk %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s redeklarasi untuk %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "mendefinisikan kembali presedens %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "simbol %s didefinisikan ulang"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "mendefinisikan ulang nomor token user %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"simbol %s digunakan, namun tidak didefinisikan sebagai token dan tidak "
-"memiliki aturan"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "simbol `%s' digunakan lebih dari satu kali sebagai string literal"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "simbol `%s' diberikan lebih dari satu string literal"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "presenden konflik untuk %s dan %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "asosiatif konflik untuk %s (%s) dan %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "token %s dan %s keduanya memiliki angka %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "simbol awal %s tidak didefinisikan"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "simbol awal %s adalah sebuah token"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "argument %s tidak valid untuk %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argumen %s ambigu untuk %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Argumen valid adalah:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u freed (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u cached (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u cached (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u cached (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "hitung log histogram\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "ukuran log histogram\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "kepadatan histogram\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Statistik bitset:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Run terakumulasi = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Tidak dapat membaca file stat."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Ukuran file stat buruk.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Tidak dapat menulis file stat."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Tidak dapat membuka file stat untuk ditulisi."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: option `%s' ambigu\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: option `--%s' tidak membolehkan sebuah argumen\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: option `%c%s' tidak membolehkan sebuah argumen\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: option `%s' membutuhkan sebuah argumen\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: option tidak dikenal `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: option tidak dikenal `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: option ilegal -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: option tidak valid -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: option membutuhkan sebuah argumen -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: option `-W %s' ambigu\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: option `-W %s' tidak membolehkan sebuah argumen\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "memori habis"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "program subsider `%s' tidak dapat dipanggil"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "program subsider `%s' tidak ditemukan"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "program subsider `%s' gagal"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "program subsider `%s' gagal (status kegagalan %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Waktu eksekusi (detik)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTAL :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "waktu dalam %s: %ld.%06ld (%ld%%)\n"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d geser/kurangi konflik"
-#~ msgstr[1] "%d geser/kurangi konflik"
-
-#~ msgid "and"
-#~ msgstr "dan"
-
-#~ msgid "conflicts: "
-#~ msgstr "konflik: "
-
-#~ msgid "State %d contains "
-#~ msgstr "State %d berisi "
diff --git a/po/it.po b/po/it.po
deleted file mode 100644
index c8f86d3f..00000000
--- a/po/it.po
+++ /dev/null
@@ -1,761 +0,0 @@
-# Italian translation for message of GNU bison.
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Paolo Bonzini <bonzini@gnu.org>, 2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.50\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2002-10-17 14:37+0100\n"
-"Last-Translator: Paolo Bonzini <bonzini@gnu.org>\n"
-"Language-Team: Italian <tp@lists.linux.it>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Errore di sistema sconosciuto"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "attenzione: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "errore fatale: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Conflitto tra la regola %d e il token %s risolto come shift"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Conflitto tra la regola %d e il token %s risolto come riduzione"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Conflitto tra la regola %d e il token %s risolto come errore"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr ""
-
-#: src/conflicts.c:401
-#, fuzzy, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr " %d shift/riduzione"
-
-#: src/conflicts.c:403
-#, fuzzy, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr " %d riduzione/riduzione"
-
-#: src/conflicts.c:421
-#, fuzzy, c-format
-msgid "State %d "
-msgstr "stato %d"
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "atteso %d conflitto shift/riduzione"
-msgstr[1] "attesi %d conflitti shift/riduzione"
-
-#: src/conflicts.c:503
-#, fuzzy
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "%d conflitto riduzione/riduzione"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "impossibile aprire il file `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr ""
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "impossibile chiudere il file `%s'"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr ""
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Provare `%s --help' per ulteriori informazioni.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genera parser per grammatiche LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Utilizzo: %s [OPZIONE]... FILE\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Se un argomento è indicato come obbligatorio in un'opzione lunga, allora\n"
-"è obbligatorio anche per l'equivalente opzione corta. Analogamente per\n"
-"gli argomenti opzionali.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Modalità operative:\n"
-" -h, --help mostra questo aiuto ed esce\n"
-" -V, --version mostra informazioni sulla versione ed esce\n"
-" -y, --yacc emula il comportamento di POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-" -S, --skeleton=FILE specifica lo scheletro da usare\n"
-" -t, --debug aggiunge informazioni di debug al parser\n"
-" --locations abilita il calcolo delle locazioni (@N)\n"
-" -p, --name-prefix=PREFIX prepone PREFIX ai simboli globali\n"
-" -l, --no-lines non genera direttive `#line'\n"
-" -n, --no-parser genera le sole tabelle\n"
-" -k, --token-table include una tabella di nomi dei token\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Output:\n"
-" -d, --defines produce anche uno header\n"
-" -r, --report=THINGS produce anche dettagli sull'automa\n"
-" -v, --verbose produce anche una spiegazione dell'automa\n"
-" -b, --file-prefix=PREFIX specifica un prefisso per il file di output\n"
-" -o, --output=FILE lascia l'output in FILE\n"
-" -g, --graph produce anche una descrizione VCG dell'automa\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"THINGS è un elenco di parole separate da virgola scelte tra:\n"
-" `state' descrive gli stati\n"
-" `itemset' completa gli insiemi dei simboli con la loro chiusura "
-"transitiva\n"
-" `lookahead' associa i token di prospezione ai simboli\n"
-" `solved' descrive la riduzione dei conflitti shift/riduzione\n"
-" `all' include tutte queste informazioni\n"
-" `none' disabilita la produzione del rapporto\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Segnalare eventuali bug a <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Scritto da Robert Corbett e Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Questo e' software libero; vedere il sorgente per le condizioni cui e'\n"
-"sottoposta la copia. NON c'è ALCUNA garanzia, neanche di\n"
-"COMMERCIABILITA` o di ADEGUATEZZA AD UN PARTICOLARE SCOPO.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr ""
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr ""
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "vuoto"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammatica"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "attenzione"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "regola mai ridotta a causa dei conflitti"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX proibisce l'uso di dichiarazioni interne alla grammatica"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr ""
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " il tipo %d è %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "shift e prosecuzione allo stato %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "prosecuzione allo stato %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "errore (non associativo)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "riduzione con la regola %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "accetta"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "stato %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Simboli terminali e regole in cui appaiono"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Simboli nonterminali e regole in cui appaiono"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " nel primo membro:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " nel secondo membro:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Regole mai ridotte"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "dichiarazioni multiple per %s"
-
-#: src/reader.c:115
-#, fuzzy, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-"conflitto nei tipi del risultato della funzione di merge %s: `%s' e `%s'"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "fornita una regola per il token %s"
-
-#: src/reader.c:242
-#, fuzzy, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "conflitto di tipo (`%s' e `%s') nell'azione di default"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "regola vuota e nessuna azione per un nonterminale con tipo"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, fuzzy, c-format
-msgid "only one %s allowed per rule"
-msgstr "solo un %%merge è permesso in una regola"
-
-#: src/reader.c:328 src/reader.c:343
-#, fuzzy, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%%merge considerato solo nei parser GLR"
-
-#: src/reader.c:330
-#, fuzzy, c-format
-msgid "%s must be followed by positive number"
-msgstr "%%dprec deve essere seguito da un intero positivo"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "nessuna regola nella grammatica di input"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "regola inutile"
-
-#: src/reduce.c:303
-#, fuzzy, c-format
-msgid "useless nonterminal: %s"
-msgstr "simbolo nonterminale inutilizzato"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Simboli nonterminali inutili"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Simboli terminali inutilizzati"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Regole inutili"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regola non applicata\n"
-msgstr[1] "%d regole non applicate\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d simbolo nonterminale inutilizzato"
-msgstr[1] "%d simboli nonterminali inutilizzati"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " e "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d regola inutile"
-msgstr[1] "%d regole inutili"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "dal simbolo iniziale %s non deriva alcuna frase"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr ""
-
-#: src/scan-gram.l:221
-#, fuzzy, c-format
-msgid "invalid directive: %s"
-msgstr ": escape non valido: %s\n"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr ""
-
-#: src/scan-gram.l:283
-#, fuzzy, c-format
-msgid "invalid character: %s"
-msgstr ": carattere non valido: `%c'\n"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, fuzzy, c-format
-msgid "invalid escape sequence: %s"
-msgstr ": escape non valido: %s\n"
-
-#: src/scan-gram.l:446
-#, fuzzy, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr ": escape non riconosciuto: %s\n"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr ""
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "Manca una dichiarazione di tipo per $$ di `%s'"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "Manca una dichiarazione di tipo per $%d di `%s'"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, fuzzy, c-format
-msgid "invalid value: %s"
-msgstr "valore non valido: %s%d"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr ""
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "valore $ non valido"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "tipo dichiarato due volte per %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "dichiarazione due volte di %s per %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "precedenza di `%s' definita due volte"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "simbolo %s ridefinito"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "numero di token definito dall'utente specificato due volte per %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr "usato il simbolo %s, ma non è un token e non ha regole"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "simbolo `%s' usato più di una volta in una stringa letterale"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "il simbolo `%s' dà pi&grave; di una stringa letterale"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "precedenze in conflitto per %s und %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "associatività in conflitto per %s (%s) e %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "i token %s e %s hanno lo stesso numero %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "simbolo iniziale %s non definito"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "specificato il token %s come simbolo iniziale"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "argomento non valido %s per %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argomento ambiguo %s per %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Gli argomenti validi sono:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_alloc, %u liberati (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_set, %u in cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_reset, %u in cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_test, %u in cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_list\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "istogramma dei conteggi\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "istogramma delle dimensioni\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "istogranna delle densità\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Statistiche dei bitset:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Esecuzioni accumulate = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Impossibile leggere il file delle statistiche."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Dimensione errata del file delle statistiche.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Impossibile scrivere il file delle statistiche."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Impossibile aprire in scrittura il file delle statistiche."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'opzione `%s' è ambigua\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione `--%s' non ammette argomenti\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione `%c%s' non ammette argomenti\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'opzione `%s' richiede un argomento\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opzione sconosciuta `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opzione sconosciuta `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opzione non valida -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opzione non valida -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'opzione richiede un argomento -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'opzione `-W %s' è ambigua\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opzione `-W %s' non ammette un argomento\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "memoria esaurita"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr ""
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr ""
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr ""
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr ""
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Tempo di esecuzione (in secondi)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTALE :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tempo in %s: %ld.%06ld (%ld%%)\n"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d conflitto shift/riduzione"
-#~ msgstr[1] "%d conflitti shift/riduzione"
-
-#~ msgid "and"
-#~ msgstr "e"
-
-#~ msgid "conflicts: "
-#~ msgstr "conflitti: "
-
-#~ msgid "State %d contains "
-#~ msgstr "Lo stato %d contiene"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: nessun file grammatica specificato\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: ignorati gli argomenti successivi a `%s'\n"
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "troppi goto (max %d)"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "due @prec di seguito"
-
-#~ msgid "%%dprec affects only GLR parsers"
-#~ msgstr "%%dprec considerato solo nei parser GLR"
-
-#~ msgid "only one %%dprec allowed per rule"
-#~ msgstr "solo un %%dprec è permesso in una regola"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "troppi simboli (token e nonterminali); il massimo è %d"
-
-#~ msgid ": unexpected end of file in a comment\n"
-#~ msgstr ": fine del file inattesa in un commento\n"
-
-#~ msgid ": unexpected end of file in a string\n"
-#~ msgstr ": fine del file inattesa in una stringa\n"
-
-#~ msgid ": unexpected end of file in a character\n"
-#~ msgstr ": fine del file inattesa in un carattere\n"
-
-#~ msgid ": unexpected end of file in a braced code\n"
-#~ msgstr ": fine del file inattesa in codice (tra parentesi graffe)\n"
-
-#~ msgid ": unexpected end of file in a prologue\n"
-#~ msgstr ": fine del file inattesa nel prologo\n"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s non è valido"
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "troppi stati (massimo %d)"
diff --git a/po/ja.po b/po/ja.po
deleted file mode 100644
index 96637627..00000000
--- a/po/ja.po
+++ /dev/null
@@ -1,1055 +0,0 @@
-# Japanese message for GNU bison 1.30f
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Daisuke Yamashita <yamad@mb.infoweb.ne.jp>, 2001.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU bison 1.30f\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2002-10-29 01:00-05:00\n"
-"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
-"Language-Team: Japanese <ja@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "·Ù¹ğ: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "Ã×̿Ū¥¨¥é¡¼: "
-
-#: src/conflicts.c:75
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr "¾õÂÖ %d ¤Îµ¬Â§ %d ¤È¥È¡¼¥¯¥ó %s ¤Î¶¥¹ç¤ò%s¤È¤·¤Æ²ò·è¡£\n"
-
-#: src/conflicts.c:83
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr "¾õÂÖ %d ¤Îµ¬Â§ %d ¤È¥È¡¼¥¯¥ó %s ¤Î¶¥¹ç¤ò%s¤È¤·¤Æ²ò·è¡£\n"
-
-#: src/conflicts.c:90
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr "¾õÂÖ %d ¤Îµ¬Â§ %d ¤È¥È¡¼¥¯¥ó %s ¤Î¶¥¹ç¤ò%s¤È¤·¤Æ²ò·è¡£\n"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr ""
-
-#: src/conflicts.c:401
-#, fuzzy, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr " %d ¥·¥Õ¥È/´Ô¸µ"
-
-#: src/conflicts.c:403
-#, fuzzy, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr " %d ´Ô¸µ/´Ô¸µ"
-
-#: src/conflicts.c:421
-#, fuzzy, c-format
-msgid "State %d "
-msgstr "¾õÂÖ %d"
-
-#: src/conflicts.c:498
-#, fuzzy, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "ËÜÍè %d ¸Ä¤Î¥·¥Õ¥È/´Ô¸µ¾×ÆͤǤ¢¤ë¤Ï¤º¤Ç¤¹\n"
-
-#: src/conflicts.c:503
-#, fuzzy
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "%d ´Ô¸µ/´Ô¸µ¾×ÆÍ"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "¥Õ¥¡¥¤¥ë `%s' ¤ò³«¤±¤Ş¤»¤ó"
-
-#: src/files.c:115
-#, fuzzy
-msgid "I/O error"
-msgstr "¥¨¥é¡¼"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "¥Õ¥¡¥¤¥ë¤òÊĤ¸¤ë¤³¤È¤¬¤Ç¤­¤Ş¤»¤ó"
-
-#: src/files.c:336
-#, fuzzy, c-format
-msgid "conflicting outputs to file %s"
-msgstr "Èó·ë¹çÃÍ %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Ş¤¹"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "`%s --help' ¤Ç¾ÜºÙ¾ğÊó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison ¤Ï LALR(1) ʸˡ¤Î¹½Ê¸²òÀÏ´ï¤òÀ¸À®¤·¤Ş¤¹¡£\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "»È¤¤Êı: %s [¥ª¥×¥·¥ç¥ó]... ¥Õ¥¡¥¤¥ë\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"¥í¥ó¥°¥ª¥×¥·¥ç¥ó¤Çɬ¿Ü¤Î°ú¿ô¤¬¼¨¤µ¤ì¤Æ¤¤¤ì¤Ğ¡¢Æ±¤¸°ÕÌ£¤Î¥·¥ç¡¼¥È¥ª¥×¥·¥ç¥ó\n"
-"¤Ç¤âƱÍͤËɬ¿Ü¤Î°ú¿ô¤È¤Ê¤ê¤Ş¤¹¡£É¬¿Ü¤Ç¤Ê¤¤ÁªÂòŪ°ú¿ô¤Ç¤âƱÍͤǤ¹¡£\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Áàºî¥â¡¼¥É:\n"
-" -h, --help ¤³¤Î»È¤¤Êı¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë\n"
-" -V, --version ¥Ğ¡¼¥¸¥ç¥ó¾ğÊó¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë\n"
-" -y, --yacc POSIX yacc ¤ò¥¨¥ß¥å¥ì¥¤¥È¤¹¤ë\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"¹½Ê¸²òÀÏ´ï:\n"
-" -S, --skeleton=FILE ÍøÍѤ¹¤ë¥¹¥±¥ë¥È¥ó¤ò»ØÄꤹ¤ë\n"
-" -t, --debug ¹½Ê¸²òÀϤΥǥХå°ÍѤμêÃÊ\n"
-" --locations ·×»»·ë²Ì°ÌÃÖ¤òÍ­¸ú¤Ë¤¹¤ë\n"
-" -p, --name-prefix=PREFIX PREFIX ¤ò³°Éô¥·¥ó¥Ü¥ë¤È¤·¤ÆÀèƬ¤ËÁŞÆş¤¹¤ë\n"
-" -l, --no-lines `#line' ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤òÀ¸À®¤·¤Ê¤¤\n"
-" -n, --no-parser ¥Æ¡¼¥Ö¥ë¤Î¤ß¤òÀ¸À®¤¹¤ë\n"
-" -k, --token-table ¥È¡¼¥¯¥ó̾¤Î¥Æ¡¼¥Ö¥ë¤ò´Ş¤á¤ë\n"
-
-#: src/getargs.c:225
-#, fuzzy
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"½ĞÎÏ:\n"
-" -d, --defines ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤âºîÀ®¤¹¤ë\n"
-" -v, --verbose ¥ª¡¼¥È¥Ş¥È¥ó¤Î²òÀâ¤âºîÀ®¤¹¤ë\n"
-" -b, --file-prefix=PREFIX ½ĞÎÏ¥Õ¥¡¥¤¥ë¤Î PREFIX(ÀÜƬ¼­) ¤ò»ØÄꤹ¤ë\n"
-" -o, --output=FILE ½ĞÎÏÀè¤ò FILE ¤È¤¹¤ë\n"
-" -g, --graph ¥ª¡¼¥È¥Ş¥È¥ó¤Î VCG µ­½Ò»Ò¤âºîÀ®¤¹¤ë\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "¥Ğ¥°¥ì¥İ¡¼¥È¤Ï <bug-bison@gnu.org> ¤Ş¤Ç¡£\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr ""
-
-#: src/getargs.c:270
-#, fuzzy, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr ""
-"Copyright 1984, 1986, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-"[»²¹ÍÌõ -- ˡŪ¸úÎϤϱÑʸ¤¬Å¬ÍѤµ¤ì¤Ş¤¹]\n"
-"¤³¤ì¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹ -- Ê£À½¤Ë¤Ä¤¤¤Æ¤Î¾ò·ï¤Ï¥½¡¼¥¹¤ò¸«¤Ş¤·¤ç¤¦¡£\n"
-"°ìÀÚ¤ÎÊݾڤϤ¢¤ê¤Ş¤»¤ó -- ¾¦¶ÈÀ­¤äÌÜŪŬ¹çÀ­¤Ë¤Ä¤¤¤Æ¤ÎÊݾڤ¹¤é¤¢¤ê¤Ş¤»¤ó¡£\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr ""
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr ""
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "¶õ"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "ʸˡ"
-
-#: src/gram.c:321 src/reduce.c:394
-#, fuzzy
-msgid "warning"
-msgstr "·Ù¹ğ: "
-
-#: src/main.c:124
-#, fuzzy
-msgid "rule never reduced because of conflicts"
-msgstr " 1 ´Ô¸µ/´Ô¸µ¾×ÆÍ"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr ""
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr ""
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " ¥¿¥¤¥× %d ¤Ï %s ¤Ç¤¹\n"
-
-#: src/print.c:165
-#, fuzzy, c-format
-msgid "shift, and go to state %d\n"
-msgstr " %-4s\t¥·¥Õ¥È¡¢¤ª¤è¤Ó¾õÂÖ %d ¤Ø\n"
-
-#: src/print.c:167
-#, fuzzy, c-format
-msgid "go to state %d\n"
-msgstr " $ \t¾õÂÖ %d ¤Ø\n"
-
-#: src/print.c:204
-#, fuzzy
-msgid "error (nonassociative)\n"
-msgstr "%-4s\t¥¨¥é¡¼ (Èó·ë¹ç)"
-
-#: src/print.c:292
-#, fuzzy, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "$default\tµ¬Â§ %d ¤òÍøÍѤ·¤Æ´Ô¸µ (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr ""
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr ""
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "¾õÂÖ %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "½Ğ¸½°ÌÃ֤ε¬Â§¤Ë¤è¤ë½ªÃ¼"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "½Ğ¸½°ÌÃ֤ε¬Â§¤Ë¤è¤ëÈó½ªÃ¼"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " º¸ÊÕ:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " ±¦ÊÕ:"
-
-#: src/print.c:555
-#, fuzzy
-msgid "Rules never reduced"
-msgstr "%d ¸Ä¤Îµ¬Â§¤Ï·è¤·¤Æ´Ô¸µ¤µ¤ì¤Ş¤»¤ó\n"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "%s ¤¬Ê£¿ô¸ÄÀë¸À¤µ¤ì¤Ş¤·¤¿"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "%s ¤Ëµ¬Â§¤¬Í¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Ş¤¹"
-
-#: src/reader.c:242
-#, fuzzy, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "½é´ü¾õÂÖ¤ÎÆ°ºî¤Ç¤Ï·¿ (`%s' `%s') ¤¬¾×Æͤ·¤Ş¤¹"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "¶õ¤Î·¿ÉÕ¤­Èó½ªÃ¼¥¢¥¤¥Æ¥àÍѵ¬Â§¤Ç¤¢¤ê¡¢Æ°ºî¤¬µ¯¤ê¤Ş¤»¤ó"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr ""
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr ""
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr ""
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "ÆşÎϤ·¤¿Ê¸Ë¡¤Ëµ¬Â§¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ş¤»¤ó"
-
-#: src/reduce.c:242
-#, fuzzy
-msgid "useless rule"
-msgstr "%d ¸Ä¤Î̵°ÕÌ£¤Êµ¬Â§"
-
-#: src/reduce.c:303
-#, fuzzy, c-format
-msgid "useless nonterminal: %s"
-msgstr "̵°ÕÌ£¤ÊÈó½ªÃ¼»Ò:"
-
-#: src/reduce.c:351
-#, fuzzy
-msgid "Useless nonterminals"
-msgstr "̵°ÕÌ£¤ÊÈó½ªÃ¼»Ò:"
-
-#: src/reduce.c:364
-#, fuzzy
-msgid "Terminals which are not used"
-msgstr "ÍøÍѤµ¤ì¤Ê¤¤½ªÃ¼»Ò:"
-
-#: src/reduce.c:373
-#, fuzzy
-msgid "Useless rules"
-msgstr "̵°ÕÌ£¤Êµ¬Â§:"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d ¸Ä¤Îµ¬Â§¤Ï·è¤·¤Æ´Ô¸µ¤µ¤ì¤Ş¤»¤ó\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d ¸Ä¤Î̵°ÕÌ£¤ÊÈó½ªÃ¼»Ò"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr "¤ª¤è¤Ó"
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d ¸Ä¤Î̵°ÕÌ£¤Êµ¬Â§"
-
-#: src/reduce.c:436
-#, fuzzy, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¤É¤Îʸ¤Ë¤âͳÍ褷¤Ş¤»¤ó"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr ""
-
-#: src/scan-gram.l:221
-#, fuzzy, c-format
-msgid "invalid directive: %s"
-msgstr "ÉÔŬÀÚ¤ÊÆşÎÏ: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr ""
-
-#: src/scan-gram.l:283
-#, fuzzy, c-format
-msgid "invalid character: %s"
-msgstr "̤ÃΤÎʸ»ú: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, fuzzy, c-format
-msgid "invalid escape sequence: %s"
-msgstr "ÉÔŬÀÚ¤ÊÆşÎÏ: %s"
-
-#: src/scan-gram.l:446
-#, fuzzy, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "ǧ¼±¤Ç¤­¤Ê¤¤: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr ""
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "`%s' ¤Î $$ ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Ş¤¹"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d ¸Ä¤Î `%s' ¤¬Àë¸À¤µ¤ì¤¿·¿¤ò»ı¤Ã¤Æ¤¤¤Ş¤»¤ó"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, fuzzy, c-format
-msgid "invalid value: %s"
-msgstr "ÉÔŬÀÚ¤Ê $ ¤ÎÃÍ"
-
-#: src/scan-gram.l:996
-#, fuzzy, c-format
-msgid "missing `%s' at end of file"
-msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Ş¤¹"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "ÉÔŬÀÚ¤Ê $ ¤ÎÃÍ"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "%s ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Ş¤·¤¿"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, fuzzy, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Ş¤·¤¿"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "%s ¤ËÀè¹Ô¤·¤¿ºÆÄêµÁ¤Ç¤¹"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "¥·¥ó¥Ü¥ë %s ¤¬ºÆÄêµÁ¤µ¤ì¤Ş¤·¤¿"
-
-#: src/symtab.c:179
-#, fuzzy, c-format
-msgid "redefining user token number of %s"
-msgstr "%s ¤ËÀè¹Ô¤·¤¿ºÆÄêµÁ¤Ç¤¹"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"¥·¥ó¥Ü¥ë %s ¤¬»È¤ï¤ì¤Æ¤¤¤Ş¤¹¤¬¡¢¥È¡¼¥¯¥ó¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢µ¬Â§¤ò»ı¤Á¤Ş"
-"¤»¤ó"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "¥·¥ó¥Ü¥ë `%s' ¤Ï¥ê¥Æ¥é¥ëʸ»úÎó¤È¤·¤ÆÊ£¿ô²ó»È¤ï¤ì¤Ş¤·¤¿"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "¥·¥ó¥Ü¥ë `%s' ¤ÏÊ£¿ô¤Î¥ê¥Æ¥é¥ëʸ»úÎó¤¬Í¿¤¨¤é¤ì¤Ş¤·¤¿"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "Àè¹Ô¤·¤Æ¤¤¤ë %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Ş¤¹"
-
-#: src/symtab.c:282
-#, fuzzy, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "Èó·ë¹çÃÍ %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Ş¤¹"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "¥È¡¼¥¯¥ó %s ¤È %s ¤ÎÁĞÊı¤¬ÈÖ¹æ %d ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Ş¤·¤¿"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ş¤»¤ó"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¥È¡¼¥¯¥ó¤Ç¤¹"
-
-#: lib/argmatch.c:135
-#, fuzzy, c-format
-msgid "invalid argument %s for %s"
-msgstr "ÉÔŬÀÚ¤ÊÆşÎÏ: %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr ""
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr ""
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr ""
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr ""
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr ""
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr ""
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr ""
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr ""
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr ""
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `--%s' ¤Ï°ú¿ô¤òµö¤·¤Ş¤»¤ó\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%c%s' ¤Ï°ú¿ô¤òµö¤·¤Ş¤»¤ó\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï°ú¿ô¤òÍ׵ᤷ¤Ş¤¹\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó `--%s' ¤Ç¤¹\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó `%c%s' ¤Ç¤¹\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: Äê³Ê³°¤Î¥ª¥×¥·¥ç¥ó -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÉÔŬÀڤʥª¥×¥·¥ç¥ó -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤òÍ׵ᤷ¤Ş¤¹ -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤ÏÛ£Ëæ¤Ç¤¹\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ï°ú¿ô¤òµö¤·¤Ş¤»¤ó\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "¥á¥â¥ê¤ò»È¤¤²Ì¤¿¤·¤Ş¤·¤¿"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr ""
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr ""
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr ""
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr ""
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr ""
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr ""
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "¾õÂÖ¤¬Â¿¤¹¤®¤Ş¤¹ (ºÇÂç %d)"
-
-#~ msgid "reduce"
-#~ msgstr "´Ô¸µ"
-
-#~ msgid "shift"
-#~ msgstr "¥·¥Õ¥È"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d ¥·¥Õ¥È/´Ô¸µ¾×ÆÍ"
-
-#~ msgid "and"
-#~ msgstr "¤ª¤è¤Ó"
-
-#~ msgid "State %d contains "
-#~ msgstr "¾õÂÖ %d ¤¬´Ş¤à¤Î¤Ï "
-
-#~ msgid "conflicts: "
-#~ msgstr "¾×ÆÍ: "
-
-#~ msgid "%s contains "
-#~ msgstr "%s ¤ÎÃæ¿È¤Ï"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[µ¬Â§ %d ¤òÍøÍѤ·¤Æ´Ô¸µ (%s)]\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $default\tµ¬Â§ %d ¤òÍøÍѤ·¤Æ´Ô¸µ (%s)\n"
-#~ "\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\tµ¬Â§ %d ¤òÍøÍѤ·¤Æ´Ô¸µ (%s)\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $default\tµ¬Â§ %d ¤òÍøÍѤ·¤Æ´Ô¸µ (%s)\n"
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "`%s' ¤ÏºÇÁ᥵¥İ¡¼¥È¤µ¤ì¤Ş¤»¤ó"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: ʸˡ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ş¤»¤ó\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: `%s' ¤Î¸å¤í¤Î;ʬ¤Ê°ú¿ô¤Ï̵»ë¤µ¤ì¤Ş¤·¤¿\n"
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "goto ¤Î¿ô¤¬Â¿¤¹¤®¤Ş¤¹ (ºÇÂç %d)"
-
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "ͽ´ü¤·¤Ê¤¤ `/' ¤¬¸«¤Ä¤«¤ê¡¢Ìµ»ë¤µ¤ì¤Ş¤·¤¿"
-
-#~ msgid "unterminated comment"
-#~ msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹"
-
-#~ msgid "unexpected end of file"
-#~ msgstr "ͽ´ü¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤Ç¤¹"
-
-#~ msgid "unescaped newline in constant"
-#~ msgstr "Äê¿ô¤ÎÃæ¤Ë¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤¤²ş¹Ô¤¬¤¢¤ê¤Ş¤¹"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "8 ¿Ê¿ô¤ÎÃͤ¬ 0...255 ¤ÎÈϰϳ°¤Ç¤¹: `\\%o'"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "16 ¿Ê¿ô¤ÎÃͤ¬ 255 ¤ò±Û¤¨¤Æ¤¤¤Ş¤¹: `\\x%x'"
-
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹: `\\' ¤Î¸å¤Ë `%s'"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥¿¥¤¥×̾¤¬¡¢¥Õ¥¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Ş¤¹"
-
-#~ msgid "unterminated type name"
-#~ msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥¿¥¤¥×̾¤¬¤¢¤ê¤Ş¤¹"
-
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr "Ê£¿ôʸ»ú¤Î¥ê¥Æ¥é¥ë¥È¡¼¥¯¥ó¤Ë¤Ï \"...\" ¤ò»È¤¤¤Ş¤·¤ç¤¦"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "`%s' ¤Ï°ú¿ô¤ò¼õ¤±ÉÕ¤±¤Ş¤»¤ó: %s"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤Ï°ú¿ô¤òÍ׵ᤷ¤Ş¤¹"
-
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º (%d) ¤òĶ¤¨¤Ş¤·¤¿"
-
-#~ msgid " (rule %d)"
-#~ msgstr " (µ¬Â§ %d)"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $default\taccept\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " Æ°ºî̵¤·\n"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\t¥¨¥é¡¼ (Èó·ë¹ç)\n"
-
-#~ msgid " %-4s\tgo to state %d\n"
-#~ msgstr " %-4s\t¾õÂÖ %d ¤Ø\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "ÈÖ¹æ, ¹Ô, µ¬Â§"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " ¼¡¤Î \\n ¤Ë¥¹¥­¥Ã¥×"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " ¼¡¤Î %c ¤Ë¥¹¥­¥Ã¥×"
-
-#~ msgid "unterminated string"
-#~ msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎó"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s ¤ÏÉÔŬÀڤǤ¹"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr "`%{' ÄêµÁ ¤¬ÊĤ¸¤é¤ì¤Æ¤¤¤Ş¤»¤ó"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "%s ¤Î¸å¤í¤ËÁ᤯¤â EOF ¤¬¤¢¤ê¤Ş¤¹"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "`%s' ¤Ï %s Æâ¤Ç¤ÏÉÔŬÀڤǤ¹"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "%s ¤ÎÀë¸À¤¬ÉÔŬÀڤǤ¹"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "%type Àë¸À¤Ë <¥¿¥¤¥×̾> ¤¬¤¢¤ê¤Ş¤»¤ó"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "¥¢¥¤¥Æ¥à¤Î°Ù¤Î %%type Àë¸À¤¬ÉÔŬÀڤǤ¹: %s"
-
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr "ÉÔŬÀڤʥƥ­¥¹¥È (%s) - ¿ôÃͤϼ±Ê̻Ҥθå¤í¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹"
-
-#~ msgid "unexpected item: %s"
-#~ msgstr "ͽ´ü¤»¤Ì¥¢¥¤¥Æ¥à: %s"
-
-#~ msgid "unmatched %s"
-#~ msgstr "Âбş¤Î¤Ê¤¤ %s ¤Ç¤¹"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "%%expect ¤Î°ú¿ô¤¬À°¿ôÃͤǤϤ¢¤ê¤Ş¤»¤ó"
-
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥¢¥¤¥Æ¥à %s¡¢¤³¤³¤Ç¤Ï¼±Ê̻Ҥ¬´üÂÔ¤µ¤ì¤Ş¤¹"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "¤³¤³¤Ç¤Ï %s ¤Ç¤Ï¤Ê¤¯Ê¸»úÎóÄê¿ô¤¬´üÂÔ¤µ¤ì¤Ş¤¹"
-
-#~ msgid "no input grammar"
-#~ msgstr "ʸˡ¤ÎÆşÎϤ¬Ìµ¤¤"
-
-#~ msgid "unterminated %guard clause"
-#~ msgstr "%guard À᤬ÊĤ¸¤é¤ì¤Æ¤¤¤Ş¤»¤ó"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr "¼Ù°­¤Êµ¬Â§: ½é´ü²½¥·¥ó¥Ü¥ë¤Ë¥³¥í¥ó (:) ¤¬Â³¤¤¤Æ¤¤¤Ş¤»¤ó"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "ʸˡ¤Ï½ÄËÀ (|) ¤Ç»Ï¤á¤Ş¤¹"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "@prec ¤Î¤â¤ÎÆó¤Ä¤¬Æ±Îó¤Ë¤Ê¤Ã¤Æ¤¤¤Ş¤¹"
-
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr "%%guard ¤¬¤¢¤ê¤Ş¤¹¤¬ %%semantic_parser ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ş¤»¤ó"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "°ì¤Ä¤Îµ¬Â§¤Î½ª¤ê¤ËÆó¤Ä¤ÎÆ°ºî¤ò»ØÄꤷ¤Æ¤¤¤Ş¤¹"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "¥·¥ó¥Ü¥ë¤¬Â¿¤¹¤®¤Ş¤¹ (¥È¡¼¥¯¥ó + Èó½ªÃ¼¥¢¥¤¥Æ¥à) -- ºÇÂç %d"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "FIRSTS\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "FIRSTS\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "%s firsts\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "%s firsts\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "FDERIVES\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "FDERIVES\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "%s derives\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "%s ¤Ï°Ê²¼¤«¤éÇÉÀ¸\n"
-#~ "\n"
-
-#~ msgid " 1 shift/reduce conflict"
-#~ msgstr " 1 ¥·¥Õ¥È/´Ô¸µ¾×ÆÍ"
-
-#~ msgid "%s contains"
-#~ msgstr "%s ¤Ë¤Ï¡¢"
-
-#~ msgid ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "DERIVES\n"
-#~ "\n"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "\n"
-#~ "DERIVES\n"
-#~ "\n"
-
-#~ msgid "%s derives"
-#~ msgstr "%s ¤Ï°Ê²¼¤«¤éÇÉÀ¸"
-
-#~ msgid ""
-#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
-#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
-#~ " [--verbose] [--version] [--help] [--yacc]\n"
-#~ " [--no-parser] [--token-table]\n"
-#~ " [--file-prefix=prefix] [--name-prefix=prefix]\n"
-#~ " [--output=outfile] grammar-file\n"
-#~ "\n"
-#~ "Report bugs to bug-bison@gnu.org\n"
-#~ msgstr ""
-#~ "»È¤¤Êı: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"
-#~ " [--debug] [--defines] [--fixed-output-files] [--no-lines]\n"
-#~ " [--verbose] [--version] [--help] [--yacc]\n"
-#~ " [--no-parser] [--token-table]\n"
-#~ " [--file-prefix=prefix] [--name-prefix=prefix]\n"
-#~ " [--output=outfile] ʸˡ¥Õ¥¡¥¤¥ë\n"
-#~ "\n"
-#~ "¥Ğ¥°¤ò¸«¤Ä¤±¤¿¤é bug-bison@gnu.org ¤Ş¤ÇÏ¢Íí¤ò¡£\n"
-
-#~ msgid "gotos"
-#~ msgstr "goto"
-
-#~ msgid "%s:%d: fatal error: "
-#~ msgstr "%s:%d: Ã×̿Ū¥¨¥é¡¼: "
-
-#~ msgid "%s: "
-#~ msgstr "%s: "
-
-#~ msgid "%s:%d: "
-#~ msgstr "%s:%d: "
-
-#~ msgid "%s: internal error: %s\n"
-#~ msgstr "%s: ÆâÉô¥¨¥é¡¼: %s\n"
-
-#~ msgid "Entering set_nullable"
-#~ msgstr "set_nullable ¤ËÆş¤ê¤Ş¤¹"
-
-#~ msgid "\t\t/* empty */"
-#~ msgstr "\t\t/* ¶õ */"
-
-#~ msgid "unterminated comment in `%{' definition"
-#~ msgstr "`%{' ÄêµÁ ¤ËÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤¬¤¢¤ê¤Ş¤¹"
-
-#~ msgid "multiple %union declarations"
-#~ msgstr "Ê£¿ô¤Î %union Àë¸À¤Ç¤¹"
-
-#~ msgid "unterminated comment at end of file"
-#~ msgstr "¥Õ¥¡¥¤¥ëËöÈø¤ËÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤¬¤¢¤ê¤Ş¤¹"
-
-#~ msgid "unmatched close-brace (`}')"
-#~ msgstr "Âбş¤Î¤Ê¤¤ÊĤ¸¥Ö¥ì¡¼¥¹ (`}') ¤Ç¤¹"
-
-#~ msgid "unmatched right brace (`}')"
-#~ msgstr "Âбş¤Î¤Ê¤¤±¦¥Ö¥ì¡¼¥¹ (`}') ¤Ç¤¹"
-
-#~ msgid "$%s is invalid"
-#~ msgstr "$%s ¤ÏÉÔŬÀڤǤ¹"
-
-#~ msgid "invalid @-construct"
-#~ msgstr "ÉÔŬÀÚ¤Ê @-¥³¥ó¥¹¥È¥é¥¯¥È¤Ç¤¹"
-
-#~ msgid "ill-formed %type declaration"
-#~ msgstr "¼Ù°­¤Ê %type Àë¸À¤Ç¤¹"
-
-#~ msgid ""
-#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
-#~ msgstr ""
-#~ "´Ô¸µ¥Õ¥¡¥¤¥ë %s ¤Ç %d ¸Ä¤Î½ªÃ¼»Ò%.0s, %d ¸Ä¤ÎÈó½ªÃ¼»Ò%.0s, %d ¸Ä¤Îµ¬Â§%.0s"
-#~ "¤¬ÄêµÁ¤µ¤ì¤Ş¤·¤¿\n"
-
-#~ msgid ""
-#~ "Variables\n"
-#~ "---------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "ÊÑ¿ô\n"
-#~ "---------\n"
-#~ "\n"
-
-#~ msgid "Value Sprec Sassoc Tag\n"
-#~ msgstr "ÃÍ Á°ÃÖ ·ë¹ç ¥¿¥°\n"
-
-#~ msgid ""
-#~ "Rules\n"
-#~ "-----\n"
-#~ "\n"
-#~ msgstr ""
-#~ "µ¬Â§\n"
-#~ "-----\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Rules interpreted\n"
-#~ "-----------------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "²ò¼á¤µ¤ì¤¿µ¬Â§\n"
-#~ "-----------------\n"
-#~ "\n"
diff --git a/po/ms.po b/po/ms.po
deleted file mode 100644
index 9b085385..00000000
--- a/po/ms.po
+++ /dev/null
@@ -1,709 +0,0 @@
-# Bison Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This file is distributed under the same license as the Bison package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2003.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-26 22:43GMT+8\n"
-"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
-"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: KBabel 0.9.5\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Ralat sistem tidak diketahui"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "amaran: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "ralat maut: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Konflik antara hukum %d dan token %s diselesaikan sebagai pindahan"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr ""
-" Konflik antara hukum %d dan token %s diselesaikan sebagai pengurangan"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Konflik antara hukum %d dan token %s diselesaikan sebagai ralat"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "konflik: %d pemindahan/pengurangan, %d pengurangan/pengurangan\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "konflik: %d pemindahan/pengurangan\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "konflik: %d pengurangan/pengurangan\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Keadaan %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "jangkaan %d konflik pemindahan/pengurangan"
-msgstr[1] "jangkaan %d konflik pemindahan/pengurangan"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "jangkaan 0 konflik pengurangan/pengurangan"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "tidak dapat membuka fail `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "Ralat I/O"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "tidak dapat menutup fail"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "keluaran berkonflik kepada fail %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Cuba `%s --help' untuk lebih maklumat.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison menjanakan penghurai untuk tatabahasa LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Penggunaan: %s [PILIHAN]... FAIL\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Jika satu pilihan panjang menunjukkan satu hujah sebagai mandatori, oleh itu "
-"ia\n"
-"mandatori untuk pilihan pendek sepadan juga. Serupa juga dengan hujah tidak "
-"wajib.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Mod operasi:\n"
-" -h, --help papar bantuan ini dan keluar\n"
-" -V, --version keluarkan maklumat versi dan keluar\n"
-" -y, --yacc tiru POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=FAIL nyatakan rangka untuk digunakan\n"
-" -t, --debug peralatan parser untuk nyahpepijat\n"
-" --locations hidupkan pengiraan lokasi\n"
-" -p, --name-prefix=AWALAN tambah AWALAN kepada simbol luaran\n"
-" -l, --no-lines jangan jana arahan `#line'\n"
-" -n, --no-parser jana jadual sahaja\n"
-" -k, --token-table sertakan jadual nama token\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Keluaran:\n"
-" -d, --defines juga hasilkan fail header\n"
-" -r, --report=PERKARA juga hasilkan butir terperinci bagi automaton\n"
-" -v, --verbose sama seperti `--report=state'\n"
-" -b, --file-prefix=AWALAN nyatakan AWALAN untuk fail keluaran\n"
-" -o, --output=FAIL biarkan keluaran kepada FAIL\n"
-" -g, --graph juga hasilkan huraian VCG bagi automaton\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"PERKARA adalah senarai perkataan dipisah koma yang boleh termasuk:\n"
-" `state' nyatakan keadaan\n"
-" `itemset' lengkapkan perkara asas dengan penutupnya\n"
-" `lookahead' dengan jelas kaitkan lookahead kepada perkara\n"
-" `solved' nyatakan penyelesaian konflik pemindahan/pengurangan\n"
-" `all' masukkan semua maklumat diatas\n"
-" `none' matikan laporan\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Lapor pepijat kepada <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Ditulis oleh Robert Corbett dan Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Hakcipta (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Ini adalah perisian bebas; lihat sumber untuk syarat menyalin. TIADA\n"
-"jaminan disediakan; tidak juga untuk KEBOLEHDAGANGAN atau KEUPAYAAN UNTUK "
-"SESUATU TUJUAN KHUSUS.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "operan hilang selepas `%s'"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "operan tambahan `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "kosong"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Tatabahasa"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "amaran"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "hukum tidak dikurangkan kerana konflik"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX melarang pengisytiharan didalam tatabahasa"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "pengecam hilang dalam parameter pengisytiharan"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " jenis %d adalah %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "pindah, dan pergi ke keadaan %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "pergi ke keadaan %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "ralat (tidak bergabung)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "kurang menggunakan hukum %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "terima"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "keadaan %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminal, dengan hukum dimana mereka kelihatan"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Tidak terminal, dengan hukum dimana mereka kelihatan"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " pada kiri:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " pada kanan:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Hukum tidak dikurangkan"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "pelbagai pengisytiharan %s"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "jenis hasil bertelingkah pada fungsi gabung %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "hukum diberi untuk %s, dimana ia adalah token"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "pertelingkahan jenis pada tindakan default: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "hukum kosong untuk bukan terminal ditaip, dan tiada tindakan"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "hanya satu %s dibenarkan setiap hukum"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s hanya berkesan kepada parser GLR"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s mesti diikuti dengan nombor positif"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "tiada hukum dalam masukan tatabahasa"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "hukum tidak berguna"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "bukan terminal tidak berguna: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Bukan terminal tidak berguna"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminal yang tidak digunakan"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Hukum tidak berguna"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d hukum tidak dikurangkan\n"
-msgstr[1] "%d hukum tidak dikurangkan\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d bukan terminal tidak berguna"
-msgstr[1] "%d bukan terminal tidak berguna"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " dan "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d hukum tidak berguna"
-msgstr[1] "%d hukum tidak berguna"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "simbol permulaan %s tidak menghasilkan sebarang perkataan"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "`,' sesat dianggap sebagai ruang"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "arahan tidak sah: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "integer diluar julat: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "aksara tidak sah: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "turutan escape tidak sah: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "turutan escape tidak dikenali: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "`(' hilang dalam `%s'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ dari `%s' tiada jenis diisytiharkan"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d dari `%s' tiada jenis diisytiharkan"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "nilai tidak sah: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "`%s' hilang pada penghujung fail"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "nilai $ tidak sah"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "pengisytiharan semula jenis untuk %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s pengisytiharan semula untuk %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "mentakrif semula keutamaan %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "simbol %s ditakrif semula"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "mentakrif semula nombor token pengguna %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"simbol %s digunakan, tetapi tidak ditakrifkan sebagai token atau mempunyai "
-"hukum"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "simbol `%s' digunakan lebih dari sekali sebagai rentetan perkataan"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "simbol `%s' diberikan lebih daripada satu rentetan perkataan"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "konflik keutamaan untuk %s dan %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "konflik kaitan bagi %s (%s) dan %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "token %s dan %s kedua-dunya diberi nombor %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "simbol permulaan %s tidak ditakrifkan"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "simbol permulaan %s adalah token"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "hujah tidak sah %s untuk %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "hujah kabur %s untuk %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Hujah yang sah adalah:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u dibebaskan (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u disimpan (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u disimpan (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u disimpan (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "kira histogram log\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "saiz histogram log\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "histogram kepadatan\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Statistik bitset:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Pelaksanaan terkumpul = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Tidak dapat membaca fail stats."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Saiz fail stats tidak betul.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Tidak dapat menulis fail stats."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Tidak dapat membuka fail stats untuk menulis."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: pilihan `%s' adalah kabur\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: pilihan `--%s' tidak mengizinkan hujah\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: pilihan `%c%s' tidak mengizinkan hujah\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: pilihan `%s' memerlukan hujah\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: pilihan tidak dikenali `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: pilihan tidak dikenali '%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: pilihan salah -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: pilihan tidak sah -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: pilihan memerlukan hujah -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: pilihan `-W %s' adalah kabur\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: pilihan `-W %s' tidak mengizinkan hujah\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "kehabisan memori"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "program subsidiari `%s' tidak dapat dilaksanakan"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "program subsidiari `%s' tidak dijumpai"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "program subsidiari `%s' gagal"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "program subsidiari `%s' gagal (status keluar %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Masa pelaksanaan (saat)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " JUMLAH :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "masa dalam %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/nl.po b/po/nl.po
deleted file mode 100644
index 9d6680b5..00000000
--- a/po/nl.po
+++ /dev/null
@@ -1,720 +0,0 @@
-# Dutch messages for GNU bison.
-# Copyright (C) 1996, 2002, 2003 Free Software Foundation, Inc.
-# Tim Van Holder <tim.van.holder@pandora.be>, 2002, 2003.
-# Erick Branderhorst <branderh@debian.org>, 1996.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875a\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-02-02 02:19+0100\n"
-"Last-Translator: Tim Van Holder <tim.van.holder@pandora.be>\n"
-"Language-Team: Dutch <vertaling@nl.linux.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Onbekende systeemfout"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "let op: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "fatale fout: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Conflict tussen regel %d en token %s opgelost als shift"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Conflict tussen regel %d en token %s opgelost als reductie"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Conflict tussen regel %d en token %s opgelost als een fout"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "conflicten: %d shift/reductie, %d reductie/reductie\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "conflicten: %d shift/reductie\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "conflicten: %d reductie/reductie\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Staat %d"
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "%d shift/reductie conflict werd verwacht"
-msgstr[1] "%d shift/reductie conflicten werden verwacht"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "er werden geen reductie/reductie conflicten verwacht"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "kan bestand `%s' niet openen"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "I/O fout"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "kan bestand niet sluiten"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "conflicterende uitvoer naar bestand %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Probeer `%s --help' voor meer informatie.\n"
-
-# Dank U, Akim :-)
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genereert parsers voor LALR(1) grammatica's.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Gebruik: %s [OPTIE]... BESTAND\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Wanneer een lange optie een argument als verplicht aanduidt, dan is dat\n"
-"argument eveneens verplicht bij de overeenkomstige korte optie. Voor\n"
-"optionele argumenten geldt dezelfde regel.\n"
-
-# Misschien beter 'een POSIX-compatibele yacc'?
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Werkwijzes:\n"
-" -h, --help toon deze hulptekst en beëindig het programma\n"
-" -V, --version toon versie-informatie en beëindig het programma\n"
-" -y, --yacc emuleer POSIX yacc\n"
-
-# Correcte vervoeging van 'voorvoegen'?
-# Betere vertaling voor 'directives'?
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=BESTAND geef het te gebruiken skeletbestand op\n"
-" -t, --debug maak de parser geschikt voor debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX geef een PREFIX op voor de externe symbolen\n"
-" -l, --no-lines genereer geen `#line' directieven\n"
-" -n, --no-parser genereer alleen de tabellen\n"
-" -k, --token-table genereer ook een tabel van tokennamen\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Uitvoer:\n"
-" -d, --defines genereer ook een header-bestand\n"
-" -r, --report=DINGEN genereer ook details over de automaat\n"
-" -v, --verbose hetzelfde als `--report=state'\n"
-" -b, --file-prefix=PREFIX geef een PREFIX op voor de uitvoerbestanden\n"
-" -o, --output=BESTAND schrijf uitvoer naar BESTAND\n"
-" -g, --graph genereer ook een VCG beschrijving van de "
-"automaat\n"
-
-# Verschillende dingen die beter zouden moeten kunnen - zeker de 'itemset' tekst
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"DINGEN is een door komma's gescheiden lijst van woorden; geldige woorden "
-"zijn:\n"
-" `state' beschijft de staten van de automaat\n"
-" `itemset' vervolledig de verzamelingen van core items met hun "
-"closures\n"
-" `lookahead' verbind lookaheads expliciet met items\n"
-" `solved' beschijft het oplossen van shift/reductie conflicten\n"
-" `all' bevat al de bovenstaande keuzes\n"
-" `none' schakel de rapportering uit\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr ""
-"Meld bugs aan <bug-bison@gnu.org>.\n"
-"Meld fouten in de vertaling aan <vertaling@nl.linux.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Geschreven door Robert Corbett en Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Dit is vrije software; zie de broncode voor kopieercondities. Er is GEEN\n"
-"garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD\n"
-"DOEL.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "operand ontbreekt na `%s'"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "overtollige operand `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "leeg"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammatica"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "let op"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "regel wordt nooit gereduceerd omwille van conflicten"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX verbiedt declaraties binnen de grammatica"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "naam ontbreekt in parameterdeclaratie"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " type %d is %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "shift, en ga naar staat %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "ga naar staat %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "fout (niet associatief)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reduceren via regel %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "accepteer"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$standaard"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "staat %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Eindsymbolen, met de regels waarin ze voorkomen"
-
-# Betere vertaling voor non-terminals? 'tussensymbolen'?
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Niet-eindsymbolen, met de regels waarin ze voorkomen"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " links:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " rechts:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Regels die nooit gereduceerd worden"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "meerdere %s declaraties"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "botsing tussen resultaattypes bij merge-functie %s: «%s» != «%s»"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "regel opgegeven voor token (%s)"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "type-conflict bij standaardaktie: «%s» != «%s»"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "lege regel voor niet-eindsymbool met type, en geen actie"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "slechts één %s toegestaan per regel"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s is enkel van toepassing op GLR parsers"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s moet gevolgd worden door een positief getal"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "invoergrammatica bevat geen regels"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "nutteloze regel"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "nutteloos niet-eindsymbool: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Nutteloze niet-eindsymbolen"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Eindsymbolen die niet gebruikt worden"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Nutteloze regels"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regel wordt nooit gereduceerd\n"
-msgstr[1] "%d regels worden nooit gereduceerd\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d nutteloos niet-eindsymbool"
-msgstr[1] "%d nutteloze niet-eindsymbolen"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " en "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d nutteloze regel"
-msgstr[1] "%d nutteloze regels"
-
-# Ik _denk_ dat dit correct weergeeft wat er bedoeld wordt (m.a.w. er is geen regel voor het startsymbool)
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "uit startsymbool %s kan geen enkele zin afgeleid worden"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "losse `,' behandeld als witruimte"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "ongeldig commando: %s"
-
-# Hier zou wel het bereik bij vermeld mogen worden...
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "integer buiten bereik: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "ongeldig teken: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "ongeldige escape: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "onbekende escape: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "`{' ontbreekt in `%s'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ van `%s' heeft geen gedeclareerd type"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d van `%s' heeft geen gedeclareerd type"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "ongeldige waarde: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "`%s' ontbreekt aan einde van bestand"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "ongeldige $-waarde"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "type herdeclaratie voor %s"
-
-# Dit ziet er een potentieel slechte originele string uit - wat kan er in die eerste '%s' staan?
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s herdeclaratie voor %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "herdefinitie van de voorrang van %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "symbool %s opnieuw gedefinieerd"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "herdefinitie van het door de gebruiker gekozen tokennummer van %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"symbool %s wordt gebruikt, maar is niet gedefinieerd als een teken en heeft "
-"geen regels"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "symbool `%s' meer dan eens gebruikt als een letterlijke string"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "symbool `%s' krijgt meer dan één letterlijke string toegewezen"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "voorrangen voor %s en %s geven conflicten"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "associativiteitswaarden voor %s (%s) en %s (%s) geven conflicten"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "tokens %s en %s hebben beide nummer %d toegewezen gekregen"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "het startsymbool %s is niet gedefinieerd"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "het startsymbool %s is een token"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "ongeldige argument %s voor %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argument %s voor %s is niet eenduidig"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Geldige argumenten zijn:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u vrijgegeven (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u gecached (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u gecached (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u gecached (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "count log histogram\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "size log histogram\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "density histogram\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Bitset statistieken:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Accumulated runs = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Kon het statistiekenbestand niet lezen."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Het statistiekenbestand heeft een verkeerde grootte.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Kon niet schrijven naar het statistiekenbestand."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Kon het statistiekenbestand niet openen voor schrijven."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: optie `%s' is niet eenduidig\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: optie `--%s' staat geen argument toe\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: optie `%c%s' staat geen argument toe\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: optie `%s' vereist een argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: onbekende optie `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: onbekende optie `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: optie vereist een argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: optie `-W %s' is niet eenduidig\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: optie `--%s' staat geen argument toe\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "geen geheugen meer beschikbaar"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "hulpprogramma `%s' kon niet opgeroepen worden"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "hulpprogramma `%s' niet gevonden"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "hulpprogramma `%s' mislukt"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "hulpprogramma `%s' mislukt (eindstatus %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Uitvoeringstijden (in seconden)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTAAL :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tijd in %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/pt_BR.po b/po/pt_BR.po
deleted file mode 100644
index d7d780c5..00000000
--- a/po/pt_BR.po
+++ /dev/null
@@ -1,706 +0,0 @@
-# bison: translation to Brazilian Portuguese (pt_BR)
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Alexandre Folle de Menezes <afmenez@terra.com.br>, 2002, 2003.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-06 02:30-0300\n"
-"Last-Translator: Alexandre Folle de Menezes <afmenez@terra.com.br>\n"
-"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Erro de sistema desconhecido"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "aviso: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "erro fatal: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Conflito entre a regra %d e a token %s resolvido como `shift`."
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Conflito entre a regra %d e a token %s resolvido como `reduce`."
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Conflito entre a regra %d e a token %s resolvido como um erro."
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "conflitos: %d de deslocamento/redução, %d de redução/redução\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "conflitos: %d de deslocamento/redução\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "conflitos: %d de redução/redução\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Estado %d"
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "esperado: %d conflito de deslocamento/redução"
-msgstr[1] "esperados: %d conflitos de deslocamento/redução"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "esperados 0 conflitos de redução/redução"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "impossível abrir o arquivo `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "Erro de E/S"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "impossível fechar o arquivo"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "saídas conflitantes para o arquivo %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "tente `%s --help' para mais informações.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison gera analisadores para gramáticas LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Uso: %s [OPCAO]... ARQUIVO\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Se uma opção longa mostra um argumento como obrigatório, então ele é\n"
-"obrigatório para a opção curta equivalente também. Igualmente para os\n"
-"argumentos opcionais.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Modos de operação:\n"
-" -h, --help exibe esta ajuda e sai\n"
-" -V, --version mostra informações de versão e sai\n"
-" -y, --yacc emula o yacc POSIX\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Analizador:\n"
-" -S, --skeleton=arquivo especifica o skeleto a ser usado\n"
-" -t, --debug instrumenta o analisador para depuração\n"
-" --locations habilita a computação de localizações\n"
-" -p, --name-prefix=PREFIXO adiciona PREFIXO aos símbolos externos\n"
-" -l, --no-lines não gera diretivas `#line'\n"
-" -n, --no-parser apenas gera as tabelas\n"
-" --k, --token-table inclui uma tabela de nomes de tokens\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Saída:\n"
-" -d, --defines também produz um arquivo de cabeçalho\n"
-" -r, --report=ITENS também produz detalhes do autômato\n"
-" -v, --verbose o mesmo que `--report=state'\n"
-" -b, --file-prefix=PREFIXO especifica o PREFIXO para os arquivos de saída\n"
-" -o, --output=ARQUIVO armazena a saída em ARQUIVO\n"
-" -g, --graph também produz uma descrição em VCG do autômato\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"ITENS é uma lista separada por vírgulas, que pode incluir:\n"
-" `state' descreve os estados\n"
-" `itemset' completa os conjuntos de ítens básicos com seus "
-"fechamentos\n"
-" `lookahead' associa explicitamente as previsões com os ítens\n"
-" `solved' descreve a solução de conflitos de deslocamento/redução\n"
-" `all' inclui todas as informações acima\n"
-" `none' desabilita o relatório\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Informe os erros para <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Escrito por Robert Corbett e Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright © %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Este é um software livre; veja o código fonte para condições de copyright. "
-"Não\n"
-"existe NENHUMA garantia; nem mesmo a garantia implícita de COMERCIABILIDADE "
-"ou\n"
-"ADEQUAÇÃO À QUALQUER FINALIDADE PARTICULAR.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "falta operando depois de `%s'"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "operando `%s' sobrando"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "vazio"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Gramática"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "aviso"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "regra não reduzida por causa de conflitos"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "o POSIX proíbe declarações na gramática"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "identificador faltando na declaração do parâmetro"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " tipo %d é %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "deslocar, e ir ao estado %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "ir ao estado %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "erro (não associativo)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reduzir usando a regra %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "aceitar"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$padrão"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "estado %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminais, com as regras onde eles aparecem"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Não-terminais com as regras onde eles aparecem"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " à esquerda:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " à direita:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Regras nunca reduzidas"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "declarações de %s múltiplas"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "tipo de resultado conflita na fução de mescla %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "regra fornecida para %s, que é um token"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "conflito de tipos na ação padrão: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "regra vazia para um não-terminal com tipo, e não há ações"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "apenas um %s é permitido por regra"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s afeta apenas analisadores GLR"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s deve ser seguido por um número positivo"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "não há regras na gramática de entrada"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "regra inútil"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "não-terminal inútil: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Não-terminais inúteis"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminais que não foram usados"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Regras inúteis"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regra que nunca foi reduzida\n"
-msgstr[1] "%d regras que nunca foram reduzidas\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d não-terminal inútil"
-msgstr[1] "%d não-terminal inútil"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " e "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d regra inútil"
-msgstr[1] "%d regras inúteis"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "símbolo de início %s não deriva nenhuma sentença"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "`,' perdida tratada como branco"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "diretiva inválida: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "inteiro fora de faixa: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "caractere inválido: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "seqüência de escape inválida: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "seqüência de escape não reconhecida: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "falta `{' em `%s'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ de `%s' não tem tipo declarado"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d de `%s' não tem tipo declarado"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "valor inválido: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "`%s' faltando no final do arquivo"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "valor $ inválido"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "redeclaração de tipo para %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "redeclaração de %s para %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "redefinindo precedência de %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "símbolo %s redefinido"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "redefinindo número de token de usuário de %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr "símbolo %s usado, mas não definido como uma token e não tem regras"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "símbolo `%s' usado mais the uma vez como uma string literal"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "símbolo `%s' associado a mais de uma string literal"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "precedências conflitantes para %s e %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "valores associativos conflitantes para %s (%s) e %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "tokens %s e %s associadas ao mesmo número %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "o símbolo de início %s não está definido"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "o símbolo de início %s é um terminal"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "argumento %s inválido para %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argumento %s ambíguo para %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Argumentos válidos são:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u liberados (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u em cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u em cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u em cache (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "histograma de log de contagens\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "histograma de log de tamanhos\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "histograma de densidades\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Estatísticas de bitset:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Execuções acumuladas = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Impossível ler o arquivo de estatísticas."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Tamanho do arquivo de estatísticas com erro.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Impossível de escrever no arquivo de estatísticas."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Impossível abrir arquivo de estatísticas para escrita."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: a opção `%s' é ambígua\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: a opção `--%s' no admite nenhum argumento\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: a opção `%c%s' não admite nenhum argumento\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: a opção `%s' exige um argumento\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opção `--%s' não reconhecida\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opção `%c%s' não reconhecida\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opção -- %c ilegal\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opção -- %c inválida\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: a opção -- %c exige um argumento\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: a opção `-W %s' é ambígua\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: a opção `-W %s' não admite nenhum argumento\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "memória esgotada"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "programa subsidiário `%s' não pôde ser invocado"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "programa subsidiário `%s' não foi encontrado"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "programa subsidiário `%s' falhou"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "programa subsidiário `%s' falhou (estado de saída %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Tempos de execução (segundos)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTAL :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tempo em %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/ro.po b/po/ro.po
deleted file mode 100644
index 6d64599d..00000000
--- a/po/ro.po
+++ /dev/null
@@ -1,713 +0,0 @@
-# Mesajele în limba românã pentru GNU Bison.
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Acest fiºier este distribuit sub aceeaºi licenşã ca ºi pachetul bison.
-# Laurentiu Buzdugan <buzdugan@voyager.net>, 2003.
-#
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875a\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-03-01 21:43-0500\n"
-"Last-Translator: Laurentiu Buzdugan <buzdugan@voyager.net>\n"
-"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Eroare de sistem necunoscutã"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "avertisment:"
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "eroare fatalã:"
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Conflict între regula %d ºi elementul (token) %s rezolvat ca shift"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr ""
-" Conflict între regula %d ºi elementul (token) %s rezolvat ca reduce"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr ""
-" Conflict între regula %d ºi elementul (token) %s rezolvat ca eroare"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "conflicte: %d shift/reduce, %d reduce/reduce\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "conflicte: %d shift/reduce\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "conflicte: %d reduce/reduce\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Stare %d"
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "am aºteptat %d conflict shift/reduce"
-msgstr[1] "am aºteptat %d conflicte shift/reduce"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "am aºteptat 0 conflicte reduce/reduce"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "nu am putut deschide fiºierul `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "Eroare I/O"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "nu pot închide fiºierul"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "ieºiri în conflict în fiºierul %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Încercaşi `%s --help' pentru informaşii suplimentare.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genereazã parsere pentru gramatici LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Folosire: %s [OPŞIUNE]... FIªIER\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Dacã o opşiune lungã aratã un argument ca necesar, atunci el este necesar\n"
-"ºi pentru opşiunea scurtã echivalentã. Similar pentru argumentele "
-"opşionale.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Moduri de operare:\n"
-" -h, --help afiºeazã acest mesaj ºi terminã\n"
-" -V, --version afiºeazã informaşii despre versiune ºi terminã\n"
-" -y, --yacc emuleazã POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Parser:\n"
-" -S, --skeleton=FIªIER specificã scheletul de folosit\n"
-" -t, --debug instrumenteazã parserul pentru depanare\n"
-" --locations activeazã calculul locaşiilor\n"
-" -p, --name-prefix=PREFIX pune prefix PREFIX la simbolurile externe\n"
-" -l, --no-lines nu genera directive `#line'\n"
-" -n, --no-parser genereazã numai tabelele\n"
-" -k, --token-table include un tabel cu nume de elemente\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Ieºire:\n"
-" -d, --defines creazã ºi un fiºier header\n"
-" -r, --report=LUCRURI creazã ºi detalii despre automaton\n"
-" -v, --verbose la fel ca `--report=state'\n"
-" -b, --file-prefix=PREFIX specificã un PREFIX pentru fiºierele ieºire\n"
-" -o, --output=FIªIER creazã ieºire în FIªIER\n"
-" -g, --graph creazã ºi o descriere VCG a automaton-ului\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"LUCRURI este o listã de cuvinte separate de virgulã ce pot fi:\n"
-" `state' descrie stãrile\n"
-" `itemset' completeazã seturile de elemente nucleu cu închiderea lor\n"
-" `lookahead' asociazã explicit lookaheads la elemente\n"
-" `solved' descrie rezolvarea conflictelor shift/reduce\n"
-" `all' include toatã informaşia de deasupra\n"
-" `none' deactiveazã raportarea\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "Raportaşi bug-uri la <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Scris de Robert Corbett ºi Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Acesta este software liber; vedeşi codul sursã pentru condişii despre "
-"copiere.\n"
-"Nu existã nici o garanşie; nici chiar pentru COMERCIALIZARE sau de "
-"POTRIVIRE\n"
-"PENTRU UN SCOP ANUME.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "operator lipsã dupã `%s'"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "extra operator `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "goleºte"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Gramaticã"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "avertisment"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "regula nu este redusã niciodatã din cauza conflictelor"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX interzice declaraşii în gramaticã"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "identificator lipsã în declaraşia parametrului"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " tipul %d este %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "shift, ºi mergi în starea %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "mergi în starea %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "eroare (ne-asociativitate)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reduce folosind regula %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "accept"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$implicit"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "stare %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminale, cu reguli acolo unde acestea apar"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Non-terminale, cu reguli acolo unde acestea apar"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " pe stânga:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " pe dreapta:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Regulile nu au fost reduse"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "declaraşii %s multiple"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-"tipul rezultatului în conflict cu funcşia de combinare %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "regula datã pentru %s, care este un element (token)"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "conflict de tip pentru acşiunea implicitã: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "regulã vidã pentru nonterminal cu tip, ºi nici o acşiune"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "un singur %s permis pe fiecare regulã"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s afecteazã numai parsere GLR"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s trebuie sã fie urmat de numere pozitive"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "nici o regulã în gramatica furnizatã"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "regulã fãrã rost"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "nonterminal fãrã rost: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Nonterminale fãrã rost"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminale care nu sunt folosite"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Reguli fãrã rost"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regulã niciodatã redusã\n"
-msgstr[1] "%d reguli niciodatã reduse\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d nonterminal fãrã rost"
-msgstr[1] "%d nonterminale fãrã rost"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " ºi "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d regulã fãrã rost"
-msgstr[1] "%d reguli fãrã rost"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "simbol de start %s nu deriveazã nici o propozişie"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "Virgulã `,' rãtãcitã tratatã ca spaşiu gol"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "directivã invalidã: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "întreg în afara domeniului: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "caracter invalid: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "secvenşã escape invalidã: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "secvenşã escape nerecunoscutã: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "`{' lipsã în `%s'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ a lui `%s' nu are nici un tip declarat"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d a lui `%s' nu are nici un tip declarat"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "valoare invalidã: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "`%s' lipsã la sfârºitul fiºierului"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "valoare $ invalidã"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "redeclarare de tip pentru %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "redeclarare %s pentru %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "precedenşã redefinitã pentru %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "simbol %s redefinit"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "numãrul elementului (token) definit de utilizator redefinit pentru %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"simbolul %s e folosit, dar nu este definit ca element (token) ºi nu are nici "
-"o regulã"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "simbolul `%s' este folosit de mai multe ori ca ºir literar"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "simbolului `%s' îi este dat mai mult de un singur ºir literar"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "precedenşe în conflict pentru %s ºi %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "asoaciativitãşi în conflict pentru %s (%s) ºi %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "ambelor elementele (tokens) %s ºi %s le sunt alocate acelaºi numãr %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "simbolul de start %s nu este definit"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "simbolul de start %s este un element (token)"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "argument invalid %s pentru %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "argument ambiguu %s pentru %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Argumente valide sunt:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitset_allocs, %u eliberate (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_sets, %u stocate (cached) (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitset_resets, %u stocate (cached) (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitset_tests, %u stocate (cached) (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitset_lists\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "numãrã histograma jurnal\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "dimensiune histogramã jurnal\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "densitate histogramã\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Statistici bitset:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Rulãri acumulate = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Nu am putut citi fiºierul de statistici."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Dimensiune fiºier cu statistici incorectã.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Nu am putut scrie fiºier statistici."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Nu am putut deschide fiºierul de statistici pentru scriere."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opşiunea `%s' este ambiguã\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opşiunea `--%s' nu permite un argument\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opşiunea `%c%s' nu permite un argument\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opşiunea `%s' necesitã un argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opşiune nerecunoscutã `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opşiune nerecunoscutã `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opşiune ilegalã -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opşiune ilegalã -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opşiunea necesitã un argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opşiunea `-W %s' este ambiguã\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opşiunea `-W %s' nu permite un argument\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "memorie epuizatã"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "programul auxiliar `%s' nu poate fi invocat"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "programul auxiliar `%s' nu a fost gãsit"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "programul auxiliar `%s' a eºuat"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "programul auxiliar `%s' a eºuat (stare de terminare %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Timp de execuşie (secunde)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTAL :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "timp în %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/ru.po b/po/ru.po
deleted file mode 100644
index a6567376..00000000
--- a/po/ru.po
+++ /dev/null
@@ -1,958 +0,0 @@
-# ğÅÒÅ×ÏÄ ÓÏÏÂİÅÎÉÊ bison.
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Dmitry S. Sivachenko <dima@Chg.RU>, 1999,2000,2001,2002.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-01 20:35+0300\n"
-"Last-Translator: Dmitry S. Sivachenko <mitya@cavia.pp.ru>\n"
-"Language-Team: Russian <ru@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-r\n"
-"Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "ĞÒÅÄÕĞÒÅÖÄÅÎÉÅ: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " ëÏÎÆÌÉËÔ ÍÅÖÄÕ ĞÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ÓÄ×ÉÇÏÍ"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " ëÏÎÆÌÉËÔ ÍÅÖÄÕ ĞÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ×Ù×ÏÄÏÍ"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " ëÏÎÆÌÉËÔ ÍÅÖÄÕ ĞÒÁ×ÉÌÏÍ %d É ÌÅËÓÅÍÏÊ %s ÒÁÚÒÅÛÅÎ ËÁË ÏÛÉÂËÁ"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "ËÏÎÆÌÉËÔÙ: %d ÓÄ×ÉÇÁ/×Ù×ÏÄÁ, %d ×Ù×ÏÄÁ/×Ù×ÏÄÁ\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "ËÏÎÆÌÉËÔÙ: %d ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "ËÏÎÆÌÉËÔÙ: %d ×Ù×ÏÄÁ/×Ù×ÏÄÁ\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "óÏÓÔÏÑÎÉÅ %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "ÏÖÉÄÁÌÓÑ %d ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-msgstr[1] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-msgstr[2] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "ÏÖÉÄÁÌÏÓØ 0 ËÏÎÆÌÉËÔÏ× ×Ù×ÏÄÁ/×Ù×ÏÄÁ"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "ÏÛÉÂËÁ ××ÏÄÁ-×Ù×ÏÄÁ"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
-
-#: src/files.c:336
-#, fuzzy, c-format
-msgid "conflicting outputs to file %s"
-msgstr "ĞÒÏÔÉ×ÏÒÅŞÉ×ÙÅ ÚÎÁŞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "éÓĞÏÌØÚÕÊÔÅ `%s --help' ÄÌÑ ÄÏĞÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison ÇÅÎÅÒÉÒÕÅÔ ÁÎÁÌÉÚÁÔÏÒÙ ÄÌÑ ÇÒÁÍÍÁÔÉË LALR(1).\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "éÓĞÏÌØÚÏ×ÁÎÉÅ: %s [ëìàşé]... æáêì\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"åÓÌÉ ÄÌÉÎÎÁÑ ÆÏÒÍÁ ËÌÀŞÁ ÏĞÒÅÄÅÌÑÅÔ ÁÒÇÕÍÅÎÔ ËÁË ÏÂÑÚÁÔÅÌØÎÙÊ, ÔÏ ÏÎ ÔÁËÖÅ\n"
-"Ñ×ÌÑÅÔÓÑ ÏÂÑÚÁÔÅÌØÎÙÍ ÄÌÑ ËÏÒÏÔËÏÊ ÆÏÒÍÙ. ôÏ ÖÅ ËÁÓÁÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÈ\n"
-"ÁÒÇÕÍÅÎÔÏ×.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"òÅÖÉÍÙ ÆÕÎËÃÉÏÎÉÒÏ×ÁÎÉÑ:\n"
-" -h, --help ×Ù×ÅÓÔÉ ÜÔÕ ÓĞÒÁ×ËÕ É ×ÙÊÔÉ\n"
-" -V, --version ×Ù×ÅÓÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
-" -y, --yacc ÜÍÕÌÉÒÏ×ÁÔØ POSIX yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"áÎÁÌÉÚÁÔÏÒ:\n"
-" -S, --skeleton=æáêì ÕËÁÚÁÔØ ÆÁÊÌ ÛÁÂÌÏÎÁ\n"
-" -t, --debug ÎÁÓÔÒÏÉÔØ ÁÎÁÌÉÚÁÔÏÒ ÄÌÑ ÏÔÌÁÄËÉ\n"
-" --locations ×ËÌÀŞÉÔØ ×ÙŞÉÓÌÅÎÉÅ ÍÅÓÔÏĞÏÌÏÖÅÎÉÊ\n"
-" -p, --name-prefix=ğòåæéëó ĞÏÄÓÔÁ×ÉÔØ ğòåæéëó ÄÌÑ ×ÎÅÛÎÉÈ ÓÉÍ×ÏÌÏ×\n"
-" -l, --no-lines ÎÅ ÇÅÎÅÒÉÒÏ×ÁÔØ ÄÉÒÅËÔÉ×Ù `#line'\n"
-" -n, --no-parser ÇÅÎÅÒÉÒÏ×ÁÔØ ÔÏÌØËÏ ÔÁÂÌÉÃÙ\n"
-" -k, --token-table ×ËÌÀŞÉÔØ ÔÁÂÌÉÃÕ ÉÍÅÎ ÌÅËÓÅÍ\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"÷Ù×ÏÄ:\n"
-" -d, --defines ÓÏÚÄÁÔØ ÔÁËÖÅ ÆÁÊÌ ÚÁÇÏÌÏ×ËÏ×\n"
-" -r, --report=THINGS ÓÏÚÄÁÔØ ÔÁËÖÅ ĞÏÑÓÎÅÎÉÑ × Á×ÔÏÍÁÔÕ\n"
-" -v, --verbose ÔÏ ÖÅ, ŞÔÏ É `--report=state'\n"
-" -b, --file-prefix=ğòåæéëó ÕËÁÚÁÔØ ğòåæéëó ÄÌÑ ×ÙÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
-" -o, --output=æáêì ĞÏÍÅÓÔÉÔØ ÒÅÚÕÌØÔÁÔ × æáêì\n"
-" -g, --graph ÓÏÚÄÁÔØ ÔÁËÖÅ ĞÏÑÓÎÅÎÉÑ Ë Á×ÔÏÍÁÔÕ × ×ÉÄÅ \n"
-" VCG-ÇÒÁÆÁ\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr "ïÛÉÂËÉ ÓÏÏÂİÁÊÔÅ ĞÏ ÁÄÒÅÓÕ <bug-bison@gnu.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "á×ÔÏÒÙ: òÏÂÅÒÔ ëÏÒÂÅÔ É òÉŞÁÒÄ óÔÏÌÍÅÎ.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"üÔÏ Ó×ÏÂÏÄÎÁÑ ĞÒÏÇÒÁÍÍÁ; ÕÓÌÏ×ÉÑ ÒÁÓĞÒÏÓÔÒÁÎÅÎÉÑ ÓÍÏÔÒÉÔÅ × ÉÓÈÏÄÎÙÈ "
-"ÔÅËÓÔÁÈ.\n"
-"îéëáëéè ÇÁÒÁÎÔÉÊ ÎÅ ĞÒÅÄÏÓÔÁ×ÌÑÅÔÓÑ, ÄÁÖÅ ÇÁÒÁÎÔÉÉ ğïìåúîïóôé ÉÌÉ "
-"ğòéçïäîïóôé\n"
-"äìñ ïğòåäåìåîîïê ãåìé.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "ĞÏÓÌÅ `%s' ĞÒÏĞÕİÅÎ ÏĞÅÒÁÎÄ"
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "ÌÉÛÎÉÊ ÏĞÅÒÁÎÄ `%s'"
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "ĞÕÓÔÏ"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "çÒÁÍÍÁÔÉËÁ"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "ĞÒÅÄÕĞÒÅÖÄÅÎÉÅ"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "ĞÒÁ×ÉÌÏ ÎÅ Ó×ÅÄÅÎÏ ÉÚ-ÚÁ ËÏÎÆÌÉËÔÏ×"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX ÚÁĞÒÅİÁÅÔ ĞÏÍÅİÁÔØ ÏĞÉÓÁÎÉÑ × ÇÒÁÍÍÁÔÉËÅ"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "× ÏĞÉÓÁÎÉÉ ĞÁÒÁÍÅÔÒÁ ÏÔÓÕÔÓÔ×ÕÅÔ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " ÔÉĞ %d Ñ×ÌÑÅÔÓÑ %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "ÓÄ×ÉÇ, É ĞÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "ĞÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "ÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "×Ù×ÏÄ Ó ÉÓĞÏÌØÚÏ×ÁÎÉÅÍ ĞÒÁ×ÉÌÁ %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr ""
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$default"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "ÓÏÓÔÏÑÎÉÅ %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "ôÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ĞÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ĞÏÑ×ÌÑÀÔÓÑ"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "îÅÔÅÒÍÉÎÁÌØÎÙÅ ÓÉÍ×ÏÌÙ Ó ĞÒÁ×ÉÌÁÍÉ, × ËÏÔÏÒÙÈ ÏÎÉ ĞÏÑ×ÌÑÀÔÓÑ"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " ÎÁÌÅ×Ï:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " ÎÁĞÒÁ×Ï:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "ğÒÁ×ÉÌÁ ÎÅ Ó×ÅÄÅÎÙ"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏĞÉÓÁÎÉÅ %s"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "ĞÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "ËÏÎÆÌÉËÔ ÔÉĞÏ× ÎÁ ÄÅÊÓÔ×ÉÉ ĞÏ ÕÍÏÌŞÁÎÉÀ: <%s> != <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr ""
-"ĞÕÓÔÏÅ ĞÒÁ×ÉÌÏ ÄÌÑ ÔÉĞÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr ""
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr ""
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "ÚÁ %s ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ĞÏÌÏÖÉÔÅÌØÎÏÅ ŞÉÓÌÏ"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ĞÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "ÂÅÓĞÏÌÅÚÎÏÅ ĞÒÁ×ÉÌÏ"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "ÂÅÓĞÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌ: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "âÅÓĞÏÌÅÚÎÙÅ ÎÅÔÅÒÍÉÎÁÌÙ"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "îÅÉÓĞÏÌØÚÏ×ÁÎÎÙÅ ÔÅÒÍÉÎÁÌÙ"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "âÅÓĞÏÌÅÚÎÙÅ ĞÒÁ×ÉÌÁ"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d ĞÒÁ×ÉÌÏ ÎÅ Ó×ÅÄÅÎÏ\n"
-msgstr[1] "%d ĞÒÁ×ÉÌÁ ÎÅ Ó×ÅÄÅÎÏ\n"
-msgstr[2] "%d ĞÒÁ×ÉÌ ÎÅ Ó×ÅÄÅÎÏ\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d ÂÅÓĞÏÌÅÚÎÙÊ ÎÅÔÅÒÍÉÎÁÌ"
-msgstr[1] "%d ÂÅÓĞÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÁ"
-msgstr[2] "%d ÂÅÓĞÏÌÅÚÎÙÈ ÎÅÔÅÒÍÉÎÁÌÏ×"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " É "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d ÂÅÓĞÏÌÅÚÎÏÅ ĞÒÁ×ÉÌÏ"
-msgstr[1] "%d ÂÅÓĞÏÌÅÚÎÙÈ ĞÒÁ×ÉÌÁ"
-msgstr[2] "%d ÂÅÓĞÏÌÅÚÎÙÈ ĞÒÁ×ÉÌ"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "ÎÁŞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ĞÒÅÄÌÏÖÅÎÉÑ"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "ÌÉÛÎÑÑ `,', ÓŞÉÔÁÅÔÓÑ ĞÒÏÂÅÌÏÍ"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "ÎÅ×ÅÒÎÁÑ ÄÉÒÅËÔÉ×Á: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "×ÙÈÏÄ ÚÁ ÇÒÁÎÉÃÙ ÄÉÁĞÁÚÏÎÁ ÃÅÌÏÇÏ: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "ÎÅÄÏĞÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "ÎÅÄÏĞÕÓÔÉÍÁÑ ÜËÒÁÎÉÒÕÀİÁÑ ĞÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "ÎÅÒÁÓĞÏÚÎÁÎÎÁÑ ÜËÒÁÎÉÒÕÀİÁÑ ĞÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "× `%s' ÏÔÓÕÔÓÔ×ÕÅÔ `{'"
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏĞÉÓÁÎÎÏÇÏ ÔÉĞÁ"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏĞÉÓÁÎÎÏÇÏ ÔÉĞÁ"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "ÎÅÄÏĞÕÓÔÉÍÏÅ ÚÎÁŞÅÎÉÅ: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ `%s' × ËÏÎÃÅ ÆÁÊÌÁ"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁŞÅÎÉÅ"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "ĞÏ×ÔÏÒÎÏÅ ÏĞÉÓÁÎÉÅ ÔÉĞÁ ÄÌÑ %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "ĞÏ×ÔÏÒÎÏÅ ÏĞÉÓÁÎÉÅ %s ÄÌÑ %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "ĞÅÒÅÏĞÒÅÄÅÌÅÎÉÅ ĞÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "ĞÏ×ÔÏÒÎÏÅ ÏĞÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "ĞÅÒÅÏĞÒÅÄÅÌÅÎÉÅ ÎÏÍÅÒÁ ÌÅËÓÅÍÙ ĞÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr "ÓÉÍ×ÏÌ %s ÉÓĞÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏĞÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ĞÒÁ×ÉÌ"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr ""
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr ""
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "ĞÒÏÔÉ×ÏÒÅŞÉ×ÙÅ ĞÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "ĞÒÏÔÉ×ÏÒÅŞÉ×ÙÅ ÚÎÁŞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s (%s) É %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ĞÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "ÎÁŞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏĞÒÅÄÅÌÅÎ"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "ÎÁŞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "ÎÅÄÏĞÕÓÔÉÍÙÊ ÁÒÇÕÍÅÎÔ %s ÄÌÑ %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "ÎÅÏÄÎÏÚÎÁŞÎÙÊ ÁÒÇÕÍÅÎÔ %s ÄÌÑ %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "äÏĞÕÓÔÉÍÙÅ ÁÒÇÕÍÅÎÔÙ:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr ""
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr ""
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr ""
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "îÅ ÕÄÁÅÔÓÑ ĞÒÏŞÉÔÁÔØ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr ""
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁĞÉÓÁÔØ × ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "îÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ ÄÌÑ ÚÁĞÉÓÉ."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ÎÅÏÄÎÏÚÎÁŞÎÙÊ ËÌÀŞ `%s'\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: ËÌÀŞ `--%s' ÄÏÌÖÅÎ ÉÓĞÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: ËÌÀŞ `%c%s' ÄÏÌÖÅÎ ÉÓĞÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: ËÌÀŞ `%s' ÄÏÌÖÅÎ ÉÓĞÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀŞ `--%s'\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀŞ `%c%s'\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÎÅÄÏĞÕÓÔÉÍÙÊ ËÌÀŞ -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀŞ -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ËÌÀŞ ÄÏÌÖÅÎ ÉÓĞÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ÎÅÏÄÎÏÚÎÁŞÎÙÊ ËÌÀŞ `-W %s'\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: ËÌÀŞ `-W %s' ÄÏÌÖÅÎ ÉÓĞÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "ĞÁÍÑÔØ ÉÓŞÅÒĞÁÎÁ"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "ÎÅ ÕÄÁÅÔÓÑ ×ÙĞÏÌÎÉÔØ ×ÓĞÏÍÏÇÁÔÅÌØÎÕÀ ĞÒÏÇÒÁÍÍÕ `%s'"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "×ÓĞÏÍÏÇÁÔÅÌØÎÁÑ ĞÒÏÇÒÁÍÍÁ `%s' ÎÅ ÎÁÊÄÅÎÁ"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "×ÓĞÏÍÏÇÁÔÅÌØÎÁÑ ĞÒÏÇÒÁÍÍÁ `%s' ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁŞÎÏ"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr ""
-"×ÓĞÏÍÏÇÁÔÅÌØÎÁÑ ĞÒÏÇÒÁÍÍÁ `%s' ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁŞÎÏ (ËÏÄ ÚÁ×ÅÒÛÅÎÉÑ %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr ""
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr ""
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÓÔÏÑÎÉÊ (ÍÁËÓÉÍÁÌØÎÏ %d)"
-
-#~ msgid "reduce"
-#~ msgstr "×Ù×ÏÄ"
-
-#~ msgid "shift"
-#~ msgstr "ÓÄ×ÉÇ"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-#~ msgstr[1] "%d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-#~ msgstr[2] "%d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-
-#~ msgid "and"
-#~ msgstr "É"
-
-#~ msgid "State %d contains "
-#~ msgstr "óÏÓÔÏÑÎÉÅ %d ÓÏÄÅÒÖÉÔ "
-
-#~ msgid "conflicts: "
-#~ msgstr "ËÏÎÆÌÉËÔÙ: "
-
-#~ msgid "%s contains "
-#~ msgstr "%s ÓÏÄÅÒÖÉÔ "
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "`%s' ÂÏÌØÛÅ ÎÅ ĞÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ĞÏÓÌÅ `%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
-
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "×ÓÔÒÅŞÅÎ É ĞÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
-
-#~ msgid "unterminated comment"
-#~ msgstr "ÎÅÚÁËÏÎŞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
-
-#~ msgid "unexpected end of file"
-#~ msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
-
-#~ msgid "unescaped newline in constant"
-#~ msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ĞÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "×ÏÓØÍÅÒÉŞÎÁÑ ×ÅÌÉŞÉÎÁ ÚÁ ĞÒÅÄÅÌÁÍÉ ÄÉÁĞÁÚÏÎÁ 0...255: `\\%o'"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉŞÎÁÑ ×ÅÌÉŞÉÎÁ ĞÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
-
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ĞÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `%s' ĞÏÓÌÅ `\\'"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "ÎÅÚÁËÏÎŞÅÎÎÏÅ ÉÍÑ ÔÉĞÁ × ËÏÎÃÅ ÆÁÊÌÁ"
-
-#~ msgid "unterminated type name"
-#~ msgstr "ÎÅÚÁËÏÎŞÅÎÎÏÅ ÉÍÑ ÔÉĞÁ"
-
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr "ÉÓĞÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "`%s' ÎÅ ĞÏÄÄÅÒÖÉ×ÁÅÔ ÁÒÇÕÍÅÎÔÁ %s"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "ËÌÀŞ `%s' ÄÏÌÖÅÎ ÉÓĞÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ"
-
-#~ msgid " (rule %d)"
-#~ msgstr " (ĞÒÁ×ÉÌÏ %d)"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\tÏÛÉÂËÁ (ÎÅÁÓÓÏÃÉÁÔÉ×ÎÁÑ)\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $default\t×Ù×ÏÄ Ó ÉÓĞÏÌØÚÏ×ÁÎÉÅÍ ĞÒÁ×ÉÌÁ %d (%s)\n"
-#~ "\n"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[×Ù×ÏÄ Ó ÉÓĞÏÌØÚÏ×ÁÎÉÅÍ ĞÒÁ×ÉÌÁ %d (%s)]\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\t×Ù×ÏÄ Ó ÉÓĞÏÌØÚÏ×ÁÎÉÅÍ ĞÒÁ×ÉÌÁ %d (%s)\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $default\t×Ù×ÏÄ Ó ÉÓĞÏÌØÚÏ×ÁÎÉÅÍ ĞÒÁ×ÉÌÁ %d (%s)\n"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $default\tĞÒÉÎÑÔÉÅ\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " îåô äåêóô÷éê\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "îÏÍÅÒ, óÔÒÏËÁ, ğÒÁ×ÉÌÏ"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " ğÒÏĞÕÓË ÄÏ ÓÌÅÄÕÀİÅÇÏ \\n"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " ğÒÏĞÕÓË ÄÏ ÓÌÅÄÕÀİÅÇÏ %c"
-
-#~ msgid "unterminated string"
-#~ msgstr "ÎÅÚÁËÏÎŞÅÎÎÁÑ ÓÔÒÏËÁ"
-
-#~ msgid "%s is invalid"
-#~ msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr "ÎÅÚÁËÏÎŞÅÎÎÏÅ ÏĞÒÅÄÅÌÅÎÉÅ `%{'"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "ğÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ĞÏÓÌÅ %s"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "ÎÅ×ÅÒÎÏÅ ÏĞÉÓÁÎÉÅ %s"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "ÏĞÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉĞÁ>"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "ÎÅ×ÅÒÎÏÅ ÏĞÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
-
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ŞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
-
-#~ msgid "unexpected item: %s"
-#~ msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
-
-#~ msgid "unmatched %s"
-#~ msgstr "ÎÅĞÁÒÎÁÑ %s"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "ÁÒÇÕÍÅÎÔ %%expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ŞÉÓÌÏÍ"
-
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "ÎÅÒÁÓĞÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ĞÏÓÔÏÑÎÎÁÑ"
-
-#~ msgid "no input grammar"
-#~ msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr "ÎÅ×ÅÒÎÏÅ ĞÒÁ×ÉÌÏ: Ä×ÏÅÔÏŞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁŞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁŞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ŞÅÒÔÙ"
-
-#~ msgid "previous rule lacks an ending `;'"
-#~ msgstr "× ĞÒÅÄÙÄÕİÅÍ ĞÒÁ×ÉÌÅ ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁ×ÅÒÛÁÀİÁÑ `;'"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "Ä×Á @prec ĞÏÄÒÑÄ"
-
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr "%%guard ĞÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ĞÒÁ×ÉÌÁ"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ĞÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
-
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "ĞÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
-
-#~ msgid " $ \tgo to state %d\n"
-#~ msgstr " $ \tĞÅÒÅÈÏÄ × ÓÏÓÔÏÑÎÉÅ %d\n"
-
-#~ msgid "unterminated %guard clause"
-#~ msgstr "ÎÅÚÁËÏÎŞÅÎÎÙÊ ÏĞÅÒÁÔÏÒ %guard"
-
-#~ msgid " 1 shift/reduce conflict"
-#~ msgstr " 1 ËÏÎÆÌÉËÔ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ"
-
-#~ msgid "%s contains"
-#~ msgstr "%s ÓÏÄÅÒÖÉÔ"
-
-#~ msgid "DERIVES"
-#~ msgstr "DERIVES"
-
-#~ msgid "%s derives"
-#~ msgstr "%s ×Ù×ÏÄÉÔ"
-
-#~ msgid "%s: internal error: %s\n"
-#~ msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
-
-#~ msgid "Entering set_nullable"
-#~ msgstr "÷ÈÏÄ × set_nullable"
-
-#~ msgid "\t\t/* empty */"
-#~ msgstr "\t\t/* ĞÕÓÔÏ */"
-
-#~ msgid "multiple %%header_extension declarations"
-#~ msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÙÅ ÏĞÉÓÁÎÉÑ %%header_extension"
-
-#~ msgid "multiple %%source_extension declarations"
-#~ msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÙÅ ÏĞÉÓÁÎÉÑ %%source_extension"
-
-#~ msgid ""
-#~ "Variables\n"
-#~ "---------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "ğÅÒÅÍÅÎÎÙÅ\n"
-#~ "----------\n"
-#~ "\n"
-
-#~ msgid "Value Sprec Sassoc Tag\n"
-#~ msgstr "úÎÁŞ ğÒÉÏÒ áÓÓÏÃ ôÅÇ\n"
-
-#~ msgid ""
-#~ "Rules\n"
-#~ "-----\n"
-#~ "\n"
-#~ msgstr ""
-#~ "ğÒÁ×ÉÌÁ\n"
-#~ "-------\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "Rules interpreted\n"
-#~ "-----------------\n"
-#~ "\n"
-#~ msgstr ""
-#~ "éÎÔÅÒĞÒÅÔÉÒÏ×ÁÎÎÙÅ ĞÒÁ×ÉÌÁ\n"
-#~ "--------------------------\n"
-#~ "\n"
-
-#~ msgid ""
-#~ "reduced %s defines %d terminal%s, %d nonterminal%s, and %d production%s.\n"
-#~ msgstr ""
-#~ "×Ù×ÅÄÅÎÎÙÊ %s ÏĞÒÅÄÅÌÑÅÔ %d ÔÅÒÍÉÎÁÌÏ×%s, %d ÎÅÔÅÒÍÉÎÁÌÏ×%s, É %d ĞÒÁ×ÉÌ "
-#~ "×Ù×ÏÄÁ%s.\n"
-
-#~ msgid "@%s is invalid"
-#~ msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s"
diff --git a/po/sv.po b/po/sv.po
deleted file mode 100644
index 84babff9..00000000
--- a/po/sv.po
+++ /dev/null
@@ -1,711 +0,0 @@
-# Swedish messages for bison.
-# Copyright © 2001, 2002, 2003 Free Software Foundation, Inc.
-# Göran Uddeborg <goeran@uddeborg.pp.se>, 2001, 2002, 2003.
-# $Revision$
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.875\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2003-01-01 23:03+0100\n"
-"Last-Translator: Göran Uddeborg <goeran@uddeborg.pp.se>\n"
-"Language-Team: Swedish <sv@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Okänt systemfel"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "varning: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "ödesdigert fel: "
-
-#: src/conflicts.c:75
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr " Konflikt mellan regel %d och element %s löstes som skift"
-
-#: src/conflicts.c:83
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr " Konflikt mellan regel %d och element %s löstes som reducera"
-
-#: src/conflicts.c:90
-#, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr " Konflikt mellan regel %d och element %s löstes som ett fel"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr "konflikter: %d skifta/reducera, %d reducera/reducera\n"
-
-#: src/conflicts.c:401
-#, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr "konflikter: %d skifta/reducera\n"
-
-#: src/conflicts.c:403
-#, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr "konflikter: %d reducera/reducera\n"
-
-#: src/conflicts.c:421
-#, c-format
-msgid "State %d "
-msgstr "Tillstånd %d "
-
-#: src/conflicts.c:498
-#, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "förväntade %d skifta/reducerakonflikt"
-msgstr[1] "förväntade %d skifta/reducerakonflikter"
-
-#: src/conflicts.c:503
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "förväntade 0 reducera/reducerakonflikter"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "kan inte öppna filen \"%s\""
-
-#: src/files.c:115
-msgid "I/O error"
-msgstr "I/O-fel"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "kan inte stänga fil"
-
-#: src/files.c:336
-#, c-format
-msgid "conflicting outputs to file %s"
-msgstr "motstridiga utmatningar till filen %s"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Försök med \"%s --help\" för mer information.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison genererar parsrar för LALR(1)-grammatiker.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Användning: %s [FLAGGA]... FIL\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Om en lång flagga visar ett argument som obligatoriskt är det\n"
-"obligatoriskt för den motsvarande korta flaggan också. Motsvarande\n"
-"för valfria argument.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Arbetslägen:\n"
-" -h, --help visa denna hjälptext och avsluta\n"
-" -V, --version visa versionsinformation och avsluta\n"
-" -y, --yacc emulera POSIX-yacc\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Tolk:\n"
-" -S, --skeleton=FIL ange skelettfilen som skall användas\n"
-" -t, --debug instrumentera tolken för felsökning\n"
-" --locations aktivera lägesberäkning\n"
-" -p, --name-prefix=PREFIX lägg till PREFIX före externa symboler\n"
-" -l, --no-lines generera inte \"#line\"-direktiv\n"
-" -n, --no-parser generera endast tabellerna\n"
-" -k, --token-table inkludera en tabell över elementnamn\n"
-
-#: src/getargs.c:225
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Utdata:\n"
-" -d, --defines skapa också en huvudfil\n"
-" -r, --report=SAKER skapa också detaljer om automaten\n"
-" -v, --verbose samma som \"--report=state\"\n"
-" -b, --file-prefix=PREFIX ange ett PREFIX för utdatafiler\n"
-" -o, --output=FIL lägg utdata i FIL\n"
-" -g, --graph skapa också en VCG-beskrivning av automaten\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-"SAKER är en lista med kommaseparerade ord som kan innehålla:\n"
-" \"state\" beskriv tillstånden\n"
-" \"itemset\" komplettera kärnobjektmängderna med sina höljen\n"
-" \"lookahead\" koppla uttryckligen framåtblickar till objekt\n"
-" \"solved\" beskriv lösningar av skifta/reducerakonflikter\n"
-" \"all\" inkludera all ovanstående information\n"
-" \"none\" avaktivera rapporten\n"
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr ""
-"Rapportera fel till <bug-bison@gnu.org>.\n"
-"Rapportera synpunkter på översättningen till <sv@li.org>.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Skriven av Robert Corbett och Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Copyright © %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Detta är fri programvara, se källkoden för kopieringsvillkor. Det\n"
-"finns INGEN garanti, inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR ETT\n"
-"SPECIELLT ÄNDAMÅL.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr "saknad operand efter \"%s\""
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr "extra operand \"%s\""
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "tom"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Grammatik"
-
-#: src/gram.c:321 src/reduce.c:394
-msgid "warning"
-msgstr "varning"
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr "regel aldrig reducerad på grund av konflikter"
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr "POSIX förbjuder deklarationer i grammatiken"
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr "identiferare saknas i parameterdeklaration"
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " typ %d är %s\n"
-
-#: src/print.c:165
-#, c-format
-msgid "shift, and go to state %d\n"
-msgstr "skifta, och gå till tillstånd %d\n"
-
-#: src/print.c:167
-#, c-format
-msgid "go to state %d\n"
-msgstr "gå till tillstånd %d\n"
-
-#: src/print.c:204
-msgid "error (nonassociative)\n"
-msgstr "fel (ickeassociativ)\n"
-
-#: src/print.c:292
-#, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "reducera med regel %d (%s)"
-
-#: src/print.c:294
-msgid "accept"
-msgstr "acceptera"
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr "$standard"
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "tillstånd %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Terminaler, med regler där de förekommer"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Icketerminaler, med regler där de förekommer"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " till vänster:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " till höger:"
-
-#: src/print.c:555
-msgid "Rules never reduced"
-msgstr "Aldrig reducerade regler"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "flera %s-deklarationer"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr "resultattypskonflikt vid sammanslagningsfunktion %s: <%s> != <%s>"
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "regel given för %s, som är ett element"
-
-#: src/reader.c:242
-#, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "typkonflikt för standardåtgärd: <%s> <%s>"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr "tom regel för typad icketerminal, och ingen åtgärd"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr "endast en %s tillåts per regel"
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr "%s påverkar endast GLR-parsrar"
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr "%s måste följas av ett positivt tal"
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "inga regler i ingrammatiken"
-
-#: src/reduce.c:242
-msgid "useless rule"
-msgstr "oanvändbar regel"
-
-#: src/reduce.c:303
-#, c-format
-msgid "useless nonterminal: %s"
-msgstr "oanvändbar icketerminal: %s"
-
-#: src/reduce.c:351
-msgid "Useless nonterminals"
-msgstr "Oanvändbara icketerminaler"
-
-#: src/reduce.c:364
-msgid "Terminals which are not used"
-msgstr "Terminaler som inte används"
-
-#: src/reduce.c:373
-msgid "Useless rules"
-msgstr "Oanvändbara regler"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d regel reduceras aldrig\n"
-msgstr[1] "%d regler reduceras aldrig\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d oanvändbar icketerminal"
-msgstr[1] "%d oanvändbara icketerminaler"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " och "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d oanvändbar regel"
-msgstr[1] "%d oanvändbara regler"
-
-#: src/reduce.c:436
-#, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "startsymbolen %s genererar inga meningar"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr "vilsekommet \",\" hanterat som blank"
-
-#: src/scan-gram.l:221
-#, c-format
-msgid "invalid directive: %s"
-msgstr "ogiltigt direktiv: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr "heltal utanför intervall: %s"
-
-#: src/scan-gram.l:283
-#, c-format
-msgid "invalid character: %s"
-msgstr "ogiltigt tecken: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, c-format
-msgid "invalid escape sequence: %s"
-msgstr "ogiltig specialsekvens: %s"
-
-#: src/scan-gram.l:446
-#, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "okänd specialsekvens: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr "saknad \"{\" i \"%s\""
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "$$ för \"%s\" har ingen deklarerad typ"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "$%d för \"%s\" har ingen deklarerad typ"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, c-format
-msgid "invalid value: %s"
-msgstr "felaktigt värde: %s"
-
-#: src/scan-gram.l:996
-#, c-format
-msgid "missing `%s' at end of file"
-msgstr "saknat \"%s\" vid filslut"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "felaktigt $-värde"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "typen omdeklarerad för %s"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s-omdeklaration för %s"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "omdefinition av precedens för %s"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "symbolen %s omdefinierad"
-
-#: src/symtab.c:179
-#, c-format
-msgid "redefining user token number of %s"
-msgstr "omdefinition av elementnummer för %s"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"symbolen %s används, men är inte definierad som ett element och har inga "
-"regler"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "symbolen \"%s\" används mer än en gång som en bokstavlig sträng"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "symbolen \"%s\" har fått mer än en bokstavlig sträng"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "motstridiga precedenser mellan %s och %s"
-
-#: src/symtab.c:282
-#, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "motstridiga associativiteter för %s (%s) och %s (%s)"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "elementen %s och %s har båda fått nummer %d"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "startsymbolen %s är odefinierad"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "startsymbolen %s är ett element"
-
-#: lib/argmatch.c:135
-#, c-format
-msgid "invalid argument %s for %s"
-msgstr "ogiltigt argument %s till %s"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr "tvetydigt argument %s till %s"
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr "Giltiga argument är:"
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr "%u bitmängdallokeringar, %u frianden (%.2f%%).\n"
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr "%u bitmängdmängder, %u cachade (%.2f%%)\n"
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr "%u bitmängdåterställanden, %u cachade (%.2f%%)\n"
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr "%u bitmängdtester, %u cachade (%.2f%%)\n"
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr "%u bitmängdlistor\n"
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr "anropslogghistogram\n"
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr "storlekslogghistogram\n"
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr "densitetshistogram\n"
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-"Bitmängdsstatistik:\n"
-"\n"
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr "Ackumulerade körningar = %u\n"
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr "Kunde inte läsa statistikfil."
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr "Dålig statistikfilstorlek.\n"
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr "Kunde inte skriva statistikfil."
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr "Kunde inte öppna statistikfil för skrivning."
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: flaggan \"%s\" är tvetydig\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"--%s\" tar inget argument\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: flaggan \"%s\" behöver ett argument\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: okänd flagga \"--%s\"\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: okänd flagga \"%c%s\"\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: otillåten flagga -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ogiltig flagga --%c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flaggan behöver ett argument -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "minnet slut"
-
-# När vi går över till Unicode mer allmänt kanske vi bör översätta båda dessa
-# med U+201D (RIGHT DOUBLE QUOTATION MARK) på svenska. Eller?
-#
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "\""
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "\""
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr "underprogram \"%s\" kunde inte köras"
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr "underprogram \"%s\" hittades inte"
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr "underprogram \"%s\" misslyckades"
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr "underprogram \"%s\" misslyckades (slutstatus %d)"
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"Exekveringstider (sekunder)\n"
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr " TOTALT :"
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr "tid i %s: %ld.%06ld (%ld%%)\n"
diff --git a/po/tr.po b/po/tr.po
deleted file mode 100644
index 0e952baa..00000000
--- a/po/tr.po
+++ /dev/null
@@ -1,902 +0,0 @@
-# Turkish translations for GNU Bison messages.
-# Copyright (C) 2001 Free Software Foundation, Inc.
-# Altuğ Bayram <altugbayram_2000@yahoo.com>, 2001.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: bison 1.49a\n"
-"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
-"POT-Creation-Date: 2003-08-25 17:14+0200\n"
-"PO-Revision-Date: 2002-06-25 11:03GMT +02:00\n"
-"Last-Translator: Altuğ Bayram <altugbayram_2000@yahoo.com>\n"
-"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-9\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.9.5\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: src/complain.c:56 lib/error.c:135 lib/error.c:163
-msgid "Unknown system error"
-msgstr "Bilinmeyen sistem hatası"
-
-#: src/complain.c:79 src/complain.c:94
-msgid "warning: "
-msgstr "uyarı: "
-
-#: src/complain.c:150 src/complain.c:166
-msgid "fatal error: "
-msgstr "ölümcül hata:"
-
-#: src/conflicts.c:75
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as shift"
-msgstr ""
-"%d durumu içinde %d kuralı ve %s andaçı arasındaki çelişki %s olarak\n"
-"çözümlendi.\n"
-
-#: src/conflicts.c:83
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as reduce"
-msgstr ""
-"%d durumu içinde %d kuralı ve %s andaçı arasındaki çelişki %s olarak\n"
-"çözümlendi.\n"
-
-#: src/conflicts.c:90
-#, fuzzy, c-format
-msgid " Conflict between rule %d and token %s resolved as an error"
-msgstr ""
-"%d durumu içinde %d kuralı ve %s andaçı arasındaki çelişki %s olarak\n"
-"çözümlendi.\n"
-
-#: src/conflicts.c:398
-#, c-format
-msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
-msgstr ""
-
-#: src/conflicts.c:401
-#, fuzzy, c-format
-msgid "conflicts: %d shift/reduce\n"
-msgstr " %d öteleme/indirgeme"
-
-#: src/conflicts.c:403
-#, fuzzy, c-format
-msgid "conflicts: %d reduce/reduce\n"
-msgstr " %d indirgeme/indirgeme"
-
-#: src/conflicts.c:421
-#, fuzzy, c-format
-msgid "State %d "
-msgstr "durum %d"
-
-#: src/conflicts.c:498
-#, fuzzy, c-format
-msgid "expected %d shift/reduce conflict"
-msgid_plural "expected %d shift/reduce conflicts"
-msgstr[0] "beklenen %d öteleme/indirgeme çelişkisi\n"
-msgstr[1] "beklenen %d öteleme/indirgeme çelişkisi\n"
-
-#: src/conflicts.c:503
-#, fuzzy
-msgid "expected 0 reduce/reduce conflicts"
-msgstr "%d indirgeme/indirgeme çelişkisi"
-
-#: src/files.c:99
-#, c-format
-msgid "cannot open file `%s'"
-msgstr "`%s' dosyası açılamadı"
-
-#: src/files.c:115
-#, fuzzy
-msgid "I/O error"
-msgstr "bir hata"
-
-#: src/files.c:118
-msgid "cannot close file"
-msgstr "dosya kapatılamıyor"
-
-#: src/files.c:336
-#, fuzzy, c-format
-msgid "conflicting outputs to file %s"
-msgstr "%s ve %s için çelişen birleşmeli değerler"
-
-#: src/getargs.c:186
-#, c-format
-msgid "Try `%s --help' for more information.\n"
-msgstr "Daha fazla bilgi için `%s --help' yazın.\n"
-
-#: src/getargs.c:192
-msgid "GNU bison generates parsers for LALR(1) grammars.\n"
-msgstr "GNU bison LALR(1) gramerler için ayrıştırıcılar üretir.\n"
-
-#: src/getargs.c:196
-#, c-format
-msgid "Usage: %s [OPTION]... FILE\n"
-msgstr "Kullanım: %s [SEÇENEK]... DOSYA\n"
-
-#: src/getargs.c:200
-msgid ""
-"If a long option shows an argument as mandatory, then it is mandatory\n"
-"for the equivalent short option also. Similarly for optional arguments.\n"
-msgstr ""
-"Eğer bir uzun seçenek bir argümanı gerektirirse, bu gereklilik, denk olan "
-"kısa\n"
-"seçenek için de geçerlidir. Bu durum, seçimli argümanlar için de "
-"geçerlidir.\n"
-
-#: src/getargs.c:206
-msgid ""
-"Operation modes:\n"
-" -h, --help display this help and exit\n"
-" -V, --version output version information and exit\n"
-" -y, --yacc emulate POSIX yacc\n"
-msgstr ""
-"Çalışma kipleri:\n"
-" -h, --help bu yardımı göster ve çık\n"
-" -V, --version sürüm bilgisini ver ve çık\n"
-" -y, --yacc POSIX yacc öykünmesi\n"
-
-#: src/getargs.c:213
-msgid ""
-"Parser:\n"
-" -S, --skeleton=FILE specify the skeleton to use\n"
-" -t, --debug instrument the parser for debugging\n"
-" --locations enable locations computation\n"
-" -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n"
-" -l, --no-lines don't generate `#line' directives\n"
-" -n, --no-parser generate the tables only\n"
-" -k, --token-table include a table of token names\n"
-msgstr ""
-"Ayrıştırıcı:\n"
-" -S, --skeleton=FILE kullanılacak iskeleti belirle\n"
-" -t, --debug ayrıştırıcı için hata ayıklayıcı aracı\n"
-" --locations konum hesaplamalarını etkinleştir\n"
-" -p, --name-prefix=PREFIX dış simgelere hazır bekletilen ÖNEK\n"
-" -l, --no-lines `#line' bildirimlerini üretme\n"
-" -n, --no-parser sadece tabloları üret\n"
-" -k, --token-table andaç isimlerinin bir tablosunu içer\n"
-
-#: src/getargs.c:225
-#, fuzzy
-msgid ""
-"Output:\n"
-" -d, --defines also produce a header file\n"
-" -r, --report=THINGS also produce details on the automaton\n"
-" -v, --verbose same as `--report=state'\n"
-" -b, --file-prefix=PREFIX specify a PREFIX for output files\n"
-" -o, --output=FILE leave output to FILE\n"
-" -g, --graph also produce a VCG description of the "
-"automaton\n"
-msgstr ""
-"Çıktı:\n"
-" -d, --defines bir başlık dosyasıda üretir\n"
-" -v, --verbose otomatın bir açıklamasını da üretir\n"
-" -b, --file-prefix=ÖNEK çıktı dosyaları için bir önek belirtir\n"
-" -o, --output=DOSYA çıktıyı dosyaya bırakır\n"
-" -g, --graph otomatın bir VCG grafik açıklamasını da üretir\n"
-
-#: src/getargs.c:236
-msgid ""
-"THINGS is a list of comma separated words that can include:\n"
-" `state' describe the states\n"
-" `itemset' complete the core item sets with their closure\n"
-" `lookahead' explicitly associate lookaheads to items\n"
-" `solved' describe shift/reduce conflicts solving\n"
-" `all' include all the above information\n"
-" `none' disable the report\n"
-msgstr ""
-
-#: src/getargs.c:247
-msgid "Report bugs to <bug-bison@gnu.org>.\n"
-msgstr ""
-"Hataları <bug-bison@gnu.org>'a,\n"
-"çeviri hatalarını <gnu-tr-u12a@lists.sourceforge.net>'e bildir.\n"
-
-#: src/getargs.c:264
-#, c-format
-msgid "bison (GNU Bison) %s"
-msgstr "bison (GNU Bison) %s"
-
-#: src/getargs.c:266
-msgid "Written by Robert Corbett and Richard Stallman.\n"
-msgstr "Yazanlar: Robert Corbett ve Richard Stallman.\n"
-
-#: src/getargs.c:270
-#, c-format
-msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
-msgstr "Telif Hakkı (C) %d Free Software Foundation, Inc.\n"
-
-#: src/getargs.c:272
-msgid ""
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Bu bir serbest yazılımdır; kopyalama koşulları için kaynak koduna bakınız.\n"
-"Hiçbir garantisi yoktur; hatta SATILABİLİRLİĞİ veya ŞAHSİ KULLANIMINIZA\n"
-"UYGUNLUĞU için bile garanti verilmez.\n"
-
-#: src/getargs.c:438
-#, c-format
-msgid "missing operand after `%s'"
-msgstr ""
-
-#: src/getargs.c:440
-#, c-format
-msgid "extra operand `%s'"
-msgstr ""
-
-#: src/gram.c:139
-msgid "empty"
-msgstr "boş"
-
-#: src/gram.c:233
-msgid "Grammar"
-msgstr "Gramer"
-
-#: src/gram.c:321 src/reduce.c:394
-#, fuzzy
-msgid "warning"
-msgstr "uyarı: "
-
-#: src/main.c:124
-msgid "rule never reduced because of conflicts"
-msgstr ""
-
-#: src/parse-gram.y:353
-msgid "POSIX forbids declarations in the grammar"
-msgstr ""
-
-#: src/parse-gram.y:476
-msgid "missing identifier in parameter declaration"
-msgstr ""
-
-#: src/print.c:49
-#, c-format
-msgid " type %d is %s\n"
-msgstr " tip %d %s'dir\n"
-
-#: src/print.c:165
-#, fuzzy, c-format
-msgid "shift, and go to state %d\n"
-msgstr " %-4s\tötele, ve durum %d'ye git\n"
-
-#: src/print.c:167
-#, fuzzy, c-format
-msgid "go to state %d\n"
-msgstr " %-4s\tdurum %d'ye git\n"
-
-#: src/print.c:204
-#, fuzzy
-msgid "error (nonassociative)\n"
-msgstr "%-4s\thata (birleşmeli değil)"
-
-#: src/print.c:292
-#, fuzzy, c-format
-msgid "reduce using rule %d (%s)"
-msgstr "$default\tindirgeme kural %d (%s)'i kullanıyor"
-
-#: src/print.c:294
-msgid "accept"
-msgstr ""
-
-#: src/print.c:325 src/print.c:391
-msgid "$default"
-msgstr ""
-
-#: src/print.c:420
-#, c-format
-msgid "state %d"
-msgstr "durum %d"
-
-#: src/print.c:456
-msgid "Terminals, with rules where they appear"
-msgstr "Sabit simgeler, kurallarının bulundukları yerde"
-
-#: src/print.c:483
-msgid "Nonterminals, with rules where they appear"
-msgstr "Değişken simgeler, kurallarının bulundukları yerde"
-
-#: src/print.c:512
-msgid " on left:"
-msgstr " solda:"
-
-#: src/print.c:527
-msgid " on right:"
-msgstr " sağda:"
-
-#: src/print.c:555
-#, fuzzy
-msgid "Rules never reduced"
-msgstr "%d kural asla indirgenmedi\n"
-
-#: src/reader.c:53
-#, c-format
-msgid "multiple %s declarations"
-msgstr "çoklu %s bildirimleri"
-
-#: src/reader.c:115
-#, c-format
-msgid "result type clash on merge function %s: <%s> != <%s>"
-msgstr ""
-
-#: src/reader.c:213
-#, c-format
-msgid "rule given for %s, which is a token"
-msgstr "bir andaç olan %s için verilen kural"
-
-#: src/reader.c:242
-#, fuzzy, c-format
-msgid "type clash on default action: <%s> != <%s>"
-msgstr "öntanımlı eylem üzerinde (`%s' `%s') tip çatışması"
-
-#: src/reader.c:248
-msgid "empty rule for typed nonterminal, and no action"
-msgstr ""
-"Tipli değişken simge için boş kural tanımlanmış, ve eylem belirtilmemiş"
-
-#: src/reader.c:318 src/reader.c:332 src/reader.c:345
-#, c-format
-msgid "only one %s allowed per rule"
-msgstr ""
-
-#: src/reader.c:328 src/reader.c:343
-#, c-format
-msgid "%s affects only GLR parsers"
-msgstr ""
-
-#: src/reader.c:330
-#, c-format
-msgid "%s must be followed by positive number"
-msgstr ""
-
-#: src/reader.c:487
-msgid "no rules in the input grammar"
-msgstr "girdi grameri içinde kurallar yok"
-
-#: src/reduce.c:242
-#, fuzzy
-msgid "useless rule"
-msgstr "%d yararsız kural"
-
-#: src/reduce.c:303
-#, fuzzy, c-format
-msgid "useless nonterminal: %s"
-msgstr "Yararsız değişken simgeler:"
-
-#: src/reduce.c:351
-#, fuzzy
-msgid "Useless nonterminals"
-msgstr "Yararsız değişken simgeler:"
-
-#: src/reduce.c:364
-#, fuzzy
-msgid "Terminals which are not used"
-msgstr "Kullanılmayan sabit simgeler:"
-
-#: src/reduce.c:373
-#, fuzzy
-msgid "Useless rules"
-msgstr "Yararsız kurallar:"
-
-#: src/reduce.c:389
-#, c-format
-msgid "%d rule never reduced\n"
-msgid_plural "%d rules never reduced\n"
-msgstr[0] "%d kural asla indirgenmedi\n"
-msgstr[1] "%d kural asla indirgenmedi\n"
-
-#: src/reduce.c:397
-#, c-format
-msgid "%d useless nonterminal"
-msgid_plural "%d useless nonterminals"
-msgstr[0] "%d yararsız değişken simge"
-msgstr[1] "%d yararsız değişken simge"
-
-#: src/reduce.c:403
-msgid " and "
-msgstr " ve "
-
-#: src/reduce.c:406
-#, c-format
-msgid "%d useless rule"
-msgid_plural "%d useless rules"
-msgstr[0] "%d yararsız kural"
-msgstr[1] "%d yararsız kural"
-
-#: src/reduce.c:436
-#, fuzzy, c-format
-msgid "start symbol %s does not derive any sentence"
-msgstr "Başlangıç simgesi %s herhangi bir cümleden türemez"
-
-#: src/scan-gram.l:160
-msgid "stray `,' treated as white space"
-msgstr ""
-
-#: src/scan-gram.l:221
-#, fuzzy, c-format
-msgid "invalid directive: %s"
-msgstr "geçersiz girdi: %s"
-
-#: src/scan-gram.l:241 src/scan-gram.l:804 src/scan-gram.l:873
-#, c-format
-msgid "integer out of range: %s"
-msgstr ""
-
-#: src/scan-gram.l:283
-#, fuzzy, c-format
-msgid "invalid character: %s"
-msgstr "bilinmeyen karakter: %s"
-
-#: src/scan-gram.l:412 src/scan-gram.l:422 src/scan-gram.l:441
-#, fuzzy, c-format
-msgid "invalid escape sequence: %s"
-msgstr "geçersiz değer: %s%d"
-
-#: src/scan-gram.l:446
-#, fuzzy, c-format
-msgid "unrecognized escape sequence: %s"
-msgstr "tanınmayan: %s"
-
-#: src/scan-gram.l:534
-#, c-format
-msgid "missing `{' in `%s'"
-msgstr ""
-
-#: src/scan-gram.l:774
-#, c-format
-msgid "$$ of `%s' has no declared type"
-msgstr "`%s''in $$'ı bildirilmiş tip değil"
-
-#: src/scan-gram.l:795
-#, c-format
-msgid "$%d of `%s' has no declared type"
-msgstr "`%2$s''in %1$d'i bildirilmiş tip değil"
-
-#: src/scan-gram.l:840 src/scan-gram.l:908
-#, fuzzy, c-format
-msgid "invalid value: %s"
-msgstr "geçersiz değer: %s%d"
-
-#: src/scan-gram.l:996
-#, fuzzy, c-format
-msgid "missing `%s' at end of file"
-msgstr "dosyanın sonunda sonlandırılmamış dizge"
-
-#: src/symlist.c:97 src/symlist.c:108
-msgid "invalid $ value"
-msgstr "geçersiz $ değeri"
-
-#: src/symtab.c:84
-#, c-format
-msgid "type redeclaration for %s"
-msgstr "%s için yeniden tip bildirimi"
-
-#: src/symtab.c:101 src/symtab.c:119
-#, fuzzy, c-format
-msgid "%s redeclaration for %s"
-msgstr "%s için yeniden tip bildirimi"
-
-#: src/symtab.c:138
-#, c-format
-msgid "redefining precedence of %s"
-msgstr "%s'in önceliği tekrar tanımlandı"
-
-#: src/symtab.c:156
-#, c-format
-msgid "symbol %s redefined"
-msgstr "%s simgesi yeniden tanımlandı"
-
-#: src/symtab.c:179
-#, fuzzy, c-format
-msgid "redefining user token number of %s"
-msgstr "%s'in önceliği tekrar tanımlandı"
-
-#: src/symtab.c:206
-#, c-format
-msgid "symbol %s is used, but is not defined as a token and has no rules"
-msgstr ""
-"simge %s kullanıldı, fakat bir andaç olarak tanımlanmadı ve kuralları yok"
-
-#: src/symtab.c:231
-#, c-format
-msgid "symbol `%s' used more than once as a literal string"
-msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla kullanıldı"
-
-#: src/symtab.c:234
-#, c-format
-msgid "symbol `%s' given more than one literal string"
-msgstr "simge `%s' bir harfiyen uyumlu dizgi gibi birden fazla verilmiş"
-
-#: src/symtab.c:270
-#, c-format
-msgid "conflicting precedences for %s and %s"
-msgstr "%s ve %s için çelişen öncelikler"
-
-#: src/symtab.c:282
-#, fuzzy, c-format
-msgid "conflicting associativities for %s (%s) and %s (%s)"
-msgstr "%s ve %s için çelişen birleşmeli değerler"
-
-#: src/symtab.c:367
-#, c-format
-msgid "tokens %s and %s both assigned number %d"
-msgstr "%s ve %s andaçlarının her ikisi %d sayısına atandı"
-
-#: src/symtab.c:590
-#, c-format
-msgid "the start symbol %s is undefined"
-msgstr "başlangıç simgesi %s tanımlanmadı"
-
-#: src/symtab.c:594
-#, c-format
-msgid "the start symbol %s is a token"
-msgstr "başlangıç simgesi %s bir andaçtır"
-
-#: lib/argmatch.c:135
-#, fuzzy, c-format
-msgid "invalid argument %s for %s"
-msgstr "geçersiz değer: %s%d"
-
-#: lib/argmatch.c:136
-#, c-format
-msgid "ambiguous argument %s for %s"
-msgstr ""
-
-#: lib/argmatch.c:155
-msgid "Valid arguments are:"
-msgstr ""
-
-#: lib/bitset_stats.c:179
-#, c-format
-msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
-msgstr ""
-
-#: lib/bitset_stats.c:182
-#, c-format
-msgid "%u bitset_sets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:185
-#, c-format
-msgid "%u bitset_resets, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:188
-#, c-format
-msgid "%u bitset_tests, %u cached (%.2f%%)\n"
-msgstr ""
-
-#: lib/bitset_stats.c:192
-#, c-format
-msgid "%u bitset_lists\n"
-msgstr ""
-
-#: lib/bitset_stats.c:194
-msgid "count log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:197
-msgid "size log histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:200
-msgid "density histogram\n"
-msgstr ""
-
-#: lib/bitset_stats.c:214
-msgid ""
-"Bitset statistics:\n"
-"\n"
-msgstr ""
-
-#: lib/bitset_stats.c:217
-#, c-format
-msgid "Accumulated runs = %u\n"
-msgstr ""
-
-#: lib/bitset_stats.c:261 lib/bitset_stats.c:266
-msgid "Could not read stats file."
-msgstr ""
-
-#: lib/bitset_stats.c:263
-msgid "Bad stats file size.\n"
-msgstr ""
-
-#: lib/bitset_stats.c:289 lib/bitset_stats.c:291
-msgid "Could not write stats file."
-msgstr ""
-
-#: lib/bitset_stats.c:294
-msgid "Could not open stats file for writing."
-msgstr ""
-
-#: lib/getopt.c:688 lib/getopt.c:700
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: `%s' seçeneği belirsiz\n"
-
-#: lib/getopt.c:733 lib/getopt.c:737
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: `--%s' seçeneği argümansız kullanılır\n"
-
-#: lib/getopt.c:746 lib/getopt.c:751
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: seçenek `%c%s' argümansız kullanılır\n"
-
-#: lib/getopt.c:787 lib/getopt.c:800 lib/getopt.c:1089 lib/getopt.c:1102
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
-
-#: lib/getopt.c:838 lib/getopt.c:841
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: `--%s' seçeneği bilinmiyor\n"
-
-#: lib/getopt.c:849 lib/getopt.c:852
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: `%c%s' seçeneği bilinmiyor\n"
-
-#: lib/getopt.c:899 lib/getopt.c:902
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: kuraldışı seçenek -- %c\n"
-
-#: lib/getopt.c:908 lib/getopt.c:911
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: geçersiz seçenek -- %c\n"
-
-#: lib/getopt.c:958 lib/getopt.c:969 lib/getopt.c:1155 lib/getopt.c:1168
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
-
-#: lib/getopt.c:1021 lib/getopt.c:1032
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: `-W %s' seçeneği belirsiz\n"
-
-#: lib/getopt.c:1056 lib/getopt.c:1068
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n"
-
-#: lib/obstack.c:487 lib/obstack.c:490 lib/xmalloc.c:63
-msgid "memory exhausted"
-msgstr "bellek tükendi"
-
-#: lib/quotearg.c:236
-msgid "`"
-msgstr "`"
-
-#: lib/quotearg.c:237
-msgid "'"
-msgstr "'"
-
-#: lib/subpipe.c:187
-#, c-format
-msgid "subsidiary program `%s' could not be invoked"
-msgstr ""
-
-#: lib/subpipe.c:189
-#, c-format
-msgid "subsidiary program `%s' not found"
-msgstr ""
-
-#: lib/subpipe.c:191
-#, c-format
-msgid "subsidiary program `%s' failed"
-msgstr ""
-
-#: lib/subpipe.c:192
-#, c-format
-msgid "subsidiary program `%s' failed (exit status %d)"
-msgstr ""
-
-#: lib/timevar.c:476
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-
-#: lib/timevar.c:526
-msgid " TOTAL :"
-msgstr ""
-
-#: lib/timevar.c:562
-#, c-format
-msgid "time in %s: %ld.%06ld (%ld%%)\n"
-msgstr ""
-
-#~ msgid "too many states (max %d)"
-#~ msgstr "çok fazla durum (en fazla %d)"
-
-#~ msgid "reduce"
-#~ msgstr "indirgeme"
-
-#~ msgid "shift"
-#~ msgstr "shift"
-
-#~ msgid "%d shift/reduce conflict"
-#~ msgid_plural "%d shift/reduce conflicts"
-#~ msgstr[0] "%d öteleme/indirgeme çelişkisi"
-#~ msgstr[1] "%d öteleme/indirgeme çelişkisi"
-
-#~ msgid "and"
-#~ msgstr "ve"
-
-#~ msgid "State %d contains "
-#~ msgstr "%d durumu içerir"
-
-#~ msgid "conflicts: "
-#~ msgstr "çelişkiler: "
-
-#~ msgid "%s contains "
-#~ msgstr "%s içerir"
-
-#~ msgid "`%s' is no longer supported"
-#~ msgstr "`%s' artık desteklenmeyecek"
-
-#~ msgid "%s: no grammar file given\n"
-#~ msgstr "%s: gramer dosyası verilmemiş\n"
-
-#~ msgid "%s: extra arguments ignored after `%s'\n"
-#~ msgstr "%s: '%s' den sonraki argümanlar yoksayıldı\n"
-
-#~ msgid "too many gotos (max %d)"
-#~ msgstr "gotos çok fazla (en fazla %d)"
-
-#~ msgid "unexpected `/' found and ignored"
-#~ msgstr "beklenmeyen `/' bulundu ve yoksayıldı"
-
-#~ msgid "unterminated comment"
-#~ msgstr "sonlandırılmamış açıklama"
-
-#~ msgid "unexpected end of file"
-#~ msgstr "beklenmeyen dosya sonu"
-
-#~ msgid "unescaped newline in constant"
-#~ msgstr "sabit içinde kaçamayan yeni satır"
-
-#~ msgid "octal value outside range 0...255: `\\%o'"
-#~ msgstr "sekizli değer 0...255'in dışında: `\\%o'"
-
-#~ msgid "hexadecimal value above 255: `\\x%x'"
-#~ msgstr "onaltılık değer 255'in üstünde: `\\x%x'"
-
-#~ msgid "unknown escape sequence: `\\' followed by `%s'"
-#~ msgstr "bilinmeyen kaçış sırası: `\\' `%s' tarafından takip edildi"
-
-#~ msgid "unterminated type name at end of file"
-#~ msgstr "dosya sonunda sonlandırılmamış tip adı"
-
-#~ msgid "unterminated type name"
-#~ msgstr "sonlandırılmamış tip ismi"
-
-#~ msgid "use \"...\" for multi-character literal tokens"
-#~ msgstr "çok-karakterli yazın andaçları için \"...\" kullan"
-
-#~ msgid "`%s' supports no argument: %s"
-#~ msgstr "`%s' argüman %s'i desteklemez"
-
-#~ msgid "`%s' requires an argument"
-#~ msgstr "`%s' bir argüman gerektirir"
-
-#~ msgid " (rule %d)"
-#~ msgstr " (kural %d)"
-
-#~ msgid " %-4s\terror (nonassociative)\n"
-#~ msgstr " %-4s\thata (birleşmeli değil)\n"
-
-#~ msgid ""
-#~ " $default\treduce using rule %d (%s)\n"
-#~ "\n"
-#~ msgstr ""
-#~ " $default\tindirgeme kural %d (%s)'i kullanıyor\n"
-#~ "\n"
-
-#~ msgid " %-4s\t[reduce using rule %d (%s)]\n"
-#~ msgstr " %-4s\t[indirgeme kural %d (%s)'i kullanıyor]\n"
-
-#~ msgid " %-4s\treduce using rule %d (%s)\n"
-#~ msgstr " %-4s\tindirgeme kural %d (%s)'i kullanıyor\n"
-
-#~ msgid " $default\treduce using rule %d (%s)\n"
-#~ msgstr " $default\tindirgeme kural %d (%s)'i kullanıyor\n"
-
-#~ msgid " $default\taccept\n"
-#~ msgstr " $default\tonayla\n"
-
-#~ msgid " NO ACTIONS\n"
-#~ msgstr " EYLEM YOK\n"
-
-#~ msgid "Number, Line, Rule"
-#~ msgstr "Sayı, Satır, Kural"
-
-#~ msgid " %3d %3d %s ->"
-#~ msgstr " %3d %3d %s ->"
-
-#~ msgid " Skipping to next \\n"
-#~ msgstr " Sonrakine atlanıyor \\n"
-
-#~ msgid " Skipping to next %c"
-#~ msgstr " Sonraki %c'ye atlanıyor"
-
-#~ msgid "unterminated string"
-#~ msgstr "sonlandırılmamış dizge"
-
-#~ msgid "%s is invalid"
-#~ msgstr "%s geçersizdir"
-
-#~ msgid "unterminated `%{' definition"
-#~ msgstr "`%{' tanımlaması sonlandırılmamış"
-
-#~ msgid "Premature EOF after %s"
-#~ msgstr "%s'den sonra erken EOF"
-
-#~ msgid "`%s' is invalid in %s"
-#~ msgstr "`%s' %s içinde geçersizdir"
-
-#~ msgid "invalid %s declaration"
-#~ msgstr "geçersiz %s bildirimi"
-
-#~ msgid "%type declaration has no <typename>"
-#~ msgstr "%type bildirimi <tipadı>'na sahip değil"
-
-#~ msgid "invalid %%type declaration due to item: %s"
-#~ msgstr "geçersiz %%type bildirimine neden olan öğe: `%s'"
-
-#~ msgid "invalid text (%s) - number should be after identifier"
-#~ msgstr "geçersiz metin (%s) - sayı tanıtıcıdan sonra olmalıdır"
-
-#~ msgid "unexpected item: %s"
-#~ msgstr "beklenmeyen öğe: %s"
-
-#~ msgid "unmatched %s"
-#~ msgstr "eşlenemeyen %s"
-
-#~ msgid "argument of %%expect is not an integer"
-#~ msgstr "%%expect'in argümanı bir tamsayı değildir"
-
-#~ msgid "unrecognized item %s, expected an identifier"
-#~ msgstr "%s öğesi tanınmadı, beklenen bir tanıtıcıdır"
-
-#~ msgid "expected string constant instead of %s"
-#~ msgstr "%s'in yerine sabit dizge beklendi"
-
-#~ msgid "no input grammar"
-#~ msgstr "girdi grameri yok"
-
-#~ msgid "ill-formed rule: initial symbol not followed by colon"
-#~ msgstr "kötü-biçemli kural: başlangıç simgesini takip eden \":\" yok"
-
-#~ msgid "grammar starts with vertical bar"
-#~ msgstr "gramer düşey çubuk ile başlıyor"
-
-#~ msgid "previous rule lacks an ending `;'"
-#~ msgstr "önceki kuralda bir bitiş `;' eksik"
-
-#~ msgid "two @prec's in a row"
-#~ msgstr "bir satırda iki @prec"
-
-#~ msgid "%%guard present but %%semantic_parser not specified"
-#~ msgstr "%%guard sunulmuş fakat %%semantic_parser belirlenmemiş"
-
-#~ msgid "two actions at end of one rule"
-#~ msgstr "bir kuralın sonunda iki eylem"
-
-#~ msgid "too many symbols (tokens plus nonterminals); maximum %d"
-#~ msgstr "çok fazla simge var (andaçlar ve değişken simgeler); en fazla %d"
-
-#~ msgid "maximum table size (%d) exceeded"
-#~ msgstr "en büyük tablo uzunluğu (%d) aşıldı"
-
-#~ msgid " $ \tgo to state %d\n"
-#~ msgstr " $ \tdurum %d'ye git\n"
-
-#~ msgid "unterminated %guard clause"
-#~ msgstr "sonlandırılmamış %guard yantümcesi"
diff --git a/src/.cvsignore b/src/.cvsignore
index a367ea1f..6c40d894 100644
--- a/src/.cvsignore
+++ b/src/.cvsignore
@@ -1,10 +1,9 @@
-*_.c
+*.flc
+*.log
.deps
Makefile
-bison
-*.log
-*.flc
Makefile.in
+bison
scan-gram.c
scan-skel.c
yacc
diff --git a/src/files.c b/src/files.c
index 6c222a87..32a3e729 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1,6 +1,6 @@
/* Open and close files for Bison.
- Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003
+ Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -26,6 +26,7 @@
#include <error.h>
#include <get-errno.h>
#include <quote.h>
+#include <xstrndup.h>
#include "complain.h"
#include "files.h"
diff --git a/src/system.h b/src/system.h
index d0a634dc..62640c5c 100644
--- a/src/system.h
+++ b/src/system.h
@@ -55,29 +55,15 @@ typedef size_t uintptr_t;
#include <xalloc.h>
#define CALLOC(P, N) ((P) = xcalloc (N, sizeof *(P)))
-#define MALLOC(P, N) ((P) = xmalloc ((N) * sizeof *(P)))
-#define REALLOC(P, N) ((P) = xrealloc (P, (N) * sizeof *(P)))
-
-/* From xstrndup.c. */
-char *xstrndup (const char *str, size_t size);
+#define MALLOC(P, N) ((P) = xnmalloc (N, sizeof *(P)))
+#define REALLOC(P, N) ((P) = xnrealloc (P, N, sizeof *(P)))
/*---------------------.
| Missing prototypes. |
`---------------------*/
-#if defined HAVE_DECL_STPCPY && !HAVE_DECL_STPCPY
-char *stpcpy (char *dest, const char *src);
-#endif
-
-#if defined HAVE_DECL_STRNLEN && !HAVE_DECL_STRNLEN
-size_t strnlen (const char *str, size_t maxlen);
-#endif
-
-#if defined HAVE_DECL_MEMRCHR && !HAVE_DECL_MEMRCHR
-void *memrchr (const void *str, int ch, size_t size);
-#endif
-
+#include <stpcpy.h>
/*-----------------.