flex-2.5.35/0000777000175000017500000000000010761103057007551 500000000000000flex-2.5.35/m4/0000777000175000017500000000000010761103055010067 500000000000000flex-2.5.35/m4/gettext.m40000664000175000017500000004052110761102704011735 00000000000000# gettext.m4 serial 20 (gettext-0.12) dnl Copyright (C) 1995-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 dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define(gt_included_intl, ifelse([$1], [external], [no], [yes])) define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Set USE_NLS. AM_NLS ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. dnl Add a version number to the cache macros. define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, [AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no)]) if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], gt_cv_func_gnugettext_libintl, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias ();], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=no) dnl Now see whether libintl exists and depends on libiconv. if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias ();], [bindtextdomain ("", ""); return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext_libintl=yes ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if test "$gt_cv_func_gnugettext_libc" = "yes" \ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext_libintl" = "yes"; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext_libintl" = "yes"; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_ISC_POSIX])dnl AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_C_CONST])dnl AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_OFF_T])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([jm_GLIBC21])dnl AC_REQUIRE([gt_INTDIV0])dnl AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl AC_REQUIRE([gt_INTTYPES_PRI])dnl AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ stdlib.h string.h unistd.h sys/param.h]) AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \ __fsetlocking]) AM_ICONV AM_LANGINFO_CODESET if test $ac_cv_header_locale_h = yes; then AM_LC_MESSAGES fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't dnl compile. dnl bison is only needed for the maintainer (who touches plural.y). But in dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put dnl the rule in general Makefile. Now, some people carelessly touch the dnl files or have a broken "make" program, hence the plural.c rule will dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not dnl present or too old. AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes else dnl Found it, now check the version. AC_MSG_CHECKING([version of bison]) changequote(<<,>>)dnl ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) flex-2.5.35/m4/iconv.m40000664000175000017500000000665310761102704011377 00000000000000# iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-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 Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) flex-2.5.35/m4/lib-ld.m40000664000175000017500000000676110761102704011424 00000000000000# lib-ld.m4 serial 2 (gettext-0.12) dnl Copyright (C) 1996-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 Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then acl_cv_prog_gnu_ld=yes else acl_cv_prog_gnu_ld=no fi]) with_gnu_ld=$acl_cv_prog_gnu_ld ]) dnl From libtool-1.4. Sets the variable LD. AC_DEFUN([AC_LIB_PROG_LD], [AC_ARG_WITH(gnu-ld, [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else test "$with_gnu_ld" != yes && break fi fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) flex-2.5.35/m4/lib-link.m40000664000175000017500000005534310761102704011762 00000000000000# lib-link.m4 serial 4 (gettext-0.12) dnl Copyright (C) 2001-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 From Bruno Haible. dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) flex-2.5.35/m4/lib-prefix.m40000664000175000017500000001250510761102704012313 00000000000000# lib-prefix.m4 serial 2 (gettext-0.12) dnl Copyright (C) 2001-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 From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) flex-2.5.35/m4/nls.m40000664000175000017500000000350510761102704011046 00000000000000# nls.m4 serial 1 (gettext-0.12) dnl Copyright (C) 1995-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 dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) AC_DEFUN([AM_MKINSTALLDIRS], [ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but $(top_srcdir). dnl Try to locate it. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then case "$ac_aux_dir" in /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) ]) flex-2.5.35/m4/po.m40000664000175000017500000002152010761102704010665 00000000000000# po.m4 serial 1 (gettext-0.12) dnl Copyright (C) 1995-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 dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AM_NLS])dnl dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU msgfmt. if test "$GMSGFMT" != ":"; then dnl If it is no GNU msgfmt we define it as : so that the dnl Makefiles still can work. if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` AC_MSG_RESULT( [found $GMSGFMT program is not GNU msgfmt; ignore it]) GMSGFMT=":" fi fi dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is no GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po fi AC_OUTPUT_COMMANDS([ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= GMOFILES= UPDATEPOFILES= DUMMYPOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it # from automake. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) flex-2.5.35/m4/progtest.m40000664000175000017500000000563410761102704012126 00000000000000# progtest.m4 serial 3 (gettext-0.12) dnl Copyright (C) 1996-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 dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) flex-2.5.35/m4/Makefile.am0000664000175000017500000000035110376471273012054 00000000000000EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 nls.m4 po.m4 flex-2.5.35/m4/Makefile.in0000664000175000017500000002132310761102715012055 00000000000000# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = m4 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BISON = @BISON@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 nls.m4 po.m4 all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits m4/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits m4/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh uninstall-info-am: tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-exec-am: install-info: install-info-am install-man: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am install-man \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: flex-2.5.35/m4/codeset.m40000664000175000017500000000157610761102704011706 00000000000000# codeset.m4 serial AM1 (gettext-0.10.40) dnl Copyright (C) 2000-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 Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET);], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) flex-2.5.35/m4/glibc21.m40000664000175000017500000000172710761102704011501 00000000000000# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) dnl Copyright (C) 2000-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. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([jm_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) flex-2.5.35/m4/intdiv0.m40000664000175000017500000000356510761102704011635 00000000000000# intdiv0.m4 serial 1 (gettext-0.11.3) 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 Bruno Haible. AC_DEFUN([gt_INTDIV0], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ AC_TRY_RUN([ #include #include static void #ifdef __cplusplus sigfpe_handler (int sig) #else sigfpe_handler (sig) int sig; #endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, [ # Guess based on the CPU. case "$host_cpu" in alpha* | i[34567]86 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac ]) ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, [Define if integer division by zero raises signal SIGFPE.]) ]) flex-2.5.35/m4/inttypes-pri.m40000664000175000017500000000222710761102704012721 00000000000000# inttypes-pri.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-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 Bruno Haible. # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_REQUIRE([gt_HEADER_INTTYPES_H]) if test $gt_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) fi ]) flex-2.5.35/m4/inttypes.m40000664000175000017500000000171710761102704012134 00000000000000# inttypes.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-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. # Define HAVE_INTTYPES_H if exists and doesn't clash with # . AC_DEFUN([gt_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, [ AC_TRY_COMPILE( [#include #include ], [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) ]) if test $gt_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, [Define if exists and doesn't clash with .]) fi ]) flex-2.5.35/m4/inttypes_h.m40000664000175000017500000000210310761102704012431 00000000000000# inttypes_h.m4 serial 5 (gettext-0.12) dnl Copyright (C) 1997-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 From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([jm_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_inttypes_h=yes, jm_ac_cv_header_inttypes_h=no)]) if test $jm_ac_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) flex-2.5.35/m4/isc-posix.m40000664000175000017500000000213310761102704012164 00000000000000# isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-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. # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) # still uses it. Otherwise, the use in gettext.m4 makes autoheader # give these diagnostics: # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX undefine([AC_ISC_POSIX]) AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ] ) flex-2.5.35/m4/lcmessage.m40000664000175000017500000000261610761102704012217 00000000000000# lcmessage.m4 serial 3 (gettext-0.11.3) dnl Copyright (C) 1995-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 dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([AM_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi ]) flex-2.5.35/m4/stdint_h.m40000664000175000017500000000205310761102704012063 00000000000000# stdint_h.m4 serial 3 (gettext-0.12) dnl Copyright (C) 1997-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 From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([jm_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_stdint_h=yes, jm_ac_cv_header_stdint_h=no)]) if test $jm_ac_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) flex-2.5.35/m4/uintmax_t.m40000664000175000017500000000235010761102704012257 00000000000000# uintmax_t.m4 serial 7 (gettext-0.12) dnl Copyright (C) 1997-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 From Paul Eggert. AC_PREREQ(2.13) # Define uintmax_t to 'unsigned long' or 'unsigned long long' # if it is not already defined in or . AC_DEFUN([jm_AC_TYPE_UINTMAX_T], [ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) AC_REQUIRE([jm_AC_HEADER_STDINT_H]) if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, [Define to unsigned long or unsigned long long if and don't define.]) else AC_DEFINE(HAVE_UINTMAX_T, 1, [Define if you have the 'uintmax_t' type in or .]) fi ]) flex-2.5.35/m4/ulonglong.m40000664000175000017500000000200010761102705012244 00000000000000# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) dnl Copyright (C) 1999-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. AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], [unsigned long long ullmax = (unsigned long long) -1; return ull << i | ull >> i | ullmax / ull | ullmax % ull;], ac_cv_type_unsigned_long_long=yes, ac_cv_type_unsigned_long_long=no)]) if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the unsigned long long type.]) fi ]) flex-2.5.35/po/0000777000175000017500000000000010761103057010167 500000000000000flex-2.5.35/po/Makefile.in.in0000664000175000017500000002744110761102705012566 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper # # 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: flex-2.5.35/po/remove-potcdate.sin0000664000175000017500000000066010761102705013717 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } flex-2.5.35/po/quot.sed0000664000175000017500000000023110761102705011565 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g flex-2.5.35/po/boldquot.sed0000664000175000017500000000033110761102705012427 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g flex-2.5.35/po/en@quot.header0000664000175000017500000000226310761102705012674 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # flex-2.5.35/po/en@boldquot.header0000664000175000017500000000247110761102705013536 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # flex-2.5.35/po/insert-header.sin0000664000175000017500000000124010761102705013346 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } flex-2.5.35/po/Rules-quot0000664000175000017500000000323110761102705012106 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$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 "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header flex-2.5.35/po/Makevars0000664000175000017500000000342110564640314011604 00000000000000# 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 = # 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 = flex-devel@lists.sourceforge.net # 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 = flex-2.5.35/po/POTFILES.in0000664000175000017500000000021107451165574011672 00000000000000buf.c ccl.c dfa.c ecs.c gen.c libmain.c libyywrap.c main.c misc.c nfa.c options.c parse.y scan.l scanopt.c skel.c sym.c tblcmp.c yylex.c flex-2.5.35/po/flex.pot0000664000175000017500000003621210761102743011574 00000000000000# SOME DESCRIPTIVE TITLE. # This file is put in the public domain. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "" #: dfa.c:124 msgid "dangerous trailing context" msgstr "" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr "" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr "" #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "" #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "" #: main.c:189 msgid "rule cannot be matched" msgstr "" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "" #: main.c:419 msgid "could not write tables header" msgstr "" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "" #: main.c:740 #, c-format msgid " scanner options: -" msgstr "" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr "" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr "" #: main.c:823 #, c-format msgid " %d rules\n" msgstr "" #: main.c:828 #, c-format msgid " No backing up\n" msgstr "" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr "" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr "" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr "" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr "" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr "" #: main.c:851 #, c-format msgid " no character classes\n" msgstr "" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr "" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr "" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr "" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr "" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr "" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr "" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr "" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr "" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr "" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr "" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr "" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr "" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr "" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr "" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "" #: main.c:1467 msgid "fatal parse error" msgstr "" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "" #: parse.y:159 msgid "unknown error processing section 1" msgstr "" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "" #: parse.y:315 msgid "unrecognized rule" msgstr "" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" #: parse.y:821 msgid "negative range in character class" msgstr "" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "" #: scan.l:284 msgid "Unmatched '{'" msgstr "" #: scan.l:317 msgid "incomplete name definition" msgstr "" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "" #: scan.l:768 msgid "missing quote" msgstr "" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "" #: scan.l:856 msgid "bad character inside {}'s" msgstr "" #: scan.l:862 msgid "missing }" msgstr "" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "" #: scan.l:945 msgid "EOF encountered inside pattern" msgstr "" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "" #: sym.c:202 msgid "name defined twice" msgstr "" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "" #: yylex.c:56 msgid "premature EOF" msgstr "" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "" flex-2.5.35/po/stamp-po0000664000175000017500000000001210761102745011564 00000000000000timestamp flex-2.5.35/po/ca.po0000664000175000017500000007700010761102743011035 00000000000000# Catalan translation of flex message catalogs. # Copyright © 2002, 2003, 2006 Free Software Foundation, Inc. # Jordi Mallach , 2002, 2003, 2006. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.33\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2006-04-13 22:21+0200\n" "Last-Translator: Jordi Mallach \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "L'estat #%d és no-acceptar -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "Context posterior perillós" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " números de línia associats a la regla:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " fi de transicions: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " transicions de bloqueig: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "la comprovació de consistència ha fallat en epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Bolcat AFD:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "no s'ha pogut crear un estat únic de final-de-búfer" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "estat # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "No s'ha pogut escriure yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "caràcter de transició incorrecte detectat en sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Classes d'equivalència:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "l'estat # %d accepta: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "l'estat # %d accepta: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "No s'ha pogut escriure yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "No s'ha pogut escriure yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "No s'ha pogut escriure ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Classes de metaequivalència:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "No s'ha pogut escriure yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "No s'ha pogut escriure yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "No s'ha pogut escriure yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "No s'ha pogut escriure yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "No s'ha pogut escriure yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "No s'ha pogut escriure ftbl" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "No s'ha pogut escriure ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "No s'ha pogut escriure eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "No s'ha pogut escriure yynultrans_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "no es pot satisfer la regla" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "S'ha especificat l'opció -s però es pot aplicar la regla per defecte" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "No es pot fer servir -+ amb l'opció -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "No es pot fer servir -f o -F amb l'opció -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "No es pot fer servir --reentrant o --bison-bridge amb l'opció -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF i -Cm no tenen sentit juntes" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF i -I són incompatibles" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF són incompatibles amb el mode de compatibilitat amb lex" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf i -CF són mútuament excloents" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "No es pot fer servir -+ amb l'opció -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array és incompatible amb l'opció -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Les opcions -+ i --reentrant són mútuament excloents" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "No es suporta «bison bridge» per a l'analitzador de C++" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "no s'ha pogut crear %s" #: main.c:419 msgid "could not write tables header" msgstr "no s'ha pogut crear la capçalera de les taules" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "No es pot obrir el fitxer d'esquema %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "error d'entrada al llegir el fitxer d'esquema %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "s'ha produït un error en tancar el fitxer d'esquema %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "s'ha produït un error en crear el fitxer de capçalera %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "s'ha produït un error en escriure el fitxer d'eixida %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "s'ha produït un error en tancar el fitxer d'eixida %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "s'ha produït un error en suprimir el fitxer d'eixida %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "No hi ha retrocés.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d estats de retrocés (no-acceptació).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Les taules comprimides sempre impliquen un retard.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "s'ha produït un error en escriure el fitxer de còpia de seguretat %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "s'ha produït un error en tancar el fitxer de còpia de seguretat %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "estadístiques d'ús de %s versió %s:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " opcions de l'analitzador: -" # NFA == Autómata finit no-determinista. jm #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d estats AFN\n" # DFA == Autómata finit deterministic. jm #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d estats AFD (%d paraules)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d regles\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Sense retrocés\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d estats de retrocés (no-acceptació)\n" # Es refereix a còpia de seguretat, o retrocés? jm #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Sempre es realitza còpia de seguretat de les taules comprimides\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Utilitzats patrons de principi-de-línia\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condicions d'activació\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d estats èpsilon, %d estats doble èpsilon\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " sense classes de caràcter\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " les classes de caràcters %d/%d necessitaren %d/%d paraules de magatzement, " "%d reutilitzades\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d parells estat/estat-següent creats\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transicions úniques/duplicades\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d entrades de la taula\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entrades base-def creades\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (pic %d) entrades nxt-chk creades\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (pic %d) entrades de plantilla nxt-chk creades\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d entrades de la tabla buides\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototips creats\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d plantilles creades, %d usos\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d classes d'equivalència creades\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d classes de meta-equivalència creades\n" # Hash? jm # segons un company de treballa que estudia a la UOC, allí # les "hashtables" s'anomenen "taules de DISPERSIÓ". En aquest context # no sé que dir-te. ear #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d desades) col·lisions d'ubicació («hash»), %d AFD iguals\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " es necessiten %d conjunts de relocalització\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " es necessiten %d entrades totals de la taula\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Error intern. Els flexopts estan malformats.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Proveu «%s --help» per a obtindre més informació.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "opció de -C desconeguda «%c»" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" # Hmm. No se si açò està be. jm #: main.c:1467 msgid "fatal parse error" msgstr "s'ha produït un error fatal d'anàlisi sintàctic" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "no s'ha pogut crear un fitxer d'informació del retrocés %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l l'opció de compatibilitat amb AT&T lex implica una penalització del " "rendiment molt gran\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " i pot ser l'origen real d'altres penalitzacions del rendiment notificades\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "l'%%opció yylineno implica una penalització del rendiment NOMÉS en regles " "que poden fer coincidir caràcters de nova línia\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interactiu) implica una xicoteta penalització del rendiment\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() implica una xicoteta penalització del rendiment\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT implica una penalització del rendiment molt gran\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Les regles de context posterior variable implica una penalització del " "rendiment molt gran\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT no es pot fer servir amb -f o -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "l'%opció yylineno no es pot fer servir amb REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "Les regles de context posterior variable no es poden utilitzar amb -f o -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "l'%opció yyclass només té sentit per a analitzadors de C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Forma d'ús: %s [OPCIONS] [FITXER]...\n" # Al grep jo sempre he traduït match com a coincidir. No sé, no m'agrada # molt això de text emparellat. # Encara que coincident tampoc no m'acaba de convéncer. ear # I que faig amb "reentrant" i "parser"? jm #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Genera programes que realitzen emparellaments de patrons en text.\n" "\n" "Compressió de taules:\n" " -Ca, --align renuncia a taules més grans a canvi de una millor " "alineació\n" " -Ce, --ecs construeix classes d'equivalència\n" " -Cf no comprimeixes les taules; utilitza la representació -" "f\n" " -CF no comprimeixes les taules; utilitza la representació -" "F\n" " -Cm, --meta-ecs construeix classes de metaequivalència\n" " -Cr, --read utilitza read() en lloc de stdio com a entrada de " "l'analitzador\n" " -f, --full genera un analitzador ràpid i gran. El mateix que -Cfr\n" " -F, --fast usa una representació alternativa de taules. El mateix " "que -CFr\n" " -Cem compressió per defecte (el mateix que --ecs --meta-ecs)\n" "\n" "Depuració:\n" " -d, --debug activa el mode de depuració en l'analitzador\n" " -b, --backup escriu l'informació dels retrocessos en %s\n" " -p, --perf-report escriu l'informe de rendiment en stderr\n" " -s, --nodefault suprimeix la regla per defecte de visualitzar " "(ECHO) el text no emparellat\n" " -T, --trace %s hauria d'executar-se en mode traça\n" " -w, --nowarn no generes avisos\n" " -v, --verbose escriu un resum de les estadístiques de " "l'analitzador en stdout\n" "\n" "Fitxers:\n" " -o, --outfile=FITXER especifica el fitxer d'eixida\n" " -S, --skel=FITXER especifica el fitxer d'esquema\n" " -t, --stdout escriu l'analitzador en stdout en lloc de %s\n" " --yyclass=NOM nom de la classe C++\n" " --header-file=FITXER crea un fitxer de capçaleres de C a més de " "l'analitzador\n" " --tables-file=[FITXER] escriu les taules en FITXER\n" "\n" "Comportament de l'analitzador:\n" " -7, --7bit genera un analitzador de 7 bits\n" " -8, --8bit genera un analitzador de 8 bits\n" " -B, --batch genera un analitzador no interactiu (el contrari a " "-I)\n" " -i, --case-insensitive Ignora les diferències de majúscules i minúscules " "en els patrons\n" " -l, --lex-compat compatibilitat màxima amb el lex original\n" " -X, --posix-compat compatibilitat màxima amb el lex POSIX\n" " -I, --interactive genera un analitzador interactiu (el contrari a -" "B)\n" " --yylineno traça el compte de línies en yylineno\n" "\n" "Codi generat:\n" " -+, --c++ genera un analitzador de la classe C++\n" " -Dmacro[=defn] #define macro defn (defn és «1» per defecte)\n" " -L, --noline suprimeix les directives #line en l'analitzador\n" " -P, --prefix=CADENA utilitza CADENA com prefix en comptes de «yy»\n" " -R, --reentrant genera un analitzador de C reentrant\n" " --bison-bridge analitzador per a l'analitzador pur de bison\n" " --bison-locations inclou suport per a yylloc\n" " --stdinit inicialitza yyin/yyout a stdin/stdout\n" " --noansi-definitions estil antic de definicions de funcions\n" " --noansi-prototypes llista de paràmetres buida als prototips\n" " --nounistd no inclogues \n" " --noFUNCIÓ no generes una FUNCIÓ en particular\n" "\n" "Miscel·lània:\n" " -c opció POSIX sense efecte\n" " -n opció POSIX sense efecte\n" " -?\n" " -h, --help mostra aquest missatge d'ajuda\n" " -V, --version informa de la versió de %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "el nom «%s» és ridículament llarg" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "ha fallat l'assignació de memòria en allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "caràcter incorrecte «%s» detectat en check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "l'analitzador requereix l'opció -8 per a fer servir el caràcter %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "errada de la memòria dinàmica en copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: error intern fatal, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "ha fallat l'intent d'augmentar la mida de la matriu" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "línia incorrecta en el fitxer d'esquema" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "ha fallat l'assignació de memòria en yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** s'està començant el bolcat de l'afn amb l'estat inicial %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "estat # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** final del bolcat\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "màquina buida en dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regla de context posterior variable en la línia %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "tipus d'estat incorrecte en mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "les regles d'entrada són massa complicades (>= %d estats AFN)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "s'han trobat massa transicions en mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "massa regles (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "s'ha produït un error desconegut en processar la secció 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "condició de començament incorrecta" #: parse.y:315 msgid "unrecognized rule" msgstr "regla no reconeguda" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "s'ha utilitzat el context posterior dos vegades" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "valors d'iteració incorrectes" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "el valor d'iteració ha de ser positiu" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les " "majúscules i minúscules" #: parse.y:821 msgid "negative range in character class" msgstr "rang negatiu en classe de caràcter" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les " "majúscules i minúscules" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les " "majúscules i minúscules" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "La línia d'entrada és massa llarga\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "directiva «%top» malformada" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "directiva «%» no reconeguda" #: scan.l:284 msgid "Unmatched '{'" msgstr "«|» no emparellat" #: scan.l:317 msgid "incomplete name definition" msgstr "definició del nom incompleta" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "%%opció no reconeguda: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "classe de caràcter incorrecta" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "definició no definida {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr " incorrecta: %s" #: scan.l:768 msgid "missing quote" msgstr "manca una cometa" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "expressió de la classe de caràcters incorrecta: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "caràcter incorrecte dins de {}" #: scan.l:862 msgid "missing }" msgstr "manca una }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "s'ha trobat un EOF dins d'una acció" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "s'ha trobat un EOF dins d'una acció" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "caràcter incorrecte: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "no es pot obrir %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Forma d'ús: %s [OPCIONS]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "l'opció «%s» no accepta arguments\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "l'opció «%s» requereix un argument\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "l'opció «%s» és ambígua\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opció no reconeguda «%s»\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Error desconegut=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "ha fallat l'assignació de memòria per a la taula de símbols" #: sym.c:202 msgid "name defined twice" msgstr "el nom ha sigut definit dos vegades" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "la condició d'activació %s ha sigut declarada dos vegades" #: yylex.c:56 msgid "premature EOF" msgstr "EOF prematur" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Marcador de fi\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Quelcom estrany* - terminal: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "Ha fallat la prova de consistència en symfollowset" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "No es pot especificar l'opció de capçalera si s'escriu a stdout." #~ msgid "unknown -R option '%c'" #~ msgstr "opció de -R desconeguda «%c»" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF i l'%opció yylineno són incompatibles" #~ msgid "" #~ "For usage, try\n" #~ "\t%s --help\n" #~ msgstr "" #~ "Per al mode d'ús, proveu\n" #~ "\t%s --help\n" #~ msgid "-P flag must be given separately" #~ msgstr "la opció -P s'ha d'especificar per separat" #~ msgid "-o flag must be given separately" #~ msgstr "l'opció -o s'ha d'especificar per separat" #~ msgid "-S flag must be given separately" #~ msgstr "l'opció -S s'ha d'especificar per separat" #~ msgid "-C flag must be given separately" #~ msgstr "l'opció -C s'ha de donar per separat" #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" #~ "%s [--bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oeixida -Pprefix -Sesquema]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [fitxer ...]\n" #~ msgid "\t-b generate backing-up information to %s\n" #~ msgstr "\t-b genera la informació dels retrocessos efectuats a %s\n" #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c opció POSIX sense efecte\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" #~ msgstr "\t-d activa el mode de depuració en l'analitzador generat\n" #~ msgid "\t-f generate fast, large scanner\n" #~ msgstr "\t-f genera un analitzador ràpid i gran\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h mostra aquest missatge d'ajuda\n" #~ msgid "\t-i generate case-insensitive scanner\n" #~ msgstr "\t-i genera un analitzador insensible a majúscules i minúscules\n" #~ msgid "\t-l maximal compatibility with original lex\n" #~ msgstr "\t-l compatibilitat màxima amb el lex original\n" #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n opció POSIX sense efecte\n" #~ msgid "\t-p generate performance report to stderr\n" #~ msgstr "\t-p genera l'informe de rendiment en stderr\n" # Al grep jo sempre he traduït match com a coincidir. No sé, no m'agrada # molt això de text emparellat. # Encara que coincident tampoc no m'acaba de convéncer. ear #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "" #~ "\t-s suprimeix la regla per defecte de visualitzar (ECHO) el text no " #~ "emparellat\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "" #~ "\t-t escriu l'analitzador generat en l'eixida estàndard en lloc de %s\n" #~ msgid "\t-v write summary of scanner statistics to f\n" #~ msgstr "\t-v escriu un resum de les estadístiques en f\n" #~ msgid "\t-w do not generate warnings\n" #~ msgstr "\t-w no genera avisos\n" #~ msgid "\t-B generate batch scanner (opposite of -I)\n" #~ msgstr "\t-B genera un analitzador no interactiu (el contrari a -I)\n" #~ msgid "\t-F use alternative fast scanner representation\n" #~ msgstr "\t-F usa la representació alternativa d'analitzador ràpid\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" #~ msgstr "\t-I genera analitzador interactiu (el contrari a -B)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L suprimeix les directives #line en l'analitzador\n" #~ msgid "\t-T %s should run in trace mode\n" #~ msgstr "\t-T %s hauria de executarse en mode traça\n" #~ msgid "\t-V report %s version\n" #~ msgstr "\t-V informa de la versió de %s\n" #~ msgid "\t-7 generate 7-bit scanner\n" #~ msgstr "\t-7 genera un analitzador de 7 bits\n" #~ msgid "\t-8 generate 8-bit scanner\n" #~ msgstr "\t-8 genera un analitzador de 8 bits\n" #~ msgid "\t-+ generate C++ scanner class\n" #~ msgstr "\t-+ genera un analitzador de la classe C++\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? produeix aquest missatge d'ajuda\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "" #~ "\t-C especifica el grau de compressió de la taula (per defecte -Cem):\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "" #~ "\t\t-Ca renuncia a taules més grans a canvi de una millor alineació\n" #~ "\t\t de la memòria\n" #~ msgid "\t\t-Ce construct equivalence classes\n" #~ msgstr "\t\t-Ce construeix classes d'equivalència\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "" #~ "\t\t-Cf no comprimeix les taules de l'analitzador; utilitza la " #~ "representació -f\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "" #~ "\t\t-CF no comprimeix les taules de l'analitzador; utilitza la " #~ "representació -F\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" #~ msgstr "\t\t-Cm construeix classes de metaequivalència\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" #~ "\t\t-Cr utilitza read() en lloc de stdio com a entrada de l'analitzador\n" #~ msgid "\t-o specify output filename\n" #~ msgstr "\t-o especifica el fitxer d'eixida\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" #~ msgstr "\t-P especifica un prefix de l'analitzador diferent a «yy»\n" #~ msgid "\t-S specify skeleton file\n" #~ msgstr "\t-S especifica el fitxer d'esquema\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help produeix aquest missatge d'ajuda\n" #~ msgid "\t--version report %s version\n" #~ msgstr "\t--version informa de la versió de %s\n" flex-2.5.35/po/da.po0000664000175000017500000006753510761102743011052 00000000000000# Danish messages for flex. # Copyright (C) 1996 Free Software Foundation, Inc. # Keld Simonsen , 2000-2002. # Johan Linde , 1996. # msgid "" msgstr "" "Project-Id-Version: flex 2002.3.12a\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2002-03-27 09:12+0100\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Tilstand %d er ikke-accepterende -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "farlig efterfølgende kontekst" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " linjenummer for associeret regel:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " ud-overgange: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " stopovergange: filslut " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "konsistenskontrollen mislykkedes i epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA-udskrift:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "kunne ikke oprette en unik buffersluttilstand" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "tilstand %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "forkert overgangstegn fundet i sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Ækvivalensklasser:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "tilstand %d accepterer: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "tilstand %d accepterer: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "" #: gen.c:1248 gen.c:1633 gen.c:1656 #, fuzzy msgid "Could not write ecstbl" msgstr "kunne ikke oprette %s" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Meta-ækvivalensklasser:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "" #: gen.c:1354 #, fuzzy msgid "Could not write yybase_tbl" msgstr "kunne ikke oprette %s" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "" #: gen.c:1618 gen.c:1647 #, fuzzy msgid "Could not write ftbl" msgstr "kunne ikke oprette %s" #: gen.c:1624 #, fuzzy msgid "Could not write ssltbl" msgstr "kunne ikke oprette %s" #: gen.c:1675 #, fuzzy msgid "Could not write eoltbl" msgstr "kunne ikke oprette %s" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "" #: main.c:189 msgid "rule cannot be matched" msgstr "reglen kan ikke matches" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "flaget -s angivet, men standardreglen kan følges" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "-+ kan ikke bruges sammen med flaget -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "-f eller -F kan ikke bruges sammen med -l" #: main.c:241 #, fuzzy msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "-R eller -Rb kan ikke bruges sammen med -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF og -Cm kan ikke bruges sammen" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF og -I kan ikke bruges sammen" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF kan ikke bruges i lex-kompatibilitetstilstand" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf og -CF er gensidigt udelukkende" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "-+ kan ikke bruges sammen med flaget -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "-+ kan ikke bruges sammen med %array" #: main.c:302 #, fuzzy msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Flagene -+ og -R er gensidigt udelukkende." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "kunne ikke oprette %s" #: main.c:419 #, fuzzy msgid "could not write tables header" msgstr "kunne ikke oprette %s" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "kan ikke åbne skabelonfilen %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "fejl ved læsning af skabelonsfilen %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "fejl ved lukning af skabelonfilen %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "fejl ved oprettelsen af headerfilen %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "fejl ved skrivning af udfilen %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "fejl ved lukning af udfilen %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "fejl ved sletning af udfilen %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Ingen sikkerhedskopiering.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d sikkerhedskopierer (ikke-accepterende) tilstande.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Komprimerete tabeller backer alltid tillbaka.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "fejl ved skrivning af sikkerhedskopifilen %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "fejl ved lukning af sikerhedskopifilen %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "Statistik over brugaf %s version %s:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " fortolkningsflag: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-tilstand\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-tilstand (%d ord)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d regler\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Ingen sikkerhedskopiering\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d sikkerhedskopierer (ikke-accepterende) tilstande.\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Komprimerede tabeller bakker altid tilbake\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Begyndelse-af-linje-mønster brugt\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d startbetingelse\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilontilstande, %d dobbelte epsilontilstande\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " ingen tegnklasser\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr " %d/%d tegnklasser behøvede %d/%d ord for gemning, %d genbrugte\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d par med tilstand/næste-tilstand oprettede\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d unikke/duplikerede overgange\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d tabelposter\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base/standard-poster oprettede\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max %d) næste/test-poster oprettede\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max %d) skablon-næste/test-poster oprettede\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d tomme tabelposter\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototyper oprettede\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d skabloner oprettede, %d formål\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d ækvivalensklasser oprettet\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d meta-ækvivalensklasser oprettede\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d gemte) hash-kollisioner, %d DFA'er er ens\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d opsætninger med omallokeringer krævedes\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d totale tabelposter kræves\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Intern fejl. flexopts er fejlbehæftede.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "ukendt flag til -C \"%c\"" #: main.c:1192 #, fuzzy, c-format msgid "%s %s\n" msgstr "%s version %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "uoprettelig fejl ved analysen" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "kunne ikke oprette sikkerhedskopi af info-fil %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "flaget -l for opførsel som AT&T's lex medfører et væsentligt præstationstab\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " og kan være den egentlige årsag til andre rapporter om dette\n" #: main.c:1529 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "%%option yylineno medfører en væsentlig præstationstab\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktiv) medfører et mindre præstationstab\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() medfører et mindre præstationstab\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT medfører et væsentligt præstationstab\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regler for variabel efterfølgende kontekst medfører et væsentlig " "præstationstab\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT kan ikke bruges sammen med -f eller -F" #: main.c:1567 #, fuzzy, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno kan ikke bruges sammen med -f eller -F" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "regler for variabel efterfølgende kontekst kan ikke bruges\n" "sammen med -f eller -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass er kun meningsfyldt for C++-fortolkere" #: main.c:1798 #, fuzzy, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "%s [FLAG...] [fil...]\n" #: main.c:1801 #, fuzzy, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Tabel-kompression: (normalt -Cem)\n" " -Ca, --align brug bedre hukommelses-tilpasning i stedet for mindre " "tabeller\n" " -Ce, --ecs konstruér ækvivalensklasser\n" " -Cf komprimér ikke tabeller; brug -f repræsentation\n" " -CF komprimér ikke tabeller; brug -F repræsentation\n" " -Cm, --meta-ecs konstruér meta-ækvivalensklasser\n" " -Cr, --read brug read() i stedet for stdio til skanner-inddata\n" " -f, --full generér hurtig, stor skanner. Det samme som -Cfr\n" " -F, --fast brug alternativ tabelrepræsentation. Det samme som -CFr\n" "\n" "Fejlsøgning:\n" " -d, --debug aktivér fejlsøgnings-tilstand i skanneren\n" " -b, --backup skriv sikkerhedskopi-information til %s\n" " -p, --perf-report skriv ydelses-rapport på stdfejl\n" " -s, --nodefault undertryk normal regel om at udskrive tekst der " "ikke passede\n" " -T, --trace %s bør køre i sporings-tilstand\n" " -w, --nowarn generér ikke advarsler\n" " -v, --verbose skriv sammendrag af skanner-statistik til stdud\n" "\n" "Filer:\n" " -o, --outfile=FILE angiv uddata-filnavn\n" " -S, --skel=FILE angiv skelet-fil\n" " -t, --stdout skriv skanner på stdud i stedet for på %s\n" " --yyclass=NAME navn på C++-klasse\n" " --header=FILE opret en C header-fil sammen med skanneren\n" "\n" "Skannerens opførsel:\n" " -7, --7bit generér 7-bit-skanner\n" " -8, --8bit generér 8-bit-skanner\n" " -B, --batch generér batch-skanner (modsat -I)\n" " -i, --case-insensitive ignorér forskel på små og store bogstaver i " "mønstre\n" " -l, --lex-compat maksimal kompatibilitet med oprindelig lex\n" " -I, --interactive generér interaktiv skanner (modsat -B)\n" " --yylineno notér linjenummer i yylineno\n" "\n" "Genereret kode:\n" " -+, --c++ generér C++ skanner-klasse\n" " -Dmacro[=defn] #define macro defn (forvalgt defn er '1')\n" " -L, --noline undertryk #line-direktiver i skanner\n" " -P, --prefix=STRENG brug STRENG som begyndelse i stedet for \"yy\"\n" " -R, --reentrant generér en reentrant C-skanner\n" " -Rb, --reentrant-bison reentrant skanner for ren Bison-fortolker.\n" " --stdinit initialisér yyin/yyout til stdind/stdud\n" " --noFUNKTION generér ikke en bestemt FUNKTION\n" "\n" "Forskelligt:\n" " -c POSIX-flag der ikke udføres\n" " -n POSIX-flag der ikke udføres\n" " -?\n" " -h, --help udskriv denne hjælpebesked\n" " -V, --version udskriv %s version\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "navnet \"%s\" er latterligt langt" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "hukommelsestildelingen mislykkedes i allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "forkert tegn \"%s\" fundet i check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "skanneren kræver flaget -8 for at kunne bruge tegnet %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "dynamisk hukommelsesfejl i copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: uoprettelig intern fejl, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "forsøg på at øge arraystørrelse mislykkedes" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "forkert linje i skeletfilen" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "hukommelsestildelingen mislykkedes i yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** begynder udskrift af nfa med starttilstand %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "tilstand %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** slut på udskrift\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "tom maskine i dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regel for variabel efterfølgende kontekst på linje %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "forkert tilstandstype i mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "inddatareglerne er for komplicerede (>= %d NFA-tilstand)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "fandt for mange overgange i mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "for mange regler (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "" #: parse.y:184 parse.y:351 #, fuzzy msgid "bad start condition list" msgstr "forkert : %s" #: parse.y:315 #, fuzzy msgid "unrecognized rule" msgstr "ukendt %-direktiv" #: parse.y:434 parse.y:447 parse.y:516 #, fuzzy msgid "trailing context used twice" msgstr "Regel for variabel efterfølgende kontekst på linje %d\n" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" #: parse.y:821 #, fuzzy msgid "negative range in character class" msgstr " ingen tegnklasser\n" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "\t-i opret en versalufølsom fortolker\n" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "\t-i opret en versalufølsom fortolker\n" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" #: scan.l:161 #, fuzzy, c-format msgid "malformed '%top' directive" msgstr "ukendt %-direktiv" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "ukendt %-direktiv" #: scan.l:284 msgid "Unmatched '{'" msgstr "" #: scan.l:317 msgid "incomplete name definition" msgstr "ufuldstændig navnedefinition" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "ukendt %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "forkert tegnklasse" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "udefinieret definition {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "forkert : %s" #: scan.l:768 msgid "missing quote" msgstr "citationstegn savnes" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "forkert udtryk for tegnklasse: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "forkert tegn imellem {}" #: scan.l:862 msgid "missing }" msgstr "} savnes" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "filslutning mødt inden i en handling" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "filslutning mødt inden i en handling" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "forkert tegn: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "kan ikke åbne %s" #: scanopt.c:291 #, fuzzy, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "%s [FLAG...] [fil...]\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" #: scanopt.c:578 #, fuzzy, c-format msgid "Unrecognized option `%s'\n" msgstr "ukendt %%option: %s" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "hukommelsestildeling for symboltabel mislykkedes" #: sym.c:202 msgid "name defined twice" msgstr "navnet defineret to gange" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "startbetingelse %s deklareret to gange" #: yylex.c:56 msgid "premature EOF" msgstr "for tidlig filslut" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Slutmarkering\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Noget mærkeligt* - tegn: %d værdi: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "konsistenskontrollen mislykkedes i symfollowset" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "Kan ikke angive header-flag hvis der skrives til standard-ud." #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF og %option yylineno kan ikke bruges sammen" #~ msgid "" #~ "For usage, try\n" #~ "\t%s --help\n" #~ msgstr "" #~ "For hvordan det skal bruges prøv\n" #~ "\t%s --help\n" #~ msgid "unknown -R option '%c'" #~ msgstr "ukendt flag til -R '%c'" #~ msgid "-P flag must be given separately" #~ msgstr "flaget -P skal angives separat" #~ msgid "-o flag must be given separately" #~ msgstr "flaget -o skal angives separat" #~ msgid "-S flag must be given separately" #~ msgstr "flaget -S skal angives separat" #~ msgid "-C flag must be given separately" #~ msgstr "flaget -C skal angives separat" #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oudfil -Pprefiks -Sskabelon]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [fil ...]\n" #~ msgid "\t-b generate backing-up information to %s\n" #~ msgstr "\t-b skriv information om sikkerhedskopiering til %s\n" #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c POSIX-flaget udfører intet\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" #~ msgstr "\t-d sæt den oprettede fortolker i fejlsøgningstilstand\n" #~ msgid "\t-f generate fast, large scanner\n" #~ msgstr "\t-f opret en hurtig, stor fortolker\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h vis denne hjælpetekst\n" #~ msgid "\t-l maximal compatibility with original lex\n" #~ msgstr "\t-l maksimal kompatibilitet med den oprindelige lex\n" #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n POSIX-flaget gør ingenting\n" #~ msgid "\t-p generate performance report to stderr\n" #~ msgstr "\t-p send rapport om præstation til standard fejl\n" #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "" #~ "\t-s undertryk standardreglen om at udskrive tekst som ikke kunne " #~ "matches\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "" #~ "\t-t skriv den oprettede fortolker til standard ud i stedet for %s\n" #~ msgid "\t-v write summary of scanner statistics to f\n" #~ msgstr "\t-v skriv kortfattet skannerstatistik til f\n" #~ msgid "\t-w do not generate warnings\n" #~ msgstr "\t-w vis ingen advarsler\n" #~ msgid "\t-B generate batch scanner (opposite of -I)\n" #~ msgstr "\t-B opret en ikke-interaktiv fortolker (modsat -I)\n" #~ msgid "\t-F use alternative fast scanner representation\n" #~ msgstr "\t-F brug en alternativ hurtig scannerrepræsentation\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" #~ msgstr "\t-I opret en interaktiv scanner (modsat -B)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L undertryk #line-direktiver i skanneren\n" #~ msgid "\t-T %s should run in trace mode\n" #~ msgstr "\t-T %s skal køres i sporingstilstand\n" #~ msgid "\t-V report %s version\n" #~ msgstr "\t-V vis %s-version\n" #~ msgid "\t-7 generate 7-bit scanner\n" #~ msgstr "\t-7 opret en 7-bits fortolker\n" #~ msgid "\t-8 generate 8-bit scanner\n" #~ msgstr "\t-8 opret en 8-bits fortolker\n" #~ msgid "\t-+ generate C++ scanner class\n" #~ msgstr "\t-+ opret en C++-skannerklasse\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? vis denne hjælpetekst\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "\t-C angiv graden af tabelkompression (standard -Cem):\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "" #~ "\t\t-Ca skift til større tabeller for at forbedre " #~ "hukommelsebehandlingen\n" #~ msgid "\t\t-Ce construct equivalence classes\n" #~ msgstr "\t\t-Ce opret ækvivalensklasser\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "" #~ "\t\t-Cf komprimér ikke fortolkertabellerne; brug repræsentationen -f\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "" #~ "\t\t-CF komprimér ikke skannertabellerne; brug repræsentationen -F\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" #~ msgstr "\t\t-Cm opret meta-ækvivalensklasser\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" #~ "\t\t-Cr brug read() i stedet for standard ind som inddata til skanneren\n" #~ msgid "\t-o specify output filename\n" #~ msgstr "\t-o angiv navnet på udfilen\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" #~ msgstr "\t-P angiv andet scannerprefix end \"yy\"\n" #~ msgid "\t-S specify skeleton file\n" #~ msgstr "\t-S angiv skeletfil\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help vis denne hjælpetekst\n" #~ msgid "\t--version report %s version\n" #~ msgstr "\t--version vis %s-version\n" flex-2.5.35/po/de.po0000664000175000017500000006307010761103056011042 00000000000000# German messages for flex # Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex Project. # This file is distributed under the same license as the flex package. # Michael Piefel , 2002, 2003, 2008 # msgid "" msgstr "" "Project-Id-Version: flex 2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2008-02-11 11:12:41+0100\n" "Last-Translator: Michael Piefel \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Zustand #%d ist nicht-akzeptierend –\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "gefährlicher folgender Kontext" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " verbundene Regelzeilennummern" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " Aus-Übergänge: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " Hemm-Übergänge: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "Konsistenzprüfung fehlgeschlagen in epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA-Ausgabe:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "konnte keinen einzigartigen Ende-des-Puffers-Zustand erzeugen" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "Zustand # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Konnte yynxt_tbl[][] nicht schreiben" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "ungültiges Übergangszeichen in sympartition() entdeckt" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Äquivalenz-Klassen:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "Zustand # %d akzeptiert: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "Zustand # %d akzeptiert: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Konnte yyacclist_tbl nicht schreiben" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Konnte yyacc_tbl nicht schreiben" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Konnte ecstbl nicht schreiben" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Meta-Äquivalenz-Klassen:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Konnte yymeta_tbl nicht schreiben" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Konnte yybase_tbl nicht schreiben" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Konnte yydef_tbl nicht schreiben" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Konnte yynxt_tbl nicht schreiben" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Konnte yychk_tbl nicht schreiben" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Konnte ftbl nicht schreiben" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Konnte ssltbl nicht schreiben" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Konnte eoltbl nicht schreiben" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Konnte yynultrans_tbl nicht schreiben" #: main.c:189 msgid "rule cannot be matched" msgstr "Regel kann nicht passen" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "„-s“-Option gegeben, aber Vorgabe-Regel kann nicht passen" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Kann nicht „-+“ zusammen mit „-l“-Option verwenden" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Kann nicht „-f“ oder „-F“ zusammen mit „-l“-Option verwenden" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" "Kann nicht „--reentrant“ oder „--bison-bridge“ mit „-l“-Option verwenden" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "„-Cf“/„-CF“ und „-Cm“ sind zusammen nicht sinnvoll" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "„-Cf“/„-CF“ und „-I“ sind inkompatibel" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "„-Cf“/„-CF“ sind inkompatibel mit lex-Kompatibilitätsmodus" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "„-Cf“ und „-CF“ schließen sich gegenseitig aus" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Kann nicht „-+“ zusammen mit „-CF“-Option verwenden" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "„%array“ inkompatibel mit „-+“-Option" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Optionen „-+“ und „--reentrant“ schließen sich gegenseitig aus." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "Brücke zu Bison für den C++-Scanner nicht unterstützt." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "konnte %s nicht erzeugen" #: main.c:419 msgid "could not write tables header" msgstr "konnte Tabellenköpfe nicht schreiben" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "kann Skelett-Datei %s nicht öffnen" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "Eingabefehler beim Lesen der Skelett-Datei %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "Fehler beim Schließen der Skelett-Datei %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "Fehler beim Erstellen der Header-Datei %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "Fehler beim Schreiben der Ausgabe-Datei %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "Fehler beim Schließen der Ausgabe-Datei %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "Fehler beim Löschen der Ausgabe-Datei %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Kein Backing-up.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d Zustände mit Backing-up (nicht akzeptierend).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Komprimierte Tabellen benutzen immer Backing-up.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "Fehler beim Schreiben der Backup-Datei %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "Fehler beim Schließen der Backup-Datei %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s Version %s Benutzungsstatistiken:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " Scanner-Optionen: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-Zustände\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-Zustände (%d Wörter)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d Regeln\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Kein Backing-up.\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d Zustände mit Backing-up (nicht akzeptierend).\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Komprimierte Tabellen benutzen immer Backing-up.\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Zeilenanfang-Muster benutzt\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d Startbedingungen\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d Epsilon-Zustände, %d Doppel-Epsilon-Zustände\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " keine Zeichenklassen\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d Zeichenklassen brauchten %d/%d Speicherwörter, %d wiederbenutzt\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d Zustand/Nächster-Zustand-Paare erzeugt\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d einzigartige/doppelte Übergänge\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d Tabelleneinträge\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d Einträge „base-def“ erzeugt\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max. %d) Einträge „nxt-chk“ erzeugt\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max. %d) Einträge „template nxt-chk“ erzeugt\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d leere Tabelleneinträge\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d Protos erzeugt\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d Schablonen erzeugt, %d Benutzungen\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d Äquivalenz-Klassen erzeugt\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d Meta-Äquivalenz-Klassen erzeugt\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d gespeichert) Hash-Kollisionen, %d DFAs gleich\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d Sätze von Neuallozierungen benötigt\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d Tabelleneinträge insgesamt benötigt\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Interner Fehler. flexopts sind missgestaltet.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Versuchen Sie es mit „%s --help“ für mehr Informationen.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "unbekannte „-C“-Option „%c“" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "fataler Parse-Fehler" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "konnte Datei %s mit Informationen zum Backing-up nicht erzeugen" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l AT&T-lex-Kompatibilitätsmodus führt zu großen Geschwindigkeitseinbußen\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " und ist möglicherweise die wirkliche Quelle anderer gemeldeter Einbußen\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%option yylineno führt zu Geschwindigkeitseinbußen NUR für Regeln, die auf " "einen Zeilenvorschub passen können\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktiv) führt zu kleineren Geschwindigkeitseinbußen\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() führt zu kleineren Geschwindigkeitseinbußen\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT führt zu großen Geschwindigkeitseinbußen\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regeln mit variablem folgenden Kontext führen zu großen " "Geschwindigkeitseinbußen\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT kann nicht mit „-f“ oder „-F“ zusammen verwendet werden" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno kann nicht mit REJECT zusammen verwendet werden" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "Regeln mit variablem folgenden Kontext können nicht mit „-f“ oder „-F“ " "verwendet werden" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass ist nur bei C++-Scannern sinnvoll" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Aufruf: %s [OPTIONEN...] [DATEI...]\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Generiert Programme, die Mustererkennung in Texten durchführen.\n" "\n" "Tabellen-Komprimierung:\n" " -Ca, --align erzeuge größere Tabellen, aber bessere " "Speicherausrichtung\n" " -Ce, --ecs konstruiere Äquivalenz-Klassen\n" " -Cf komprimiere Tabellen nicht; benutze „-f“-Repräsentation\n" " -CF komprimiere Tabellen nicht; benutze „-F“-Repräsentation\n" " -Cm, --meta-ecs konstruiere Meta-Äquivalenz-Klassen\n" " -Cr, --read benutze read() anstelle von stdio für Scannereingabe\n" " -f, --full generiere schnellen, großen Scanner. Genau wie -Cfr\n" " -F, --fast benutze alternative Tabellenrepräsentation. Genau wie -" "CFr\n" " -Cem Voreinstellung (genau wie --ecs --meta-ecs)\n" "\n" "Fehlersuche:\n" " -d, --debug Fehlersuch-(Debug-)Modus im Scanner aktivieren\n" " -b, --backup schreibe Backing-up-Information in %s\n" " -p, --perf-report schreibe Performanzbericht auf stderr\n" " -s, --nodefault unterdücke Standardregel ECHO für nicht passenden " "Text\n" " -T, --trace %s sollte im Trace-Modus laufen\n" " -w, --nowarn generiere keine Warnungen\n" " -v, --verbose schreibe Zusammenfassung der Scannerstatistiken " "auf stdout\n" "\n" "Dateien:\n" " -o, --outfile=DATEI Ausgabe-Dateiname\n" " -S, --skel=DATEI Skelettdatei\n" " -t, --stdout gib Scanner auf stdout anstelle von %s aus\n" " --yyclass=NAME Name der C++-Klasse\n" " --header-file=DATEI erstelle eine C-Headerdatei zusätzlich zum " "Scanner\n" " --tables-file[=DATEI] schreibe Tabellen in DATEI\n" "\n" "Scannerverhalten:\n" " -7, --7bit generiere 7-bit-Scanner\n" " -8, --8bit generiere 8-bit-Scanner\n" " -B, --batch generiere Dateiscanner (Gegenteil von -I)\n" " -i, --case-insensitive ignoriere Groß-/Kleinschreibung in Mustern\n" " -l, --lex-compat maximale Kompatibilität mit originalem lex\n" " -X, --posix-compat maximala Kompatibilität mit lex aus POSIX\n" " -I, --interactive generiere interaktiven Scanner (Gegenteil von -B)\n" " --yylineno verfolge Zeilenzähler in yylineno\n" "\n" "Generierter Code:\n" " -+, --c++ generiere C++-Scannerklasse\n" " -Dmacro[=defn] #definiere Makro (Standard-Defn ist „1“)\n" " -L, --noline unterdrücke #line-Direktiven im Scanner\n" " -P, --prefix=STRING benutze STRING als Präfix anstelle von „yy“\n" " -R, --reentrant generiere einen reentranten C-Scanner\n" " --bison-bridge Scanner für reentranten Bison-Parser\n" " (Bison-Deklaration „%%pure_parser“)\n" " --bison-locations yylloc-Unterstützung aktivieren\n" " --stdinit initialisiere yyin/yyout mit stdin/stdout\n" " --noansi-definitions Funktionsdefinitionen alten Stils\n" " --noansi-prototypes leere Parameterlisten in Prototypen\n" " --nounistd nicht mit einbinden\n" " --noFUNKTION generiere eine bestimmte FUNKTION nicht\n" "\n" "Verschiedenes:\n" " -c keine Wirkung (aus POSIX)\n" " -n keine Wirkung (aus POSIX)\n" " -?\n" " -h, --help produziere diese Hilfenachricht\n" " -V, --version melde %s-Version\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "name „%s“ ist lächerlich lang" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "Speicheranforderung in allocate_array() fehlgeschlagen" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "ungültiges Zeichen „%s“ in check_char() entdeckt" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "Scanner erfordert Option „-8“, um das Zeichen %s benutzen zu können" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "Fehler beim dynamischen Speicher in copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: fataler interner Fehler, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "Versuch, die Feldgröße zu erhöhen, fehlgeschlagen" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "ungültige Zeile in Skelettdatei" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "Speicheranforderung in yy_flex_xmalloc() fehlgeschlagen" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** beginne Ausgabe von NFA mit Startzustand %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "Zustand # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** end der Ausgabe\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "leere Maschine in dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regel mit veränderlichem folgenden Kontext in Zeile %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "ungültiger Zustandstyp in mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "Eingaberegeln sind zu kompliziert (>= %d NFA-Zustände)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "zu viele Übergänge in mkxtion() gefunden" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "zu viele Regeln (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "unbekannter Fehler beim Bearbeiten von Abschnitt 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "ungültige Startbedingungs-Liste" #: parse.y:315 msgid "unrecognized rule" msgstr "nicht erkannte Regel" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "folgender Kontext doppelt verwendet" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "ungültige Iterationswerte" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "Iterationswerte müssen positiv sein" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "der Zeichenbereich [%c-%c] ist in Scannern ohne Beachtung von Groß-/" "Kleinschreibung mehrdeutig" #: parse.y:821 msgid "negative range in character class" msgstr "negativer Bereich in Zeichenklasse" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "[:^lower:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung " "mehrdeutig" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "[:^upper:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung " "mehrdeutig" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Eingabezeile zu lang\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "falsch geformte „%top“-Direktive" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "nicht erkannte „%“-Direktive" #: scan.l:284 msgid "Unmatched '{'" msgstr "Unbalancierte „{“" #: scan.l:317 msgid "incomplete name definition" msgstr "unvollständige Namensdefinition" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "nicht erkannte %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "ungültige Zeichenklasse" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "undefinierte Definitione {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "ungültige : %s" #: scan.l:768 msgid "missing quote" msgstr "fehlendes Anführungszeichen" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "ungültiger Zeichenklassenausdruck: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "ungültiges Zeichen innerhalb von {}" #: scan.l:862 msgid "missing }" msgstr "fehlende }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "EOF innerhalb einer Aktion angetroffen" #: scan.l:945 msgid "EOF encountered inside pattern" msgstr "EOF innerhalb eines Musters angetroffen" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "ungültiges Zeichen: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "kann %s nicht öffnen" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Aufruf: %s [OPTIONEN...]\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "Option „%s“ erlaubt kein Argument\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "Option „%s“ verlangt ein Argument\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "Option „%s“ ist mehrdeutig\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "nicht erkannte Option „%s“\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Unbekannter Fehler=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "Speicheranforderung für Symboltabelle fehlgeschlagen" #: sym.c:202 msgid "name defined twice" msgstr "Name zweimal definiert" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "Startbedingung %s zweimal definiert" #: yylex.c:56 msgid "premature EOF" msgstr "vorzeitiges EOF" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Endemarkierung\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Etwas Seltsames* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "Konstistenzüberprüfung in symfollowset fehlgeschlagen" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "Kann Header-Option nicht benutzen wenn Ausgabe nach stdout geht." #~ msgid "unknown -R option '%c'" #~ msgstr "unbekannte „-R“-Option „%c“" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "„-Cf“/„-CF“ und „%option yylineno“ sind inkompatibel" flex-2.5.35/po/es.po0000664000175000017500000011613010761102744011060 00000000000000# Mensajes en español para GNU flex. # Copyright (C) 1997 Free Software Foundation, Inc. # Nicolás García-Pedrajas , 1997. # ## 23 de septiembre de 1996, # ## Finaliza la tradución y la dejo para revisión # ## No me machaquéis mucho, es la primera que hago. # # Gracias a Nicolás Fernández García que me ha sugerido algunas ideas. # msgid "" msgstr "" "Project-Id-Version: GNU flex 2.5.8\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2003-01-02 12:06+0100\n" "Last-Translator: Nicolás García-Pedrajas \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" # El estado (?) sv #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "El estado #%d es no-aceptar -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "contexto posterior peligroso" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " números de línea asociados a la regla:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " fin de transiciones: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " transiciones de bloqueo: fin de archivo (EOF)" # Teste no lo he oído en mi vida. ¿te suena mal test a secas? # o quizá ¿examen de consistencia? em # Pongo comillas a la función em # Con teste me estoy haciendo famoso, cada vez que lo escribo # me lo preguntan. Lo que ocurre es que teste es el término que ha # aceptado la Real Academia, por eso creo que debíamos usarlo. ng # Bueno, no vamos a ser más papistas que el Papa, pero que a mí me # sigue sonando raro em # pues el verbo es testar, ¿cómo te suena? ng+ # # Sugiero usar prueba o comprobación. sv #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "el teste de consistencia falló en `epsclosure()'" # ¿Qué tal volcado? em # ok, a mí tampoco me gustaba descarga ng #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Volcado AFD:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "no se pudo crear un estado único de final-de-buffer" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "estado # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "carácter de transición erróneo detectado en sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Clases de equivalencia:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "el estado # %d acepta: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "el estado # %d acepta: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "" #: gen.c:1248 gen.c:1633 gen.c:1656 #, fuzzy msgid "Could not write ecstbl" msgstr "no se pudo crear %s" # ¿No sería mejor "MetaEquivalencia" o "Meta-Equivalencia"? sv # yo prefiero como está, es el mismo caso de metafísica ng+ #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Clases de metaequivalencia:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "" #: gen.c:1354 #, fuzzy msgid "Could not write yybase_tbl" msgstr "no se pudo crear %s" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "" #: gen.c:1618 gen.c:1647 #, fuzzy msgid "Could not write ftbl" msgstr "no se pudo crear %s" #: gen.c:1624 #, fuzzy msgid "Could not write ssltbl" msgstr "no se pudo crear %s" #: gen.c:1675 #, fuzzy msgid "Could not write eoltbl" msgstr "no se pudo crear %s" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "" # ¿coincidencia?, es la traducción habitual em # La traducción de match no me gusta pero no encuentro otra # Sugerencia: satisface, encaja, es aplicable. sv # match se traduce por emparejar cuando se usa para emparejar una llave # abierta con una cerrada, por ejemplo, pero no cuando se trata de ver # si una regla "matches" o no "matches". # creo que aplicar no qeuda mal ng+ #: main.c:189 msgid "rule cannot be matched" msgstr "la regla no se puede aplicar" # ## re-redacto el mensaje. sv #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "" "se ha especificado la opción -s pero se puede aplicar la regla por defecto" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "No se puede usar -+ con la opción -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "No se pueden usar las opciones -f o -F con la opción -l" #: main.c:241 #, fuzzy msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "No se pueden usar las opciones -R o -Rb con la opción -l" # ¿juntos o juntas? # Creo que está bien así em # ok ng #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF y -Cm no tienen sentido juntos" # no se si poner y ó e # A mí tambien me hubiese pasado, creo que está bien así em # entonces lo dejo ng # Yo creo que en este caso no hace falta porque se leería así: # "menos ce efe o menos ce efe mayúscula y menos I son incompatibles". sv #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF e -I son incompatibles" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF son incompatibles con el modo de compatibilidad con lex" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf y -CF son mutuamente excluyentes" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "No se puede usar -+ con la opción -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array incompatible con la opción -+" #: main.c:302 #, fuzzy msgid "Options -+ and --reentrant are mutually exclusive." msgstr "-+ y -R son mutuamente excluyentes" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "no se pudo crear %s" #: main.c:419 #, fuzzy msgid "could not write tables header" msgstr "no se pudo crear %s" # Lo mismo con skeleton, máscara o modelo em # lo mismo de antes ng # Lo mismo que antes :) em # idem ng+ #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "no se puede abrir el archivo de esquema %s" # Skeleton se puede traducir por máscara, o por modelo em # Sí, lo estuve considerando. Pero el eskeleton file es un fichero que # le indica a flex la forma como tratar el fichero de entrada, y por eso me # perece que se puede poner mejor esquema, en el sentido de esquema de # comportamiento, como en algorítmica ng # No me has convencido nada. Esquema es una cosa, y esquema de comportamiento # otra muy distinta. No hay mucha gente que asocie las dos cosas. # Por otro lado, ya que es una cosa que acepta sólo a los muy avanzados # usuarios, creo que no hace falta buscar palabras que no significan lo que # son. Todos los que sepan qué es el eskeleton file sabrán lo que es el archivo # de máscara, pero por otro lado lo del archivo de esquema puede confundir # a los profanos en la materia, pensando que se refiere al propio scanner. # No le veo ninguna ventaja a usar esquema, y sí dos inconvenientes em # que decida una tercera persona # # ## Cambio "leyendo" por "al leer", como en otras traducciones. sv #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "error de entrada al leer el archivo de esquema %s" # Otra vez :) em #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "error al cerrar el archivo de esquema %s" # Lo mismo, archivo de seguridad? em #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "error al crear el archivo de cabecera %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "error al escribir el archivo de salida %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "error al cerrar el archivo de salida %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "error al borrar el archivo de salida %s" # Copia de seguridad? em # Sugerencia: No hay retroceso. sv #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Sin retroceso.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d estados de retroceso (no-aceptación).\n" # Esta frase no me convence demasiado. Si tradujésemos de español # a inglés lo que hay ahora en español diría algo así como: # "Compressed tables are always back up" # (supuesto que back es irregular y su pasado/participio es back y no backed, # que ahora mismo no me acuerdo). sv #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Las tablas comprimidas siempre implican un retraso.\n" # Lo mismo, archivo de seguridad? em #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "error al escribir el archivo de seguridad %s" # En todas las traducciones que ha aparecido # he sugerido el uso de copia de seguridad em # ok ng #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "error al cerrar el archivo de copia de seguridad %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versión %s estadísticas de uso:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " opciones del analizador: -" # NFA significa non-deterministic finite automata, así que lo he traducido # por AFN #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d estados AFN\n" # DFA significa deterministic finite autómata, lo he traducido por AFD #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d estados AFD {%d palabras}\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d reglas\n" # Otra vez ;) em # modificado como en la anterior ng #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Sin retroceso\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d estados de retroceso (no-aceptación)\n" # FIXME. # Informar al autor de que esta frase es casi idéntica a una anterior, para # que sólo haya que traducirla una vez. sv #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Siempre se realiza copia de seguridad de las tablas comprimidas\n" # Lo mismo "se han usado patrones de comienzo de línea". sv #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Usados patrones de comienzo-de-línea\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condiciones de activación\n" # Lo de estados épsilon lo entenderá un usuario avanzado, pero no sé si uno # normal. # Yo soy uno normal, y no sé lo que es em # en teoría de autómatas no deterministas un estado épsilon es un estado # en el que se puede realizar una transición no trivial sin leer nada, # lo de doble épsilon no lo he oído nunca. Creo que hay que dejar el término # técnico. ng # Tu mandas, no tengo nada que decir a eso em #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d estados épsilon, %d estados doble épsilon\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " sin clases de caracteres\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " las clases de caracteres %d/%d necesitaron %d/%d palabras de\n" "almacenamiento, %d reutilizadas\n" # Frases como esta quedan algo sosas. # ¿Qué tal " se han creado %d pares estado/estado-siguiente"? # Bueno, mejor no lo hagas hasta que no se sepa cómo queda al lado # de las otras. sv #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d pares estado/estado-siguiente creados\n" # ## Añado sendas eses, ya que son transiciones. sv #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transiciones únicas/duplicadas\n" # Entradas 'en' la tabla em # sí, mejor ng # ¿Que había antes? (¿entradas a la tabla?) # (entradas *de* la tabla me suena mejor) sv. #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d entradas en la tabla\n" # ## pongo `comillas' en el base-def. sv #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entradas `base-def' creadas\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (pico %d) entradas nxt-chk creadas\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (pico %d) entradas de plantilla nxt-chk creadas\n" # ¿entradas a la tabla o entradas de la tabla? sv #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d entradas en la tabla vacías\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototipos creados\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d plantillas creadas, %d usos\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d clases de equivalencia creadas\n" # "se han creado..." sv #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d clases de metaequivalencia creadas\n" # A veces he visto traducir hash (o hashing) por desmenuzamiento, pero no # me gusta # demasiado. De todas formas es un término bastante usado sin traducir. # A mí hash no me sugiere nada . Piensa en algo mejor, de momento lo dejo # entre comillas em # en cierto modo 'colisiones en la localización' sería una idea parecida # quizás se pueda usar ng # Me gusta más, pero ya te digo, soy un usuario de andar por casa, y sigo # sin entender qué es em # la idea del hash consiste en almacenar un registro (de cualquier tipo) en # un lugar que se puede determinar mediante una transformación directa de su # clave, por eso si hay dos claves iguales hay una colisión, porque dos # registros van al mismo sitio ng+ #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr "" " %d (%d almacenadas) colisiones de localización ('hash'), %d AFDs iguales\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " se necesitan %d conjuntos de relocalización\n" # Lo mismo que en otro sitio: ¿table entries son entradas a la tabla o # de la tabla? sv #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " se necesitan %d entradas totales en la tabla\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Error interno. flexopts mal formadas.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pruebe `%s --help' para más información.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "opción -C desconocida '%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" # Creo que no existe traducción de parse, en todo lo referente a compiladores # y autómatas yo siempre lo he visto así. # Existe alguna solución a 'parse', ¿qué tal # al analizar la sintaxis? em # pero es que el parse es sólo una parte del analizador sintáctico # aunque desde luego sería mucho más sencillo de entender el mensaje ng # Habrá que plantearlo en el consejo de ancianos de Spanglish, que a veces # resuelven mucho em # ok, ¿cómo se le plantea? ng # Sugerencia: error fatal. sv # con comillas es un término medio. Lo de error grave fue una sugerencia # de Enrique, y croe que queda mejor. ng+ #: main.c:1467 msgid "fatal parse error" msgstr "error muy grave en el analizador sintáctico" # Esto no tiene sentido. Uso flex a menudo, y no recuerdo haber visto # este mensaje nunca. Pero no me parezca que tenga mucho sentido así # em, ¿a qué se está refiriendo? em # la verdad es que yo tampoco he usado esta opción, así que he aplicado la # ley de Murphy, cuando todo lo demás falle, lea el manual. El archivo al # que se refiere informa sobre todas las reglas que obligan a un retroceso # del analizador, he rehecho el mensaje para que sea más claro ng # # Pues si este "backing" se refiere a un retroceso del analizador, los # demás también, ¿no? (y no a "copias de seguridad"). sv # # ## Perfecto !, pero ten cuidado con los espacios despues del comienzo de línea # ## , ejemplo # ## # ## msgstr " bla bla .. \n" # ## "bla bla ..." # ## # ## Eso no es válido ( solución, usa emacs po-mode :) ) em # ## ok, ya estoy instalando linux otra vez ng+ #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "" "no se pudo crear el archivo de información de las reglas\n" "que producen un retroceso del analizador %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l la opción de compatibilidad con AT&T lex implica una penalización del\n" "rendimiento muy alta\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " y puede ser el origen real de otras penalizaciones del rendimiento " "notificadas\n" #: main.c:1529 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "la %%opción yylineno implica una penalización del rendimiento muy alta\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interactivo) implica una pequeña penalización del rendimiento\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() implica un pequeña penalización del rendimiento\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT implica una penalización del rendimiento muy alta\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "La existencia de reglas de contexto posterior variable implica una\n" "penalización del rendimiento muy alta\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT no se puede usar con -f o -F" #: main.c:1567 #, fuzzy, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "la %opción yylineno no se puede usar con -f o -F" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "las reglas de contexto posterior variable no se pueden usar con -f o -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "la %option yyclass sólo tiene sentido para los analizadores en C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Uso: %s [OPCIONES] [FICHERO]...\n" #: main.c:1801 #, fuzzy, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Genera programas que realizan emparejado de patrones en texto.\n" "\n" "Compresión de tablas: (por defecto es -Cem)\n" " -Ca, --align Renuncia a tablas grandes para mejorar la alineación en " "memoria\n" " -Ce, --ecs construye clases de equivalencia\n" " -Cf no comprime las tablas; utiliza la representación -f\n" " -CF no comprime las tablas; utiliza la representación -F\n" " -Cm, --meta-ecs construye clases de metaequivalencia\n" " -Cr, --read utiliza read() en lugar de stdio para la entrada del " "analizador\n" " -f, --full genera una analizar rápido y grande. Igual que -Cfr\n" " -F, --fast usa la representación de tablas alternativa. Igual que -" "CFr\n" " -Cem compresión por defecto (igual que --ecs --meta-ecs)\n" "\n" "Depurado:\n" " -d, --debug habilita el modo de depuración en el analizador\n" " -b, --backup escribe información de seguridad en %s\n" " -p, --perf-report escribe un informe de rendimiento en stderr\n" " -s, --nodefault suprime la regla por defecto consistente en un " "ECHO de cualquier carácter sin emparejar\n" " -T, --trace %s debería ejecutarse en modo traza\n" " -w, --nowarn no genera avisos\n" " -v, --verbose escribe un resumen de estadísticas del analizador " "en stdout\n" "\n" "Ficheros:\n" " -o, --outfile=FILE especifica el nombre del fichero de salida\n" " -S, --skel=FILE especifica el fichero de esquema\n" " -t, --stdout escribe el analizador en stdout en lugar de en %s\n" " --yyclass=NAME nombre de la clase de C++\n" " --header=FILE crea un fichero de cabecera de C además del " "analizador\n" "\n" "Comportamiento del analizador:\n" " -7, --7bit genera un analizador de 7 bits\n" " -8, --8bit genera un analizador de 8 bits\n" " -B, --batch genera un analizador en modo batch (opuesto a -I)\n" " -i, --case-insensitive ignora mayúsculas y minúsculas en los patrones\n" " -l, --lex-compat compatibilidad máxima con lex\n" " -I, --interactive genera un analizador interactivo (opuesto a -B)\n" " --yylineno mantiene información del conteo de líneas en " "yylineno\n" "\n" "Código generado:\n" " -+, --c++ genera una clase C++ con el analizador\n" " -Dmacro[=defn] #define macro defn (pro defecto defn es '1')\n" " -L, --noline suprime las directivas #line en el analizador\n" " -P, --prefix=STRING usa STRING como prefijo en lugar de \"yy\"\n" " -R, --reentrant generate un analizador C reentrante\n" " -Rb, --reentrant-bison analizador reentrante para un analizador léxico " "bison puro.\n" " --stdinit inicializa yyin/yyout a stdin/stdout\n" " --noFUNCTION no genera la función FUNCTION\n" "\n" "Miscelánea:\n" " -c opción POSIX do-nothing\n" " -n opción POSIX do-nothing\n" " -?\n" " -h, --help produce este mensaje de ayuda\n" " -V, --version informa de la versión %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "nombre \"%s\" ridículamente grande" # Asignación de memoria em # ¿está unificado? ng # Sí, pero creo que sólo por mí. Normalmente esos mensajes # los dá la biblioteca C antes em # ok ng+ #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "falló la asignación de memoria en `allocate_array()'" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "carácter incorrecto '%s' detectado en `check_char()'" # he añadido el `poder' em # ok ng #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "el analizador requiere la opción -8 para poder usar el carácter %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "fallo de la memoria dinámica en copy_string()" # Sugerencia: error fatal. sv #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: error interno muy grave, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "falló el intento de aumentar el tamaño de la matriz" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "línea incorrecta en el archivo de esquema" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "la reserva de memoria falló en yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** comenzando la descarga del AFN con el estado inicial %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "estado # %4d\t" # Sugerencia: volcado. sv # ok ng+ #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** fin de volcado\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "máquina vacía en `dupmachine()'" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regla de contexto posterior variable en la línea %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "tipo de estado incorrecto en mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "las reglas de entrada son demasiado complicadas (>= %d estados AFN)" # Sugerencia: se han encontrado... sv #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "encontradas demasiadas transiciones en mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "demasiadas reglas (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "error desconocido en el proceso de la sección 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "lista de condiciones de activación incorrecta" #: parse.y:315 msgid "unrecognized rule" msgstr "regla no reconocida" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "contexto posterior usado dos veces" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "valores incorrectos para iteración" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "los valores para iteración deben ser positivos" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" #: parse.y:821 msgid "negative range in character class" msgstr "rango negativo en clase caracteres" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "\t-i genera un analizador que no distingue entre mayúsculas y minúsculas\n" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "\t-i genera un analizador que no distingue entre mayúsculas y minúsculas\n" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" #: scan.l:161 #, fuzzy, c-format msgid "malformed '%top' directive" msgstr "directiva '%' no reconocida" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "directiva '%' no reconocida" #: scan.l:284 msgid "Unmatched '{'" msgstr "" #: scan.l:317 msgid "incomplete name definition" msgstr "definición de nombre incompleta" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "%%opción no reconocida: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "clase de caracteres incorrecta" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "definición no definida {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr " incorrecta: %s" # Sugerencia: falta una comilla. sv #: scan.l:768 msgid "missing quote" msgstr "falta comilla" # Corregido el orden de la frase, ponía: # incorrecta la expresión ... em # ok, de traducir al final ocurre que acabas hablando al revés, # como en inglés ng #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "expresión de la clase de caracteres incorrecta: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "carácter incorrecto dentro de {}'s" # Sugerencia: "falta una }". sv #: scan.l:862 msgid "missing }" msgstr "falta }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "Fin de archivo (EOF) encontrado dentro de una acción" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "Fin de archivo (EOF) encontrado dentro de una acción" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "carácter incorrecto: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "no se puede abrir %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Uso: %s [OPCIONES]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "la opción `%s' no permite un argumento\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "la opción `%s' requiere un argumento\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "la opción `%s' es ambigua\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opción no reconocida `%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Error desconocido=(%d)\n" # Asignación de memoria em #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "falló la reserva de memoria para la tabla de símbolos" # hay que procurar evitar esto, siempre nos suena mejor # el nombre ha sido definido dos veces, ¿qué te parece? em # mucho mejor, ya lo había pensado, pero no sabía cual era el estilo usual. ng #: sym.c:202 msgid "name defined twice" msgstr "el nombre ha sido definido dos veces" # Aquí lo mismo 'la condición ... ha sido ..." em #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "la condición de activación %s ha sido declarada dos veces" #: yylex.c:56 msgid "premature EOF" msgstr "fin de archivo (EOF) prematuro" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Marcador de fin\n" # sobre lo de tok, me parece que es abreviatura de token. ng # en bison he traducido token por terminal, creo que es bueno unificar. ng #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Algo extraño* - terminal: %d val: %d\n" # Te he corregido un error de tecleo, y puesto entre comillas # la llamada a la función em # ok, lo de las comillas no lo sabía ng #~ msgid "consistency check failed in symfollowset" #~ msgstr "falló el test de consistencia en `symfollowset'" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "" #~ "No se puede especificar una opción de cabecera si se escribe en stdout" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF y la %opción yylineno son incompatibles" #~ msgid "unknown -R option '%c'" #~ msgstr "opción -R desconocida '%c'" # Sugerencia: modificador '%c' desconocido -> opción '%c' desconocida. sv # ## usage - modo de empleo # ## pongo try - pruebe, como en otras traducciones. sv #~ msgid "" #~ "For usage, try\n" #~ "\t%s --help\n" #~ msgstr "" #~ "Para el uso, pruebe\n" #~ "\t%s --help\n" # especificar en vez de dar em # sí, queda mejor ng #~ msgid "-P flag must be given separately" #~ msgstr "la opción -P se debe especificar separadamente" # especificar, o proporcionar em # especificar para unificar ng # Esa es la norma que estamos usando. em #~ msgid "-o flag must be given separately" #~ msgstr "la opción -o se debe especificar separadamente" # especificar, o proporcionar em # idem ng #~ msgid "-S flag must be given separately" #~ msgstr "la opción -S se debe especificar separadamente" # especificar, o proporcionar em #~ msgid "-C flag must be given separately" #~ msgstr "la opción -C se debe especificar separadamente" # Skeleton otra vez ( recuerdo máscara, o modelos ) em #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osalida -Pprefijo -Sesquema]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [archivo ...]\n" # seguridad em # idem ng #~ msgid "\t-b generate backing-up information to %s\n" #~ msgstr "\t-b genera la información de los retrocesos efectuados a %s\n" # No tiene efecto, en vez de no-hagas-nada em # no sé si es lo mismo ng # Es como lo estamos traduciendo en otros casos de opciones # por compatibilidad POSIX pero sin efecto em # ok ng+ #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c opción POSIX sin efecto\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" #~ msgstr "\t-d activa el modo de depuración en el analizador generado\n" #~ msgid "\t-f generate fast, large scanner\n" #~ msgstr "\t-f genera un analizador rápido y grande\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h produce este mensaje de ayuda\n" #~ msgid "\t-l maximal compatibility with original lex\n" #~ msgstr "\t-l compatibilidad máxima con el lex original\n" # lo mismo que arriba em #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n opción POSIX sin efecto\n" # He cambiado el orden salida de error estándar, ponía em #~ msgid "\t-p generate performance report to stderr\n" #~ msgstr "" #~ "\t-p genera el informe de rendimiento en la salida de error estándar " #~ "(stderr)\n" #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "" #~ "\t-s suprime la regla por defecto de visualizar (ECHO) el texto no " #~ "emparejado\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "" #~ "\t-t escribe el analizador generado en la salida estándar (stdout) en\n" #~ "lugar de en %s\n" #~ msgid "\t-v write summary of scanner statistics to f\n" #~ msgstr "\t-v escribe un resumen de las estadísticas del analizador en f\n" #~ msgid "\t-w do not generate warnings\n" #~ msgstr "\t-w no genera avisos\n" # ## cambio opuesta por opuesto. #~ msgid "\t-B generate batch scanner (opposite of -I)\n" #~ msgstr "\t-B genera un analizador no interactivo (opuesto a -I)\n" #~ msgid "\t-F use alternative fast scanner representation\n" #~ msgstr "\t-F utiliza la representación de analizador rápido alternativa\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" #~ msgstr "\t-I genera analizador interactivo (opuesto a -B)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L suprime las directivas #line en el analizador\n" # modo de seguimiento em # ¿está unificado? ng # Ha salido ya alguna vez, pero no sé si sólo fue en una de mis # traducciones. Dejémoslo para otro em #~ msgid "\t-T %s should run in trace mode\n" #~ msgstr "\t-T %s debería ejecutarse en modo traza\n" #~ msgid "\t-V report %s version\n" #~ msgstr "\t-V informa de la versión de %s\n" #~ msgid "\t-7 generate 7-bit scanner\n" #~ msgstr "\t-7 genera un analizador de 7 bits\n" #~ msgid "\t-8 generate 8-bit scanner\n" #~ msgstr "\t-8 genera un analizador de 8 bits\n" # Un analizador C++, sin más, o una clase C++ para el analizador em # creo que es así, porque genera dos clases C++ ng # ¿Y?, una pregunta ¿cuál es la clase C++?, tal y como lo traduces # parece que existiese una sola clase C++ :), sé que el flex te genera # una clase ( dos ), pero no 'la clase' em # creo que no me explicado, mi idea es que como genera 2 clases en C++ # el mensaje sería generate C++ scanner classes, luego si está en singular # creo que se puede referir a que genera un analizador de la clase C++, # pero creo que a lo mejor el original no se preocupó de esas sutilezas ng+ # # Pues a mí me parece que lo que genera es una clase analizadora en/de C++ # es decir: "C++ (scanner class)" no "(C++ class) scanner" que sí sería # un analizador de la clase C++. sv #~ msgid "\t-+ generate C++ scanner class\n" #~ msgstr "\t-+ genera una clase analizadora en C++\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? produce este mensaje de ayuda\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "" #~ "\t-C especifica el grado de compresión de la tabla (por defecto -Cem):\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "" #~ "\t\t-Ca renuncia a las tables grandes en favor de una mejor\n" #~ "\t\t alineación de la memoria\n" #~ msgid "\t\t-Ce construct equivalence classes\n" #~ msgstr "\t\t-Ce construye clases de equivalencia\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "" #~ "\t\t-Cf no comprime las tablas del analizador, utiliza la representación " #~ "-f\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "" #~ "\t\t-CF no comprime las tablas del analizador, utiliza la representación " #~ "-F\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" #~ msgstr "\t\t-cm construye clases de metaequivalencia\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" #~ "\t\t-Cr utiliza read() en lugar de la entrada estándar (stdio) como\n" #~ "\t\t entrada al analizador\n" #~ msgid "\t-o specify output filename\n" #~ msgstr "\t-o especifica el nombre del archivo de salida\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" #~ msgstr "\t-P especifica un prefijo del analizador distinto de \"yy\"\n" # De esquema ..., em #~ msgid "\t-S specify skeleton file\n" #~ msgstr "\t-S especifica el archivo de esquema\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help produce este mensaje de ayuda\n" #~ msgid "\t--version report %s version\n" #~ msgstr "\t--version informa de la versión de %s\n" flex-2.5.35/po/fr.po0000664000175000017500000007522210761102744011066 00000000000000# Messages français pour Flex. # Copyright © 2004 Free Software Foundation, Inc. # Michel Robitaille , traducteur depuis/since 1996, depuis mars 2002 pour flex. # # Marc Baudoin , 1996, traducteur jusqu'en mars 2002 # Dominique Boucher , 1996. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2004-05-10 08:00-0500\n" "Last-Translator: Michel Robitaille \n" "Language-Team: French \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" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "L'état n° %d n'accepte pas -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "le contexte traîné est dangereux" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " numéros de ligne associés à la règle :" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " transitions de sortie : " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " transitions-bouchon : EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "le contrôle de cohérence a échoué dans epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Vidage de l'AFD :\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "impossible de créer un seul état de fin de tampon" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "état n° %d :\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "ne peut écrire yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "mauvais caractère de transition détecté dans sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Classes d'Équivalence :\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "l'état n° %d accepte : [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "l'état n° %d accepte : " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Ne peut écrire yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "ne peut écrire yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "ne peut écrire ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Classes de Méta-Équivalence :\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "ne peut écire yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "ne peut écrire yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "ne peut écrire yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "ne peut écrire yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "ne peut écrire yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "ne peut écrire ftbl" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Ne peut écrire ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Ne peut écrire eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "ne peut écrire yynultrnas_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "la règle ne peut être pairée" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "l'option -s est donnée mais la règle par défaut peut être reconnue" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "L'option -+ ne peut être combinée à -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Les options -f et -F ne peuvent être combinées à -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" "Les options --reentrant ou --bison-bridge ne peuvent être combinées à " "l'option -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF et -Cm ne peuvent être spécifiés ensemble" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF et -I sont incompatibles" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "" "l'option -Cf/-CF n'est pas compatible avec le mode de compatibilité « lex »" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf et -CF sont mutuellement exclusifs" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "L'option -+ ne peut être combinée à -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array incompatible avec l'option -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Les options +- et --reentrant sont mutuellement exclusives." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "bridge bison n'est pas supporté pour l'analyseur C++" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "impossible de créer %s" #: main.c:419 msgid "could not write tables header" msgstr "ne peut écrire les tables d'en-tête" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "impossible d'ouvrir le fichier canevas %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "erreur lors de la lecture du fichier canevas %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "erreur lors de la fermeture du fichier canevas %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "erreur de création du fichier d'en-tête %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "erreur lors de l'écriture du fichier de sortie %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "erreur lors de la fermeture du fichier de sortie %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "erreur lors de l'effacement du fichier de sortie %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Pas de retour-arrière.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d états avec retour arrière (non-acceptants).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Les tables comprimées font toujours des retours-arrière.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "erreur lors de l'écriture du fichier de sauvegarde %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "erreur lors de la fermeture du fichier de sauvegarde %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "« %s » version %s, statistiques d'utilisation :\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " options de l'analyseur lexical : -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d états NFA\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d états AFD (%d mots)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d règles\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Pas de retour arrière\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d états avec retour arrière (si non-acceptants)\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Les tables comprimées font toujours des retours arrière\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Modèles utilisés en début de ligne\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d conditions de départ\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d états epsilon, %d états double epsilon\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " pas de classes de caractères\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d classes de caractères requises %d/%d mots-mémoire, %d recyclés\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d paires state/nextstate produites\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transitions uniques/dupliquées\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d entrées dans la table\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entrées base-def produites\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max %d) entrées nxt-chk produites\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max %d) entrées de modèle nxt-chk produites\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d entrées vides dans la table\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototypes produits\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d modèles produits, %d usages\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d classes d'équivalence produites\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d classes de méta-équivalence produites\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d sauvés) collisions durant dispersion, %d AFD égaux\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d ensembles de réallocations requis\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d entrées requises dans la table, au total\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Erreur interne. Les options « flexopts » sont mal composées.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Essayer « %s --help » pour plus d'informations.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "l'option -C « %c » inconnue" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "erreur de lecture fatale" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "" "impossible de créer le fichier d'information sur les retours-arrière %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "L'option -l de compatibilité avec le « lex » d'AT&T entraîne une importante\n" "perte de performance\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " et peuvent être cause d'autres vices de performance observés\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%option yylineno entraîne une importante perte de performance SEULEMENT\n" "sur les règles pouvant concorder avec le caractère de retour de chartiot\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "l'option -I (interactif) entraîne une faible perte de performance\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() entraîne une faible baisse de performance\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT entraîne une importante baisse de performance\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Les règles de contexte traîné variable entraînent une importante baisse de\n" "performance\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT ne peut pas être utilisé avec -f ou -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno ne peut être utilisé avec REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "les règles de contexte traîné variable ne peuvent pas être utilisées avec\n" "-f ou -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass n'a de sens qu'avec les analyseurs C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Usage: %s [OPTIONS] [fichier]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Génération de programmes capables de traiter la concordance de patrons sur " "du texte.\n" "\n" "Compression de table:\n" " -Ca, --align négocier les grandes tables pour un meilleur alignement " "mémoire\n" " -Ce, --ecs construire des équivalences de classes\n" " -Cf ne pas compresser les tables; utiliser la représentation " "-f\n" " -CF ne pas compresser les tables; utiliser la représentation " "-F\n" " -Cm, --meta-ecs construire des méta-équivalences de classes\n" " -Cr, --read utiliser read() au lieu de stdio pour le scanner " "d'entrée\n" " -f, --full générer rapidement, un grand scanner. Identique à -Cfr\n" " -F, --fast utiliser une table alternative de représentation. " "Identique à -CFr\n" " -Cem compression par défaut (identique à --ecs --meta-ecs)\n" "\n" "Mise au point (mode débug):\n" " -d, --debug permettre le mode débug du scanner\n" " -b, --backup archiver les informations vers %s\n" " -p, --perf-report produire un rapport de performance sur stderr\n" " -s, --nodefault supprimer les règles par défaut pour\n" " le texte non concordant par ECHO\n" " -T, --trace %s devrait s'exécuter en mode trace\n" " -w, --nowarn ne pas générer d'avertissements\n" " -v, --verbose produire des statistiques sommaires du scanner " "sur stdout\n" "\n" "Fichiers:\n" " -o, --outfile=FICHIER spécifier un nom de fichier de sortie\n" " -S, --skel=FICHIER spécifier le fichier du squelette\n" " -t, --stdout produire le scanner sur stdout au lieu de %s\n" " --yyclass=NOM nom de la classe C++\n" " --header-file=FICHIER créer le fichier d'en-tête C en plus du " "scanner\n" " --tables-file[=FICHIER] écrire les tables dans le FICHIER\n" "\n" "Comportement du scanner:\n" " -7, --7bit générer un scanner de 7 bits\n" " -8, --8bit générer un scanner de 8 bits\n" " -B, --batch générer un scanner travaillant par lot (contraire " "de -I)\n" " -i, --case-insensitive ignorer la casse dans les patrons\n" " -l, --lex-compat établir une compatibilité maximale avec le lex " "d'origine\n" " -X, --posix-compat établir une compatibilité maximale avec le lex de " "POSIX\n" " -I, --interactive générer un scanner interactif (contraire de -B)\n" " --yylineno track line count in yylineno\n" "\n" "Code généré:\n" " -+, --c++ générer la classe C++ du scanner\n" " -Dmacro[=def] définition macro #define (par défaut est '1')\n" " -L, --noline supprimer les directives #line dans le scanner\n" " -P, --prefix=CHAÎNE utiliser la CHAÎNE comme préfixe au lieu de \"yy" "\"\n" " -R, --reentrant générer un scanner C en code réentrant\n" " --bison-bridge scanner pour l'analyseur pur bison\n" " --bison-locations inclure le support de yylloc.\n" " --stdinit initialiser yyin/yyout à stdin/stdout\n" " --nounistd ne pas inclure \n" " --noFONCTION ne pas générer une FONCTION particulière\n" "\n" "Diverses:\n" " -c ne pas traiter une option POSIX\n" " -n ne pas traiter une option POSIX\n" " -?\n" " -h, --help afficher l'aide-mémoire\n" " -V, --version afficher la version %s du logiciel\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "le nom \"%s\" est ridiculement long" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "échec d'allocation mémoire dans allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "mauvais caractère « %s » détecté dans check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "" "l'analyseur nécessite l'option -8 pour pouvoir utiliser le caractère %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "échec de mémoire dynamique dans copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s : erreur interne fatale, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "échec de la tentative d'augmenter la taille du tableau" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "mauvaise ligne dans le fichier canevas" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "échec d'allocation mémoire dans yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** début du vidage de nfa avec %d pour état de départ\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "état n° %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** fin du vidage\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "machine vide dans dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Règle de contexte traîné variable à la ligne %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "mauvais type d'état dans mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "les règles d'entrée sont trop compliquées (>= %d états NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "il y a trop de transitions dans mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "trop de règles (> %d) !" #: parse.y:159 msgid "unknown error processing section 1" msgstr "erreur inconnue de traitement à la section 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "mauvaise liste de conditions de départ" #: parse.y:315 msgid "unrecognized rule" msgstr "règle non reconnue" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "contexte remorqué utilisé deux fois" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "valeurs d'itération erronée" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "valeur d'itération doit être positive" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " "casse" #: parse.y:821 msgid "negative range in character class" msgstr "plage négative dans la classe de caractères" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " "casse" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " "casse" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "ligne d'entrée trop longue\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "directive « %top » mal composée" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "directive « % » inconnue" #: scan.l:284 msgid "Unmatched '{'" msgstr "« { » non pairé" #: scan.l:317 msgid "incomplete name definition" msgstr "définition de nom incomplète" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "%%option non-reconnue : %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "mauvaise classe de caractères" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "définition {%s} non-définie" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "mauvaise : %s" #: scan.l:768 msgid "missing quote" msgstr "guillemet manquant" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "mauvaise expression de classe de caractères : %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "mauvais caractère entre accolades « {} »" #: scan.l:862 msgid "missing }" msgstr "« } » non-apparié" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "Fin de fichier rencontrée à l'intérieur d'une action" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "Fin de fichier rencontrée à l'intérieur d'une action" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "mauvais caractère : %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "impossible d'ouvrir %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Usage: %s [OPTIONS]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "option « %s » ne permet pas d'argument\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "option « %s » requiert un argument\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "option « %s » est ambiguë\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "option « %s » non reconnue\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Erreur inconnue=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "échec de l'allocation mémoire de la table des symboles" #: sym.c:202 msgid "name defined twice" msgstr "nom défini deux fois" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "condition de départ %s déclarée deux fois" #: yylex.c:56 msgid "premature EOF" msgstr "fin de fichier inattendue" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Marqueur de Fin\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Très bizarre* - tok : %d val : %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "le contrôle de cohérence a échoué dans symfollowset()" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "Ne peut spécifier l'option d'en-tête si en écriture sur stdout" #~ msgid "unknown -R option '%c'" #~ msgstr "le paramètre « %c » de l'option -R est inconnu" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF et %option yylineno sont incompatibles" #~ msgid "" #~ "For usage, try\n" #~ "\t%s --help\n" #~ msgstr "" #~ "Pour de l'aide conernant l'usage, faites\n" #~ "\t%s --help\n" #~ msgid "-P flag must be given separately" #~ msgstr "l'option -P doit être utilisée séparément" #~ msgid "-o flag must be given separately" #~ msgstr "l'option -o doit être utilisée séparément" #~ msgid "-S flag must be given separately" #~ msgstr "l'option -S doit être utilisée séparément" #~ msgid "-C flag must be given separately" #~ msgstr "L'option -C doit être utilisée séparément" #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osortie -Ppréfixe -Scanevas]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [fichier ...]\n" #~ msgid "\t-b generate backing-up information to %s\n" #~ msgstr "\t-b génère des informations de retour arrière dans %s\n" #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c option POSIX pour ne rien faire\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" #~ msgstr "\t-d active le mode de déverminage dans l'analyseur généré\n" #~ msgid "\t-f generate fast, large scanner\n" #~ msgstr "\t-f génère un analyseur rapide et volumineux\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h affiche ce message d'aide\n" #~ msgid "\t-i generate case-insensitive scanner\n" #~ msgstr "\t-i génère un analyseur insensible à la casse\n" #~ msgid "\t-l maximal compatibility with original lex\n" #~ msgstr "\t-l compatibilité maximale avec le « lex » original\n" #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n option POSIX pour ne rien faire\n" #~ msgid "\t-p generate performance report to stderr\n" #~ msgstr "\t-p affiche un rapport de performance sur stderr\n" #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "" #~ "\t-s supprime la règle par défaut qui AFFICHE le texte non reconnu\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "" #~ "\t-t écrit l'analyseur généré sur la sortie standard au lieu de %s\n" #~ msgid "\t-v write summary of scanner statistics to f\n" #~ msgstr "\t-v écrit un résumé des statistiques de l'analyseur sur f\n" #~ msgid "\t-w do not generate warnings\n" #~ msgstr "\t-w ne génère pas d'avertissements\n" #~ msgid "\t-B generate batch scanner (opposite of -I)\n" #~ msgstr "\t-B génère un analyseur non-interactif (inverse de -I)\n" #~ msgid "\t-F use alternative fast scanner representation\n" #~ msgstr "\t-F produit une représentation plus efficace de l'analyseur\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" #~ msgstr "\t-I génère un analyseur interactif (inverse de -B)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L supprime les directives #line dans l'analyseur\n" #~ msgid "\t-T %s should run in trace mode\n" #~ msgstr "\t-T %s devrait fonctionner en mode trace\n" #~ msgid "\t-V report %s version\n" #~ msgstr "\t-V indique la version de « %s »\n" #~ msgid "\t-7 generate 7-bit scanner\n" #~ msgstr "\t-7 génère un analyseur 7 bits\n" #~ msgid "\t-8 generate 8-bit scanner\n" #~ msgstr "\t-8 génère un analyseur 8 bits\n" #~ msgid "\t-+ generate C++ scanner class\n" #~ msgstr "\t-+ génère un analyseur sous forme de classe C++\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? affiche ce message d'aide\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "" #~ "\t-C spécifie le degré de compression des tables (-Cem par défaut) :\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "" #~ "\t\t-Ca produit des tables plus encombrantes pour un meilleur\n" #~ "alignement en mémoire\n" #~ msgid "\t\t-Ce construct equivalence classes\n" #~ msgstr "\t\t-Ce construit des classes d'équivalence\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "" #~ "\t\t-Cf ne comprime pas les tables de l'analyseur ; utilise la " #~ "représentation -f\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "" #~ "\t\t-CF ne comprime pas les tables de l'analyseur ; utilise la " #~ "représentation -F\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" #~ msgstr "\t\t-Cm construit des classes de meta-équivalence\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" #~ "\t\t-Cr utilise read() au lieu de stdio pour l'entrée de l'analyseur\n" #~ msgid "\t-o specify output filename\n" #~ msgstr "\t-o spécifie le nom du fichier de sortie\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" #~ msgstr "\t-P spécifie un préfixe d'analyseur autre que \"yy\"\n" #~ msgid "\t-S specify skeleton file\n" #~ msgstr "\t-S spécifie le fichier canevas\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help affiche ce message d'aide\n" #~ msgid "\t--version report %s version\n" #~ msgstr "\t--version indique la version de « %s »\n" flex-2.5.35/po/ga.po0000664000175000017500000006110210761102744011036 00000000000000# Irish translations for flex. # Copyright (C) 2003 Free Software Foundation, Inc. # Kevin Patrick Scannell , 2003, 2006. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.33\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2006-03-05 13:09-0500\n" "Last-Translator: Kevin Patrick Scannell \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Níl an staid #%d ina staid ghlactha -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "comhthéacs sraoilleach baolach" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " líne-uimhreacha de na rialacha bainteacha:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " athruithe amach: " # weak, I know -- KPS #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " athruithe plúchta: comhadchríoch " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "theip ar sheiceáil chomhionannais i epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Dumpáil DFA:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "níorbh fhéidir staid shainiúil a chruthú ag deireadh maoláin" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "staid # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Níorbh fhéidir yynxt_tbl[][] a scríobh" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "carachtar trasdula neamhbhailí i sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Aicmí Coibhéise:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "glacann staid # %d le: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "glacann staid # %d le: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Níorbh fhéidir yyacclist_tbl a scríobh" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Níorbh fhéidir yyacc_tbl a scríobh" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Níorbh fhéidir ecstbl a scríobh" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Aicmí Meiteachoibhéise:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Níorbh fhéidir yymeta_tbl a scríobh" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Níorbh fhéidir yybase_tbl a scríobh" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Níorbh fhéidir yydef_tbl a scríobh" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Níorbh fhéidir yynxt_tbl a scríobh" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Níorbh fhéidir yychk_tbl a scríobh" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Níorbh fhéidir ftbl a scríobh" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Níorbh fhéidir ssltbl a scríobh" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Níorbh fhéidir eoltbl a scríobh" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Níorbh fhéidir yynultrans_tbl a scríobh" #: main.c:189 msgid "rule cannot be matched" msgstr "Ní féidir riail chomhoiriúnach a aimsiú" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "" "bhí an rogha -s tugtha ach is féidir an riail réamhshocraithe a chur i " "gcomhoiriúnacht" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Níl -+ ar fáil in éineacht leis an rogha -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Níl -f nó -F ar fáil in éineacht leis an rogha -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "Níl --reentrant nó --bison-bridge ar fáil in éineacht leis an rogha -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "Níl -Cf/-CF agus -Cm comhoiriúnach" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "Níl -Cf/-CF agus -I comhoiriúnach" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "Níl -Cf/-CF ar fáil sa mhód comhoiriúnachta lex" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "Is comheisiatach iad na roghanna -Cf agus -CF" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Níl -+ ar fáil in éineacht leis an rogha -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "níl %array comhoiriúnach leis an rogha -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Is comheisiatach iad na roghanna -+ agus --reentrant" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "níl bison bridge ar fáil don scanóir C++." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "níorbh fhéidir %s a chruthú" #: main.c:419 msgid "could not write tables header" msgstr "níorbh fhéidir ceanntásc táblaí a scríobh" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "ní féidir creatchomhad %s a oscailt" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "earráid agus creatchomhaid %s á léamh" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "earráid agus creatchomhaid %s á dhúnadh" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "earráid agus comhad ceanntáisc %s á chruthú" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "earráid agus aschomhaid %s á scríobh" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "earráid agus aschomhad %s á dhúnadh" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "earráid agus aschomhaid %s á scriosadh" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Ná cúlaítear.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d staid chúlaithe (níl ina staid ghlactha).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Cúlaíonn táblaí comhbhrúite i gcónaí.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "earráid agus comhad cúltaca %s á scríobh" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "earráid agus comhad cúltaca %s á dhúnadh" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s leagan %s staitistic d'úsáid:\n" # fr uses "lexical analyzer"; scanóir seems fine though --KPS #: main.c:740 #, c-format msgid " scanner options: -" msgstr " roghanna don scanóir: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d staid NFA\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d staid DFA (%d focal)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d riail\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Ná cúlaítear\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d staid chúlaithe (níl ina staid ghlactha)\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Cúlaíonn táblaí comhbhrúite i gcónaí\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Patrúin úsáidte ag ceann líne\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d coinníoll tosaigh\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d staid eipsealóin, %d staid eipsealóin dúbailte\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " níl aon aicme charachtair\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " tá gá le %d/%d aicme charachtair %d/%d focal stórála, %d athúsáidte\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d péire state/nextstate\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d athrú sainiúil/dúblach\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d iontráil sa tábla\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d iontráil base-def\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (buaic %d) iontráil nxt-chk\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (buaic %d) iontráil teimpléid nxt-chk\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d iontráil tábla folamh\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d fréamhshamhail\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d teimpléad, %d i bhfeidhm\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d aicme choibhéise\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d aicme mheiteachoibhéise\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d sábháilte) tuairt haiseála, %d DFA comhionann le chéile\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " tá gá le %d sraith athdháilte\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " tá gá le %d iontráil tábla ar fad\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Earráid inmheánach (flexopts míchumtha).\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "rogha -C anaithnid '%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "earráid pharsála mharfach" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "níorbh fhéidir comhad %s a chruthú don eolas faoin chúlú" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "is cúis le moilliú mór an rogha -l (comhoiriúnacht le AT&T lex)\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " agus is féidir gur cúis é le fadhbanna luais eile é\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "is cúis le moilliú mór an %%rogha yylineno, MÁ tá rialacha ann le línte nua " "iontu\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "is cúis le moilliú beag an rogha -I (idirghníomhach)\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "is cúis le moilliú beag an fheidhm yymore()\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "is REJECT cúis le moilliú mór\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "is cúis le moilliú na rialacha maidir le comhthéacs sraoilleach " "athraitheach\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "Níl REJECT ar fáil leis na roghanna -f nó -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "níl %option yylineno ar fáil le REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "níl rialacha maidir le comhthéacs sraoilleach athraitheach ar fáil le -f nó -" "F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "tá an %option yyclass gan bhrí ach amháin le scanóirí C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Úsáid: %s [ROGHANNA] [COMHAD]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Gineann an clár seo cláir eile le haghaidh chomhoiriúnú de phatrúin.\n" "\n" "Comhfháscadh táblaí:\n" " -Ca, --align malartaigh táblaí níos mó d'ailíniú cuimhne níos fearr\n" " -Ce, --ecs déan aicmí coibhéise\n" " -Cf ná comhbhrúigh táblaí; bain úsáid as léiriú -f\n" " -CF ná comhbhrúigh táblaí; bain úsáid as léiriú -F\n" " -Cm, --meta-ecs déan aicmí meiteachoibhéise\n" " -Cr, --read bain úsáid as read() in ionad stdio d'ionchur\n" " -f, --full tóg scanóir atá mear agus mór; ar comhbhrí le -Cfr\n" " -F, --fast úsáid léiriú táblaí tánaisteach; ar comhbhrí le -CFr\n" " -Cem comhfháscadh réamhshocraithe (== --ecs --meta-ecs)\n" "\n" "Dífhabhtú:\n" " -d, --debug cuir dífhabhtú ar obair\n" " -b, --backup scríobh eolas faoin chúlú chuig %s\n" " -p, --perf-report scríobh tuairisc fheidhmithe chuig stderr\n" " -s, --nodefault ná déan macalla de théacs neamh-chomhoiriúnach\n" " -T, --trace ba chóir do %s a rith sa mhód loirg\n" " -w, --nowarn ná taispeáin rabhaidh\n" " -v, --verbose taispeáin achoimre ar staitistic scanóra chuig " "stdout\n" "\n" "Comhaid:\n" " -o, --outfile=COMHAD roghnaigh ainm comhaid le haghaidh aschuir\n" " -S, --skel=COMHAD roghnaigh creatchomhad\n" " -t, --stdout scríobh an scanóir chuig stdout in ionad %s\n" " --yyclass=COMHAD ainm de `class' C++\n" " --header-file=COMHAD scríobh comhad ceanntáisc C i dteannta an " "scanóra\n" " --tables-file[=COMHAD] scríobh na táblaí chuig COMHAD\n" "\n" "Scanóir:\n" " -7, --7bit gin scanóir 7-giotán\n" " -8, --8bit gin scanóir 8-giotán\n" " -B, --batch gin scanóir baisce (i gcodarsnacht le -I)\n" " -i, --case-insensitive déan neamhshuim ar cheannlitreacha/litreacha " "beaga\n" " -l, --lex-compat comhoiriúnacht le lex bunúsach, a mhéad is féidir\n" " -X, --posix-compat comhoiriúnacht le lex POSIX, a mhéad is féidir\n" " -I, --interactive gin scanóir idirghníomhach (i gcodarsnacht le -B)\n" " --yylineno coimeád líon na línte i yylineno\n" "\n" "Generated code:\n" " -+, --c++ gin scanóir mar class C++\n" " -Dmacra[=sain] #define macra sain (réamhshocrú: sain='1')\n" " -L, --noline ná cuir treoracha #line sa scanóir\n" " -P, --prefix=TEAGHRÁN úsáid TEAGHRÁN mar réimír in ionad \"yy\"\n" " -R, --reentrant gin scanóir reentrant C\n" " --bison-bridge scanóir do pharsálaí íon bison.\n" " --bison-locations ceadaigh an úsáid de yylloc.\n" " --stdinit socraigh yyin/yyout mar stdin/stdout faoi seach\n" " --noansi-definitions sainmhíniú d'fheidhmeanna ar an sean-nós\n" " --noansi-prototypes ceadaigh liosta folamh de pharaiméadair\n" " --nounistd ná cuir san áireamh\n" " --noFEIDHM ná gin an FHEIDHM seo\n" "\n" "Miscellaneous:\n" " -c rogha POSIX gan feidhm\n" " -n rogha POSIX gan feidhm\n" " -?\n" " -h, --help taispeáin an chabhair seo\n" " -V, --version taispeáin leagan %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "tá an t-ainm \"%s\" i bhfad Éireann rófhada" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "theip ar dháileadh na cuimhne i allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "aimsíodh carachtar neamhbhailí '%s' i check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "ní foláir an rogha -8 chun an charachtair %s a úsáid" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "theip ar dháileadh na cuimhne i copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: earráid inmheánach mharfach, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "theip ar mhéadú an eagair" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "drochlíne i gcreatchomhad" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "theip ar dháileadh na cuimhne i yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** ag tosú dumpála de nfa le staid tosaigh %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "staid # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** i ndeireadh dumpála\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "meaisín folamh i dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "riail maidir le comhthéacs sraoilleach athraitheach ag líne %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "drochstaid i mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "is róchasta na rialacha ionchuir (>= %d staid NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "an iomarca athruithe i mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "an iomarca rialacha (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "earráid anaithnid agus an chéad pháirt á próiseáil" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "is neamhbhailí liosta na coinníollacha tosaigh" #: parse.y:315 msgid "unrecognized rule" msgstr "riail anaithnid" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "baineadh úsáid as comhthéacs sraoilleach faoi dhó" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "luachanna timthrialla neamhbhailí" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "ní foláir luach timthrialla deimhneach" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " "cheannlitreacha agus litreacha beaga" #: parse.y:821 msgid "negative range in character class" msgstr "raon diúltach in aicme charachtair" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " "cheannlitreacha agus litreacha beaga" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " "cheannlitreacha agus litreacha beaga" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Tá líne an ionchuir rófhada\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "treoir '%top' míchumtha" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "treoir '%' anaithnid" #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' corr" #: scan.l:317 msgid "incomplete name definition" msgstr "is neamhiomlán an sainmhíniú ainm" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "rogha %% anaithnid: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "aicme charachtair neamhbhailí" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "sainmhíniú neamhshainithe {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr " neamhbhailí: %s" #: scan.l:768 msgid "missing quote" msgstr "comhartha athfhriotal ar iarraidh" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "is neamhbhailí an slonn aicme carachtair: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "carachtar neamhbhailí idir {}" #: scan.l:862 msgid "missing }" msgstr "} ar iarraidh." #: scan.l:940 msgid "EOF encountered inside an action" msgstr "Buaileadh comhadchríoch isteach i ngníomh" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "Buaileadh comhadchríoch isteach i ngníomh" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "carachtar neamhbhailí: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "ní féidir %s a oscailt" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Úsáid: %s [ROGHANNA]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "ní cheadaítear argóint i ndiaidh na rogha `%s'\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "tá argóint de dhíth i ndiaidh na rogha `%s'\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "tá an rogha `%s' débhríoch\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Rogha anaithnid `%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Earráid anaithnid=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "theip ar dháileadh na cuimhne don tábla siombalach" #: sym.c:202 msgid "name defined twice" msgstr "sainmhíníodh an t-ainm faoi dhó" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "fógraíodh an coinníoll tosaigh %s faoi dhó" #: yylex.c:56 msgid "premature EOF" msgstr "comhadchríoch gan choinne" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Comhartha Deiridh\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Rud Éigin Aisteach* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "theip ar sheiceáil chomhionannais i symfollowset" flex-2.5.35/po/ko.po0000664000175000017500000006060010761102744011062 00000000000000# flex-2.5.2 Korean po file # Copyright (C) 1997 Free Software Foundation, Inc. # Choi Jun Ho , 1997. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.2\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 1997-02-05 20:30\n" "Last-Translator: Choi Jun Ho \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=EUC-KR\n" "Content-Transfer-Encoding: 8-bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "»óŹøÈ£ %d´Â ¹Þ¾ÆµéÀÌÁö ¾Ê´Â -ÀÔ´Ï´Ù\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "À§ÇèÇÑ ÃßÀû ¹®¸Æ" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " °ü·Ã ±ÔÄ¢ Çà¹øÈ£:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " ³ª°¡´Â ÂÊ ÀüÀÌ: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " Àë-ÀüÀÌ: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "epsclosure()¿¡¼­ Àϰü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA Ãâ·Â:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "À¯ÀÏÇÑ ¹öÆÛÀÇ ³¡(end-of-buffer)»óŸ¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "»óŹøÈ£ %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "sympartition()¿¡¼­ À߸øµÈ ÀüÀÌ ¹®ÀÚ¸¦ ã¾Ò½À´Ï´Ù" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "µ¿Ä¡·ù:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "»óŹøÈ£ %d´Â [%d]¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "»óŹøÈ£ %d´Â ´ÙÀ½À» ¹Þ¾ÆµéÀÔ´Ï´Ù: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "" #: gen.c:1248 gen.c:1633 gen.c:1656 #, fuzzy msgid "Could not write ecstbl" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "¸ÞŸ-µ¿Ä¡·ùµé:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "" #: gen.c:1354 #, fuzzy msgid "Could not write yybase_tbl" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "" #: gen.c:1618 gen.c:1647 #, fuzzy msgid "Could not write ftbl" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: gen.c:1624 #, fuzzy msgid "Could not write ssltbl" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: gen.c:1675 #, fuzzy msgid "Could not write eoltbl" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "" #: main.c:189 msgid "rule cannot be matched" msgstr "¸Â´Â ±ÔÄ¢À» ãÀ» ¼ö ¾ø½À´Ï´Ù" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "-s ¿É¼ÇÀÌ ÁÖ¾îÁ³Áö¸¸ ±âº» ±ÔÄ¢ÀÌ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "-l¿É¼Ç¿¡´Â -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "-l¿É¼Ç¿¡ -f³ª -F¿É¼ÇÀ» ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:241 #, fuzzy msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "-l¿É¼Ç¿¡ -f³ª -F¿É¼ÇÀ» ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF´Â -Cm¿Í °°ÀÌ ¾²¸é Àǹ̰¡ ¾ø½À´Ï´Ù" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF¿Í -I´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF ´Â lexȣȯ ¸ðµå¿Í´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf¿Í -CF´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "-CF¿É¼Ç¿¡ -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array´Â -+¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:302 #, fuzzy msgid "Options -+ and --reentrant are mutually exclusive." msgstr "-Cf¿Í -CF´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: main.c:419 #, fuzzy msgid "could not write tables header" msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ Àд µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:694 #, fuzzy, c-format msgid "error creating header file %s" msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ ¾²´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ Áö¿ì´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s ¹öÀü %s »ç¿ë Åë°è:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " ½ºÄ³³Ê ¿É¼Ç: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d°³ÀÇ NFA »óÅÂ\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d°³ÀÇ DFA »óÅ (%d ´Ü¾î)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d°³ÀÇ ±ÔÄ¢\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Çà ½ÃÀÛ(beginning-of-line) À¯ÇüÀ» »ç¿ëÇÏ¿´½À´Ï´Ù\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d°³ÀÇ ½ÃÀÛÁ¶°Ç\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d°³ÀÇ ¿¦½Ç·Ð »óÅÂ, %d°³ÀÇ ÀÌÁß ¿¦½Ç·Ð »óÅÂ\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d ¹®ÀÚ ÁýÇÕ¿¡ %d/%d°³ÀÇ ÀúÀå¿ë ¹®ÀÚ°¡ ÇÊ¿äÇß°í, %d°³´Â Àç»ç¿ëµÇ¾ú½À´Ï" "´Ù.\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d°³ÀÇ »óÅÂ/´ÙÀ½ »óÅ ½ÖÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d°³ÀÇ À¯ÀÏÇÑ/Áߺ¹µÇ´Â ÀüÀÌ\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base-def ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (ÃÖ´ë %d) nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (ÃÖ´ë %d) ÅÛÇø®Æ® nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d°³ÀÇ ºó Å×ÀÌºí ¿£Æ®¸®\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d°³ÀÇ ¿øÇüÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d°³ÀÇ ÅÛÇø®Æ®°¡ ¸¸µé¾îÁö°í, %d°³¸¦ ¾¹´Ï´Ù\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d°³ÀÇ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d ¸ÞŸ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d(%d ÀúÀåµÊ)°³ÀÇ ÇØ½Ì Ãæµ¹·Î %d°³ÀÇ DFA°¡ °°°Ô 󸮵˴ϴÙ\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d°³ÀÇ ÀçÇÒ´ç ÁýÇÕÀÌ ÇÊ¿äÇÕ´Ï´Ù\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " ÃÑ %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®°¡ ÇÊ¿äÇÕ´Ï´Ù\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "¾Ë ¼ö ¾ø´Â -C ¿É¼Ç '%c'" #: main.c:1192 #, fuzzy, c-format msgid "%s %s\n" msgstr "%s ¹öÀü %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "Ä¡¸íÀûÀÎ ÆÄ½Ì ¿¡·¯" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "µÇµ¹¸² Á¤º¸ ÆÄÀÏ %s¸¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "-l AT&T lex ȣȯ ¿É¼ÇÀº Å« ¼º´É ÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " ±×¸®°í ¾Æ¸¶µµ ´Ù¸¥ º¸°íµÈ ¼º´É ÀúÇÏÀÇ ½ÇÁ¦ ¿øÀÎÀÏ °ÍÀÔ´Ï´Ù\n" #: main.c:1529 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "%%option yylineno´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (´ëÈ­Çü) Àº ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore()´Â ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT´Â -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:1567 #, fuzzy, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylinenoÀº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass´Â C++½ºÄ³³Ê¿¡°Ô¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "À̸§ \"%s\"´Â ºñÁ¤»óÀûÀ¸·Î ±é´Ï´Ù" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "allocate_array()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "check_char()¿¡¼­ À߸øµÈ ¹®ÀÚ '%s'¸¦ ã¾Ò½À´Ï´Ù" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "½ºÄ³³Ê¿¡¼­ ¹®ÀÚ %s¸¦ ¾²±â À§Çؼ­´Â -8¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "copy_string()¿¡¼­ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: Ä¡¸íÀûÀÎ ³»ºÎ ¿¡·¯, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "¹è¿­ Å©±â¸¦ ´Ã¸®·Á´Â ½Ãµµ°¡ ½ÇÆÐÇß½À´Ï´Ù" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ¿¡ À߸øµÈ Çà" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "yy_flex_xmalloc()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** ½ÃÀÛ »óÅ %d¿¡¼­ nfaÃâ·Â ½ÃÀÛ\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "»óÅ ¹øÈ£ %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** Ãâ·Â ³¡\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "dupmachine()¿¡¼­ÀÇ ºó ¸Ó½Å" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "%dÇà¿¡¼­ °¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "mark_beginning_as_normal()¿¡¼­ À߸øµÈ »óÅÂÇü" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "ÀÔ·Â ±ÔÄ¢ÀÌ ³Ê¹« º¹ÀâÇÕ´Ï´Ù(>= NFA»óÅ %d°³)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "mkxtion()¿¡ ÀüÀ̰¡ ³Ê¹« ¸¹½À´Ï´Ù" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "±ÔÄ¢ÀÌ ³Ê¹« ¸¹½À´Ï´Ù (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "" #: parse.y:184 parse.y:351 #, fuzzy msgid "bad start condition list" msgstr "À߸øµÈ <½ÃÀÛ Á¶°Ç>: %s" #: parse.y:315 #, fuzzy msgid "unrecognized rule" msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ" #: parse.y:434 parse.y:447 parse.y:516 #, fuzzy msgid "trailing context used twice" msgstr "%dÇà¿¡¼­ °¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢\n" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" #: parse.y:821 #, fuzzy msgid "negative range in character class" msgstr " ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "\t-i ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "\t-i ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" #: scan.l:161 #, fuzzy, c-format msgid "malformed '%top' directive" msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ" #: scan.l:284 msgid "Unmatched '{'" msgstr "" #: scan.l:317 msgid "incomplete name definition" msgstr "ºÒ¿ÏÀüÇÑ À̸§ Á¤ÀÇ" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "¾Ë ¼ö ¾ø´Â %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "À߸øµÈ ¹®ÀÚ·ù" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "Á¤ÀǵÇÁö ¾ÊÀº Á¤ÀÇ {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "À߸øµÈ <½ÃÀÛ Á¶°Ç>: %s" #: scan.l:768 msgid "missing quote" msgstr "Àοë±âÈ£ ºüÁü" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "À߸øµÈ ¹®ÀÚ ÁýÇÕ ½Ä: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "{}¾ÈÀÇ À߸øµÈ ¹®ÀÚ" #: scan.l:862 msgid "missing }" msgstr "}ÀÌ ºüÁ³½À´Ï´Ù" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "µ¿ÀÛ µµÁß¿¡ EOF¸¦ ¸¸³µ½À´Ï´Ù" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "µ¿ÀÛ µµÁß¿¡ EOF¸¦ ¸¸³µ½À´Ï´Ù" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "À߸øµÈ ¹®ÀÚ: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" #: scanopt.c:578 #, fuzzy, c-format msgid "Unrecognized option `%s'\n" msgstr "¾Ë ¼ö ¾ø´Â %%option: %s" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "½Éº¼ Å×ÀÌºí ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" #: sym.c:202 msgid "name defined twice" msgstr "À̸§À» µÎ¹ø Á¤ÀÇÇß½À´Ï´Ù" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "½ÃÀÛÁ¶°Ç %s¸¦ µÎ¹ø ¼±¾ðÇß½À´Ï´Ù" #: yylex.c:56 msgid "premature EOF" msgstr "°©ÀÛ½º·± EOF" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Á¾·á Ç¥½Ã\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*¹«¾ð°¡ ÀÌ»óÇÕ´Ï´Ù* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "symfollowset¿¡¼­ Àϰü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù" #~ msgid "" #~ "%s: unknown flag '%c'. For usage, try\n" #~ "\t%s --help\n" #~ msgstr "" #~ "%s: ¾Ë ¼ö ¾ø´Â ¿É¼Ç '%c'. »ç¿ë¹ýÀ» º¸·Á¸é \n" #~ "\t%s --help¶ó°í Çϼ¼¿ä.\n" #~ msgid "-P flag must be given separately" #~ msgstr "-P Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù" #~ msgid "-o flag must be given separately" #~ msgstr "-o Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù" #~ msgid "-S flag must be given separately" #~ msgstr "-S Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù" #~ msgid "-C flag must be given separately" #~ msgstr "-C Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF¿Í %option yylineno ´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oÃâ·ÂÆÄÀÏ -PÁ¢µÎ»ç -S½ºÄÌ·¹Åæ]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [ÆÄÀÏ ...]\n" #~ msgid "\t-b generate backing-up information to %s\n" #~ msgstr "\t-b %s¿¡ µÇµ¹¸² Á¤º¸¸¦ ¸¸µì´Ï´Ù.\n" #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â POSIX¿É¼Ç\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" #~ msgstr "\t-d ¸¸µé¾îÁø ½ºÄ³³Ê¿¡¼­ µð¹ö±× ¸ðµå·Î ¹Ù²ß´Ï´Ù\n" #~ msgid "\t-f generate fast, large scanner\n" #~ msgstr "\t-f ºü¸£Áö¸¸ Å« ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h ÀÌ µµ¿ò¸» ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù\n" #~ msgid "\t-l maximal compatibility with original lex\n" #~ msgstr "\t-l ¿À¸®Áö³Î lex¿Í ÃÖ´ëÇÑÀÇ È£È¯¼ºÀ» Á¦°øÇÕ´Ï´Ù\n" #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â POSIX¿É¼Ç\n" #~ msgid "\t-p generate performance report to stderr\n" #~ msgstr "\t-p ¼º´É º¸°í¸¦ Ç¥ÁØ ¿¡·¯·Î Ãâ·ÂÇÕ´Ï´Ù\n" #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "\t-s ±âº» ±ÔÄ¢À» 'ECHO ãÁö¸øÇÑ ±Û'·Î Á¦ÇÑÇÕ´Ï´Ù\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "\t-t %s ´ë½Å ¸¸µé¾îÁø ½ºÄ³³Ê¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î ¾¹´Ï´Ù\n" #~ msgid "\t-v write summary of scanner statistics to f\n" #~ msgstr "\t-v ½ºÄ³³Ê Åë°è ¿ä¾àÀ» f¿¡ ¾¹´Ï´Ù\n" #~ msgid "\t-w do not generate warnings\n" #~ msgstr "\t-w °æ°í¸¦ ³»Áö ¾Ê½À´Ï´Ù\n" #~ msgid "\t-B generate batch scanner (opposite of -I)\n" #~ msgstr "\t-B Àϰýó¸® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù(-I¿Í ¹Ý´ë)\n" #~ msgid "\t-F use alternative fast scanner representation\n" #~ msgstr "\t-F ´Ù¸¥ ¹æ¹ýÀÇ ºü¸¥ ½ºÄ³³Ê Ç¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" #~ msgstr "\t-I ´ëÈ­Çü ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù(-B¿Í ¹Ý´ë)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L ½ºÄ³³Ê¿¡¼­ #lineÁö½ÃÀÚ¸¦ ³»Áö ¾Êµµ·Ï ÇÕ´Ï´Ù\n" #~ msgid "\t-T %s should run in trace mode\n" #~ msgstr "\t-T %s´Â ÃßÀû ¸ðµå¿¡¼­ ½ÇÇàµÇµµ·Ï ÇÕ´Ï´Ù\n" #~ msgid "\t-V report %s version\n" #~ msgstr "\t-V %sÀÇ ¹öÀüÀ» Ãâ·ÂÇÕ´Ï´Ù\n" #~ msgid "\t-7 generate 7-bit scanner\n" #~ msgstr "\t-7 7ºñÆ® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" #~ msgid "\t-8 generate 8-bit scanner\n" #~ msgstr "\t-8 8ºñÆ® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" #~ msgid "\t-+ generate C++ scanner class\n" #~ msgstr "\t-+ C++ ½ºÄ³³Ê Ŭ·¡½º¸¦ ¸¸µì´Ï´Ù\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? ÀÌ µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "\t-C Å×ÀÌºí ¾ÐÃàÁ¤µµ¸¦ ÁöÁ¤ÇÕ´Ï´Ù(±âº»°ªÀº -Cem):\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "\t\t-Ca ´õ ÁÁÀº ¸Þ¸ð¸® Á¤·ÄÀ» À§ÇØ Å« Å×À̺íÀ» ¸¸µì´Ï´Ù\n" #~ msgid "\t\t-Ce construct equivalence classes\n" #~ msgstr "\t\t-Ce µ¿Ä¡·ù¸¦ ¸¸µì´Ï´Ù\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "\t\t-Cf ½ºÄ³³Ê Å×À̺íÀ» ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù. -fÇ¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "\t\t-CF ½ºÄ³³Ê Å×À̺íÀ» ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù. -FÇ¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" #~ msgstr "\t\t-Cm ¸ÞŸ µ¿Ä¡·ù¸¦ ¸¸µì´Ï´Ù\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" #~ "\t\t-Cr ½ºÄ³³Ê ÀÔ·ÂÀ» stdio¶óÀ̺귯¸® ´ë½Å read()½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇÕ´Ï´Ù\n" #~ msgid "\t-o specify output filename\n" #~ msgstr "\t-o Ãâ·Â ÆÄÀÏÀ̸§À» ÁöÁ¤ÇÕ´Ï´Ù\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" #~ msgstr "\t-P \"yy\"´ë½Å¿¡ ´Ù¸¥ ½ºÄ³³Ê Á¢µÎ»ç¸¦ ÁöÁ¤ÇÕ´Ï´Ù\n" #~ msgid "\t-S specify skeleton file\n" #~ msgstr "\t-S ½ºÄÌ·¹Åæ ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help ÀÌ µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n" #~ msgid "\t--version report %s version\n" #~ msgstr "\t--version %sÀÇ ¹öÀüÀ» Ãâ·ÂÇÕ´Ï´Ù\n" flex-2.5.35/po/nl.po0000664000175000017500000006051010761103056011057 00000000000000# Translation of flex-2.5.34 to Dutch. # Copyright (C) 2005, 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the flex package. # # Benno Schulenberg , 2005, 2006, 2007, 2008. msgid "" msgstr "" "Project-Id-Version: flex-2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2008-02-09 21:59+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Toestand #%d is niet-accepterend -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "gevaarlijke nakomende context" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " regelnummers van de betrokken regels:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " uit-transities: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " vastlopende transities: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "consistentiecontrole is mislukt in epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA-dump:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "kon geen unieke toestand voor einde-van-buffer aanmaken" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "toestand # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Kan yynxt_tbl[][] niet schrijven" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "onjuist transitieteken in sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Equivalentieklassen:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "toestand # %d accepteert: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "toestand # %d accepteert: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Kan yyacclist_tbl niet schrijven" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Kan yyacc_tbl niet schrijven" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Kan ecstbl niet schrijven" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Meta-equivalentieklassen:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Kan yymeta_tbl niet schrijven" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Kan yybase_tbl niet schrijven" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Kan yydef_tbl niet schrijven" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Kan yynxt_tbl niet schrijven" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Kan yychk_tbl niet schrijven" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Kan ftbl niet schrijven" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Kan ssltbl niet schrijven" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Kan eoltbl niet schrijven" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Kan yynultrans_tbl niet schrijven" #: main.c:189 msgid "rule cannot be matched" msgstr "regel geeft geen overeenkomsten" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "optie -s gegeven, maar de standaardregel geeft overeenkomsten" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Optie -+ gaat niet samen met -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Optie -f of -F gaat niet samen met -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "Optie --reentrant of --bison-bridge gaat niet samen met -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "Opties -Cf/-CF en -Cm gaan niet samen" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "Opties -Cf/-CF en -I gaan niet samen" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "Optie -Cf of -CF gaat niet samen met lex-compatibiliteitsmodus" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "Opties -Cf en -CF sluiten elkaar uit" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Optie -+ gaat niet samen met -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "Optie -+ gaat niet samen met %array" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Opties -+ en --reentrant sluiten elkaar uit." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "bison bridge wordt niet ondersteund voor de C++-scanner." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "kan %s niet aanmaken" #: main.c:419 msgid "could not write tables header" msgstr "kan tabellenkop niet schrijven" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "kan skeletbestand %s niet openen" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "invoerfout tijdens lezen van skeletbestand %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "fout tijdens sluiten van skeletbestand %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "fout tijdens aanmaken van headerbestand %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "fout tijdens schrijven van uitvoerbestand %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "fout tijdens sluiten van uitvoerbestand %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "fout tijdens verwijderen van uitvoerbestand %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Terugstappen is niet mogelijk.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d terugstappende (niet-accepterende) toestanden.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Gecomprimeerde tabellen kunnen altijd terugstappen.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "fout tijdens schrijven van terugstapbestand %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "fout tijdens sluiten van terugstapbestand %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versie %s gebruiksstatistieken:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " scanneropties: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-toestanden\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-toestanden (%d woorden)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d regels\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Terugstappen is niet mogelijk\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d terugstappende (niet-accepterende) toestanden\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Gecomprimeerde tabellen kunnen altijd terugstappen\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Begin-van-regel-patronen gebruikt\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d startvoorwaarden\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilontoestanden, %d dubbele epsilontoestanden\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " geen tekenklassen\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d tekenklassen hadden %d/%d opslagwoorden nodig, %d hergebruikt\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d toestand/volgtoestand-paren aangemaakt\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d unieke/dubbele transities\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d tabelitems\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base-def-items aangemaakt\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (piek %d) nxt-chk-items aangemaakt\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (piek %d) sjabloon-nxt-chk-items aangemaakt\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d lege tabelitems\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototypes aangemaakt\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d sjablonen aangemaakt, %d keer gebruikt\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d equivalentieklassen aangemaakt\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d meta-equivalentieklassen aangemaakt\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d bewaarde) hash-botsingen, %d DFA's gelijk\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d sets van herallocaties waren nodig\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " in totaal %d tabelitems nodig\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "*Interne fout*: ongeldige flexopts.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Typ '%s --help' voor meer informatie.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "onbekende -C-optie '%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "fatale ontledingsfout" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "kon terugstapbestand %s niet aanmaken" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "de AT&T-lexcompatibiliteitsoptie -l betekent een grote " "prestatievermindering\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " en zou de eigenlijke bron kunnen zijn van andere gemelde " "prestatieverminderingen\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "de %%optie yylineno betekent een prestatievermindering, maar ALLEEN voor " "regels die met het regeleindeteken overeen kunnen komen\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "optie -I (interactief) betekent een kleine prestatievermindering\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() betekent een kleine prestatievermindering\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT betekent een grote prestatievermindering\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "Variabele nakomende context betekent een grote prestatievermindering\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT gaat niet samen met -f of -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%optie yylineno gaat niet samen met REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "regels met variabele nakomende context gaan niet samen met -f of -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%optie yyclass heeft alleen betekenis voor C++-scanners" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Genereert patroonherkenningsprogramma's.\n" "\n" "Tabelcompressie:\n" " -Ca, --align meer geheugen gebruiken voor beter uitgelijnde tabellen\n" " -Ce, --ecs equivalentieklassen construeren\n" " -Cf tabellen niet comprimeren; de -f-representatie " "gebruiken\n" " -CF tabellen niet comprimeren; de -F-representatie " "gebruiken\n" " -Cm, --meta-ecs meta-equivalentieklassen construeren\n" " -Cr, --read read() gebruiken in plaats van stdio voor scannerinvoer\n" " -f, --full een snelle, grote scanner genereren (zelfde als -Cfr)\n" " -F, --fast alternatieve tabelrepresentatie gebruiken (als -CFr)\n" " -Cem standaardcompressie (zelfde als --ecs --meta-ecs)\n" "\n" "Debuggen:\n" " -d, --debug debugmodus in scanner aanzetten\n" " -b, --backup terugstap-informatie naar %s schrijven\n" " -p, --perf-report prestatierapport naar standaardfoutuitvoer schrijven\n" " -s, --nodefault standaardregel om onherkende tekst te ECHO-en " "uitzetten\n" " -T, --trace %s uitvoeren in tracemodus\n" " -w, --nowarn geen waarschuwingen geven\n" " -v, --verbose scannerstatistieken naar standaarduitvoer schrijven\n" "\n" "Bestanden:\n" " -o, --outfile=BESTAND dit uitvoerbestand gebruiken\n" " -S, --skel=BESTAND dit skeletbestand gebruiken\n" " -t, --stdout scanner naar standaarduitvoer schrijven, niet naar " "%s\n" " --yyclass=NAAM naam van de C++-klasse\n" " --header-file=BESTAND behalve de scanner ook een C-headerbestand " "maken\n" " --tables-file[=BESTAND] tabellen schrijven (naar dit BESTAND)\n" "\n" "Scannergedrag:\n" " -7, --7bit een 7-bits-scanner genereren\n" " -8, --8bit een 8-bits-scanner genereren\n" " -B, --batch een batch-scanner genereren (tegengestelde van -" "I)\n" " -i, --case-insensitive hoofd-/kleine letters in patronen negeren\n" " -l, --lex-compat maximale compatibiliteit met de originele 'lex'\n" " -X, --posix-compat maximale compatibiliteit met de POSIX 'lex'\n" " -I, --interactive een interactieve scanner genereren\n" " --yylineno het regelaantal bijhouden in yylineno\n" "\n" "Gegenereerde code:\n" " -+, --c++ een C++-scannerklasse genereren\n" " -Dmacro[=defn] #define macro defn (standaard defn is '1')\n" " -L, --noline de #line-commado's in de scanner onderdrukken\n" " -P, --prefix=STRING STRING gebruiken als prefix in plaats van \"yy\"\n" " -R, --reentrant een herintreedbare C-scanner genereren\n" " --bison-bridge een scanner voor zuivere bison-ontleder genereren\n" " --bison-locations ondersteuning voor yylloc opnemen\n" " --stdinit yyin/yyout naar standaardin/uitvoer initialiseren\n" " --noansi-definitions oude-stijl functiedefinities\n" " --noansi-prototypes lege parameterlijst in prototypes\n" " --nounistd niet insluiten\n" " --noFUNCTIE specifieke FUNCTIE niet genereren\n" "\n" "Varia:\n" " -c nietsdoende POSIX-optie\n" " -n nietsdoende POSIX-optie\n" " -?\n" " -h, --help deze hulptekst tonen\n" " -V, --version de versie van %s tonen\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "naam is belachelijk lang: \"%s\"" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "geheugenreservering is mislukt in allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "onjuist teken '%s' in check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "scanner heeft de optie -8 nodig om teken %s te kunnen gebruiken" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "dynamische geheugenfout in copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: *fatale interne fout*, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "vergroting van array is mislukt" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "onjuiste regel in skeletbestand" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "geheugenreservering is mislukt in yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** begin van dump van NFA met starttoestand %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "toestand # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** einde van de dump\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "lege machine in dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regel met variabele nakomende context op regel %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "onjuist toestandstype in mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "invoerregels zijn te ingewikkeld (>= %d NFA-toestanden)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "te veel transities gevonden in mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "te veel regels (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "onbekende fout tijdens verwerken van sectie 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "onjuiste lijst van startvoorwaarden" #: parse.y:315 msgid "unrecognized rule" msgstr "onbekende regel" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "nakomende context twee keer gebruikt" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "onjuiste iteratiewaarden" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "iteratiewaarde moet positief zijn" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "het tekenbereik [%c-%c] is niet eenduidig in een hoofdletterongevoelige " "scanner" #: parse.y:821 msgid "negative range in character class" msgstr "negatief bereik in tekenklasse" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "[:^lower:] is niet eenduidig in een hoofdletterongevoelige scanner" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "[:^upper:] is niet eenduidig in een hoofdletterongevoelige scanner" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Invoerregel is te lang\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "verkeerde opbouw van '%top'-commando" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "onbekend '%'-commando" #: scan.l:284 msgid "Unmatched '{'" msgstr "Ongepaarde '{'" #: scan.l:317 msgid "incomplete name definition" msgstr "onvolledige naamsdefinitie" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "onbekende %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "onjuiste tekenklasse" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "ongedefinieerde definitie {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "onjuiste : %s" #: scan.l:768 msgid "missing quote" msgstr "ontbrekend aanhalingsteken" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "onjuiste expressie '%s' in tekenklasse" #: scan.l:856 msgid "bad character inside {}'s" msgstr "onjuist teken tussen {}'s" #: scan.l:862 msgid "missing }" msgstr "ontbrekende }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "EOF werd bereikt tijdens een actie" #: scan.l:945 msgid "EOF encountered inside pattern" msgstr "EOF werd bereikt binnen een patroon" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "onjuist teken: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "kan %s niet openen" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Gebruik: %s [OPTIE]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "optie '%s' staat geen argument toe\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "optie '%s' vereist een argument\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "optie '%s' is niet eenduidig\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Onbekende optie '%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Onbekende fout=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "geheugenreservering voor symbolentabel is mislukt" #: sym.c:202 msgid "name defined twice" msgstr "naam is twee keer gedefinieerd" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "startvoorwaarde %s is twee keer vermeld" #: yylex.c:56 msgid "premature EOF" msgstr "voortijdig einde van bestand" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Eindmarkering\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Iets Raars* - token: %d waarde:%d\n" flex-2.5.35/po/pl.po0000664000175000017500000006044510761103056011070 00000000000000# Polish translation for flex. # This file is distributed under the same license as the flex package. # Copyright (C) 2003, 2008 Free Software Foundation, Inc. # Jakub Bogusz , 2003-2008. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2008-02-09 20:14+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Stan #%d jest nieakceptuj±cy -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "niebezpieczny kontekst koñcowy" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " numery linii powi±zanych regu³:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " przej¶cia-wyj¶ciowe: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " przej¶cia-zapêtlaj±ce: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "kontrola spójno¶ci nie powiod³a siê w epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Zrzut DFA:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "nie mo¿na utworzyæ unikalnego stanu koñca bufora" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "stan # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Nie mo¿na zapisaæ yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "wykryto b³êdny znak przej¶cia w sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Klasy równowa¿no¶ci:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "stan # %d akceptuje: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "stan # %d akceptuje: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Nie mo¿na zapisaæ yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Nie mo¿na zapisaæ yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Nie mo¿na zapisaæ ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Klasy meta-równowa¿no¶ci:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Nie mo¿na zapisaæ yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Nie mo¿na zapisaæ yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Nie mo¿na zapisaæ yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Nie mo¿na zapisaæ yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Nie mo¿na zapisaæ yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Nie mo¿na zapisaæ ftbl" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Nie mo¿na zapisaæ ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Nie mo¿na zapisaæ eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Nie mo¿na zapisaæ yynultrans_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "nie mo¿na dopasowaæ regu³y" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "podano opcjê -s, ale domy¶lna regu³a mo¿e byæ dopasowana" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Nie mo¿na u¿yæ -+ z opcj± -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Nie mo¿na u¿yæ -f ani -F z opcj± -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "Nie mo¿na u¿yæ --reentrant ani --bison-bridge z opcj± -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF i -Cm razem nie maj± sensu" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF i -I s± niekompatybilne" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF s± niekompatybilne z trybem kompatybilno¶ci z leksem" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf i -CF wykluczaj± siê wzajemnie" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Nie mo¿na u¿yæ -+ z opcj± -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array jest niekompatybilne z opcj± -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Opcje -+ i --reentrant wykluczaj± siê wzajemnie." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "pomost dla bisona nie jest obs³ugiwany dla skanera C++." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "nie mo¿na utworzyæ %s" #: main.c:419 msgid "could not write tables header" msgstr "nie mo¿na zapisaæ nag³ówka tablic" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "nie mo¿na otworzyæ pliku szablonu %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "b³±d wej¶cia podczas odczytu pliku szablonu %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "b³±d podczas zamykania pliku szablonu %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "b³±d podczas tworzenia pliku nag³ówkowego %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "b³±d podczas zapisu pliku wyj¶ciowego %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "b³±d podczas zamykania pliku wyj¶ciowego %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "b³±d podczas usuwania pliku wyj¶ciowego %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Bez zapamiêtywania.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d zapamiêtywanych stanów (nie akceptuj±cych).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Skompresowane tablice zawsze zapamiêtuj±.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "b³±d podczas zapisu pliku raportu z zapamiêtywania %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "b³±d podczas zamykania pliku raportu z zapamiêtywania %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s w wersji %s - statystyka u¿ycia:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " opcje skanera: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d stanów NFA\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d stanów DFA (%d s³ów)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d regu³\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Bez zapamiêtywania\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d zapamiêtywanych stanów (nie akceptuj±cych)\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Skompresowane tablice zawsze zapamiêtuj±\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " U¿ytych wzorców pocz±tek-linii\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d warunków pocz±tkowych\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d stanów epsilonowych, %d stanów podwójnie epsilonowych\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " bez klas znaków\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d klas znaków potrzebuje %d/%d s³ów pamiêci, %d ponownie u¿ytych\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d utworzonych par stan/nastêpny-stan\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d przej¶æ unikalny/duplikat\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d elementów tablicy\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d utworzonych elementów base-def\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (maksymalnie %d) utworzonych elementów nxt-chk\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (maksymalnie %d) utworzonych szablonowych elementów nxt-chk\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d pustych elementów tablicy\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d utworzonych prototypów\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d utworzonych szablonów, %d u¿yæ\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d utworzonych klas równowa¿no¶ci\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d utworzonych klas meta-równowa¿no¶ci\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d zachowanych) kolizji haszy, %d jednakowych DFA\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d potrzebnych zbiorów realokacji\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d potrzebnych ogó³em elementów tablicy\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "B³±d wewnêtrzny. ¬le sformu³owane flexopts.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "`%s --help' poda wiêcej informacji.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "nieznana opcja -C '%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "krytyczny b³±d analizy sk³adni" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "nie mo¿na utworzyæ pliku informacji o zapamiêtywaniu %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "opcja -l zgodno¶ci z leksem AT&T powoduje du¿± stratê wydajno¶ci\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " i mo¿e byæ przyczyn± innych zg³aszanych strat wydajno¶ci\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%option yylineno powoduje straty wydajno¶ci TYLKO dla regu³ dopasowuj±cych " "znak koñca linii\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktywny) powoduje ma³± stratê wydajno¶ci\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() powoduje ma³± stratê wydajno¶ci\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT powoduje du¿± stratê wydajno¶ci\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regu³y ze zmiennym koñcowym kontekstem powoduj± du¿± stratê wydajno¶ci\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT nie mo¿e byæ u¿yte z -f ani -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno nie mo¿e byæ u¿yte z REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "regu³y ze zmiennym koñcowym kontekstem nie mog± byæ u¿yte z -f ani -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass ma znaczenie tylko dla skanerów C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Sk³adnia: %s [OPCJE] [PLIK]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Generowanie programów wykonuj±cych na tek¶cie dopasowywanie wzorców.\n" "\n" "Komprecja tablic:\n" " -Ca, --align u¿ycie wiêkszych tablic dla lepszego wyrównania pamiêci\n" " -Ce, --ecs konstruowanie klas równowa¿no¶ci\n" " -Cf nie kompresowanie tablic; u¿ycie reprezentacji -f\n" " -CF nie kompresowanie tablic; u¿ycie reprezentacji -F\n" " -Cm, --meta-ecs konstruowanie klas meta-równowa¿no¶ci\n" " -Cr, --read u¿ycie read() zamiast stdio dla wej¶cia skanera\n" " -f, --full wygenerowanie szybkiego, wielkiego skanera. To samo co -" "Cfr\n" " -F, --fast u¿ycie alternatywnej reprezentacji tablic. To samo co -" "CFr\n" " -Cem domy¶lne kompresowanie (to samo co --ecs --meta-ecs)\n" "\n" "Diagnostyka:\n" " -d, --debug w³±czenie trybu diagnostycznego (debug) w " "skanerze\n" " -b, --backup zapisanie informacji o zapamiêtywaniu do %s\n" " -p, --perf-report wypisanie raportu o wydajno¶ci na stderr\n" " -s, --nodefault pominiêcie domy¶lnej regu³y ECHO dla " "niedopasowanego\n" " tekstu\n" " -T, --trace %s powinien dzia³aæ w trybie ¶ledzenia\n" " -w, --nowarn nie generowanie ostrze¿eñ\n" " -v, --verbose wypisanie podsumowania statystyk skanera na " "stdout\n" "\n" "Pliki:\n" " -o, --outfile=PLIK podanie nazwy pliku wyj¶ciowego\n" " -S, --skel=PLIK podanie pliku szablonu\n" " -t, --stdout zapis wyj¶cia skanera na stdout zamiast %s\n" " --yyclass=NAZWA nazwa klasy C++\n" " --header-file=PLIK utworzenie pliku nag³ówkowego C oprócz skanera\n" " --tables-file[=PLIK] zapisanie tablic do PLIKU\n" "\n" "Zachowanie skanera:\n" " -7, --7bit wygenerowanie skanera 7-bitowego\n" " -8, --8bit wygenerowanie skanera 8-bitowego\n" " -B, --batch wygenerowanie skanera wsadowego (przeciwieñstwo -" "I)\n" " -i, --case-insensitive ignorowanie wielko¶ci liter we wzorcach\n" " -l, --lex-compat maksymalna kompatybilno¶æ z oryginalnym leksem\n" " -X, --posix-compat maksymalna kompatybilno¶æ z leksem POSIX\n" " -I, --interactive wygenerowanie skanera interaktywnego (przeciw. -" "B)\n" " --yylineno ¶ledzenie liczby linii w yylineno\n" "\n" "Generowany kod:\n" " -+, --c++ wygenerowanie klasy skanera w C++\n" " -Dmakro[=defn] #define makro defn (domy¶lne defn to '1')\n" " -L, --noline pominiêcie dyrektyw #line w skanerze\n" " -P, --prefix=£AÑCUCH u¿ycie jako prefiksu £AÑCUCHA zamiast \"yy\"\n" " -R, --reentrant wygenerowanie wielobie¿nego skanera w C\n" " --bison-bridge skaner dla czystego analizatora w bisonie\n" " --bison-locations dodanie obs³ugi yylloc\n" " --stdinit zainicjowanie yyin/yyout na stdin/stdout\n" " --noansi-definitions definicje funkcji w starym stylu\n" " --noansi-prototypes puste listy parametrów w prototypach\n" " --nounistd nie do³±czanie \n" " --noFUNKCJA nie generowanie podanej FUNKCJI\n" "\n" "Ró¿ne:\n" " -c nic nie robi±ca opcja POSIX\n" " -n nic nie robi±ca opcja POSIX\n" " -?\n" " -h, --help wy¶wietlenie tego pomocnego opisu\n" " -V, --version podanie wersji programu %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "nazwa \"%s\" jest ¶miesznie d³uga" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "nie uda³o siê przydzieliæ pamiêci w allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "b³êdny znak '%s' usuniêty w check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "skaner wymaga flagi -8 aby u¿yæ znaku %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "niepowodzenie dynamicznej pamiêci w copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: krytyczny b³±d wewnêtrzny: %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "próba zwiêkszenia rozmiaru tablicy nie powiod³a siê" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "b³êdna linia w pliku szablonu" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "nie uda³o siê przydzieliæ pamiêci w yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** pocz±tek zrzutu NFA ze stanem pocz±tkowym %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "stan # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** koniec zrzutu\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "pusty automat w dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regu³a ze zmiennym koñcowym kontekstem w linii %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "b³êdny typ stanu w mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "regu³y wej¶ciowe s± zbyt skomplikowane (>= %d stanów NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "znaleziono zbyt du¿o przej¶æ w mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "zbyt du¿o regu³ (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "nieznany b³±d podczas przetwarzania sekcji 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "b³êdna lista warunków pocz±tkowych" #: parse.y:315 msgid "unrecognized rule" msgstr "nierozpoznana regu³a" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "koñcowy kontekst u¿yty dwukrotnie" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "b³êdne warto¶ci iteracji" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "warto¶æ iteracji musi byæ dodatnia" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "przedzia³ znaków [%c-%c] jest niejednoznaczny w skanerze ignoruj±cym " "wielko¶æ liter" #: parse.y:821 msgid "negative range in character class" msgstr "ujemny przedzia³ w klasie znaków" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "[:^lower:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ " "liter" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "[:^upper:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ " "liter" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Linia wej¶ciowa zbyt d³uga\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "¼le sformu³owana dyrektywa '%top'" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "nierozpoznana dyrektywa '%'" #: scan.l:284 msgid "Unmatched '{'" msgstr "Niesparowany '{'" #: scan.l:317 msgid "incomplete name definition" msgstr "niekompletna definicja nazwy" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "nierozpoznane %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "b³êdna klasa znaków" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "niezdefiniowana definicja {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "b³êdny : %s" #: scan.l:768 msgid "missing quote" msgstr "brak cudzys³owu" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "b³êdne wyra¿enie klasy znaków: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "b³êdny znak wewn±trz {}" #: scan.l:862 msgid "missing }" msgstr "brak }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "EOF napotkany wewn±trz akcji" #: scan.l:945 msgid "EOF encountered inside pattern" msgstr "EOF napotkany wewn±trz wzorca" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "b³êdny znak: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "nie mo¿na otworzyæ %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Sk³adnia: %s [OPCJE]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "opcja `%s' nie przyjmuje argumentu\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "opcja `%s' wymaga argumentu\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "opcja `%s' jest niejednoznaczna\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Nierozpoznana opcja `%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Nieznany b³±d=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "nie uda³o siê przydzieliæ pamiêci dla tablicy symboli" #: sym.c:202 msgid "name defined twice" msgstr "nazwa zdefiniowana dwukrotnie" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "warunek pocz±tkowy %s zadeklarowany dwukrotnie" #: yylex.c:56 msgid "premature EOF" msgstr "przedwczesny EOF" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Znacznik koñca\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Co¶ dziwnego* - tok: %d val: %d\n" flex-2.5.35/po/pt_BR.po0000664000175000017500000005313110761102744011460 00000000000000# flex: translation to Brazilian Portuguese (pt_BR) # Copyright (C) 2003, 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the flex package. # Alexandre Folle de Menezes , 2003, 2004. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2004-02-08 18:45-0200\n" "Last-Translator: Alexandre Folle de Menezes \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "O estado #%d é não-aceita -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "texto final perigoso" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " números de linha de regras associadas:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " transações de saída: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " transições presas: Fim de Arquivo " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "verificação de consistência falhou em epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Despejo DFA:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "impossível criar um estadp único de final de buffer" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "estado # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Impossível escrever yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "caractere de transição inválido detectado em sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Classes de Equivalência:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "estado # %d aceita: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "estado # %d aceita: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Impossível escrever yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Impossível escrever yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Impossível escrever ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Classes de Meta-Equivalência:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Impossível escrever yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Impossível escrever yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Impossível escrever yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Impossível escrever yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Impossível escrever yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Impossível escrever ftbl" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Impossível escrever ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Impossível escrever eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Impossível escrever yynultrans_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "aplicação da regra não gerou nenhum resultado" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "a opção -s foi fornecida, mas a regra padrão pode ser aplicada" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Impossível usar -+ com a opção -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Impossível usar -f ou -F com a opção -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "Impossível usar --reentrant ou --bison-bridge com a opção -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF e -Cm não fazem sentido juntos" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF e -I são incompatíveis" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF são incompatíveis com o modo de compatibilidade lex" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf e -CF são mutuamente exclusivos" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Impossível usar -+ com a opção -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array é incompatível com a opção -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "As opções -+ e --reentrant são mutuamente exclusivas." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "ponte bison não suportada pelo processador C++." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "impossível criar %s" #: main.c:419 msgid "could not write tables header" msgstr "impossível escrever o cabeçalho das tabelas" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "impossível abrir o arquivo esqueleto %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "erro lendo o arquivo esqueleto %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "erro fechando o arquivo esqueleto %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "erro criando o arquivo cabeçalho %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "erro escrevendo arquivo de saída %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "erro fechando arquivo de saída %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "erro removendo arquivo de saída %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Impossível restaurar.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d fazendo cópia de segurança de estados (não-aceita).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Tabelas compactadas sempre têm cópias de segurança.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "erro escrevendo cópia de segurança %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "erro fechando cópia de segurança %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versão %s estatísticas de uso:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " opções de scanner: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d estados NFA\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d estados DFA (%d palavras)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d regras\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Sem cópia de segurança\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d fazendo cópia de segurança de estados (não-aceita)\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Tabelas compactadas sempre têm cópias de segurança\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Padrões de início-de-linha usados\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condições de início\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d estados epsilon, %d estados epsilon duplo\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " nenhuma classe de caracteres\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d classes de caracters precisaram de %d/%d palavras de armazenamento, %" "d reusadas\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d pares estado/próximoestado criados\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transições únicas/duplicadas\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d entradas de tabela\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entradas base-def criadas\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (pico %d) entradas nxt-chk criadas\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (pico %d) modelos de entradas nxt-chk criadas\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d entradas vazias na tabela\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d protos criados\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d modelos criados, %d usos\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d classes de equivalência criadas\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d classes de meta-equivalência criadas\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d salvas) colisões de hash, %d DFAs iguais\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d conjuntos de realocação necessários\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d total de entradas de tabela necessárias\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Erro interno. flexopts estão malformados.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Tente `%s --help' para maiores informações.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "opção -C '%c' desconecida" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "erro fatal de análise" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "impossível criar cópia de seguranço do arquivo de informações %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "a opção de compatibilidade com lex da AT&T '-l' acarreta em uma grande " "penalidade na performance\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " e pode ser a fonte real de outras penalidades de performance reportadas\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%option yylineno acarreta em uma penalidade na performance APENAS em regras " "que podem bater caracters de nova linha\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interativo) acarreta em uma pequena penalidade na performance\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() acarreta em uma pequena penalidade na performance\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT acarreta em uma grande penalidade na performance\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Variável seguindo regras de contexto implicam em grande perda de " "performance\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT não pode ser usado com -f ou -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno não pode ser usada com REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "variáveis seguindo regras de contexto não podem ser usadas com -f ou -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass só tem sentido para scanners C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Uso: %s [OPÇÕES] [ARQUIVO]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "nome \"%s\" ridiculamente longo" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "alocação de memória falhou em allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "caractere inválido '%s' detectado em check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "o scanner precisa de um flag -8 para usar o caracter %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "falha dinâmica de memória em copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: erro interno fatal, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "tentativa de aumentar o tamanho do vetor falhou" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "linha inválida no arquivo de esqueleto" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "alocação de memória falhou em yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** iniciando despejo de nfa com estado inicial %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "estado # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** final do despejo\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "máquina vazia em dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regra de final de contexto variável na linha %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "estado de tipo inválido em mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "regras de entrada são muito complicadas (>= %d estados NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "muitas transições em mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "muitas regras (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "erro desconhecido porcessando a seção 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "lista de condições de início inválida" #: parse.y:315 msgid "unrecognized rule" msgstr "regra não reconhecida" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "contexto final usado duas vezes" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "valores de iteração inválidos" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "valor de iteração deve ser positivo" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "a faixa de caracteres [%c-%c] é ambígua em um processador \"case-insensitive" "\"" #: parse.y:821 msgid "negative range in character class" msgstr "faixa negativa na classe de caracteres" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "a faixa de caracteres [%c-%c] é ambígua em um processador \"case-insensitive" "\"" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "a faixa de caracteres [%c-%c] é ambígua em um processador \"case-insensitive" "\"" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Linha de entrada muito longa\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "diretiva '%top' malformada" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "diretiva '%' não reconhecida" #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' sem fechamento" #: scan.l:317 msgid "incomplete name definition" msgstr "definição de nome incompleta" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "%%opção não reconhecida: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "classe de caractere inválida" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "definição indefinida {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr " inválida: %s" #: scan.l:768 msgid "missing quote" msgstr "faltou aspa" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "expressão de classe de caractere inválida: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "caracater inválido entre {}'s" #: scan.l:862 msgid "missing }" msgstr "faltou }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "Fim de Arquivo encontrado dentro de uma ação" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "Fim de Arquivo encontrado dentro de uma ação" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "caracter inválido: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "impossível abrir %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Uso: %s [OPÇÕES]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "option `%s' não permite argumentos\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "option `%s' requer um argumento\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "opção `%s' é ambígua\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opção `%s' desconhecida\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Erro desconhecido=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "alocação da memória da tabela de símbolos falhou" #: sym.c:202 msgid "name defined twice" msgstr "nome definido duas vezes" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "condição de início %s declarada duas vezes" #: yylex.c:56 msgid "premature EOF" msgstr "Fim-de-Arquivo prematuro" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Marca de Fim\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Algo Estranho* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "verificação de consistência falhou em symfollowset" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "" #~ "Impossível especificar a opção de cabeçalho se escrevendo em stdout." #~ msgid "unknown -R option '%c'" #~ msgstr "opção -R '%c' desconecida" flex-2.5.35/po/ro.po0000664000175000017500000006151610761102744011100 00000000000000# Mesajele în limba românã pentru pachetul flex. # Copyright (C) 2003 Free Software Foundation, Inc. # Eugen Hoanca , 2003. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2003-11-22 11:07+0200\n" "Last-Translator: Eugen Hoanca \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Starea #%d este de neacceptat. -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "context de sfârºit(trailing) periculos" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " numerele de linie asociate regulii:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " tranziþii exterioare(out): " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " tranziþii jam: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "verificare de consistenþã eºuatã în epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Rezultat(dump) DFA:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "nu am putut crea sfârºit unic pentru starea buffer-ului" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "stare # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Nu am putut scrie yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "caracter greºit de tranziþie detectat în sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Clase de Echivalenþã:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "starea # %d acceptã: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "starea # %d acceptã: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Nu am putut scrie yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Nu am putut scrie yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Nu am putut scrie ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Clase de Meta-Echivalenþã:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Nu am putut scrie yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Nu am putut scrie yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Nu am putut scrie yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Nu am putut scrie yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Nu am putut scrie yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Nu am putut scrie ftbl" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Nu am putut scrie ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Nu am putut scrie eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Nu am putut scrie yynultrans_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "regula nu se potriveºte cu nimic" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "a fost datã opþiunea -s dar regula implicitã se poate potrivi" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Nu se poate folosi -+ cu opþiunea -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Nu se poate folosi -f sau -F cu opþiunea -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "Nu se poate folosi --reentrant sau --bison-bridge cu opþiunea -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF ºi -Cm nu au sens folosite împreunã" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF ºi -I sunt incompatibile" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF sunt incompatibile cu module de compatibilitate lex" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf ºi -CF se exclud reciproc" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Nu se poate folosi -+ cu opþiunea -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array incompatibil cu opþiunea -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Opþiunile -+ and --reentrant se exclud reciproc" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "bridge bison nu este suportat pentru scannerul C++." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "nu am putut crea %s" #: main.c:419 msgid "could not write tables header" msgstr "Nu am putut scrie capul de tabel" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "nu am putut deschide fiºierul schelet %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "eroare de intrare(input) în timpul citirii fiºierului schelet %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "eroare în închiderea fiºierului schelet %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "eroare în crearea fiºierului de header %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "eroare în scrierea fiºierului de output %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "eroare în închiderea fiºierului de output %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "eroare în ºtergerea fiºierului de output %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Nu se revine (backing-up).\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d salvare de (inacceptabile) stãri.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Tabelele compresate întotdeauna au back-up.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "eroare în scrierea fiºierului de backup %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "eroare în închiderea fiºierului de backup %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versiunea %s statistici de folosire:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " opþiuni de scanner: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d stãri NFA\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d stãri DFA (%d cuvinte)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d reguli\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Nu se face backup\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d salvare de (inacceptabile) stãri\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Tabelele compresate întotdeauna au back-up\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Tipare de începuturi de linie folosite\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condiþii de start\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d stãri epsilon, %d stãri dublu epsilon\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " nici o clasã de caractere\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d clase de caractere necesare %d/%d cuvinte de stocare, %d refolosite\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d perechi de stare/stareurmãtoare create\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d tranziþii unice/duplicate\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d intrãri în tabele\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base-def intrãri create\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (maxim %d) nxt-chk intrãri create\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (maxim %d) model nxt-chk intrãri create\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d intrãri în tabel goale\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototipuri create\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d modele create, %d folosiri\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d clase de echivalenþã create\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d clase de meta-echivalenþã create\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d salvate) coliziuni disipate(hash), %d egaluri de DFA-uril\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d seturi de realocãri necesare\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d intrãri totale în tabel necesare\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Eroare internã. Opþiunile flex(flexopts) sunt malformate.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Încercaþi `%s --help' pentru mai multe informaþii.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "opþiune -C necunoscutã `%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "eroare fatalã de analizã(parse)" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "nu s-a putut crea fiºierul de informaþii de back-up %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l opþiunea de compatibilitate AT&T lex determinã o scãdere drasticã a " "performanþei\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "ºi poate fi sursa realã a altor scãderi de performanþã raportate\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%opþiunea yylineno determinã o scãdere drasticã a performanþei DOAR în " "regulile care se potrivesc caracterelor linie_nouã(newline)\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interactiãe) determinã o scãdere minorã a performanþei\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() determinã o scãdere minorã a performanþei\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT determinã o scãdere drasticã a performanþei\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Contextul de sfârºit(trailing) variabil determinã o scãdere drasticã a " "performanþei\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT nu poate fi folosit cu -f sau -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%opþiunea yylineno nu poate fi folositã cu REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "contextul de sfârºit(trailing) variabil nu poate fi folosit cu -f sau -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%opþunea yyclass este folositoare doar pentru scannerele C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Folosire: %s [OPÞIUNI] [FIªIER]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Genereazã programe care cautã potriviri de tipare pe un text\n" "\n" "Compresie de tabele:\n" " -Ca, --align renunþã la tabelele mari în favoarea unui aliniament mai " "bun al memoriei\n" " -Ce, --ecs construieºte clase de echivalenþã\n" " -Cf nu compreseazã tabelele; foloseºte reprezentare -f \n" " -CF nu compreseazã tabelele; foloseºte reprezentare -F\n" " -Cm, --meta-ecs construieºte clase de meta-echivalenþã\n" " -Cr, --read foloseºte read() în loc de stdio pentru intrarea de " "scanner\n" " -F, --fast foloseºte reprezentare alternativã de tabele. Asemãnãtor " "lui -CFr\n" " -f, --full genereazã scannere rapide, mari. Asemãnãtor lui -Cfr\n" " -Cem compresie implicitã (asemãnãtor lui --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug activeazã modul debug în scanner\n" " -b, --backup scriere de informaþii de backup în %s\n" " -p, --perf-report scrie raportul de performanþã la stderr\n" " -s, --nodefault eliminã regula implicitã de ECHO text care nu se " "potriveºte\n" " -T, --trace %s ar trebui sã ruleze în mod trace\n" " -w, --nowarn nu genereazã avertismente\n" " -v, --verbose scrie cuprinsul statisticilor scanner-ului la " "stdout\n" "\n" "Fiºiere:\n" " -o, --outfile=FIªIER specificã numele de fiºier de ieºire\n" " -S, --skel=FIªIER specificã fiºierul schelet\n" " -t, --stdout scrie scannerul la stdout în loc de %s\n" " --yyclass=NUME numele clasei C++\n" " --header-file=FIªIER creazã im fiºier de header C pe lângãscanner\n" " --tables-file[=FIªIER] scrie tabelele în FIªIER\n" "\n" "Comportament scanner:\n" " -7, --7bit genereazã scanner pe 7-biþi\n" " -8, --8bit genereazã scanner pe 8-biþi\n" " -B, --batch genereazã scanner comandã(batch) (inversul lui -" "I)\n" " -i, --case-insensitive ignorã cazul în tipare\n" " -l, --lex-compat compatibilitate maximã cu lex original\n" " -X, --posix-compat compatibilitate maximã cu lex POSIX\n" " -I, --interactive genereazã scanner interactive (inversul lui -B)\n" " --yylineno urmãreºte numãrãtoare liniilor în yylineno\n" "\n" "Cod generat:\n" " -+, --c++ genereazã clasã de scanner C++ \n" " -Dmacro[=defn] #define macro defn (implicit defn is '1')\n" " -L, --noline eliminã directivele #line din scanner\n" " -P, --prefix=ªIR foloseºte ªIR ca ºi prefix în loc de \"yy\"\n" " -R, --reentrant genereazã un scanner C circular(reentrant)\n" " --bison-bridge scanner pentru analizã purã bison.\n" " --bison-locations include suport yylloc.\n" " --stdinit iniþializeazã yyin/yyout cãtre stdin/stdout\n" " --noansi-definitions definire de funcþii stil vechi\n" " --noansi-prototypes listã de parametri vidã în prototipuri\n" " --nounistd nu include \n" " --noFUNCÞIE nu genera o FUNCÞIE particularã\n" "\n" "Diverse:\n" " -c opþiune POSIX care nu face nimic\n" " -n opþiune POSIX care nu face nimic\n" " -?\n" " -h, --help produce acest mesaj de ajutor\n" " -V, --version raporteazã versiunea %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "numele \"%s\" este ridicol de lung" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "alocare de memorie eºuatã în allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "caracter greºit `%s' detectat în check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "scannerul necesitã parametrul(flag) -8 pentru a folosi caracterul %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "eroare de memorie dinamicã în copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: eroare internã fatalã, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "încercare de a mãri dimensiunea domeniului eºuatã" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "linie greºitã în fiºierul schelet" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "alocare de memorie eºuatã în yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** începerea aducerii(dump) nfa cu starea de început %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "stare # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** sfârºit de aducere(dump)\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "maºinã vidã în dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regulã de context de sfârºit variabil la linia %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "tip de stare greºitã în mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "regulile de intrare(input) sunt prea complicate (>= %d stãri NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "s-au gãsit prea multe tranziþii în mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "prea multe reguli (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "eroare necunoscutã în procesarea secþiunii 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "listã de stãri în condiþie proastã" #: parse.y:315 msgid "unrecognized rule" msgstr "regulã necunoscutã" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "context de sfârºit(trailing) utilizat de douã ori" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "valori de iteraþie greºite" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "valoarea iteraþiei trebuie sã fie pozitivã" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-" "insenzitiv" #: parse.y:821 msgid "negative range in character class" msgstr "domeniu negativ în clasa de caractere" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-" "insenzitiv" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-" "insenzitiv" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Linie de intrare(input) prea lungã\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "directivã '%top' malformatã" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "directivã '%' necunoscutã" #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' fãrã corespondent" #: scan.l:317 msgid "incomplete name definition" msgstr "definire de nume incompletã" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "%%opþiune necunoscutã: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "clasã de caractere greºitã" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "definiþie nedefinitã {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr " greºitã: %s" #: scan.l:768 msgid "missing quote" msgstr "menþionare(quote) lipsã" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "expresie clasã caracter greºitã: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "caracter eronat între {}" #: scan.l:862 msgid "missing }" msgstr "lipseºte }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "EOF întâlnit în mijlocul acþiunii" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "EOF întâlnit în mijlocul acþiunii" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "caracter eronat: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "nu pot deschide %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Folosire: %s [OPÞIUNI]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "opþiunea `%s' nu permite parametri\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "opþiunea `%s' necesitã un parametru\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "opþiunea `%s' este ambiguã\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opþiune necunoscutã `%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Eroare necunoscutã=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "alocare de memorie pentru tabela de simboluri eºuatã" #: sym.c:202 msgid "name defined twice" msgstr "nume definit de douã ori" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "condiþie de start %s definitã de douã ori" #: yylex.c:56 msgid "premature EOF" msgstr "EOF prematur" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Marcaj de sfârºit\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Ceva Ciudat* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "verificare de consistenþã eºuatã în symfollowset" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "Nu se poate specifica opþiunea de header dacã se scrie la stdout" #~ msgid "unknown -R option '%c'" #~ msgstr "opþiune -R necunoscutã `%c'" flex-2.5.35/po/ru.po0000664000175000017500000006006210761102744011101 00000000000000# ðÅÒÅ×ÏÄ ÓÏÏÂÝÅÎÉÊ flex. # Copyright (C) 1999 Free Software Foundation, Inc. # Dmitry S. Sivachenko , 1999, 2000, 2001, 2002. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.19\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2002-09-08 10:54+0400\n" "Last-Translator: Dmitry S. Sivachenko \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=koi8-r\n" "Content-Transfer-Encoding: 8-bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "óÏÓÔÏÑÎÉÅ #%d ÎÅÄÏÐÕÓÔÉÍÏ -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "ÏÐÁÓÎÙÊ ÚÁÍÙËÁÀÝÉÊ ËÏÎÔÅËÓÔ" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " ÎÏÍÅÒÁ ÓÔÒÏË ÁÓÓÏÃÉÉÒÏ×ÁÎÎÏÇÏ ÐÒÁ×ÉÌÁ:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr "" #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "ÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÎÁ ÃÅÌÏÓÔÎÏÓÔØ × epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "äÁÍÐ äëá:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÕÎÉËÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ ËÏÎÃÁ ÂÕÆÅÒÁ" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "ÓÏÓÔÏÑÎÉÅ # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "ÏÂÎÁÒÕÖÅÎ ÎÅ×ÅÒÎÙÊ ÐÅÒÅÈÏÄÎÙÊ ÓÉÍ×ÏÌ × sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "ëÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "ÓÏÓÔÏÑÎÉÅ # %d ÄÏÐÕÓËÁÅÔ: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "ÓÏÓÔÏÑÎÉÅ # %d ÄÏÐÕÓËÁÅÔ: " #: gen.c:1157 #, fuzzy msgid "Could not write yyacclist_tbl" msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yyacc_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "íÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ëÌÁÓÓÏ×:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ftbl" #: gen.c:1624 #, fuzzy msgid "Could not write ssltbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ecstbl" #: gen.c:1675 #, fuzzy msgid "Could not write eoltbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ecstbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yynultrans_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "ÎÅ×ÏÚÎÏÖÎÏ ÐÒÉÍÅÎÉÔØ ÐÒÁ×ÉÌÏ" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "ÕËÁÚÁÎÁ ÏÐÃÉÑ -s, ÎÏ ÐÒÁ×ÉÌÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÍÅÎÅÎÏ" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -+ Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏ" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -f ÉÌÉ -F Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏ" #: main.c:241 #, fuzzy msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -R ÉÌÉ -Rb Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏ" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF É -Cm ×ÍÅÓÔÅ ÎÅ ÉÍÅÀÔ ÓÍÙÓÌÁ" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF É -I ÎÅÓÏ×ÍÅÓÔÉÍÙ" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF ÎÅÓÏ×ÍÅÓÔÎÙ Ó ÒÅÖÉÍÏÍ lex-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf É -CF Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÏÉÓËÌÀÞÁÀÝÉÍÉ" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -+ Ó ËÌÀÞÅÍ -CF ÎÅ×ÏÚÍÏÖÎÏ" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array ÎÅÓÏ×ÍÅÓÔÉÍ Ó ËÌÀÞÅÍ -+" #: main.c:302 #, fuzzy msgid "Options -+ and --reentrant are mutually exclusive." msgstr "ëÌÀÞÉ -+ É -R Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÏÉÓËÌÀÞÁÀÝÉÍÉ" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ %s" #: main.c:419 msgid "could not write tables header" msgstr "ÎÅÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ ÚÁÇÏÌÏ×ÏË ÔÁÂÌÉÃ" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ-ËÁÒËÁÓ %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ ÚÁÇÏÌÏ×ÏÞÎÏÇÏ ÆÁÊÌÁ %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "ÏÛÉÂËÁ ÚÁËÒÙÔÉÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "×ÏÚ×ÒÁÔ ÎÁ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "ÓÔÁÔÉÓÔÉËÁ ÉÓÐÏÌØÚÏ×ÁÎÉÑ %s ×ÅÒÓÉÉ %s:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " ÏÐÃÉÉ ÓËÁÎÅÒÁ: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d ÓÏÓÔÏÑÎÉÊ îëá\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d ÓÏÓÔÏÑÎÉÊ äëá (%d ÓÌÏ×)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d ÐÒÁ×ÉÌ\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr "" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " ÓÏÈÒÁÎÅÎÙ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " éÓÐÏÌØÚÕÀÔÓÑ ÛÁÂÌÏÎÙ ÎÁÞÁÌÁ ÓÔÒÏËÉ\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d ÓÔÁÒÔÏ×ÙÈ ÕÓÌÏ×ÉÊ\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr "" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " ÏÔÓÕÔÓÔ×ÕÀÔ ËÌÁÓÓÙ ÓÉÍ×ÏÌÏ×\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d ËÌÁÓÓÏ× ÓÉÍ×ÏÌÏ× ÔÒÅÂÕÀÔ %d/%d ÓÌÏ× ÄÌÑ ÈÒÁÎÅÎÉÑ, %d ÐÏ×ÔÏÒÎÏ " "ÉÓÐÏÌØÚÏ×ÁÎÏ\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " ÓÏÚÄÁÎÏ %d ÐÁÒ ÓÏÓÔÏÑÎÉÅ/ÓÌÅÄ_ÓÏÓÔÏÑÎÉÅ\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d ÕÎÉËÁÌØÎÙÈ/ÐÏ×ÔÏÒÑÀÝÉÈÓÑ ÐÅÒÅÈÏÄÏ×\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " ÓÏÚÄÁÎÏ %d/%d base-def ÜÌÅÍÅÎÔÏ×\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) nxt-chk ÜÌÅÍÅÎÔÏ×\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) ÛÁÂÌÏÎÎÙÈ nxt-chk ÜÌÅÍÅÎÔÏ×\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d ÐÕÓÔÙÈ ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " ÓÏÚÄÁÎÏ %d ÐÒÏÔÏÔÉÐÏ×\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " ÓÏÚÄÁÎÏ %d ÛÁÂÌÏÎÏ×, %d ÉÓÐÏÌØÚÏ×ÁÎÉÊ\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " ÓÏÚÄÁÎÙ ËÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ %d/%d\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d ÍÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ËÌÁÓÓÏ× ÓÏÚÄÁÎÏ\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d ÚÁÐÉÓÁÎÏ) ËÏÌÌÉÚÉÊ ÈÜÛ-ÔÁÂÌÉÃÙ, %d ÜË×É×ÁÌÅÎÔÎÙÈ äëá\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " ÔÒÅÂÕÅÔÓÑ %d ÎÁÂÏÒÏ× ÐÏ×ÔÏÒÎÙÈ ÒÁÚÍÅÝÅÎÉÊ\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " ×ÓÅÇÏ ÔÒÅÂÕÅÔÓÑ %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ. îÅÐÒÁ×ÉÌØÎÏ ÚÁÄÁÎÙ ËÌÀÞÉ flex.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ -C ËÌÀÞ '%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ ÒÁÚÂÏÒÁ" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "ÎÅÕÄÁÅÔÓÑ ÓÏÚÄÁÔØ ÚÁÐÁÓÎÏÊ ÉÎÆÏÒÍÁÃÉÏÎÎÙÊ ÆÁÊÌ %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "ïÐÃÉÑ -l ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó AT&T lex ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ " "ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " É ÔÁËÖÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÔÉÎÎÙÍ ÉÓÔÏÞÎÉËÏÍ ÐÒÏÂÌÅÍ Ó ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ\n" #: main.c:1529 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "%%option yylineno ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (ÉÎÔÅÒÁËÔÉ×ÎÙÊ) ×ÌÅÞÅÔ ÎÅÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() ÐÒÉ×ÏÄÉÔ Ë ÎÅÂÏÌØÛÏÍÕ ÓÎÉÖÅÎÉÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ×ÍÅÓÔÅ Ó -f ÉÌÉ -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ Ó REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ ÓËÁÎÅÒÏ× ÎÁ C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé] [æáêì]...\n" #: main.c:1801 #, fuzzy, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "çÅÎÅÒÉÒÕÅÔ ÐÒÏÇÒÁÍÍÙ, ÐÒÏÉÚ×ÏÄÑÝÉÅ ÍÁÎÉÐÕÌÑÃÉÉ Ó ÔÅËÓÔÏÍ ÐÏ ÛÁÂÌÏÎÁÍ.\n" "\n" "óÖÁÔÉÅ ÔÁÂÌÉÃ:\n" " -Ca, --align ÄÏÐÕÓËÁÔØ ÂÏÌØÛÉÊ ÒÁÚÍÅÒ ÔÁÂÌÉà ÄÌÑ\n" " ÌÕÞÛÅÇÏ ×ÙÒÁ×ÎÉ×ÁÎÉÑ × ÐÁÍÑÔÉ\n" " -Ce, --ecs ÓÏÚÄÁ×ÁÔØ ËÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ\n" " -Cf ÎÅ ÓÖÉÍÁÔØ ÔÁÂÌÉÃÙ; ÉÓÐÏÌØÚÏ×ÁÔØ -f ÐÒÅÄÓÔÁ×ÌÅÎÉÅ\n" " -CF ÎÅ ÓÖÉÍÁÔØ ÔÁÂÌÉÃÙ; ÉÓÐÏÌØÚÏ×ÁÔØ -F ÐÒÅÄÓÔÁ×ÌÅÎÉÅ\n" " -Cm, --meta-ecs ÓÏÚÄÁ×ÁÔØ ËÌÁÓÓÙ ÍÅÔÁÜË×É×ÁÌÅÎÔÎÏÓÔÉ\n" " -Cr, --read ÉÓÐÏÌØÚÏ×ÁÔØ read() ×ÍÅÓÔÏ stdio ÄÌÑ\n" " ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ ÓËÁÎÅÒÁ\n" " -f, --full ÓÏÚÄÁÔØ ÂÙÓÔÒÙÊ, ÂÏÌØÛÏÊ ÓËÁÎÅÒ. ôÏ ÖÅ, ÞÔÏ É -Cfr\n" " -F, --fast ÉÓÐÏÌØÚÏ×ÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÏÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÅ ÔÁÂÌÉÃ.\n" " ôÏ ÖÅ, ÞÔÏ É -CFr\n" " -Cem ÓÔÅÐÅÎØ ÓÖÁÔÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ\n" " (ÔÏ ÖÅ ÞÔÏ É --ecs --meta-ecs)\n" "\n" "ïÔÌÁÄËÁ:\n" " -d, --debug ×ËÌÀÞÉÔØ ÒÅÖÉÍ ÏÔÌÁÄËÉ × ÓËÁÎÅÒ\n" " -b, --backup ÚÁÐÉÓÁÔØ ÚÁÐÁÓÎÕÀ ËÏÐÉÀ × %s\n" " -p, --perf-report ÚÁÐÉÓÁÔØ ÏÔÞÅÔ Ï ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ × stderr\n" " -s, --nodefault ÐÏÄÁ×ÌÑÔØ ÐÒÁ×ÉÌÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ×Ù×ÏÄÁ (ECHO)\n" " ÔÅËÓÔÁ, ËÏÔÏÒÙÊ ÎÅ ÐÏÄÏÛÅÌ ÎÉ Ë ÏÄÎÏÍÕ ÐÒÁ×ÉÌÕ\n" " -T, --trace %s ÄÏÌÖÅÎ ÚÁÐÕÓËÁÔØÓÑ × ÒÅÖÉÍÅ ÔÒÁÓÓÉÒÏ×ËÉ\n" " -w, --nowarn ÎÅ ×ÙÄÁ×ÁÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ\n" " -v, --verbose ÚÁÐÉÓÁÔØ ÓÕÍÍÁÒÎÕÀ ÓÔÁÔÉÓÔÉËÕ ÓËÁÎÅÒÁ × stdout\n" "\n" "æÁÊÌÙ:\n" " -o, --outfile=æáêì ÕËÁÚÁÔØ ÉÍÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ\n" " -S, --skel=æáêì ÕËÁÚÁÔØ ÆÁÊÌ ËÁÒËÁÓÁ\n" " -t, --stdout ÚÁÐÉÓÁÔØ ÓËÁÎÅÒ × stdout ×ÍÅÓÔÏ %s\n" " --yyclass=éíñ ÉÍÑ ËÌÁÓÓÁ óÉ++\n" " --header-file=æáêì ÓÏÚÄÁÔØ ËÒÏÍÅ ÓËÁÎÅÒÁ ÚÁÇÏÌÏ×ÏÞÎÙÊ ÆÁÊÌ óÉ\n" " --tables-files=æáêì ÚÁÐÉÓÁÔØ ÔÁÂÌÉÃÙ × æáêì\n" "\n" "ðÏ×ÅÄÅÎÉÅ ÓËÁÎÅÒÁ:\n" " -7, --7bit ÓÏÚÄÁÔØ 7-ÂÉÔÎÙÊ ÓËÁÎÅÒ\n" " -8, --8bit ÓÏÚÄÁÔØ 8-ÂÉÔÎÙÊ ÓËÁÎÅÒ\n" " -B, --batch ÓÏÚÄÁ×ÁÔØ ÐÁËÅÔÎÙÊ ÓËÁÎÅÒ\n" " (× ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÓÔØ Ë -I)\n" " -i, --case-insensitive ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ ÂÕË× × ÛÁÂÌÏÎÁÈ\n" " -l, --lex-compat ÍÁËÓÉÍÁÌØÎÁÑ ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó ÐÅÒ×ÏÎÁÞÁÌØÎÙÍ lex\n" " -X, --posix-compat ÍÁËÓÉÍÁÌØÎÁÑ ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó POSIX lex\n" " -I, --interactive ÓÏÚÄÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÊ ÓËÁÎÅÒ\n" " (× ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÓÔØ Ë -B)\n" " --yylineno ÏÔÓÌÅÖÉ×ÁÔØ ÞÉÓÌÏ ÓÔÒÏË × yylineno\n" "\n" "çÅÎÅÒÉÒÕÅÍÙÊ ËÏÄ:\n" " -+, --c++ ÓÏÚÄÁ×ÁÔØ óÉ++ ËÌÁÓÓ ÓËÁÎÅÒÁ\n" " -Dmacro[=defn] #define macro defn (ÐÏ ÕÍÏÌÞÁÎÉÀ defn='1')\n" " -L, --noline ÐÏÄÁ×ÉÔØ ÄÉÒÅËÔÉ×Ù #line × ÓËÁÎÅÒÅ\n" " -P, --prefix=óôòïëá ÉÓÐÏÌØÚÏ×ÁÔØ óôòïëõ × ËÁÞÅÓÔ×Å ÐÒÅÆÉËÓÁ\n" " ×ÍÅÓÔÏ \"yy\"\n" " -R, --reentrant ÓÏÚÄÁ×ÁÔØ ÐÏ×ÔÏÒÎÏ ×ÈÏÄÉÍÙÊ ÓËÁÎÅÒ ÎÁ óÉ\n" " -Rb, --reentrant-bison ÐÏ×ÔÏÒÎÏ ×ÈÏÄÉÍÙÊ ÓËÁÎÅÒ ÄÌÑ ÐÏ×ÔÏÒÎÏ ×ÈÏÄÉÍÏÇÏ\n" " ÓÉÎÔÁËÓÉÞÅÓËÏÇÏ ÁÎÁÌÉÚÁÔÏÒÁ bison\n" " --stdinit ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ yyin/yyout × stdin/stdout\n" " --nounistd ÎÅ ×ËÌÀÞÁÔØ \n" " --noæõîëãéñ ÎÅ ÇÅÎÅÒÉÒÏ×ÁÔØ ÏÐÒÅÄÅÌÅÎÎÕÀ æõîëãéà\n" "\n" "òÁÚÎÏÅ:\n" " -Ó ËÌÀÞ ÄÌÑ ÓÏÍÅÓÔÉÍÏÓÔÉ Ó POSIX (ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ)\n" " -n ËÌÀÞ ÄÌÑ ÓÏÍÅÓÔÉÍÏÓÔÉ Ó POSIX (ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ)\n" " -?\n" " -h, --help ×ÙÄÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ\n" " -V, --version ×ÙÄÁÔØ ×ÅÒÓÉÀ %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "ÉÍÑ \"%s\" ÎÅÌÅÐÏ ÄÌÉÎÎÏÅ" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "ÏÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ × allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "ÎÁÊÄÅÎ ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ '%s' × check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÉÍ×ÏÌÁ %s ÓËÁÎÅÒÕ ÔÒÅÂÕÅÔÓÑ ËÌÀÞ -8" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "ÏÛÉÂËÁ ÐÒÉ ÒÁÂÏÔÅ Ó ÄÉÎÁÍÉÞÅÓËÏÊ ÐÁÍÑÔØÀ × copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: ÆÁÔÁÌØÎÁÑ ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "ÏÛÉÂËÁ Õ×ÅÌÉÞÅÎÉÑ ÒÁÚÍÅÒÁ ÍÁÓÓÉ×Á" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ × ÆÁÊÌÅ-ËÁÒËÁÓÅ" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "******** ÎÁÞÁÌÏ ÄÁÍÐÁ ËÏÎÅÞÎÏÇÏ Á×ÔÏÍÁÔÁ Ó ÎÁÞÁÌØÎÙÍ ÓÏÓÔÏÑÎÉÅÍ %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "ÓÏÓÔÏÑÎÉÅ # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********* ËÏÎÅà ÄÁÍÐÁ\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "ÐÕÓÔÏÊ Á×ÔÏÍÁÔ × dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÓÏÓÔÏÑÎÉÑ × mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "×ÈÏÄÎÙÅ ÐÒÁ×ÉÌÁ ÓÌÉÛËÏÍ ÓÌÏÖÎÙÅ (>= %d ÓÏÓÔÏÑÎÉÊ îëá)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "ÎÁÊÄÅÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÅÒÅÈÏÄÏ× × mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÒÁ×ÉÌ (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ ÒÁÚÄÅÌÁ 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "ÎÅ×ÅÒÎÙÊ ÓÐÉÓÏË ÎÁÞÁÌØÎÙÈ ÕÓÌÏ×ÉÊ" #: parse.y:315 msgid "unrecognized rule" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÏÅ ÐÒÁ×ÉÌÏ" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "ÚÁÍÙËÁÀÝÉÊ ËÏÎÔÅËÓÔ ÉÓÐÏÌØÚÕÅÔÓÑ Ä×ÁÖÄÙ" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" #: parse.y:821 msgid "negative range in character class" msgstr "ÏÔÒÉÃÁÔÅÌØÎÙÊ ÄÉÁÐÁÚÏÎ × ËÌÁÓÓÅ ÓÉÍ×ÏÌÏ×" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "óÌÉÛËÏÍ ÄÌÉÎÎÁÑ ×ÈÏÄÎÁÑ ÓÔÒÏËÁ\n" #: scan.l:161 #, fuzzy, c-format msgid "malformed '%top' directive" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ '%' ÄÉÒÅËÔÉ×Á" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ '%' ÄÉÒÅËÔÉ×Á" #: scan.l:284 msgid "Unmatched '{'" msgstr "" #: scan.l:317 msgid "incomplete name definition" msgstr "ÎÅÐÏÌÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÉÍÅÎÉ" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "ÎÅ×ÅÒÎÙÊ ËÌÁÓÓ ÓÉÍ×ÏÌÁ" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "ÎÅ×ÅÒÎÏÅ <ÎÁÞÁÌØÎÏÅ ÕÓÌÏ×ÉÅ>: %s" #: scan.l:768 msgid "missing quote" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ËÁ×ÙÞËÉ" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "ÎÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ËÌÁÓÓÁ ÓÉÍ×ÏÌÁ: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ ×ÎÕÔÒÉ {}" #: scan.l:862 msgid "missing }" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "×ÓÔÒÅÞÅÎ EOF ×ÎÕÔÒÉ ÄÅÊÓÔ×ÉÑ" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "×ÓÔÒÅÞÅÎ EOF ×ÎÕÔÒÉ ÄÅÊÓÔ×ÉÑ" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "îÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ ÐÏÄ ÓÉÍ×ÏÌÙ" #: sym.c:202 msgid "name defined twice" msgstr "ÉÍÑ ÏÐÒÅÄÅÌÅÎÏ Ä×ÁÖÄÙ" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "ÓÔÁÒÔÏ×ÏÅ ÕÓÌÏ×ÉÅ %s ÏÐÉÓÁÎÏ Ä×ÁÖÄÙ" #: yylex.c:56 msgid "premature EOF" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "íÅÔËÁ ËÏÎÃÁ\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*þÔÏ-ÔÏ ÎÅ ÔÁË* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "ÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÎÁ ÃÅÌÏÓÔÎÏÓÔØ × symfollowset" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "îÅ×ÏÚÍÏÖÎÏ ÕËÁÚÁÔØ ÐÁÒÁÍÅÔÒ header ÐÒÉ ×Ù×ÏÄÅ ÎÁ stdout." #~ msgid "unknown -R option '%c'" #~ msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ -R ËÌÀÞ '%c'" flex-2.5.35/po/sv.po0000664000175000017500000007273010761102744011110 00000000000000# Swedish messages for flex. # Copyright (C) 1996, 2002, 2004 Free Software Foundation, Inc. # Johan Linde , 1996. # Christian Rose , 2002, 2004. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2004-03-21 22:51+0100\n" "Last-Translator: Christian Rose \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Tillstånd %d är icke-accepterande -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "farligt efterföljande sammanhang" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " radnummer för associerad regel:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " utövergångar: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " stoppövergångar: filslut " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "konsekvenskontrollen misslyckades i epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA-utskrift:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "kunde inte skapa ett unikt buffertsluttillstånd" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "tillstånd %d:\n" # Det här är ju helt sjukt. Har buggrapporterat detta att det bör # ersättas med %s #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Kunde inte skriva yynxt_tbl[][]" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "otillåtet övergångstecken funnet i sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Ekvivalensklasser:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "tillstånd %d accepterar: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "tillstånd %d accepterar: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Kunde inte skriva yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Kunde inte skriva yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Kunde inte skriva ecstbl" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Metaekvivalensklasser:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Kunde inte skriva yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Kunde inte skriva yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Kunde inte skriva yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Kunde inte skriva yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Kunde inte skriva yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Kunde inte skriva ftbl" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Kunde inte skriva ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Kunde inte skriva eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Kunde inte skriva yynultrans_tbl" #: main.c:189 msgid "rule cannot be matched" msgstr "regeln kan inte matchas" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "flaggan -s angiven men standardregeln kan följas" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "-+ kan inte användas tillsammans med flaggan -l" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "-f eller -F kan inte användas tillsammans med flaggan -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" "--reentrant eller --bison-bridge kan inte användas tillsammans med flaggan -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF och -Cm kan inte användas tillsammans" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF och -I kan inte användas tillsammans" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF kan inte användas i lex-kompatibilitetsläge" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf och -CF är ömsesidigt uteslutande" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "-+ kan inte användas tillsammans med flaggan -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array kan inte användas tillsammans med flaggan -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "Flaggorna -+ och --reentrant är ömsesidigt uteslutande." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "bisonbrygga stöds inte för C++-inläsaren." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "kunde inte skapa %s" #: main.c:419 msgid "could not write tables header" msgstr "kunde inte skriva tabellhuvud" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "kan inte öppna mallfilen %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "indatafel vid läsande av mallfilen %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "fel vid stängande av mallfilen %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "fel vid skapande av huvudfilen %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "fel vid skrivande av utfilen %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "fel vid stängande av utfilen %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "fel vid borttagning av utfilen %s" # "Back up" i det här sammanhanget handlar om att flexmaskinen backar. #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Backar inte.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d säkerhetskopierande (icke-accepterande) tillstånd.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Komprimerade tabeller säkerhetskopierar alltid.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "fel när säkerhetskopian %s skulle skrivas" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "fel när säkerhetskopian %s skulle stängas" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "Statistik över användning av %s version %s:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " inläsarflaggor: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-tillstånd\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-tillstånd (%d ord)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d regler\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Inget säkerhetskopierande\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d (icke-accepterande) tillstånd för säkerhetskopiering\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Komprimerade tabeller säkerhetskopierar alltid\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Början-av-rad-mönster använda\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d startvillkor\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilontillstånd, %d dubbla epsilontillstånd\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " inga teckenklasser\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr " %d/%d teckenklasser behövde %d/%d ord för lagring, %d återanvända\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d par med tillstånd/nästa-tillstånd skapade\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d unika/duplicerade övergångar\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d tabellposter\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d basstandardposter skapade\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max %d) poster för nästa kontroll skapade\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max %d) mallposter för nästa kontroll skapade\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d tomma tabellposter\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototyper skapade\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d mallar skapade, %d användningar\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d ekvivalensklasser skapade\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d metaekvivalensklasser skapade\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d sparade) hashkollisioner, %d DFA lika\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d uppsättningar med omallokeringar krävdes\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d tabellposter krävs totalt\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Internt fel. flexopts är felaktiga.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prova \"%s --help\" för mer information.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "okänd flagga till -C \"%c\"" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "allvarligt fel vid tolkningen" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "kunde inte skapa filen %s med säkerhetskopieringsinformation" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "flaggan -l för beteende som AT&T:s lex medför en väsentlig prestandaförlust\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " och kan vara den egentliga orsaken till andra rapporter om detta\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%option yylineno medför en prestandaförlust ENDAST på regler som kan matcha " "nyradstecken\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktiv) medför en mindre prestandaförlust\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() medför en mindre prestandaförlust\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT medför en väsentlig prestandaförlust\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regler för varierbar efterföljande sammanhang medför en väsentlig " "prestandaförlust\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT kan inte användas tillsammans med -f eller -F" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno kan inte användas tillsammans med REJECT" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "regler för varierbar efterföljande kontext kan inte användas\n" "tillsammans med -f eller -F" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass är bara meningsfull för C++-inläsare" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Användning: %s [FLAGGOR] [FIL]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Genererar program som utför mönstermatchning på text.\n" "\n" "Tabellkomprimering:\n" " -Ca, --align bättre minnesjustering till priset av större tabeller\n" " -Ce, --ecs konstruera ekvivalensklasser\n" " -Cf komprimera inte tabeller; använd -f-representation\n" " -CF komprimera inte tabeller; använd -F-representation\n" " -Cm, --meta-ecs konstruera metaekvivalensklasser\n" " -Cr, --read använd read() istället för stdio för inläsarindata\n" " -f, --full generera snabb, stor inläsare. Samma som -Cfr\n" " -F, --fast använd alternativ tabellrepresentation. Samma som -CFr\n" " -Cem standardkomprimering (samma som --ecs --meta-ecs)\n" "\n" "Felsökning:\n" " -d, --debug aktivera felsökningsläge i inläsare\n" " -b, --backup skriv säkerhetskopieringsinformation till %s\n" " -p, --perf-report skriv prestandarapport till standard fel\n" " -s, --nodefault undertryck standardregel att använda \"ECHO\" på\n" " omatchad text\n" " -T, --trace %s ska köra i spårningsläge\n" " -w, --nowarn generera inte varningar\n" " -v, --verbose skriv sammanfattning av inläsarstatistik till\n" " standard ut\n" "\n" "Filer:\n" " -o, --outfile=FIL ange namn på utfil\n" " -S, --skel=FIL ange mallfil\n" " -t, --stdout skriv inläsare på standard ut istället för %s\n" " --yyclass=NAMN namn på C++-klass\n" " --header-file=FIL skapa en C-huvudfil förutom inläsaren\n" " --tables-file[=FIL] skriv tabeller till FIL\n" "\n" "Beteende för inläsare:\n" " -7, --7bit generera 7-bitarsinläsare\n" " -8, --8bit generera 8-bitarsinläsare\n" " -B, --batch generera batchinläsare (motsats till -I)\n" " -i, --case-insensitive ignorera skiftläge i mönster\n" " -l, --lex-compat maximal kompatibilitet med ursprungliga lex\n" " -X, --posix-compat maximal kompatibilitet med POSIX lex\n" " -I, --interactive generera interaktiv inläsare (motsats till -B)\n" " --yylineno spåra radantal i yylineno\n" "\n" "Genererad kod:\n" " -+, --c++ generera C++-inläsarklass\n" " -Dmacro[=defn] definiera makrodefinition (standardefn är \"1\")\n" " -L, --noline undertryck #line-direktiv i inläsaren\n" " -P, --prefix=STRÄNG använd STRÄNG som prefix istället för \"yy\"\n" " -R, --reentrant generera en återanropbar C-inläsare\n" " --bison-bridge inläsare för ren bisontolk.\n" " --bison-locations inkludera stöd för yylloc.\n" " --stdinit initiera yyin/yyout till standard in/ut\n" " --noansi-definitions funktionsdefinitioner i gammal stil\n" " --noansi-prototypes tom parameterlista i prototyper\n" " --nounistd inkludera inte \n" " --noFUNKTION generera inte en speciell FUNKTION\n" "\n" "Diverse:\n" " -c POSIX-flagga som inte gör något\n" " -n POSIX-flagga som inte gör något\n" " -?\n" " -h, --help visa detta hjälpmeddelande\n" " -V, --version visa versionsinformation för %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "namnet \"%s\" är löjligt långt" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "minnesallokeringen misslyckades i allocate_array()" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "otillåtet tecken \"%s\" funnet i check_char()" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "inläsaren kräver flaggan -8 för att kunna använda tecknet %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "dynamiskt minnesfel i copy_string()" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: allvarligt internt fel, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "försök att öka arraystorlek misslyckades" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "otillåten rad i mallfilen" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "minnesallokeringen misslyckades i yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** början av utskrift av nfa med starttillstånd %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "tillstånd %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** slut på utskrift\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "tom maskin i dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Regel för varierbar efterföljande kontext på rad %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "otillåten tillståndstyp i mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "indatareglerna är för komplicerade (>= %d NFA-tillstånd)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "fann för många övergångar i mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "för många regler (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "okänt fel vid tolkning av avsnitt 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "felaktig lista med startvillkor" #: parse.y:315 msgid "unrecognized rule" msgstr "okänd regel" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "efterföljande kontext används två gånger" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "felaktiga iterationsvärden" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "iterationsvärde måste vara positivt" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare" #: parse.y:821 msgid "negative range in character class" msgstr "negativt intervall i teckenklass" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "För lång indatarad\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "felaktigt \"%top\"-direktiv" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "okänt \"%\"-direktiv" #: scan.l:284 msgid "Unmatched '{'" msgstr "Ensamt \"{\"" #: scan.l:317 msgid "incomplete name definition" msgstr "ofullständig namndefinition" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "okänd %%option: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "otillåten teckenklass" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "odefinierad definition {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "otillåtet : %s" #: scan.l:768 msgid "missing quote" msgstr "citationstecken saknas" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "otillåtet uttryck för teckenklass: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "otillåtet tecken inom {}" #: scan.l:862 msgid "missing }" msgstr "} saknas" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "filslut påträffat inuti en handling" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "filslut påträffat inuti en handling" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "otillåtet tecken: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "kan inte öppna %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Användning: %s [FLAGGOR]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "flaggan \"%s\" tar inget argument\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "flaggan \"%s\" kräver ett argument\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "flaggan \"%s\" är tvetydig\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Okänd flagga \"%s\"\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Okänt fel=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "minnesallokering för symboltabell misslyckades" #: sym.c:202 msgid "name defined twice" msgstr "namnet definierat två gånger" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "startvillkoret %s deklarerat två gånger" #: yylex.c:56 msgid "premature EOF" msgstr "för tidigt filslut" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Slutmarkering\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Något märkligt* - tecken: %d värde: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "konsekvenskontrollen misslyckades i symfollowset" #~ msgid "Can't specify header option if writing to stdout." #~ msgstr "Kan inte ange huvudflagga då utskrift sker till standard ut." #~ msgid "unknown -R option '%c'" #~ msgstr "okänd flagga till -R \"%c\"" #~ msgid "Could not write %s" #~ msgstr "Kunde inte skriva %s" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF och %option yylineno kan inte användas tillsammans" #~ msgid "" #~ "For usage, try\n" #~ "\t%s --help\n" #~ msgstr "" #~ "Prova\n" #~ "\t%s --help\n" #~ "för användning\n" #~ msgid "-P flag must be given separately" #~ msgstr "flaggan -P måste anges separat" #~ msgid "-o flag must be given separately" #~ msgstr "flaggan -o måste anges separat" #~ msgid "-S flag must be given separately" #~ msgstr "flaggan -S måste anges separat" #~ msgid "-C flag must be given separately" #~ msgstr "flaggan -C måste anges separat" #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -outfil -Pprefix -Smallfil]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [fil ...]\n" #~ msgid "\t-b generate backing-up information to %s\n" #~ msgstr "\t-b skriv information om backande till %s\n" #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c POSIX-flaggan gör ingenting\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" #~ msgstr "\t-d ställ den skapade inläsaren i felsökningsläge\n" #~ msgid "\t-f generate fast, large scanner\n" #~ msgstr "\t-f skapa en snabb, stor inläsare\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h visa denna hjälptext\n" #~ msgid "\t-i generate case-insensitive scanner\n" #~ msgstr "\t-i skapa en skiftlägesokänslig inläsare\n" #~ msgid "\t-l maximal compatibility with original lex\n" #~ msgstr "\t-l maximal kompatibilitet med ursprungliga lex\n" #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n POSIX-flaggan gör ingenting\n" #~ msgid "\t-p generate performance report to stderr\n" #~ msgstr "\t-p skicka rapport om utförandet till standard fel\n" #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "" #~ "\t-s undertryck standardregeln att skriva ut text som ej kunde matchas\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "" #~ "\t-t skriv den skapade inläsaren till standard ut i stället för %s\n" #~ msgid "\t-v write summary of scanner statistics to f\n" #~ msgstr "\t-v skriv en sammanställning av inläsarstatistik till f\n" #~ msgid "\t-w do not generate warnings\n" #~ msgstr "\t-w visa inga varningar\n" #~ msgid "\t-B generate batch scanner (opposite of -I)\n" #~ msgstr "\t-B skapa en icke interaktiv inläsare (motsatsen till -I)\n" #~ msgid "\t-F use alternative fast scanner representation\n" #~ msgstr "\t-F använd en alternativ snabb inläsarrepresentation\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" #~ msgstr "\t-I skapa en interaktiv inläsare (motsatsen till -B)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L undertryck #line-direktiv i inläsaren\n" #~ msgid "\t-T %s should run in trace mode\n" #~ msgstr "\t-T %s ska köras i spårningsläge\n" #~ msgid "\t-V report %s version\n" #~ msgstr "\t-V visa %s version\n" #~ msgid "\t-7 generate 7-bit scanner\n" #~ msgstr "\t-7 skapa en 7-bitars inläsare\n" #~ msgid "\t-8 generate 8-bit scanner\n" #~ msgstr "\t-8 skapa en 8-bitars inläsare\n" #~ msgid "\t-+ generate C++ scanner class\n" #~ msgstr "\t-+ skapa en C++-inläsarklass\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? visa denna hjälptext\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "\t-C ange graden av tabellkompression (standard -Cem):\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "" #~ "\t\t-Ca byt ut stora tabeller för att förbättra minneshanteringen\n" #~ msgid "\t\t-Ce construct equivalence classes\n" #~ msgstr "\t\t-Ce skapa ekvivalensklasser\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "" #~ "\t\t-Cf komprimera inte inläsartabellerna; använd representationen -f\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "" #~ "\t\t-CF komprimera inte inläsartabellerna; använd representationen -F\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" #~ msgstr "\t\t-Cm skapa meta-ekvivalensklasser\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" #~ "\t\t-Cr använd read() i stället för standard in som indata till " #~ "inläsaren\n" #~ msgid "\t-o specify output filename\n" #~ msgstr "\t-o ange namnet på utfilen\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" #~ msgstr "\t-P ange annat scannerprefix än \"yy\"\n" #~ msgid "\t-S specify skeleton file\n" #~ msgstr "\t-S ange mallfil\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help visa denna hjälptext\n" #~ msgid "\t--version report %s version\n" #~ msgstr "\t--version visa %s version\n" flex-2.5.35/po/tr.po0000664000175000017500000006130110761102745011076 00000000000000# Translation of 'flex' messages to Turkish # Copyright (C) 2004 Free Software Foundation, Inc. # Deniz Akkus Kanca , 2004. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2004-05-16 18:36+0300\n" "Last-Translator: Deniz Akkus Kanca \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0.2\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Durum #%d kabul etmiyor -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "izleyen baÄŸlam tehlikeli" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " alakalı kural satır numaraları:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " dış-geçiÅŸler: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " sıkışık-geçiÅŸler: EOF " #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "epsclosure() içindeki tutarlılık kontrolü baÅŸarısız" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA Dökümü:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "tekil tampon sonu durumu yaratılamadı" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "durum # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "yynxt_tbl[][] yazılamadı" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "sympartition() içinde hatalı geçiÅŸ karakterleri saptandı" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Denklik Sınıfları:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "durum # %d kabul eder: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "durum # %d kabul eder: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "yyacclist_tbl yazılamadı" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "yyacc_tbl yazılamadı" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "ecstbl yazılamadı" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Ara-Denklik Sınıfları:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "yymeta_tbl yazılamadı" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "yybase_tbl yazılamadı" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "yydef_tbl yazılamadı" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "yynxt_tbl yazılamadı" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "yychk_tbl yazılamadı" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "ftbl yazılamadı" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "ssltbl yazılamadı" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "eoltbl yazılamadı" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "yynultrans_tbl yazılamadı" #: main.c:189 msgid "rule cannot be matched" msgstr "kural eÅŸlenemedi" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "-s seçeneÄŸi verilmiÅŸ fakat öntanımlı kural eÅŸlenebiliyor" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "-+'yi -l seçeneÄŸi ile kullanma" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "-f veya -F'yi -l seçeneÄŸi ile kullanma" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "-l seçeneÄŸi ile --reentrant veya --bison-bridge bir arada kullanılamaz" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "-Cf/-CF ve -Cm birlikte anlam ifade etmiyor" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "-Cf/-CF ve -I uyumsuz" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "-Cf/-CF lex-uyumluluk kipi ile uyumsuz" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "-Cf ve -CF bir arada kullanılamaz" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "-+, -CF seçeneÄŸi ile kullanılamaz" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "%array, -+ seçeneÄŸi ile uyumsuz" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "-+ ve --reentrant seçenekleri bir arada kullanılamaz" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "bison bridge, C++ tarayıcısı için desteklenmiyor." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "%s oluÅŸturulamadı" #: main.c:419 msgid "could not write tables header" msgstr "tablo baÅŸlığı yazılamadı" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "iskelet dosyası %s açılamadı" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "iskelet dosyası %s okunurken girdi hatası" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "iskelet dosyası %s kapatılırken hata" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "baÅŸlık dosyası %s oluÅŸturulurken hata" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "çıktı dosyası %s yazılırken hata" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "çıktı dosyası %s kapatılırken hata" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "çıktı dosyası %s silinirken hata" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Yedekleme yok.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d yedeklenen (kabul-etmeyen) durumlar.\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Sıkıştırılmış tablolar daima yedeklidir.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "yedek dosyası %s yazılırken hata" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "yedek dosyası %s kapatılırken hata" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s sürüm %s kullanım istatistikleri:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " tarayıcı seçenekleri: -" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA durumu\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA durumu (%d sözcük)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d kural\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Yedekleme yok\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d yedeklenmiÅŸ (kabul-edilmeyen) durum\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Sıkıştırılmış tablolar daima yedeklenir\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " BaÅŸlangıç-satırı kalıpları kullanıldı\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d baÅŸlangıç ÅŸartları\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilon durumu, %d çift epsilon durumu\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " karakter sınıfı yok\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d ihtiyaç duyulan karakter sınıfı %d/%d depolanan sözcük, %d yeniden " "kullanıldı\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d durumu/sonrakidurum çifti yaratıldı\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d tekil/çift geçiÅŸler\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d tablo girdileri\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d temel-tanım girdileri yaratıldı\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (en yüksek %d) nxt-chk girdileri yaratıldı\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (en yüksek %d) ÅŸablon nxt-chk girdileri yaratıldı\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d boÅŸ tablo girdileri\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d prototip yaratıldı\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d ÅŸablon yaratıldı, %d kullanıldı\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d denklik sınıfı yaratıldı\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d ara-denklik sınıfı yaratıldı\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d kaydedildi) saçılma çarpışması, %d DFA denk\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d tekrar ayırım kümesine ihtiyaç var\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " %d toplam tablo girdisine ihtiyaç var\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "İç hata. flexopt'lar bozuk.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "bilinmeyen -C seçeneÄŸi '%c'" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "ölümcül ayrıştırma hatası" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "yedekleme bilgi dosyası %s oluÅŸturulamadı" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "-l AT&T lex uyumluluÄŸu seçeneÄŸi önemli ölçüde yavaÅŸlamaya yol açar\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " ve belki bildirilen baÅŸka performans kayıplarının da kaynağı olabilir\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "yylineno %%seçeneÄŸi YALNIZCA yenisatır karakterlerini de eÅŸleyen satırlarda " "yavaÅŸlar.\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (etkileÅŸimli) küçük ölçekli bir yavaÅŸlamaya neden olur\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() küçük ölçekli bir yavaÅŸlamaya neden olur\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT büyük ölçekli bir yavaÅŸlamaya neden olur\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "DeÄŸiÅŸken izleyen baÄŸlam kuralları, büyük ölçekli yavaÅŸlamaya neden olur\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT, -f veya -F ile kullanılamaz" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno, REJECT ile birlikte kullanılamaz" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "deÄŸiÅŸken izleme ortamı kuralları, -f veya -F ile birlikte kullanılamaz" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass, sadece C++ tarayıcıları için anlamlıdır" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Kullanım: %s [SEÇENEKLER...] [DOSYA...]\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Metin üzerinde kalıp eÅŸleyen yazılımlar oluÅŸturur.\n" "\n" "Tablo Sıkıştırma Seçenekleri:\n" " -Ca, --align daha iyi bellek hizalaması için daha büyük tablolardan\n" " vazgeçer.\n" " -Ce, --ecs eÅŸitlik sınıfları oluÅŸturur\n" " -Cf tabloları sıkıştırmaz; -f gösterimini kullanır\n" " -CF tabloları sıkıştırmaz; -F gösterimini kullanır\n" " -Cm, --meta-ecs üst-eÅŸitlik sınıfları oluÅŸturur\n" " -Cr, --read tarama girdisi için stdio yerine read() kullanır\n" " -f, --full hızlı, büyük tarayıcı oluÅŸturur. -Cfr ile aynı\n" " -F, --fast alternatif tablo gösterimi kullanır. -CFr ile aynı\n" " -Cem ön tanımlı sıkıştırma (--ecs --meta-ecs ile aynı)\n" "\n" "Hata Ayıklama:\n" " -d, --debug tarayıcıda hata ayıklama kipini etkinleÅŸtirir\n" " -b, --backup yedekleme bilgisini %s'e yazdırır\n" " -p, --perf-report performans raporunu standart hataya yazdırır\n" " -s, --nodefault eÅŸleÅŸmeyen metni göstermek davranışını durdurur\n" " -T, --trace %s izleme kipinde çalışmalıdır\n" " -w, --nowarn uyarı bildirmez\n" " -v, --verbose tarama istatistiklerini standart çıktıya yazdırır\n" "\n" "Files:\n" " -o, --outfile=DOSYA çıktı dosya adını belirtir\n" " -S, --skel=DOSYA iskelet dosyanın adını belirtir\n" " -t, --stdout tarayıcıyı %s yerine stdout'a yazdırır\n" " --yyclass=İSİM C++ sınıfının ismi\n" " --header-file=DOSYA tarayıcı yanında C baÅŸlık dosyası da oluÅŸturur\n" " --tables-file[=DOSYA] tabloları DOSYA'ya yazar\n" "\n" "Tarayıcı davranışı:\n" " -7, --7bit 7-bit tarayıcı oluÅŸturur\n" " -8, --8bit 8-bit tarayıcı oluÅŸturur\n" " -B, --batch etkileÅŸimsiz tarayıcı oluÅŸturur (-I'nın tersi)\n" " -i, --case-insensitive kalıplarda büyük/küçük harf gözetmez\n" " -l, --lex-compat lex ile en fazla uyumluluÄŸu saÄŸlar\n" " -X, --posix-compat POSIX lex ile en fazla uyumluluÄŸu saÄŸlar\n" " -I, --interactive etkileÅŸimli tarayıcı oluÅŸturur (-B'nin tersi)\n" " --yylineno yylineno içinde satır sayısını tutar\n" "\n" "OluÅŸturulan kod:\n" " -+, --c++ C++ tarayıcı sınıfı oluÅŸturur\n" " -Dmacro[=defn] #define ile makro tanımı (öntanımlı defn, '1')\n" " -L, --noline tarayıcıda #line yönergeleri oluÅŸturmaz\n" " -P, --prefix=STRING \"yy\" yerine STRING'i önek olarak kullanır\n" " -R, --reentrant yeniden giriÅŸli C tarayıcısı oluÅŸturur\n" " --bison-bridge saf bison ayrıştırıcısı için tarayıcı.\n" " --bison-locations yylloc desteÄŸini etkinleÅŸtirir.\n" " --stdinit yyin/yyout'u stdin/stdout'a tanımlar\n" " --noansi-definitions eski tür iÅŸlev tanımları\n" " --noansi-prototypes prototiplerde boÅŸ parametre listesi\n" " --nounistd 'yi içermez\n" " --noFUNCTION FUNCTION ismindeki iÅŸlevi üretmez\n" "\n" "Muhtelif:\n" " -c hiç bir ÅŸey yapmayan POSIX seçeneÄŸi\n" " -n hiç bir ÅŸey yapmayan POSIX seçeneÄŸi\n" " -?\n" " -h, --help bu yardım bilgisini gösterir\n" " -V, --version %s sürümünü bildirir\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "\"%s\" ismi gülünç derecede uzun" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "allocate_array() içinde bellek ayırımı baÅŸarısız" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "check_char() içinde hatalı karakter '%s' saptandı" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "tarayıcı %s karakterini kullanmak için -8 bayrağına ihtiyaç duyar" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "copy_string() içinde dinamik bellek hatası" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: ölümcül iç hata, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "dizi boyutunu artırma denemesi baÅŸarısız" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "iskelet dosya içinde hatalı satır" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "yy_flex_xmalloc() içinde bellek ayırımı baÅŸarısız" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** baÅŸlangıç durumu %d olan nfa'nın dökümüne baÅŸlanıyor\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "durum # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** döküm sonu\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "dupmachine() içinde boÅŸ makine" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "%d satırında deÄŸiÅŸken izleyen baÄŸlam kuralı\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "mark_beginning_as_normal() içinde hatalı durum türü" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "girdi kuralları fazla karışık (>= %d NFA durumu)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "mkxtion() içinde çok fazla geçiÅŸ bulundu" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "çok fazla kural (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" msgstr "1. bölüm iÅŸlenirken bilinmeyen hata oluÅŸtu" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "hatalı baÅŸlangıç ÅŸart listesi" #: parse.y:315 msgid "unrecognized rule" msgstr "bilinmeyen kural" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "izleyen baÄŸlam iki defa kullanılmış" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "hatalı yineleme deÄŸerleri" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "yineleme deÄŸeri pozitif olmalı" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n" "belirsiz anlamlı" #: parse.y:821 msgid "negative range in character class" msgstr "karakter sınıflarında negatif aralık" #: parse.y:918 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n" "belirsiz anlamlı" #: parse.y:924 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n" "belirsiz anlamlı" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Girdi satırı fazla uzun\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "hatalı `%top' yönergesi" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "'%' yönergesi bilinmiyor" #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' eÅŸleÅŸmiyor" #: scan.l:317 msgid "incomplete name definition" msgstr "eksik isim tanımlaması" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "geçersiz %%seçenek: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "hatalı karakter sınıfı" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "belirsiz tanım {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "hatalı : %s" #: scan.l:768 msgid "missing quote" msgstr "eksik çift tırnak" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "bozuk karakter sınıfı ifadesi: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "{}'ler içinde hatalı karakter" #: scan.l:862 msgid "missing }" msgstr "eksik }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "bir eylem içinde EOF ile karşılaşıldı" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "bir eylem içinde EOF ile karşılaşıldı" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "hatalı karakter: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "%s açılamıyor" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Kullanım: %s [SEÇENEKLER...]\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "`%s' seçeneÄŸi argüman kullanmaz\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "`%s' seçeneÄŸi için argüman zorunludur\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "`%s' seçeneÄŸi belirsiz\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Bilinmeyen seçenek: `%s'\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Bilinmeyen hata=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "simge tablosu bellek ayırımı baÅŸarısız" #: sym.c:202 msgid "name defined twice" msgstr "isim iki defa tanımlandı" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "baÅŸlangıç ÅŸartı %s iki defa bildirildi" #: yylex.c:56 msgid "premature EOF" msgstr "erken EOF" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "BitiÅŸ İşaretçisi\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "*Garip Bir Åžey* -andaç: %d deÄŸer: %d\n" #~ msgid "consistency check failed in symfollowset" #~ msgstr "symfollowset içindeki tutarlık kontrolü baÅŸarısız" flex-2.5.35/po/vi.po0000664000175000017500000006652110761103057011075 00000000000000# Vietnamese translation for Flex. # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the flex-2.5.34 package. # Clytie Siddall , 2005-2008. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2008-02-10 17:40+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \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: LocFactoryEditor 1.7b3\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "Tình trạng #%d không phải là kiểu chấp nhận -\n" #: dfa.c:124 msgid "dangerous trailing context" msgstr "ngữ cảnh theo sau là nguy hiểm" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr " số thứ tá»± dòng quy tắc tương ứng:" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr " việc chuyển tiếp xuất: " #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" "\n" " chuyển tiếp jam (bị trở ngại?): gặp kết thúc tập tin" #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "việc kiểm tra sá»± thống nhất bị lá»—i trong epsclosure()" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "Äổ DFA:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "không thể tạo tình trạng kết thúc bá»™ đệm duy nhất" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "tình trạng # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "Không thể ghi « yynxt_tbl[][] »" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "phát hiện ký tá»± chuyển tiếp sai trong sympartition()" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "Hạng độ tương đương:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "tình trạng # %d chấp nhận: [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "tình trạng # %d chấp nhận: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "Không thể ghi « yyacclist_tbl »" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "Không thể ghi « yyacc_tbl »" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" msgstr "Không thể ghi « ecstbl »" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" "\n" "\n" "Hạng siêu tương đương:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "Không thể ghi « yymeta_tbl »" #: gen.c:1354 msgid "Could not write yybase_tbl" msgstr "Không thể ghi « yybase_tbl »" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "Không thể ghi « yydef_tbl »" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "Không thể ghi « yynxt_tbl »" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "Không thể ghi « yychk_tbl »" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" msgstr "Không thể ghi « ftbl »" #: gen.c:1624 msgid "Could not write ssltbl" msgstr "Không thể ghi « ssltbl »" #: gen.c:1675 msgid "Could not write eoltbl" msgstr "Không thể ghi « eoltbl »" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "Không thể ghi « yynultrans_tbl »" #: main.c:189 msgid "rule cannot be matched" msgstr "quy tắc không thể được khá»›p" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "đưa ra tùy chá»n « -s » còn quy tắc mặc định có thể được khá»›p" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "Không thể dùng ký tư « -+ » vá»›i tùy chá»n « -l »" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "Không thể dùng cỠ« -f » hoặc « -F » vá»›i tùy chá»n « -l »" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" "Không thể dùng đối số « --reentrant » (Ä‘iá»u vào lại) hoặc « --bison-bridge " "» (chiếc cầu bison) vá»›i tùy chá»n « -l »" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "Hai tùy chá»n « -Cf/-CF » và « -Cm » vá»›i nhau thì không có ý nghÄ©a" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "Hai tùy chá»n « -Cf/-CF » và « -I » không tương thích vá»›i nhau" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "" "Tùy chá»n « -Cf/-CF » không tương thích vá»›i chế độ « lex-compatibility " "» (tương thích vá»›i lex)" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "Hai tùy chá»n « -Cf » and « -CF » loại từ lẫn nhau" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "Không thể dùng ký tá»± « -+ » vá»›i tùy chá»n « -CF »" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "« %array » (mảng) không tương thích vá»›i tùy chá»n « -+ »" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "" "Hai tùy chá»n « - + » và « --reentrant » (Ä‘iá»u vào lại) loại từ lẫn nhau." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "bison bridge (chiếc cầu bison) không được há»— trợ vá»›i bá»™ quét C++." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "không thể tạo %s" #: main.c:419 msgid "could not write tables header" msgstr "không thể ghi phần đầu bảng" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "không thể mở tập tin khung sưá»n %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "gặp lá»—i nhập vào khi Ä‘á»c tập tin khung sưá»n %s" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "gặp lá»—i khi đóng tập tin khung sưá»n %s" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "gặp lá»—i khi tạo tập tin phần đầu %s" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "gặp lá»—i khi ghi tập tin xuất %s" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "gặp lá»—i khi đóng tập tin xuất %s" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "gặp lá»—i khi xoá bá» tập tin xuất %s" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "Không sao lưu.\n" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d Ä‘ang sao lưu các tình trạng (kiểu không chấp nhận).\n" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "Bảng đã nén lúc nào cÅ©ng sao lưu.\n" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "găp lá»—i khi ghi tập tin sao lưu %s" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "gặp lá»—i khi đóng tập tin sao lưu %s" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s phiên bản %s thống kê sá»­ dụng:\n" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " tùy chá»n bá»™ quét: —" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d tình trạng NFA\n" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d tình trạng DFA (%d từ)\n" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d quy tắc\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr " Không sao lưu\n" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d Ä‘ang sao lưu các tình trạng (kiểu không chấp nhận)\n" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr " Bảng đã nén lúc nào cÅ©ng sao lưu\n" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Dùng mẫu kiểu đầu dòng\n" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d Ä‘iá»u kiện bắt đầu\n" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d tình trạng épxilông (ε), %d tình trạng épxilông đôi\n" #: main.c:851 #, c-format msgid " no character classes\n" msgstr " không có hạng ký tá»±\n" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr " %d/%d hạng ky tá»± cần thiết %d/%d từ sức chứa, %d được dùng lại\n" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d cặp tình trạng/tình trạng kế tiếp đã được tạo\n" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d việc chuyên tiếp duy nhất/trùng\n" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr " %d mục nhập bảng\n" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d mục nhập base-def (định nghÄ©a cÆ¡ bản) đã được tạo\n" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (tối Ä‘a %d) mục nhập nxt-chk (kiểm tra kế tiếp) đã được tạo\n" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr "" " %d/%d (tối Ä‘a %d) mục nhập biểu mẫu nxt-chk (kiểm tra kế tiếp) đã được " "tạo\n" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr " %d mục nhập bảng trống\n" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr " %d proto (vật đầu tiên) đã được tạo\n" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d mẫu đã được tạo, %d lần dùng\n" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d hạng kiểu tương đương đã được tạo\n" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d hạng siêu tương đương đã được tạo\n" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d được lưu) lần va chạm vá»›i hash, %d DFA bằng nhau\n" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr " cần thiết %d tập hợp Ä‘iá»u phân chia lại\n" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr " cần thiết tổng mục nhập bảng %d\n" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Gặp lá»—i ná»™i bá»™ vì những flexopt dạng sai.\n" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Hãy thá»­ lệnh « %s --help » (trợ giúp) để xem thêm thông tin.\n" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "không rõ tùy chá»n « -C » là « %c »" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "gặp lá»—i phân tích nghiêm trá»ng" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "không thể tạo tập tin thông tin sao lưu %s" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "Tùy chá»n kiểu tương thích lex AT&T « -l » rất giảm hiệu suất\n" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " thì có lẽ thật gây ra trưá»ng hợp giảm hiệu suất khác\n" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" "%%tùy chá»n « yylineno » giảm hiệu suất CHỈ vá»›i quy tắc khá»›p vá»›i ký tá»± dòng " "má»›i\n" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "Tùy chá»n « -I » (tương tác) giảm hiệu suất má»™t ít\n" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() giảm hiệu suất má»™t ít\n" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT (Ä‘uổi ra) rất giảm hiệu suất\n" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "Quy tắc ngữ cảnh theo sau biến rất giảm hiệu suất\n" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "Không cho phép dùng REJECT (Ä‘uổi ra) vá»›i tùy chá»n « -f » hay « -F »" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "" "Không cho phép dùng %option (tùy chá»n) « yylineno » vá»›i REJECT (Ä‘uổi ra)" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "không cho phép dùng quy tắc ngữ cảnh theo sau biến vá»›i tùy chá»n « -f » hay « " "-F »" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option (tùy chá»n) « yyclass » chỉ có ý nghÄ©a vá»›i bá»™ quét C++" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Sá»­ dụng: %s [TUY_CHỌN] [TẬP_TIN]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" "Tạo ra chương trình thá»±c hiện tiến trình khá»›p mẫu trong Ä‘oạn chữ.\n" "\n" "Cách nén bảng:\n" " -Ca, --align\t\tthoả hiệp giữa bảng lá»›n hÆ¡n\n" "\tvà độ _canh lá»_ bá»™ nhá»› khá hÆ¡n\n" " -Ce, --ecs \tcấu tạo hạng kiểu tương đương\n" " -Cf \tkhông nén bảng; dùng sá»± tiêu biểu « -f »\n" " -CF \tkhông nén bảng; dùng sá»± cách tiêu biểu « -F »\n" " -Cm, --meta-ecs cấu tạo hạng kiểu _siêu_ tương đương\n" " -Cr, --read \tdùng chức năng read() (_Ä‘á»c_) thay thế\n" "\t\t\t\tthiết bị nhập/xuất chuẩn để nhập bá»™ quét\n" " -f, --full \ttạo ra bá»™ quét nhanh và lá»›n; bằng -Cfr (_đầy đủ_)\n" " -F, --fast \tdùng sá»± tiêu biểu bảng xen kẽ; bằng -CFr (_nhanh_)\n" " -Cem \tphương pháp nén mặc định;\n" "\tbằng « --ecs » « --meta-ecs »)\n" "\n" "Gỡ lá»—i:\n" " -d, --debug \tbật chế độ _gỡ lá»—i_ trong bá»™ quét\n" " -b, --backup \tghi thông tin _sao lưu_ vào %s\n" " -p, --perf-report \tghi _thông báo hiệu suất_ vào thiết bị lá»—i " "chuẩn\n" " -s, --nodefault \tthu hồi quy tắc _mặc định_\n" "\tđể ECHO (vá»ng) Ä‘oạn chưa khá»›p\n" " -T, --trace \t%s nên chạy trong chế độ theo _dấu vết_\n" " -w, --nowarn \t_không_ tạo ra lá»i _cảnh báo_\n" " -v, --verbose \tghi tóm tắt các thống kê bá»™ quét\n" "\t\t\t\tvào thiết bị xuất chuẩn (_chi tiêt_)\n" "\n" "Tập tin:\n" " -o, --outfile=TẬP_TIN \t\tghi rõ tên _tập tin xuất_\n" " -S, --skel=TẬP_TIN \t\tghi rõ tập tin _khung sưá»n_\n" " -t, --stdout \t\tghi bá»™ quet ra _thiết bị xuất chuẩn_\n" "\tthay thế ra %s\n" " --yyclass=TÊN \t\t\ttên cá»§a _hạng_ C++\n" " --header-file=TẬP_TIN tạo _tập tin phần đầu_ C thêm vào bá»™ quét\n" " --tables-file[=TẬP_TIN] \t\tghi các bảng vào TẬP_TIN này\n" "\n" "Ứng xá»­ cá»§a bá»™ quét:\n" " -7, --7bit \t\ttạo ra bá»™ quét kiểu 7-bit\n" " -8, --8bit \t\ttạo ra bá»™ quét kiểu 8-bit\n" " -B, --batch \ttạo ra bá»™ quét _bó_ (ngược vá»›i tùy chá»n « -I »)\n" " -i, --case-insensitive\t\t_bá» qua chữ hoa/thưá»ng_ trong mẫu\n" " -l, --lex-compat \t\tđộ _tương thích_ tối Ä‘a vá»›i lex gốc\n" " -X, --posix-compat \tđộ _tương thích_ tối Ä‘a vá»›i lex _POSIX_\n" " -I, --interactive \ttạo ra bá»™ quét _tương tác_\n" "\t(ngược vá»›i tùy chá»n « -B »)\n" " --yylineno \t\ttheo dõi số đếm số dòng trong yylineno\n" "\n" "Mã đã tạo ra :\n" " -+, --c++ \ttạo ra hang bá»™ quét kiểu C++\n" " -Dmacro[=lá»i_định_nghÄ©a] \t_định nghÄ©a_ bá»™ lệnh #define\n" "\t\t\t\t\t(lá»i định nghÄ©a mặc định là « 1 »)\n" " -L, --noline \tthu hồi các chỉ thị #line trong bá»™ quét\n" "\t(_không dòng_)\n" " -P, --prefix=CHUá»–I dùng CHUá»–I này là _tiá»n tố_ thay thế « yy »\n" " -R, --reentrant \ttạo ra má»™t bá»™ quét C kiểu _vào lại_\n" " --bison-bridge bá»™ quét cho trình phân tách thuần tuý kiểu " "bison.\n" "\t(_cầu_)\n" " --bison-locations \tgồm khả năng há»— trợ yylloc (_địa Ä‘iểm_).\n" " --stdinit \tkhởi động yyin/yyout vào thiết bị nhập/xuất " "chuẩn\n" " --noansi-definitions \t_lá»i định nghÄ©a_ chức năng kiểu cÅ©\n" "\t(_không ANSI_)\n" " --noansi-prototypes \tdanh sách tham số trống trong _vật đầu tiên_\n" "\t\t\t\t\t(_không ANSI_)\n" " --nounistd \t\t_không_ bao gồm \n" " --noCHỨC_NÄ‚NG \t\tkhông tạo ra má»™t CHỨC NÄ‚NG cá biệt\n" "\n" "Lặt vặt:\n" " -c \ttùy chá»n POSIX không làm gì\n" " -n \ttùy chá»n POSIX không làm gì\n" " -?\n" " -h, --help \thiển thị _trợ giúp_ này\n" " -V, --version \tthông báo phiên bản %s\n" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "tên « %s » là dài nhố nhăng" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "việc phân chia bá»™ nhá»› bị lá»—i trong allocate_array() (phân chia mảng)" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "phát hiện ký tá»± sai « %s » trong check_char() (kiểm tra ký tá»±)" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "bá»™ quét cần thiết cỠ« -8 » để dùng ký tá»± %s" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "bá»™ nhá»› động đã thất bại trong copy_string() (sao chép chuá»—i)" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: gặp lá»—i nôi bá»™ nghiêm trá»ng, %s\n" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "việc thá»­ tăng kích cỡ mảng đã thất bại" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "gặp dòng sai trong tập tin khung sưá»n" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "việc phân chia bá»™ nhá»› bị lá»—i trong yy_flex_xmalloc()" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** bắt đầu đổ NFA có tình trạng bắt đầu là %d\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "tình trạng # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** đổ xong\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "máy trống trong dupmachine() (nhân đôi máy)" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "Gặp quy tắc ngữ cảnh theo sau biến tại dòng %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "" "kiểu tình trạng sai trong mark_beginning_as_normal() (đánh dấu đầu là thưá»ng)" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "các quy tắc nhập vào là quá phức tạp (≥ %d tình trạng NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "gặp quá nhiá»u việc chuyển tiếp trong mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "quá nhiá»u quy tắc (> %d) !" #: parse.y:159 msgid "unknown error processing section 1" msgstr "gặp lá»—i không rõ khi xá»­ lý phần 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "danh sách Ä‘iá»u kiện bắt đầu là sai" #: parse.y:315 msgid "unrecognized rule" msgstr "gặp quy tắc không được nhận dạng" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "ngữ cảnh theo sau được dùng hai lần" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "gặp giá trị lặp lại sai" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "giá trị lặp lại phải là số dương" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "phạm vị ký tá»± [%c-%c] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thưá»ng" #: parse.y:821 msgid "negative range in character class" msgstr "gặp phạm vị âm trong hạng ký tá»±" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "[:^lower:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thưá»ng" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "[:^upper:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thưá»ng" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "dòng nhập quá dài\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "chỉ thị kiểu « %top » (đầu) dạng sai" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "gặp chỉ thị kiểu « % » không được nhận dạng" #: scan.l:284 msgid "Unmatched '{'" msgstr "Chưa khá»›p « { »" #: scan.l:317 msgid "incomplete name definition" msgstr "lá»i Ä‘inh nghÄ©a tên chưa hoàn tất" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "gặp tùy chá»n %% không được nhận dạng: %s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "hạng ký tá»± sai" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "chưa xác định lá»i định nghÄ©a {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr " (Ä‘iệu kiện bắt đầu) sai: %s" #: scan.l:768 msgid "missing quote" msgstr "thiếu dấu trích dẫn" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "biểu thức hạng ký tá»± sai: %s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "có ký tá»± sai ở trong hai dấu ngoặc móc {}" #: scan.l:862 msgid "missing }" msgstr "thiếu }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "gặp kết thúc tập tin ở trong má»™t hành động" #: scan.l:945 msgid "EOF encountered inside pattern" msgstr "gặp kết thúc tập tin ở trong mẫu" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "ký tá»± sai: %s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "không thể mở %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Sá»­ dụng: %s [TÙY_CHỌN]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "tùy chá»n « %s » không cho phép đối số\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "tùy chá»n « %s » cần đến đối số\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "tùy chá»n « %s » là mÆ¡ hồ\n" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Không nhận ra tùy chá»n « %s »\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "Không rõ lá»—i=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "lá»—i phân chia bá»™ nhá»› cá»§a bảng ký hiệu" #: sym.c:202 msgid "name defined twice" msgstr "tên đã được xác định hai lần" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "Ä‘iá»u kiện bắt đầu %s đã được tuyên bố hai lần" #: yylex.c:56 msgid "premature EOF" msgstr "gặp kết thúc tập tin quá sá»›m" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "Dấu kết thúc\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "• Äiá»u lạ • — hiệu bài: %d giá trị: %d\n" flex-2.5.35/po/zh_CN.po0000664000175000017500000004075210761102745011461 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) 2002 Free Software Foundation, Inc. # Wang Li , 2002. # msgid "" msgstr "" "Project-Id-Version: flex 2.5.8\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2008-02-26 16:34-0500\n" "PO-Revision-Date: 2002-08-18 10:37+0800\n" "Last-Translator: Wang Li \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=gb2312\n" "Content-Transfer-Encoding: 8bit\n" #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" msgstr "" #: dfa.c:124 msgid "dangerous trailing context" msgstr "" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" msgstr "" #: dfa.c:202 #, c-format msgid " out-transitions: " msgstr "" #: dfa.c:210 #, c-format msgid "" "\n" " jam-transitions: EOF " msgstr "" #: dfa.c:341 msgid "consistency check failed in epsclosure()" msgstr "epsclosure() ÖеÄÒ»ÖÂÐÔ¼ì²éʧ°Ü" #: dfa.c:429 msgid "" "\n" "\n" "DFA Dump:\n" "\n" msgstr "" "\n" "\n" "DFA Êä³ö£º\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" msgstr "ÎÞ·¨´´½¨¶ÀÁ¢µÄ end-of-buffer ״̬" #: dfa.c:625 #, c-format msgid "state # %d:\n" msgstr "״̬ # %d£º\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" msgstr "" #: dfa.c:1052 msgid "bad transition character detected in sympartition()" msgstr "ÔÚ sympartition() ¼ì²âµ½´íÎóµÄ±ä»»×Ö·û" #: gen.c:478 msgid "" "\n" "\n" "Equivalence Classes:\n" "\n" msgstr "" "\n" "\n" "µÈ¼ÛÀࣺ\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" msgstr "" #: gen.c:1110 #, c-format msgid "state # %d accepts: " msgstr "" #: gen.c:1157 msgid "Could not write yyacclist_tbl" msgstr "" #: gen.c:1233 msgid "Could not write yyacc_tbl" msgstr "" #: gen.c:1248 gen.c:1633 gen.c:1656 #, fuzzy msgid "Could not write ecstbl" msgstr "ÎÞ·¨´´½¨ %s" #: gen.c:1271 msgid "" "\n" "\n" "Meta-Equivalence Classes:\n" msgstr "" #: gen.c:1293 msgid "Could not write yymeta_tbl" msgstr "" #: gen.c:1354 #, fuzzy msgid "Could not write yybase_tbl" msgstr "ÎÞ·¨´´½¨ %s" #: gen.c:1388 msgid "Could not write yydef_tbl" msgstr "" #: gen.c:1428 msgid "Could not write yynxt_tbl" msgstr "" #: gen.c:1464 msgid "Could not write yychk_tbl" msgstr "" #: gen.c:1618 gen.c:1647 #, fuzzy msgid "Could not write ftbl" msgstr "ÎÞ·¨´´½¨ %s" #: gen.c:1624 #, fuzzy msgid "Could not write ssltbl" msgstr "ÎÞ·¨´´½¨ %s" #: gen.c:1675 #, fuzzy msgid "Could not write eoltbl" msgstr "ÎÞ·¨´´½¨ %s" #: gen.c:1735 msgid "Could not write yynultrans_tbl" msgstr "" #: main.c:189 msgid "rule cannot be matched" msgstr "ÎÞ·¨Æ¥Å乿Ôò" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "" #: main.c:234 msgid "Can't use -+ with -l option" msgstr "" #: main.c:237 msgid "Can't use -f or -F with -l option" msgstr "" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" msgstr "" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" msgstr "" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" msgstr "" #: main.c:294 msgid "Can't use -+ with -CF option" msgstr "" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" msgstr "" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "" #: main.c:305 msgid "bison bridge not supported for the C++ scanner." msgstr "" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" msgstr "ÎÞ·¨´´½¨ %s" #: main.c:419 #, fuzzy msgid "could not write tables header" msgstr "ÎÞ·¨´´½¨ %s" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "ÎÞ·¨´ò¿ª¹Ç¼ÜÎļþ %s" #: main.c:505 #, c-format msgid "input error reading skeleton file %s" msgstr "¶ÁÈ¡¹Ç¼ÜÎļþ %s ʱÊäÈë´íÎó" #: main.c:509 #, c-format msgid "error closing skeleton file %s" msgstr "¹Ø±Õ¹Ç¼ÜÎļþ %s ³ö´í" #: main.c:694 #, c-format msgid "error creating header file %s" msgstr "´´½¨Í·Îļþ %s ³ö´í" #: main.c:702 #, c-format msgid "error writing output file %s" msgstr "дÈëÊä³öÎļþ %s ³ö´í" #: main.c:706 #, c-format msgid "error closing output file %s" msgstr "¹Ø±ÕÊä³öÎļþ %s ³ö´í" #: main.c:710 #, c-format msgid "error deleting output file %s" msgstr "ɾ³ýÊä³öÎļþ %s ³ö´í" #: main.c:717 #, c-format msgid "No backing up.\n" msgstr "" #: main.c:721 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "" #: main.c:725 #, c-format msgid "Compressed tables always back up.\n" msgstr "" #: main.c:728 #, c-format msgid "error writing backup file %s" msgstr "дÈ뱸·ÝÎļþ %s ³ö´í" #: main.c:732 #, c-format msgid "error closing backup file %s" msgstr "¹Ø±Õ±¸·ÝÎļþ %s ³ö´í" #: main.c:737 #, c-format msgid "%s version %s usage statistics:\n" msgstr "" #: main.c:740 #, c-format msgid " scanner options: -" msgstr " ɨÃèÆ÷Ñ¡Ï-" #: main.c:819 #, c-format msgid " %d/%d NFA states\n" msgstr "" #: main.c:821 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr "" #: main.c:823 #, c-format msgid " %d rules\n" msgstr " %d Ìõ¹æÔò\n" #: main.c:828 #, c-format msgid " No backing up\n" msgstr "" #: main.c:832 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr "" #: main.c:837 #, c-format msgid " Compressed tables always back-up\n" msgstr "" #: main.c:841 #, c-format msgid " Beginning-of-line patterns used\n" msgstr "" #: main.c:843 #, c-format msgid " %d/%d start conditions\n" msgstr "" #: main.c:847 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr "" #: main.c:851 #, c-format msgid " no character classes\n" msgstr "" #: main.c:855 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" #: main.c:860 #, c-format msgid " %d state/nextstate pairs created\n" msgstr "" #: main.c:863 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr "" #: main.c:868 #, c-format msgid " %d table entries\n" msgstr "" #: main.c:876 #, c-format msgid " %d/%d base-def entries created\n" msgstr "" #: main.c:880 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr "" #: main.c:884 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr "" #: main.c:888 #, c-format msgid " %d empty table entries\n" msgstr "" #: main.c:890 #, c-format msgid " %d protos created\n" msgstr "" #: main.c:893 #, c-format msgid " %d templates created, %d uses\n" msgstr "" #: main.c:901 #, c-format msgid " %d/%d equivalence classes created\n" msgstr "" #: main.c:909 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr "" #: main.c:915 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr "" #: main.c:917 #, c-format msgid " %d sets of reallocations needed\n" msgstr "" #: main.c:919 #, c-format msgid " %d total table entries needed\n" msgstr "" #: main.c:996 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "" #: main.c:1006 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" #: main.c:1063 #, c-format msgid "unknown -C option '%c'" msgstr "δ֪µÄ -C Ñ¡Ïî¡°%c¡±" #: main.c:1192 #, c-format msgid "%s %s\n" msgstr "%s %s\n" #: main.c:1467 msgid "fatal parse error" msgstr "ÖÂÃüµÄ½âÎö´íÎó" #: main.c:1499 #, c-format msgid "could not create backing-up info file %s" msgstr "" #: main.c:1520 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" #: main.c:1523 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" #: main.c:1529 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" #: main.c:1536 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "" #: main.c:1541 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "" #: main.c:1547 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "" #: main.c:1552 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" #: main.c:1564 msgid "REJECT cannot be used with -f or -F" msgstr "" #: main.c:1567 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "" #: main.c:1570 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" #: main.c:1691 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "" #: main.c:1798 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Ó÷¨£º%s [Ñ¡Ïî] [Îļþ]...\n" #: main.c:1801 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the " "scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" #: misc.c:100 misc.c:126 #, c-format msgid "name \"%s\" ridiculously long" msgstr "" #: misc.c:175 msgid "memory allocation failed in allocate_array()" msgstr "" #: misc.c:250 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "" #: misc.c:255 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "" #: misc.c:288 msgid "dynamic memory failure in copy_string()" msgstr "" #: misc.c:422 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "" #: misc.c:875 msgid "attempt to increase array size failed" msgstr "ÊÔͼÔö¼ÓÊý×é´óСʱʧ°Ü" #: misc.c:1002 msgid "bad line in skeleton file" msgstr "¹Ç¼ÜÎļþÖдíÎóµÄÐÐ" #: misc.c:1051 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "ÔÚ yy_flex_xmalloc() ÖеÄÄÚ´æ·ÖÅäʧ°Ü" #: nfa.c:104 #, c-format msgid "" "\n" "\n" "********** beginning dump of nfa with start state %d\n" msgstr "" "\n" "\n" "********** ¿ªÊ¼Êä³öÆðʼ״̬Ϊ %d µÄ NFA\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" msgstr "״̬ # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" msgstr "********** Êä³ö½áÊø\n" #: nfa.c:174 msgid "empty machine in dupmachine()" msgstr "" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" msgstr "" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" msgstr "" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" msgstr "" #: nfa.c:677 msgid "found too many transitions in mkxtion()" msgstr "" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" msgstr "¹æÔò¹ý¶à (> %d)£¡" #: parse.y:159 msgid "unknown error processing section 1" msgstr "δ֪µÄ´íÎó´¦Àí½Ú 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" msgstr "´íÎóµÄÆðʼ״̬Áбí" #: parse.y:315 msgid "unrecognized rule" msgstr "²»ÄÜʶ±ðµÄ¹æÔò" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" msgstr "" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" msgstr "" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" msgstr "" #: parse.y:806 parse.y:816 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" #: parse.y:821 msgid "negative range in character class" msgstr "" #: parse.y:918 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" #: parse.y:924 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" #: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" #: scan.l:161 #, c-format msgid "malformed '%top' directive" msgstr "" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "" #: scan.l:284 msgid "Unmatched '{'" msgstr "" #: scan.l:317 msgid "incomplete name definition" msgstr "²»ÍêÕûµÄÃû³Æ¶¨Òå" #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" msgstr "²»ÄÜʶ±ðµÄ %%Ñ¡Ï%s" #: scan.l:633 scan.l:800 msgid "bad character class" msgstr "´íÎóµÄ×Ö·ûÀà±ð" #: scan.l:683 #, c-format msgid "undefined definition {%s}" msgstr "䶨ÒåµÄ¶¨Òå {%s}" #: scan.l:755 #, c-format msgid "bad : %s" msgstr "´íÎó <ÆðʼÌõ¼þ>£º%s" #: scan.l:768 msgid "missing quote" msgstr "ÒÅ©ÒýºÅ" #: scan.l:834 #, c-format msgid "bad character class expression: %s" msgstr "´íÎóµÄ×Ö·ûÀà±ð±í´ïʽ£º%s" #: scan.l:856 msgid "bad character inside {}'s" msgstr "" #: scan.l:862 msgid "missing }" msgstr "ÒÅ© }" #: scan.l:940 msgid "EOF encountered inside an action" msgstr "ÔÚ¶¯×÷ÖÐÎļþ½áÊø" #: scan.l:945 #, fuzzy msgid "EOF encountered inside pattern" msgstr "ÔÚ¶¯×÷ÖÐÎļþ½áÊø" #: scan.l:967 #, c-format msgid "bad character: %s" msgstr "´íÎóµÄ×Ö·û£º%s" #: scan.l:996 #, c-format msgid "can't open %s" msgstr "ÎÞ·¨´ò¿ª %s" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" msgstr "Ó÷¨£º%s [Ñ¡Ïî]...\n" #: scanopt.c:565 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "Ñ¡Ïî¡°%s¡±²»½ÓÊܲÎÊý\n" #: scanopt.c:570 #, c-format msgid "option `%s' requires an argument\n" msgstr "Ñ¡Ïî¡°%s¡±ÐèÒªÒ»¸ö²ÎÊý\n" #: scanopt.c:574 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" #: scanopt.c:578 #, c-format msgid "Unrecognized option `%s'\n" msgstr "δ֪µÄÑ¡Ïî¡°%s¡±\n" #: scanopt.c:582 #, c-format msgid "Unknown error=(%d)\n" msgstr "δ֪´íÎó=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" msgstr "·ûºÅ±íÄÚ´æ·ÖÅäʧ°Ü" #: sym.c:202 msgid "name defined twice" msgstr "Ãû³Æ¶¨ÒåÁËÁ½´Î" #: sym.c:253 #, c-format msgid "start condition %s declared twice" msgstr "ÆðʼÌõ¼þ %s ÉùÃ÷ÁËÁ½´Î" #: yylex.c:56 msgid "premature EOF" msgstr "" #: yylex.c:198 #, c-format msgid "End Marker\n" msgstr "" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" msgstr "" #~ msgid "consistency check failed in symfollowset" #~ msgstr "symfollowset ÖеÄÒ»ÖÂÐÔ¼ì²éʧ°Ü" #~ msgid "unknown -R option '%c'" #~ msgstr "δ֪µÄ -R Ñ¡Ïî¡°%c¡±" flex-2.5.35/po/ca.gmo0000664000175000017500000005167510761102743011213 00000000000000Þ•›ôÓÌ  7 Q _ x • /­ 'Ý .N c"o#’¶ Ê ë* 37kŠ!žCÀ$))S%m"“#¶ÚëF_~`‘"ò&0<+m™  Áß$÷")?i4‰5¾Eô/:j‡6£!Ú"ü6Mby“±Ìæ:T r “: ŸÚ!(ï!"2("#["+"«"&É"ð" ##,#K#*c#CŽ#%Ò#ø#+$>$"R$u$$¡$¶$Ð$,é$3%/J% z%ˆ%(¤%Í%(á%+ &6&T&'o&—&µ&Ò&ï&','J'g'„''–'¾'$Ù'2þ' 1(R(,m(-š( È( Ö(à(ü(!)&1)X)!r) ”)¢)0¹)!ê) **.* H*%U*F{*Â*Ù*õ*+"&+I+c+~+<+-Í+^û+JZ-¥-µ- Ò-ó-E.*Y.!„./¦.Ö. í./ú.)*/T/!o//‘/*Á/7ì/!$0F0"Z0_}0(Ý0.1 51(V1+1C«1ï12 2K>2)Š2´2É2'I3)q3=›32Ù3 4'4;4W4)t4#ž4$Â4ç4@5AH5]Š5Fè5(/6'X6A€6,Â63ï6#7A7_7{7 ™7$º7!ß7 8 "8!C8%e8 ‹8$¬8$Ñ8ö8þ 9%F-+FYF6nF'¥F9ÍFG6&G]GtGˆG&¥GÌG4êG[H3{H'¯H4×H I4+I`I€I™I(¸I$áI6J==J9{JµJ&ÈJ:ïJ*K<AK5~K/´KäK0L1LDPL6•L7ÌL:M8?MFxM8¿M2øM++NWN0uN>¦N&åN O7*O8bO›O ¬O%¸O#ÞO#P%&PLP&jP ‘PžPDºP;ÿP ;QHQ_Q {Q>ˆQeÇQ-R/BRrRŽR;®RêRS#SJ7S:‚SK[.)\v˜@ ] „aL7`†9^neRp34;?—omM(€dŒ•H›l…h/F:s%#x5u-CQkP‰BDrZš‡ˆ,‘‚U'$St0c8–J Yq<z’ w~NW‹gI!1TV6A2“_>Š|i= j&yf+*"ƒŽbOEG{™ X”} ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.33 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2006-04-13 22:21+0200 Last-Translator: Jordi Mallach Language-Team: Catalan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ********** s'està començant el bolcat de l'afn amb l'estat inicial %d Bolcat AFD: Classes d'equivalència: Classes de metaequivalència: transicions de bloqueig: EOF %d (%d desades) col·lisions d'ubicació («hash»), %d AFD iguals %d estats de retrocés (no-acceptació) %d entrades de la tabla buides %d estats èpsilon, %d estats doble èpsilon %d prototips creats %d regles es necessiten %d conjunts de relocalització %d parells estat/estat-següent creats %d entrades de la taula %d plantilles creades, %d usos es necessiten %d entrades totals de la taula %d/%d (pic %d) entrades nxt-chk creades %d/%d (pic %d) entrades de plantilla nxt-chk creades %d/%d estats AFD (%d paraules) %d/%d estats AFN %d/%d entrades base-def creades les classes de caràcters %d/%d necessitaren %d/%d paraules de magatzement, %d reutilitzades %d/%d classes d'equivalència creades %d/%d classes de meta-equivalència creades %d/%d condicions d'activació %d/%d transicions úniques/duplicades Utilitzats patrons de principi-de-línia Sempre es realitza còpia de seguretat de les taules comprimides Sense retrocés sense classes de caràcter opcions de l'analitzador: - i pot ser l'origen real d'altres penalitzacions del rendiment notificades números de línia associats a la regla: fi de transicions: l'%%opció yylineno implica una penalització del rendiment NOMÉS en regles que poden fer coincidir caràcters de nova línia %array és incompatible amb l'opció -+%d estats de retrocés (no-acceptació). l'%opció yyclass només té sentit per a analitzadors de C++l'%opció yylineno no es pot fer servir amb REJECT%s %s estadístiques d'ús de %s versió %s: %s: error intern fatal, %s ********** final del bolcat *Quelcom estrany* - terminal: %d val: %d -Cf i -CF són mútuament excloents-Cf/-CF i -Cm no tenen sentit juntes-Cf/-CF i -I són incompatibles-Cf/-CF són incompatibles amb el mode de compatibilitat amb lex-I (interactiu) implica una xicoteta penalització del rendiment -l l'opció de compatibilitat amb AT&T lex implica una penalització del rendiment molt gran S'ha especificat l'opció -s però es pot aplicar la regla per defecteNo es pot fer servir -+ amb l'opció -CFNo es pot fer servir -+ amb l'opció -lNo es pot fer servir --reentrant o --bison-bridge amb l'opció -lNo es pot fer servir -f o -F amb l'opció -lLes taules comprimides sempre impliquen un retard. No s'ha pogut escriure ecstblNo s'ha pogut escriure eoltblNo s'ha pogut escriure ftblNo s'ha pogut escriure ssltblNo s'ha pogut escriure yyacc_tblNo s'ha pogut escriure yyacclist_tblNo s'ha pogut escriure yybase_tblNo s'ha pogut escriure yychk_tblNo s'ha pogut escriure yydef_tblNo s'ha pogut escriure yymeta_tblNo s'ha pogut escriure yynultrans_tblNo s'ha pogut escriure yynxt_tblNo s'ha pogut escriure yynxt_tbl[][]s'ha trobat un EOF dins d'una accióMarcador de fi Genera programes que realitzen emparellaments de patrons en text. Compressió de taules: -Ca, --align renuncia a taules més grans a canvi de una millor alineació -Ce, --ecs construeix classes d'equivalència -Cf no comprimeixes les taules; utilitza la representació -f -CF no comprimeixes les taules; utilitza la representació -F -Cm, --meta-ecs construeix classes de metaequivalència -Cr, --read utilitza read() en lloc de stdio com a entrada de l'analitzador -f, --full genera un analitzador ràpid i gran. El mateix que -Cfr -F, --fast usa una representació alternativa de taules. El mateix que -CFr -Cem compressió per defecte (el mateix que --ecs --meta-ecs) Depuració: -d, --debug activa el mode de depuració en l'analitzador -b, --backup escriu l'informació dels retrocessos en %s -p, --perf-report escriu l'informe de rendiment en stderr -s, --nodefault suprimeix la regla per defecte de visualitzar (ECHO) el text no emparellat -T, --trace %s hauria d'executar-se en mode traça -w, --nowarn no generes avisos -v, --verbose escriu un resum de les estadístiques de l'analitzador en stdout Fitxers: -o, --outfile=FITXER especifica el fitxer d'eixida -S, --skel=FITXER especifica el fitxer d'esquema -t, --stdout escriu l'analitzador en stdout en lloc de %s --yyclass=NOM nom de la classe C++ --header-file=FITXER crea un fitxer de capçaleres de C a més de l'analitzador --tables-file=[FITXER] escriu les taules en FITXER Comportament de l'analitzador: -7, --7bit genera un analitzador de 7 bits -8, --8bit genera un analitzador de 8 bits -B, --batch genera un analitzador no interactiu (el contrari a -I) -i, --case-insensitive Ignora les diferències de majúscules i minúscules en els patrons -l, --lex-compat compatibilitat màxima amb el lex original -X, --posix-compat compatibilitat màxima amb el lex POSIX -I, --interactive genera un analitzador interactiu (el contrari a -B) --yylineno traça el compte de línies en yylineno Codi generat: -+, --c++ genera un analitzador de la classe C++ -Dmacro[=defn] #define macro defn (defn és «1» per defecte) -L, --noline suprimeix les directives #line en l'analitzador -P, --prefix=CADENA utilitza CADENA com prefix en comptes de «yy» -R, --reentrant genera un analitzador de C reentrant --bison-bridge analitzador per a l'analitzador pur de bison --bison-locations inclou suport per a yylloc --stdinit inicialitza yyin/yyout a stdin/stdout --noansi-definitions estil antic de definicions de funcions --noansi-prototypes llista de paràmetres buida als prototips --nounistd no inclogues --noFUNCIÓ no generes una FUNCIÓ en particular Miscel·lània: -c opció POSIX sense efecte -n opció POSIX sense efecte -? -h, --help mostra aquest missatge d'ajuda -V, --version informa de la versió de %s La línia d'entrada és massa llarga Error intern. Els flexopts estan malformats. No hi ha retrocés. Les opcions -+ i --reentrant són mútuament excloentsREJECT no es pot fer servir amb -f o -FREJECT implica una penalització del rendiment molt gran L'estat #%d és no-acceptar - Proveu «%s --help» per a obtindre més informació. Error desconegut=(%d) «|» no emparellatOpció no reconeguda «%s» Forma d'ús: %s [OPCIONS] [FITXER]... Forma d'ús: %s [OPCIONS]... Regla de context posterior variable en la línia %d Les regles de context posterior variable implica una penalització del rendiment molt gran ha fallat l'intent d'augmentar la mida de la matriu incorrecta: %scaràcter incorrecte «%s» detectat en check_char()classe de caràcter incorrectaexpressió de la classe de caràcters incorrecta: %scaràcter incorrecte dins de {}caràcter incorrecte: %svalors d'iteració incorrecteslínia incorrecta en el fitxer d'esquemacondició de començament incorrectatipus d'estat incorrecte en mark_beginning_as_normal()caràcter de transició incorrecte detectat en sympartition()No es suporta «bison bridge» per a l'analitzador de C++no es pot obrir %sNo es pot obrir el fitxer d'esquema %sla comprovació de consistència ha fallat en epsclosure()no s'ha pogut crear %sno s'ha pogut crear un fitxer d'informació del retrocés %sno s'ha pogut crear un estat únic de final-de-búferno s'ha pogut crear la capçalera de les taulesContext posterior perillóserrada de la memòria dinàmica en copy_string()màquina buida en dupmachine()s'ha produït un error en tancar el fitxer de còpia de seguretat %ss'ha produït un error en tancar el fitxer d'eixida %ss'ha produït un error en tancar el fitxer d'esquema %ss'ha produït un error en crear el fitxer de capçalera %ss'ha produït un error en suprimir el fitxer d'eixida %ss'ha produït un error en escriure el fitxer de còpia de seguretat %ss'ha produït un error en escriure el fitxer d'eixida %ss'ha produït un error fatal d'anàlisi sintàctics'han trobat massa transicions en mkxtion()definició del nom incompletaerror d'entrada al llegir el fitxer d'esquema %sles regles d'entrada són massa complicades (>= %d estats AFN)el valor d'iteració ha de ser positiudirectiva «%top» malformadaha fallat l'assignació de memòria en allocate_array()ha fallat l'assignació de memòria en yy_flex_xmalloc()manca una cometamanca una }el nom «%s» és ridículament llargel nom ha sigut definit dos vegadesrang negatiu en classe de caràcterl'opció «%s» no accepta arguments l'opció «%s» és ambígua l'opció «%s» requereix un argument EOF prematurno es pot satisfer la reglal'analitzador requereix l'opció -8 per a fer servir el caràcter %sla condició d'activació %s ha sigut declarada dos vegadesestat # %4d l'estat # %d accepta: l'estat # %d accepta: [%d] estat # %d: ha fallat l'assignació de memòria per a la taula de símbolsel rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les majúscules i minúsculesmassa regles (> %d)!s'ha utilitzat el context posterior dos vegadesdefinició no definida {%s}opció de -C desconeguda «%c»s'ha produït un error desconegut en processar la secció 1%%opció no reconeguda: %sdirectiva «%» no reconegudaregla no reconegudaLes regles de context posterior variable no es poden utilitzar amb -f o -Fyymore() implica una xicoteta penalització del rendiment flex-2.5.35/po/da.gmo0000664000175000017500000002515410761102743011205 00000000000000Þ•s´LÀ 7Á ù   = /U '… ­ .Ç ö " #: ^ r “ *´ 3ß  2 !F Ch $¬ )Ñ û % "; #^ ‚ “ « FÀ &"9&\0ƒ ´Õó$ "0)S}45ÒE/N~›!·"Ù ü ()R#b+†²*ÐCû%?e+«"¿âü,(3U ‰—(³Ü(ð+E'`ˆ¦Ãàÿ;Xu'‡¯$Ê2ï,"-O } ‹•± ÄÒ0é! <I^ x%…«ÂÜó <(-ea“;õ1CZu37Ãû4H c-p/žÎ$à-%5S‰¨'¾Aæ#()Lv%$µ-Ú%:>P"²$Â5ç6%T z›'¸#à% $* 5O 2… L¸ 0!(6!'_!)‡!.±!$à!"("="-Y"-‡"#µ"6Ù"P#+a##'«#Ó#!æ#$ $1$2M$-€$®$¿$/Þ$%0$%-U%ƒ%(¡%Ê%)å%&$.&&S&z&,š& Ç&è&%','%I'8o'5¨'6Þ'(*(3(S(m(€(7˜(&Ð( ÷()) <)0J){)”)°)È)Ü)Qî)+@*Frjc-f q+C"e 1MSs_LTQ^R?Za72b9E ;=4UWo8'<5Y]@ `,m#I>DAXp).\H[(!GlV%$k JNP hOKd6:&0igB/*n3 ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use -f or -F with -l optionCompressed tables always back up. EOF encountered inside an actionEnd Marker Internal error. flexopts are malformed. No backing up. REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad line in skeleton filebad state type in mark_beginning_as_normal()bad transition character detected in sympartition()can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statedangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)memory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicepremature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedtoo many rules (> %d)!undefined definition {%s}unknown -C option '%c'unrecognized %%option: %sunrecognized '%' directivevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2002.3.12a Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2002-03-27 09:12+0100 Last-Translator: Keld Simonsen Language-Team: Danish MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit ********** begynder udskrift af nfa med starttilstand %d DFA-udskrift: Ækvivalensklasser: Meta-ækvivalensklasser: stopovergange: filslut %d (%d gemte) hash-kollisioner, %d DFA'er er ens %d sikkerhedskopierer (ikke-accepterende) tilstande. %d tomme tabelposter %d epsilontilstande, %d dobbelte epsilontilstande %d prototyper oprettede %d regler %d opsætninger med omallokeringer krævedes %d par med tilstand/næste-tilstand oprettede %d tabelposter %d skabloner oprettede, %d formål %d totale tabelposter kræves %d/%d (max %d) næste/test-poster oprettede %d/%d (max %d) skablon-næste/test-poster oprettede %d/%d DFA-tilstand (%d ord) %d/%d NFA-tilstand %d/%d base/standard-poster oprettede %d/%d tegnklasser behøvede %d/%d ord for gemning, %d genbrugte %d/%d ækvivalensklasser oprettet %d/%d meta-ækvivalensklasser oprettede %d/%d startbetingelse %d/%d unikke/duplikerede overgange Begyndelse-af-linje-mønster brugt Komprimerede tabeller bakker altid tilbake Ingen sikkerhedskopiering ingen tegnklasser fortolkningsflag: - og kan være den egentlige årsag til andre rapporter om dette linjenummer for associeret regel: ud-overgange: -+ kan ikke bruges sammen med %array%d sikkerhedskopierer (ikke-accepterende) tilstande. %option yyclass er kun meningsfyldt for C++-fortolkereStatistik over brugaf %s version %s: %s: uoprettelig intern fejl, %s ********** slut på udskrift *Noget mærkeligt* - tegn: %d værdi: %d -Cf og -CF er gensidigt udelukkende-Cf/-CF og -Cm kan ikke bruges sammen-Cf/-CF og -I kan ikke bruges sammen-Cf/-CF kan ikke bruges i lex-kompatibilitetstilstand-I (interaktiv) medfører et mindre præstationstab flaget -l for opførsel som AT&T's lex medfører et væsentligt præstationstab flaget -s angivet, men standardreglen kan følges-+ kan ikke bruges sammen med flaget -CF-+ kan ikke bruges sammen med flaget -l-f eller -F kan ikke bruges sammen med -lKomprimerete tabeller backer alltid tillbaka. filslutning mødt inden i en handlingSlutmarkering Intern fejl. flexopts er fejlbehæftede. Ingen sikkerhedskopiering. REJECT kan ikke bruges sammen med -f eller -FREJECT medfører et væsentligt præstationstab Tilstand %d er ikke-accepterende - Regel for variabel efterfølgende kontekst på linje %d Regler for variabel efterfølgende kontekst medfører et væsentlig præstationstab forsøg på at øge arraystørrelse mislykkedesforkert : %sforkert tegn "%s" fundet i check_char()forkert tegnklasseforkert udtryk for tegnklasse: %sforkert tegn imellem {}forkert tegn: %sforkert linje i skeletfilenforkert tilstandstype i mark_beginning_as_normal()forkert overgangstegn fundet i sympartition()kan ikke åbne %skan ikke åbne skabelonfilen %skonsistenskontrollen mislykkedes i epsclosure()kunne ikke oprette %skunne ikke oprette sikkerhedskopi af info-fil %skunne ikke oprette en unik buffersluttilstandfarlig efterfølgende kontekstdynamisk hukommelsesfejl i copy_string()tom maskine i dupmachine()fejl ved lukning af sikerhedskopifilen %sfejl ved lukning af udfilen %sfejl ved lukning af skabelonfilen %sfejl ved oprettelsen af headerfilen %sfejl ved sletning af udfilen %sfejl ved skrivning af sikkerhedskopifilen %sfejl ved skrivning af udfilen %suoprettelig fejl ved analysenfandt for mange overgange i mkxtion()ufuldstændig navnedefinitionfejl ved læsning af skabelonsfilen %sinddatareglerne er for komplicerede (>= %d NFA-tilstand)hukommelsestildelingen mislykkedes i allocate_array()hukommelsestildelingen mislykkedes i yy_flex_xmalloc()citationstegn savnes} savnesnavnet "%s" er latterligt langtnavnet defineret to gangefor tidlig filslutreglen kan ikke matchesskanneren kræver flaget -8 for at kunne bruge tegnet %sstartbetingelse %s deklareret to gangetilstand %4d tilstand %d accepterer: tilstand %d accepterer: [%d] tilstand %d: hukommelsestildeling for symboltabel mislykkedesfor mange regler (> %d)!udefinieret definition {%s}ukendt flag til -C "%c"ukendt %%option: %sukendt %-direktivregler for variabel efterfølgende kontekst kan ikke bruges sammen med -f eller -Fyymore() medfører et mindre præstationstab flex-2.5.35/po/de.gmo0000664000175000017500000005211410761103057011204 00000000000000Þ•ž Óü H 7I  ¨ Å /Ý ' 5.O~ “"Ÿ#Âæ ú *<3g›º!ÎCð$4)Yƒ%"Ã#æ 3FH®`Á""&E0l+É Ðñ$'"L)o™4¹5îE$/jš·6Ó! ",Of}’©Ãáü0Kj„ ¢Ã â: î)"(>"g"2w"#ª"+Î"ú"&#?# S#a#{#š#*²#CÝ#3!$0U$%†$¬$+Æ$ò$"%)%C%U%j%„%,%3Ê%/þ% .&<&(X&&(•&+¾&ê&''#'K'i'†'£'Â'à'þ'(8('J(r($(2²( å(),!)-N) |) Š)”)°)!Ã)&å) *!&* H*V*0m*!ž* À*Í*â* ü*% +F/+v++©+Ã+"Ú+ý+,2,<D,-,ˆ¯,:8.s.„..º.7Ó.4 /@/4^/“/ ¨/+µ/-á/0('0+P02|0;¯0#ë01)&1IP1$š1)¿1é1*2.23M22•2­2KÃ23.3sA3-µ32ã314@H4‰4%4 ¶4×4$ó475>P525CÂ5>6NE6=”6;Ò6:7TI7Hž71ç7878U8q8 8$°8!Õ8 ÷8 9!99%[9 9$¢9&Ç9'î9:‚ &:©F.¿FîFHGFIG3G'ÄG>ìG+HDHZH$zHŸH8¹HTòHOGIO—I4çIJ5MpM*M+ºM+æM)N)QHVQ#ŸQÃQÒQìQ R5R_PR°R#ÈRìR# S2.SaS }SžS`³S7TL^.’)_y›@ ` ‡dM7c‰‚9aqhSs34;?šrpN(ƒg˜Ižoˆk/F:v%#{5x-CRnQŒBDu]HŠ‹,”…V'$Tw0f8™K“ \t<}• zOXZjJ!1UW6A2–b>l= m&|[i+*Ž"†‘„ePEG~œ Y—€ ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEOF encountered inside patternEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty [:^lower:] is ambiguous in case insensitive scanner[:^upper:] ambiguous in case insensitive scannerattempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.34 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2008-02-11 11:12:41+0100 Last-Translator: Michael Piefel Language-Team: German MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ********** beginne Ausgabe von NFA mit Startzustand %d DFA-Ausgabe: Äquivalenz-Klassen: Meta-Äquivalenz-Klassen: Hemm-Übergänge: EOF %d (%d gespeichert) Hash-Kollisionen, %d DFAs gleich %d Zustände mit Backing-up (nicht akzeptierend). %d leere Tabelleneinträge %d Epsilon-Zustände, %d Doppel-Epsilon-Zustände %d Protos erzeugt %d Regeln %d Sätze von Neuallozierungen benötigt %d Zustand/Nächster-Zustand-Paare erzeugt %d Tabelleneinträge %d Schablonen erzeugt, %d Benutzungen %d Tabelleneinträge insgesamt benötigt %d/%d (max. %d) Einträge „nxt-chk“ erzeugt %d/%d (max. %d) Einträge „template nxt-chk“ erzeugt %d/%d DFA-Zustände (%d Wörter) %d/%d NFA-Zustände %d/%d Einträge „base-def“ erzeugt %d/%d Zeichenklassen brauchten %d/%d Speicherwörter, %d wiederbenutzt %d/%d Äquivalenz-Klassen erzeugt %d/%d Meta-Äquivalenz-Klassen erzeugt %d/%d Startbedingungen %d/%d einzigartige/doppelte Übergänge Zeilenanfang-Muster benutzt Komprimierte Tabellen benutzen immer Backing-up. Kein Backing-up. keine Zeichenklassen Scanner-Optionen: - und ist möglicherweise die wirkliche Quelle anderer gemeldeter Einbußen verbundene Regelzeilennummern Aus-Übergänge: %%option yylineno führt zu Geschwindigkeitseinbußen NUR für Regeln, die auf einen Zeilenvorschub passen können „%array“ inkompatibel mit „-+“-Option%d Zustände mit Backing-up (nicht akzeptierend). %option yyclass ist nur bei C++-Scannern sinnvoll%option yylineno kann nicht mit REJECT zusammen verwendet werden%s %s %s Version %s Benutzungsstatistiken: %s: fataler interner Fehler, %s ********** end der Ausgabe *Etwas Seltsames* - tok: %d val: %d „-Cf“ und „-CF“ schließen sich gegenseitig aus„-Cf“/„-CF“ und „-Cm“ sind zusammen nicht sinnvoll„-Cf“/„-CF“ und „-I“ sind inkompatibel„-Cf“/„-CF“ sind inkompatibel mit lex-Kompatibilitätsmodus-I (interaktiv) führt zu kleineren Geschwindigkeitseinbußen -l AT&T-lex-Kompatibilitätsmodus führt zu großen Geschwindigkeitseinbußen „-s“-Option gegeben, aber Vorgabe-Regel kann nicht passenKann nicht „-+“ zusammen mit „-CF“-Option verwendenKann nicht „-+“ zusammen mit „-l“-Option verwendenKann nicht „--reentrant“ oder „--bison-bridge“ mit „-l“-Option verwendenKann nicht „-f“ oder „-F“ zusammen mit „-l“-Option verwendenKomprimierte Tabellen benutzen immer Backing-up. Konnte ecstbl nicht schreibenKonnte eoltbl nicht schreibenKonnte ftbl nicht schreibenKonnte ssltbl nicht schreibenKonnte yyacc_tbl nicht schreibenKonnte yyacclist_tbl nicht schreibenKonnte yybase_tbl nicht schreibenKonnte yychk_tbl nicht schreibenKonnte yydef_tbl nicht schreibenKonnte yymeta_tbl nicht schreibenKonnte yynultrans_tbl nicht schreibenKonnte yynxt_tbl nicht schreibenKonnte yynxt_tbl[][] nicht schreibenEOF innerhalb einer Aktion angetroffenEOF innerhalb eines Musters angetroffenEndemarkierung Generiert Programme, die Mustererkennung in Texten durchführen. Tabellen-Komprimierung: -Ca, --align erzeuge größere Tabellen, aber bessere Speicherausrichtung -Ce, --ecs konstruiere Äquivalenz-Klassen -Cf komprimiere Tabellen nicht; benutze „-f“-Repräsentation -CF komprimiere Tabellen nicht; benutze „-F“-Repräsentation -Cm, --meta-ecs konstruiere Meta-Äquivalenz-Klassen -Cr, --read benutze read() anstelle von stdio für Scannereingabe -f, --full generiere schnellen, großen Scanner. Genau wie -Cfr -F, --fast benutze alternative Tabellenrepräsentation. Genau wie -CFr -Cem Voreinstellung (genau wie --ecs --meta-ecs) Fehlersuche: -d, --debug Fehlersuch-(Debug-)Modus im Scanner aktivieren -b, --backup schreibe Backing-up-Information in %s -p, --perf-report schreibe Performanzbericht auf stderr -s, --nodefault unterdücke Standardregel ECHO für nicht passenden Text -T, --trace %s sollte im Trace-Modus laufen -w, --nowarn generiere keine Warnungen -v, --verbose schreibe Zusammenfassung der Scannerstatistiken auf stdout Dateien: -o, --outfile=DATEI Ausgabe-Dateiname -S, --skel=DATEI Skelettdatei -t, --stdout gib Scanner auf stdout anstelle von %s aus --yyclass=NAME Name der C++-Klasse --header-file=DATEI erstelle eine C-Headerdatei zusätzlich zum Scanner --tables-file[=DATEI] schreibe Tabellen in DATEI Scannerverhalten: -7, --7bit generiere 7-bit-Scanner -8, --8bit generiere 8-bit-Scanner -B, --batch generiere Dateiscanner (Gegenteil von -I) -i, --case-insensitive ignoriere Groß-/Kleinschreibung in Mustern -l, --lex-compat maximale Kompatibilität mit originalem lex -X, --posix-compat maximala Kompatibilität mit lex aus POSIX -I, --interactive generiere interaktiven Scanner (Gegenteil von -B) --yylineno verfolge Zeilenzähler in yylineno Generierter Code: -+, --c++ generiere C++-Scannerklasse -Dmacro[=defn] #definiere Makro (Standard-Defn ist „1“) -L, --noline unterdrücke #line-Direktiven im Scanner -P, --prefix=STRING benutze STRING als Präfix anstelle von „yy“ -R, --reentrant generiere einen reentranten C-Scanner --bison-bridge Scanner für reentranten Bison-Parser (Bison-Deklaration „%%pure_parser“) --bison-locations yylloc-Unterstützung aktivieren --stdinit initialisiere yyin/yyout mit stdin/stdout --noansi-definitions Funktionsdefinitionen alten Stils --noansi-prototypes leere Parameterlisten in Prototypen --nounistd nicht mit einbinden --noFUNKTION generiere eine bestimmte FUNKTION nicht Verschiedenes: -c keine Wirkung (aus POSIX) -n keine Wirkung (aus POSIX) -? -h, --help produziere diese Hilfenachricht -V, --version melde %s-Version Eingabezeile zu lang Interner Fehler. flexopts sind missgestaltet. Kein Backing-up. Optionen „-+“ und „--reentrant“ schließen sich gegenseitig aus.REJECT kann nicht mit „-f“ oder „-F“ zusammen verwendet werdenREJECT führt zu großen Geschwindigkeitseinbußen Zustand #%d ist nicht-akzeptierend – Versuchen Sie es mit „%s --help“ für mehr Informationen. Unbekannter Fehler=(%d) Unbalancierte „{“nicht erkannte Option „%s“ Aufruf: %s [OPTIONEN...] [DATEI...] Aufruf: %s [OPTIONEN...] Regel mit veränderlichem folgenden Kontext in Zeile %d Regeln mit variablem folgenden Kontext führen zu großen Geschwindigkeitseinbußen [:^lower:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung mehrdeutig[:^upper:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung mehrdeutigVersuch, die Feldgröße zu erhöhen, fehlgeschlagenungültige : %sungültiges Zeichen „%s“ in check_char() entdecktungültige Zeichenklasseungültiger Zeichenklassenausdruck: %sungültiges Zeichen innerhalb von {}ungültiges Zeichen: %sungültige Iterationswerteungültige Zeile in Skelettdateiungültige Startbedingungs-Listeungültiger Zustandstyp in mark_beginning_as_normal()ungültiges Übergangszeichen in sympartition() entdecktBrücke zu Bison für den C++-Scanner nicht unterstützt.kann %s nicht öffnenkann Skelett-Datei %s nicht öffnenKonsistenzprüfung fehlgeschlagen in epsclosure()konnte %s nicht erzeugenkonnte Datei %s mit Informationen zum Backing-up nicht erzeugenkonnte keinen einzigartigen Ende-des-Puffers-Zustand erzeugenkonnte Tabellenköpfe nicht schreibengefährlicher folgender KontextFehler beim dynamischen Speicher in copy_string()leere Maschine in dupmachine()Fehler beim Schließen der Backup-Datei %sFehler beim Schließen der Ausgabe-Datei %sFehler beim Schließen der Skelett-Datei %sFehler beim Erstellen der Header-Datei %sFehler beim Löschen der Ausgabe-Datei %sFehler beim Schreiben der Backup-Datei %sFehler beim Schreiben der Ausgabe-Datei %sfataler Parse-Fehlerzu viele Übergänge in mkxtion() gefundenunvollständige NamensdefinitionEingabefehler beim Lesen der Skelett-Datei %sEingaberegeln sind zu kompliziert (>= %d NFA-Zustände)Iterationswerte müssen positiv seinfalsch geformte „%top“-DirektiveSpeicheranforderung in allocate_array() fehlgeschlagenSpeicheranforderung in yy_flex_xmalloc() fehlgeschlagenfehlendes Anführungszeichenfehlende }name „%s“ ist lächerlich langName zweimal definiertnegativer Bereich in ZeichenklasseOption „%s“ erlaubt kein Argument Option „%s“ ist mehrdeutig Option „%s“ verlangt ein Argument vorzeitiges EOFRegel kann nicht passenScanner erfordert Option „-8“, um das Zeichen %s benutzen zu könnenStartbedingung %s zweimal definiertZustand # %4d Zustand # %d akzeptiert: Zustand # %d akzeptiert: [%d] Zustand # %d: Speicheranforderung für Symboltabelle fehlgeschlagender Zeichenbereich [%c-%c] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung mehrdeutigzu viele Regeln (> %d)!folgender Kontext doppelt verwendetundefinierte Definitione {%s}unbekannte „-C“-Option „%c“unbekannter Fehler beim Bearbeiten von Abschnitt 1nicht erkannte %%option: %snicht erkannte „%“-Direktivenicht erkannte RegelRegeln mit variablem folgenden Kontext können nicht mit „-f“ oder „-F“ verwendet werdenyymore() führt zu kleineren Geschwindigkeitseinbußen flex-2.5.35/po/es.gmo0000664000175000017500000003103010761102744011217 00000000000000Þ•ƒ4³L 7 Q _ x • /­ 'Ý  . N c "o #’ ¶ Ê ë * 37 k Š !ž CÀ $))S%m"“#¶ÚëF_~"‘&´0Û  4R$j")²Ü4ü51Eg/­Ýú!"8 [ |(ˆ±#Á+å&/Vj„£*»Cæ%*P+j–"ªÍçù(,A3n ¢°(Ìõ( +2^'y¡¿Üù6TqŽ' È$ã2 ;,\-‰ · ÅÏë!þ& G!a ƒ‘0¨!Ù û 7%Dj·"Îñ &<8-ur£E\m‰/¨KØ*$!O/q¡ º.Ç+ö"!=/_+7»"ó $+ _P '° +Ø "!''!'O!Bw!º!Ë!ç!P"'U"}"$”")¹"Bã"&##-# Q#r#&#$´#&Ù#$?$B_$^¢$J%%L%$r%7—%4Ï%4&9&&J&q&#&9¥&ß&)þ&('@' ['|'4“'iÈ'32((f(4(Ä(2ã(")9)"Q))t)-ž)7Ì):*?**T*0*°*dÄ*3)+]+-z+¨+3È+'ü+($,(M,'v,,ž,)Ë,+õ,0!-R-1r-C¤-.è-4.0L. }.‹. “.$´."Ù.(ü.%/&@/g/†/B£/9æ/ 0.0F0 c05q0§0"Á0ä01/1K1f1‚1G–19Þ1%M&AI[‚Kr k\)",^uEHh;>QLsj_ Rfmd9} 0BYoXW€VNc z G2:x#7yt=i]w`SC<v b|O/45P{J*ƒ1TaU$enF@qp'3+D(?g8.~6l!Z- ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use -f or -F with -l optionCompressed tables always back up. EOF encountered inside an actionEnd Marker Internal error. flexopts are malformed. No backing up. REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statedangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedtoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: GNU flex 2.5.8 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2003-01-02 12:06+0100 Last-Translator: Nicolás García-Pedrajas Language-Team: Spanish MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit ********** comenzando la descarga del AFN con el estado inicial %d Volcado AFD: Clases de equivalencia: Clases de metaequivalencia: transiciones de bloqueo: fin de archivo (EOF) %d (%d almacenadas) colisiones de localización ('hash'), %d AFDs iguales %d estados de retroceso (no-aceptación) %d entradas en la tabla vacías %d estados épsilon, %d estados doble épsilon %d prototipos creados %d reglas se necesitan %d conjuntos de relocalización %d pares estado/estado-siguiente creados %d entradas en la tabla %d plantillas creadas, %d usos se necesitan %d entradas totales en la tabla %d/%d (pico %d) entradas nxt-chk creadas %d/%d (pico %d) entradas de plantilla nxt-chk creadas %d/%d estados AFD {%d palabras} %d/%d estados AFN %d/%d entradas `base-def' creadas las clases de caracteres %d/%d necesitaron %d/%d palabras de almacenamiento, %d reutilizadas %d/%d clases de equivalencia creadas %d/%d clases de metaequivalencia creadas %d/%d condiciones de activación %d/%d transiciones únicas/duplicadas Usados patrones de comienzo-de-línea Siempre se realiza copia de seguridad de las tablas comprimidas Sin retroceso sin clases de caracteres opciones del analizador: - y puede ser el origen real de otras penalizaciones del rendimiento notificadas números de línea asociados a la regla: fin de transiciones: %array incompatible con la opción -+%d estados de retroceso (no-aceptación). la %option yyclass sólo tiene sentido para los analizadores en C++%s %s %s versión %s estadísticas de uso: %s: error interno muy grave, %s ********** fin de volcado *Algo extraño* - terminal: %d val: %d -Cf y -CF son mutuamente excluyentes-Cf/-CF y -Cm no tienen sentido juntos-Cf/-CF e -I son incompatibles-Cf/-CF son incompatibles con el modo de compatibilidad con lex-I (interactivo) implica una pequeña penalización del rendimiento -l la opción de compatibilidad con AT&T lex implica una penalización del rendimiento muy alta se ha especificado la opción -s pero se puede aplicar la regla por defectoNo se puede usar -+ con la opción -CFNo se puede usar -+ con la opción -lNo se pueden usar las opciones -f o -F con la opción -lLas tablas comprimidas siempre implican un retraso. Fin de archivo (EOF) encontrado dentro de una acciónMarcador de fin Error interno. flexopts mal formadas. Sin retroceso. REJECT no se puede usar con -f o -FREJECT implica una penalización del rendimiento muy alta El estado #%d es no-aceptar - Pruebe `%s --help' para más información. Error desconocido=(%d) Opción no reconocida `%s' Uso: %s [OPCIONES] [FICHERO]... Uso: %s [OPCIONES]... Regla de contexto posterior variable en la línea %d La existencia de reglas de contexto posterior variable implica una penalización del rendimiento muy alta falló el intento de aumentar el tamaño de la matriz incorrecta: %scarácter incorrecto '%s' detectado en `check_char()'clase de caracteres incorrectaexpresión de la clase de caracteres incorrecta: %scarácter incorrecto dentro de {}'scarácter incorrecto: %svalores incorrectos para iteraciónlínea incorrecta en el archivo de esquemalista de condiciones de activación incorrectatipo de estado incorrecto en mark_beginning_as_normal()carácter de transición erróneo detectado en sympartition()no se puede abrir %sno se puede abrir el archivo de esquema %sel teste de consistencia falló en `epsclosure()'no se pudo crear %sno se pudo crear el archivo de información de las reglas que producen un retroceso del analizador %sno se pudo crear un estado único de final-de-buffercontexto posterior peligrosofallo de la memoria dinámica en copy_string()máquina vacía en `dupmachine()'error al cerrar el archivo de copia de seguridad %serror al cerrar el archivo de salida %serror al cerrar el archivo de esquema %serror al crear el archivo de cabecera %serror al borrar el archivo de salida %serror al escribir el archivo de seguridad %serror al escribir el archivo de salida %serror muy grave en el analizador sintácticoencontradas demasiadas transiciones en mkxtion()definición de nombre incompletaerror de entrada al leer el archivo de esquema %slas reglas de entrada son demasiado complicadas (>= %d estados AFN)los valores para iteración deben ser positivosfalló la asignación de memoria en `allocate_array()'la reserva de memoria falló en yy_flex_xmalloc()falta comillafalta }nombre "%s" ridículamente grandeel nombre ha sido definido dos vecesrango negativo en clase caracteresla opción `%s' no permite un argumento la opción `%s' es ambigua la opción `%s' requiere un argumento fin de archivo (EOF) prematurola regla no se puede aplicarel analizador requiere la opción -8 para poder usar el carácter %sla condición de activación %s ha sido declarada dos vecesestado # %4d el estado # %d acepta: el estado # %d acepta: [%d] estado # %d: falló la reserva de memoria para la tabla de símbolosdemasiadas reglas (> %d)!contexto posterior usado dos vecesdefinición no definida {%s}opción -C desconocida '%c'error desconocido en el proceso de la sección 1%%opción no reconocida: %sdirectiva '%' no reconocidaregla no reconocidalas reglas de contexto posterior variable no se pueden usar con -f o -Fyymore() implica un pequeña penalización del rendimiento flex-2.5.35/po/fr.gmo0000664000175000017500000005123410761102744011227 00000000000000Þ•›ôÓÌ  7 Q _ x • /­ 'Ý .N c"o#’¶ Ê ë* 37kŠ!žCÀ$))S%m"“#¶ÚëF_~`‘"ò&0<+m™  Áß$÷")?i4‰5¾Eô/:j‡6£!Ú"ü6Mby“±Ìæ:T r “: ŸÚ!(ï!"2("#["+"«"&É"ð" ##,#K#*c#CŽ#%Ò#ø#+$>$"R$u$$¡$¶$Ð$,é$3%/J% z%ˆ%(¤%Í%(á%+ &6&T&'o&—&µ&Ò&ï&','J'g'„''–'¾'$Ù'2þ' 1(R(,m(-š( È( Ö(à(ü(!)&1)X)!r) ”)¢)0¹)!ê) **.* H*%U*F{*Â*Ù*õ*+"&+I+c+~+<+-Í+šû+@–-×-í- .*.<G.3„.!¸.,Ú./ !/'./&V/}/!™/.»/+ê/50L0i0#|0G 0(è0.1@1'^1%†1:¬1ç12$ 2>E2'„2¬2’Æ2$Y3/~36®31å3404O4o4#‰4&­41Ô4 5K'5Bs5a¶5B6'[6&ƒ6Rª63ý6917k77—7«7Á7Ú7÷78*8C8\8z8“84°8å8Á ö8¸E=ÔEF;*F-fF5”FÊF0èFG/G?G![G}G0•GWÆG6H#UH2yH¬H0ÊH(ûH$I;I&WI&~I3¥I;ÙI4JJJ)aJ3‹J¿JGÖJ1K#PK tK-•KÃK7âK3L1NL*€L3«L5ßL1MGM)`MŠM/§M;×M%N9N0YN1ŠN¼NÏN!áNO+O'DOlO#‡O«OÅOGâO)*P TPaPyP –P6¤PQÛP-Q#EQiQ…Q,¡QÎQéQRRR3hRK[.)\v˜@ ] „aL7`†9^neRp34;?—omM(€dŒ•H›l…h/F:s%#x5u-CQkP‰BDrZš‡ˆ,‘‚U'$St0c8–J Yq<z’ w~NW‹gI!1TV6A2“_>Š|i= j&yf+*"ƒŽbOEG{™ X”} ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.31 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2004-05-10 08:00-0500 Last-Translator: Michel Robitaille Language-Team: French MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); ********** début du vidage de nfa avec %d pour état de départ Vidage de l'AFD : Classes d'Équivalence : Classes de Méta-Équivalence : transitions-bouchon : EOF %d (%d sauvés) collisions durant dispersion, %d AFD égaux %d états avec retour arrière (si non-acceptants) %d entrées vides dans la table %d états epsilon, %d états double epsilon %d prototypes produits %d règles %d ensembles de réallocations requis %d paires state/nextstate produites %d entrées dans la table %d modèles produits, %d usages %d entrées requises dans la table, au total %d/%d (max %d) entrées nxt-chk produites %d/%d (max %d) entrées de modèle nxt-chk produites %d/%d états AFD (%d mots) %d/%d états NFA %d/%d entrées base-def produites %d/%d classes de caractères requises %d/%d mots-mémoire, %d recyclés %d/%d classes d'équivalence produites %d/%d classes de méta-équivalence produites %d/%d conditions de départ %d/%d transitions uniques/dupliquées Modèles utilisés en début de ligne Les tables comprimées font toujours des retours arrière Pas de retour arrière pas de classes de caractères options de l'analyseur lexical : - et peuvent être cause d'autres vices de performance observés numéros de ligne associés à la règle : transitions de sortie : %%option yylineno entraîne une importante perte de performance SEULEMENT sur les règles pouvant concorder avec le caractère de retour de chartiot %array incompatible avec l'option -+%d états avec retour arrière (non-acceptants). %option yyclass n'a de sens qu'avec les analyseurs C++%option yylineno ne peut être utilisé avec REJECT%s %s « %s » version %s, statistiques d'utilisation : %s : erreur interne fatale, %s ********** fin du vidage *Très bizarre* - tok : %d val : %d -Cf et -CF sont mutuellement exclusifs-Cf/-CF et -Cm ne peuvent être spécifiés ensemble-Cf/-CF et -I sont incompatiblesl'option -Cf/-CF n'est pas compatible avec le mode de compatibilité « lex »l'option -I (interactif) entraîne une faible perte de performance L'option -l de compatibilité avec le « lex » d'AT&T entraîne une importante perte de performance l'option -s est donnée mais la règle par défaut peut être reconnueL'option -+ ne peut être combinée à -CFL'option -+ ne peut être combinée à -lLes options --reentrant ou --bison-bridge ne peuvent être combinées à l'option -lLes options -f et -F ne peuvent être combinées à -lLes tables comprimées font toujours des retours-arrière. ne peut écrire ecstblNe peut écrire eoltblne peut écrire ftblNe peut écrire ssltblne peut écrire yyacc_tblNe peut écrire yyacclist_tblne peut écrire yybase_tblne peut écrire yychk_tblne peut écrire yydef_tblne peut écire yymeta_tblne peut écrire yynultrnas_tblne peut écrire yynxt_tblne peut écrire yynxt_tbl[][]Fin de fichier rencontrée à l'intérieur d'une actionMarqueur de Fin Génération de programmes capables de traiter la concordance de patrons sur du texte. Compression de table: -Ca, --align négocier les grandes tables pour un meilleur alignement mémoire -Ce, --ecs construire des équivalences de classes -Cf ne pas compresser les tables; utiliser la représentation -f -CF ne pas compresser les tables; utiliser la représentation -F -Cm, --meta-ecs construire des méta-équivalences de classes -Cr, --read utiliser read() au lieu de stdio pour le scanner d'entrée -f, --full générer rapidement, un grand scanner. Identique à -Cfr -F, --fast utiliser une table alternative de représentation. Identique à -CFr -Cem compression par défaut (identique à --ecs --meta-ecs) Mise au point (mode débug): -d, --debug permettre le mode débug du scanner -b, --backup archiver les informations vers %s -p, --perf-report produire un rapport de performance sur stderr -s, --nodefault supprimer les règles par défaut pour le texte non concordant par ECHO -T, --trace %s devrait s'exécuter en mode trace -w, --nowarn ne pas générer d'avertissements -v, --verbose produire des statistiques sommaires du scanner sur stdout Fichiers: -o, --outfile=FICHIER spécifier un nom de fichier de sortie -S, --skel=FICHIER spécifier le fichier du squelette -t, --stdout produire le scanner sur stdout au lieu de %s --yyclass=NOM nom de la classe C++ --header-file=FICHIER créer le fichier d'en-tête C en plus du scanner --tables-file[=FICHIER] écrire les tables dans le FICHIER Comportement du scanner: -7, --7bit générer un scanner de 7 bits -8, --8bit générer un scanner de 8 bits -B, --batch générer un scanner travaillant par lot (contraire de -I) -i, --case-insensitive ignorer la casse dans les patrons -l, --lex-compat établir une compatibilité maximale avec le lex d'origine -X, --posix-compat établir une compatibilité maximale avec le lex de POSIX -I, --interactive générer un scanner interactif (contraire de -B) --yylineno track line count in yylineno Code généré: -+, --c++ générer la classe C++ du scanner -Dmacro[=def] définition macro #define (par défaut est '1') -L, --noline supprimer les directives #line dans le scanner -P, --prefix=CHAÎNE utiliser la CHAÎNE comme préfixe au lieu de "yy" -R, --reentrant générer un scanner C en code réentrant --bison-bridge scanner pour l'analyseur pur bison --bison-locations inclure le support de yylloc. --stdinit initialiser yyin/yyout à stdin/stdout --nounistd ne pas inclure --noFONCTION ne pas générer une FONCTION particulière Diverses: -c ne pas traiter une option POSIX -n ne pas traiter une option POSIX -? -h, --help afficher l'aide-mémoire -V, --version afficher la version %s du logiciel ligne d'entrée trop longue Erreur interne. Les options « flexopts » sont mal composées. Pas de retour-arrière. Les options +- et --reentrant sont mutuellement exclusives.REJECT ne peut pas être utilisé avec -f ou -FREJECT entraîne une importante baisse de performance L'état n° %d n'accepte pas - Essayer « %s --help » pour plus d'informations. Erreur inconnue=(%d) « { » non pairéoption « %s » non reconnue Usage: %s [OPTIONS] [fichier]... Usage: %s [OPTIONS]... Règle de contexte traîné variable à la ligne %d Les règles de contexte traîné variable entraînent une importante baisse de performance échec de la tentative d'augmenter la taille du tableaumauvaise : %smauvais caractère « %s » détecté dans check_char()mauvaise classe de caractèresmauvaise expression de classe de caractères : %smauvais caractère entre accolades « {} »mauvais caractère : %svaleurs d'itération erronéemauvaise ligne dans le fichier canevasmauvaise liste de conditions de départmauvais type d'état dans mark_beginning_as_normal()mauvais caractère de transition détecté dans sympartition()bridge bison n'est pas supporté pour l'analyseur C++impossible d'ouvrir %simpossible d'ouvrir le fichier canevas %sle contrôle de cohérence a échoué dans epsclosure()impossible de créer %simpossible de créer le fichier d'information sur les retours-arrière %simpossible de créer un seul état de fin de tamponne peut écrire les tables d'en-têtele contexte traîné est dangereuxéchec de mémoire dynamique dans copy_string()machine vide dans dupmachine()erreur lors de la fermeture du fichier de sauvegarde %serreur lors de la fermeture du fichier de sortie %serreur lors de la fermeture du fichier canevas %serreur de création du fichier d'en-tête %serreur lors de l'effacement du fichier de sortie %serreur lors de l'écriture du fichier de sauvegarde %serreur lors de l'écriture du fichier de sortie %serreur de lecture fataleil y a trop de transitions dans mkxtion()définition de nom incomplèteerreur lors de la lecture du fichier canevas %sles règles d'entrée sont trop compliquées (>= %d états NFA)valeur d'itération doit être positivedirective « %top » mal composéeéchec d'allocation mémoire dans allocate_array()échec d'allocation mémoire dans yy_flex_xmalloc()guillemet manquant« } » non-appariéle nom "%s" est ridiculement longnom défini deux foisplage négative dans la classe de caractèresoption « %s » ne permet pas d'argument option « %s » est ambiguë option « %s » requiert un argument fin de fichier inattenduela règle ne peut être pairéel'analyseur nécessite l'option -8 pour pouvoir utiliser le caractère %scondition de départ %s déclarée deux foisétat n° %4d l'état n° %d accepte : l'état n° %d accepte : [%d] état n° %d : échec de l'allocation mémoire de la table des symbolesl'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la cassetrop de règles (> %d) !contexte remorqué utilisé deux foisdéfinition {%s} non-définiel'option -C « %c » inconnueerreur inconnue de traitement à la section 1%%option non-reconnue : %sdirective « % » inconnuerègle non reconnueles règles de contexte traîné variable ne peuvent pas être utilisées avec -f ou -Fyymore() entraîne une faible baisse de performance flex-2.5.35/po/ga.gmo0000664000175000017500000005000210761102744011177 00000000000000Þ•›ôÓÌ  7 Q _ x • /­ 'Ý .N c"o#’¶ Ê ë* 37kŠ!žCÀ$))S%m"“#¶ÚëF_~`‘"ò&0<+m™  Áß$÷")?i4‰5¾Eô/:j‡6£!Ú"ü6Mby“±Ìæ:T r “: ŸÚ!(ï!"2("#["+"«"&É"ð" ##,#K#*c#CŽ#%Ò#ø#+$>$"R$u$$¡$¶$Ð$,é$3%/J% z%ˆ%(¤%Í%(á%+ &6&T&'o&—&µ&Ò&ï&','J'g'„''–'¾'$Ù'2þ' 1(R(,m(-š( È( Ö(à(ü(!)&1)X)!r) ”)¢)0¹)!ê) **.* H*%U*F{*Â*Ù*õ*+"&+I+c+~+<+-Í+€û+8|-µ-Æ-Û-#ö-A..\.‹.4§.Ü. ñ. ý./:/R/$q/$–/.»/ê/00F60}0 —0¸0Ó0 ó0'1<1L1i15ƒ1+¹1å1Rø1)K2-u29£2&Ý23! 3$-3R3'r3-š3"È3!ë3/ 45=4@s4V´4, 5+85Fd51«5&Ý56$6D6b6"‚6&¥6#Ì6"ð6"7#67'Z7"‚7&¥7)Ì7ö7 8ÌC)éCD4"D,WD„D&£D:ÊDEE&E!Š|i= j&yf+*"ƒŽbOEG{™ X”} ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.33 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2006-03-05 13:09-0500 Last-Translator: Kevin Patrick Scannell Language-Team: Irish MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ********** ag tosú dumpála de nfa le staid tosaigh %d Dumpáil DFA: Aicmí Coibhéise: Aicmí Meiteachoibhéise: athruithe plúchta: comhadchríoch %d (%d sábháilte) tuairt haiseála, %d DFA comhionann le chéile %d staid chúlaithe (níl ina staid ghlactha) %d iontráil tábla folamh %d staid eipsealóin, %d staid eipsealóin dúbailte %d fréamhshamhail %d riail tá gá le %d sraith athdháilte %d péire state/nextstate %d iontráil sa tábla %d teimpléad, %d i bhfeidhm tá gá le %d iontráil tábla ar fad %d/%d (buaic %d) iontráil nxt-chk %d/%d (buaic %d) iontráil teimpléid nxt-chk %d/%d staid DFA (%d focal) %d/%d staid NFA %d/%d iontráil base-def tá gá le %d/%d aicme charachtair %d/%d focal stórála, %d athúsáidte %d/%d aicme choibhéise %d/%d aicme mheiteachoibhéise %d/%d coinníoll tosaigh %d/%d athrú sainiúil/dúblach Patrúin úsáidte ag ceann líne Cúlaíonn táblaí comhbhrúite i gcónaí Ná cúlaítear níl aon aicme charachtair roghanna don scanóir: - agus is féidir gur cúis é le fadhbanna luais eile é líne-uimhreacha de na rialacha bainteacha: athruithe amach: is cúis le moilliú mór an %%rogha yylineno, MÁ tá rialacha ann le línte nua iontu níl %array comhoiriúnach leis an rogha -+%d staid chúlaithe (níl ina staid ghlactha). tá an %option yyclass gan bhrí ach amháin le scanóirí C++níl %option yylineno ar fáil le REJECT%s %s %s leagan %s staitistic d'úsáid: %s: earráid inmheánach mharfach, %s ********** i ndeireadh dumpála *Rud Éigin Aisteach* - tok: %d val: %d Is comheisiatach iad na roghanna -Cf agus -CFNíl -Cf/-CF agus -Cm comhoiriúnachNíl -Cf/-CF agus -I comhoiriúnachNíl -Cf/-CF ar fáil sa mhód comhoiriúnachta lexis cúis le moilliú beag an rogha -I (idirghníomhach) is cúis le moilliú mór an rogha -l (comhoiriúnacht le AT&T lex) bhí an rogha -s tugtha ach is féidir an riail réamhshocraithe a chur i gcomhoiriúnachtNíl -+ ar fáil in éineacht leis an rogha -CFNíl -+ ar fáil in éineacht leis an rogha -lNíl --reentrant nó --bison-bridge ar fáil in éineacht leis an rogha -lNíl -f nó -F ar fáil in éineacht leis an rogha -lCúlaíonn táblaí comhbhrúite i gcónaí. Níorbh fhéidir ecstbl a scríobhNíorbh fhéidir eoltbl a scríobhNíorbh fhéidir ftbl a scríobhNíorbh fhéidir ssltbl a scríobhNíorbh fhéidir yyacc_tbl a scríobhNíorbh fhéidir yyacclist_tbl a scríobhNíorbh fhéidir yybase_tbl a scríobhNíorbh fhéidir yychk_tbl a scríobhNíorbh fhéidir yydef_tbl a scríobhNíorbh fhéidir yymeta_tbl a scríobhNíorbh fhéidir yynultrans_tbl a scríobhNíorbh fhéidir yynxt_tbl a scríobhNíorbh fhéidir yynxt_tbl[][] a scríobhBuaileadh comhadchríoch isteach i ngníomhComhartha Deiridh Gineann an clár seo cláir eile le haghaidh chomhoiriúnú de phatrúin. Comhfháscadh táblaí: -Ca, --align malartaigh táblaí níos mó d'ailíniú cuimhne níos fearr -Ce, --ecs déan aicmí coibhéise -Cf ná comhbhrúigh táblaí; bain úsáid as léiriú -f -CF ná comhbhrúigh táblaí; bain úsáid as léiriú -F -Cm, --meta-ecs déan aicmí meiteachoibhéise -Cr, --read bain úsáid as read() in ionad stdio d'ionchur -f, --full tóg scanóir atá mear agus mór; ar comhbhrí le -Cfr -F, --fast úsáid léiriú táblaí tánaisteach; ar comhbhrí le -CFr -Cem comhfháscadh réamhshocraithe (== --ecs --meta-ecs) Dífhabhtú: -d, --debug cuir dífhabhtú ar obair -b, --backup scríobh eolas faoin chúlú chuig %s -p, --perf-report scríobh tuairisc fheidhmithe chuig stderr -s, --nodefault ná déan macalla de théacs neamh-chomhoiriúnach -T, --trace ba chóir do %s a rith sa mhód loirg -w, --nowarn ná taispeáin rabhaidh -v, --verbose taispeáin achoimre ar staitistic scanóra chuig stdout Comhaid: -o, --outfile=COMHAD roghnaigh ainm comhaid le haghaidh aschuir -S, --skel=COMHAD roghnaigh creatchomhad -t, --stdout scríobh an scanóir chuig stdout in ionad %s --yyclass=COMHAD ainm de `class' C++ --header-file=COMHAD scríobh comhad ceanntáisc C i dteannta an scanóra --tables-file[=COMHAD] scríobh na táblaí chuig COMHAD Scanóir: -7, --7bit gin scanóir 7-giotán -8, --8bit gin scanóir 8-giotán -B, --batch gin scanóir baisce (i gcodarsnacht le -I) -i, --case-insensitive déan neamhshuim ar cheannlitreacha/litreacha beaga -l, --lex-compat comhoiriúnacht le lex bunúsach, a mhéad is féidir -X, --posix-compat comhoiriúnacht le lex POSIX, a mhéad is féidir -I, --interactive gin scanóir idirghníomhach (i gcodarsnacht le -B) --yylineno coimeád líon na línte i yylineno Generated code: -+, --c++ gin scanóir mar class C++ -Dmacra[=sain] #define macra sain (réamhshocrú: sain='1') -L, --noline ná cuir treoracha #line sa scanóir -P, --prefix=TEAGHRÁN úsáid TEAGHRÁN mar réimír in ionad "yy" -R, --reentrant gin scanóir reentrant C --bison-bridge scanóir do pharsálaí íon bison. --bison-locations ceadaigh an úsáid de yylloc. --stdinit socraigh yyin/yyout mar stdin/stdout faoi seach --noansi-definitions sainmhíniú d'fheidhmeanna ar an sean-nós --noansi-prototypes ceadaigh liosta folamh de pharaiméadair --nounistd ná cuir san áireamh --noFEIDHM ná gin an FHEIDHM seo Miscellaneous: -c rogha POSIX gan feidhm -n rogha POSIX gan feidhm -? -h, --help taispeáin an chabhair seo -V, --version taispeáin leagan %s Tá líne an ionchuir rófhada Earráid inmheánach (flexopts míchumtha). Ná cúlaítear. Is comheisiatach iad na roghanna -+ agus --reentrantNíl REJECT ar fáil leis na roghanna -f nó -Fis REJECT cúis le moilliú mór Níl an staid #%d ina staid ghlactha - Bain triail as `%s --help' chun tuilleadh eolais a fháil. Earráid anaithnid=(%d) '{' corrRogha anaithnid `%s' Úsáid: %s [ROGHANNA] [COMHAD]... Úsáid: %s [ROGHANNA]... riail maidir le comhthéacs sraoilleach athraitheach ag líne %d is cúis le moilliú na rialacha maidir le comhthéacs sraoilleach athraitheach theip ar mhéadú an eagair neamhbhailí: %saimsíodh carachtar neamhbhailí '%s' i check_char()aicme charachtair neamhbhailíis neamhbhailí an slonn aicme carachtair: %scarachtar neamhbhailí idir {}carachtar neamhbhailí: %sluachanna timthrialla neamhbhailídrochlíne i gcreatchomhadis neamhbhailí liosta na coinníollacha tosaighdrochstaid i mark_beginning_as_normal()carachtar trasdula neamhbhailí i sympartition()níl bison bridge ar fáil don scanóir C++.ní féidir %s a oscailtní féidir creatchomhad %s a oscailttheip ar sheiceáil chomhionannais i epsclosure()níorbh fhéidir %s a chruthúníorbh fhéidir comhad %s a chruthú don eolas faoin chúlúníorbh fhéidir staid shainiúil a chruthú ag deireadh maoláinníorbh fhéidir ceanntásc táblaí a scríobhcomhthéacs sraoilleach baolachtheip ar dháileadh na cuimhne i copy_string()meaisín folamh i dupmachine()earráid agus comhad cúltaca %s á dhúnadhearráid agus aschomhad %s á dhúnadhearráid agus creatchomhaid %s á dhúnadhearráid agus comhad ceanntáisc %s á chruthúearráid agus aschomhaid %s á scriosadhearráid agus comhad cúltaca %s á scríobhearráid agus aschomhaid %s á scríobhearráid pharsála mharfachan iomarca athruithe i mkxtion()is neamhiomlán an sainmhíniú ainmearráid agus creatchomhaid %s á léamhis róchasta na rialacha ionchuir (>= %d staid NFA)ní foláir luach timthrialla deimhneachtreoir '%top' míchumthatheip ar dháileadh na cuimhne i allocate_array()theip ar dháileadh na cuimhne i yy_flex_xmalloc()comhartha athfhriotal ar iarraidh} ar iarraidh.tá an t-ainm "%s" i bhfad Éireann rófhadasainmhíníodh an t-ainm faoi dhóraon diúltach in aicme charachtairní cheadaítear argóint i ndiaidh na rogha `%s' tá an rogha `%s' débhríoch tá argóint de dhíth i ndiaidh na rogha `%s' comhadchríoch gan choinneNí féidir riail chomhoiriúnach a aimsiúní foláir an rogha -8 chun an charachtair %s a úsáidfógraíodh an coinníoll tosaigh %s faoi dhóstaid # %4d glacann staid # %d le: glacann staid # %d le: [%d] staid # %d: theip ar dháileadh na cuimhne don tábla siombalachtá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha agus litreacha beagaan iomarca rialacha (> %d)!baineadh úsáid as comhthéacs sraoilleach faoi dhósainmhíniú neamhshainithe {%s}rogha -C anaithnid '%c'earráid anaithnid agus an chéad pháirt á próiseáilrogha %% anaithnid: %streoir '%' anaithnidriail anaithnidníl rialacha maidir le comhthéacs sraoilleach athraitheach ar fáil le -f nó -Fis cúis le moilliú beag an fheidhm yymore() flex-2.5.35/po/ko.gmo0000664000175000017500000002415110761102744011227 00000000000000Þ•q¤—,ˆ 7‰ Á Ï è  / 'M u . ¾ Ó "ß # & : [ *| 3§ Û ú ! C0 $t )™ à %Ý " #& J [ s Fˆ Ï î "&$0K |»$Ó"ø)E4e5šEÐ/Fc!"¡ Ä åñ#+%Q*oCš%Þ+J"^›­,Ç3ô (6(R{(+¸ä'ÿ'Ebž¼Ùö'0$K2p,£-Ð þ 2 ES0j!› ½Êß ù%,C]tŽ<©-æU+j – ¤°Â=Ò&7.R¡"°,Ó.'G2o;¢Þþ)O>$Ž%³Ù!ï3!Eg|‘<¢ßò%%*1P‚™µ&Éð)":/].2¼3ï&# 'J %r "˜ » Ø ã *÷ ""!&E!l!/Š!(º!ã!.ú! )"7"O"b"r",Œ"0¹"ê"!þ"+ #L#(b#8‹#Ä#1Õ#$)"$(L$-u$+£$)Ï$)ù$#% 6%W%0j%,›%/È%0ø% )&7&F&f& &Œ&6©&à&'#'"3' V'&d'‹'¨'À'Ø'ð'7(*>(b@PO2kR4.Bn#E1m%7/gWci'\9d_&:?Ma>-f)FL 8Y, GA$;[j6DQ^*V<p ` SqJ (]5T=0NIe 3"UloKH+ZhC!X ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use -f or -F with -l optionCompressed tables always back up. EOF encountered inside an actionEnd Marker No backing up. REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad line in skeleton filebad state type in mark_beginning_as_normal()bad transition character detected in sympartition()can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statedangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)memory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicepremature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedtoo many rules (> %d)!undefined definition {%s}unknown -C option '%c'unrecognized %%option: %sunrecognized '%' directivevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.2 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 1997-02-05 20:30 Last-Translator: Choi Jun Ho Language-Team: Korean MIME-Version: 1.0 Content-Type: text/plain; charset=EUC-KR Content-Transfer-Encoding: 8-bit ********** ½ÃÀÛ »óÅ %d¿¡¼­ nfaÃâ·Â ½ÃÀÛ DFA Ãâ·Â: µ¿Ä¡·ù: ¸ÞŸ-µ¿Ä¡·ùµé: Àë-ÀüÀÌ: EOF %d(%d ÀúÀåµÊ)°³ÀÇ ÇØ½Ì Ãæµ¹·Î %d°³ÀÇ DFA°¡ °°°Ô 󸮵˴ϴ٠%d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅ %d°³ÀÇ ºó Å×ÀÌºí ¿£Æ®¸® %d°³ÀÇ ¿¦½Ç·Ð »óÅÂ, %d°³ÀÇ ÀÌÁß ¿¦½Ç·Ð »óÅ %d°³ÀÇ ¿øÇüÀÌ ¸¸µé¾îÁ³½À´Ï´Ù %d°³ÀÇ ±ÔÄ¢ %d°³ÀÇ ÀçÇÒ´ç ÁýÇÕÀÌ ÇÊ¿äÇÕ´Ï´Ù %d°³ÀÇ »óÅÂ/´ÙÀ½ »óÅ ½ÖÀÌ ¸¸µé¾îÁ³½À´Ï´Ù %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸® %d°³ÀÇ ÅÛÇø®Æ®°¡ ¸¸µé¾îÁö°í, %d°³¸¦ ¾¹´Ï´Ù ÃÑ %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®°¡ ÇÊ¿äÇÕ´Ï´Ù %d/%d (ÃÖ´ë %d) nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù %d/%d (ÃÖ´ë %d) ÅÛÇø®Æ® nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù %d/%d°³ÀÇ DFA »óÅ (%d ´Ü¾î) %d/%d°³ÀÇ NFA »óÅ %d/%d base-def ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù %d/%d ¹®ÀÚ ÁýÇÕ¿¡ %d/%d°³ÀÇ ÀúÀå¿ë ¹®ÀÚ°¡ ÇÊ¿äÇß°í, %d°³´Â Àç»ç¿ëµÇ¾ú½À´Ï´Ù. %d/%d°³ÀÇ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù %d/%d ¸ÞŸ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù %d/%d°³ÀÇ ½ÃÀÛÁ¶°Ç %d/%d°³ÀÇ À¯ÀÏÇÑ/Áߺ¹µÇ´Â ÀüÀÌ Çà ½ÃÀÛ(beginning-of-line) À¯ÇüÀ» »ç¿ëÇÏ¿´½À´Ï´Ù ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù ½ºÄ³³Ê ¿É¼Ç: - ±×¸®°í ¾Æ¸¶µµ ´Ù¸¥ º¸°íµÈ ¼º´É ÀúÇÏÀÇ ½ÇÁ¦ ¿øÀÎÀÏ °ÍÀÔ´Ï´Ù °ü·Ã ±ÔÄ¢ Çà¹øÈ£: ³ª°¡´Â ÂÊ ÀüÀÌ: %array´Â -+¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù%d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ. %option yyclass´Â C++½ºÄ³³Ê¿¡°Ô¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù%s ¹öÀü %s »ç¿ë Åë°è: %s: Ä¡¸íÀûÀÎ ³»ºÎ ¿¡·¯, %s ********** Ãâ·Â ³¡ *¹«¾ð°¡ ÀÌ»óÇÕ´Ï´Ù* - tok: %d val: %d -Cf¿Í -CF´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù-Cf/-CF´Â -Cm¿Í °°ÀÌ ¾²¸é Àǹ̰¡ ¾ø½À´Ï´Ù-Cf/-CF¿Í -I´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù-Cf/-CF ´Â lexȣȯ ¸ðµå¿Í´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù-I (´ëÈ­Çü) Àº ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù -l AT&T lex ȣȯ ¿É¼ÇÀº Å« ¼º´É ÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù -s ¿É¼ÇÀÌ ÁÖ¾îÁ³Áö¸¸ ±âº» ±ÔÄ¢ÀÌ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù-CF¿É¼Ç¿¡ -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù-l¿É¼Ç¿¡´Â -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù-l¿É¼Ç¿¡ -f³ª -F¿É¼ÇÀ» ¾µ ¼ö ¾ø½À´Ï´Ù ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù. µ¿ÀÛ µµÁß¿¡ EOF¸¦ ¸¸³µ½À´Ï´ÙÁ¾·á Ç¥½Ã µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù. REJECT´Â -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´ÙREJECT´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù »óŹøÈ£ %d´Â ¹Þ¾ÆµéÀÌÁö ¾Ê´Â -ÀÔ´Ï´Ù %dÇà¿¡¼­ °¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢ °¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù ¹è¿­ Å©±â¸¦ ´Ã¸®·Á´Â ½Ãµµ°¡ ½ÇÆÐÇß½À´Ï´ÙÀ߸øµÈ <½ÃÀÛ Á¶°Ç>: %scheck_char()¿¡¼­ À߸øµÈ ¹®ÀÚ '%s'¸¦ ã¾Ò½À´Ï´ÙÀ߸øµÈ ¹®ÀÚ·ùÀ߸øµÈ ¹®ÀÚ ÁýÇÕ ½Ä: %s{}¾ÈÀÇ À߸øµÈ ¹®ÀÚÀ߸øµÈ ¹®ÀÚ: %s½ºÄÌ·¹Åæ ÆÄÀÏ¿¡ À߸øµÈ Çàmark_beginning_as_normal()¿¡¼­ À߸øµÈ »óÅÂÇüsympartition()¿¡¼­ À߸øµÈ ÀüÀÌ ¹®ÀÚ¸¦ ã¾Ò½À´Ï´Ù%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ùepsclosure()¿¡¼­ Àϰü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´ÙµÇµ¹¸² Á¤º¸ ÆÄÀÏ %s¸¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´ÙÀ¯ÀÏÇÑ ¹öÆÛÀÇ ³¡(end-of-buffer)»óŸ¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´ÙÀ§ÇèÇÑ ÃßÀû ¹®¸Æcopy_string()¿¡¼­ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ùdupmachine()¿¡¼­ÀÇ ºó ¸Ó½Å¹é¾÷ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´ÙÃâ·ÂÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´ÙÃâ·ÂÆÄÀÏ %s¸¦ Áö¿ì´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´ÙÃâ·ÂÆÄÀÏ %s¸¦ ¾²´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´ÙÄ¡¸íÀûÀÎ ÆÄ½Ì ¿¡·¯mkxtion()¿¡ ÀüÀ̰¡ ³Ê¹« ¸¹½À´Ï´ÙºÒ¿ÏÀüÇÑ À̸§ Á¤ÀǽºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ Àд µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´ÙÀÔ·Â ±ÔÄ¢ÀÌ ³Ê¹« º¹ÀâÇÕ´Ï´Ù(>= NFA»óÅ %d°³)allocate_array()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ùyy_flex_xmalloc()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´ÙÀοë±âÈ£ ºüÁü}ÀÌ ºüÁ³½À´Ï´ÙÀ̸§ "%s"´Â ºñÁ¤»óÀûÀ¸·Î ±é´Ï´ÙÀ̸§À» µÎ¹ø Á¤ÀÇÇß½À´Ï´Ù°©ÀÛ½º·± EOF¸Â´Â ±ÔÄ¢À» ãÀ» ¼ö ¾ø½À´Ï´Ù½ºÄ³³Ê¿¡¼­ ¹®ÀÚ %s¸¦ ¾²±â À§Çؼ­´Â -8¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù½ÃÀÛÁ¶°Ç %s¸¦ µÎ¹ø ¼±¾ðÇß½À´Ï´Ù»óÅ ¹øÈ£ %4d »óŹøÈ£ %d´Â ´ÙÀ½À» ¹Þ¾ÆµéÀÔ´Ï´Ù: »óŹøÈ£ %d´Â [%d]¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù »óŹøÈ£ %d: ½Éº¼ Å×ÀÌºí ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù±ÔÄ¢ÀÌ ³Ê¹« ¸¹½À´Ï´Ù (> %d)!Á¤ÀǵÇÁö ¾ÊÀº Á¤ÀÇ {%s}¾Ë ¼ö ¾ø´Â -C ¿É¼Ç '%c'¾Ë ¼ö ¾ø´Â %%option: %s¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ùyymore()´Â ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù flex-2.5.35/po/nl.gmo0000664000175000017500000005051710761103057011232 00000000000000Þ•ž Óü H 7I  ¨ Å /Ý ' 5.O~ “"Ÿ#Âæ ú *<3g›º!ÎCð$4)Yƒ%"Ã#æ 3FH®`Á""&E0l+É Ðñ$'"L)o™4¹5îE$/jš·6Ó! ",Of}’©Ãáü0Kj„ ¢Ã â: î)"(>"g"2w"#ª"+Î"ú"&#?# S#a#{#š#*²#CÝ#3!$0U$%†$¬$+Æ$ò$"%)%C%U%j%„%,%3Ê%/þ% .&<&(X&&(•&+¾&ê&''#'K'i'†'£'Â'à'þ'(8('J(r($(2²( å(),!)-N) |) Š)”)°)!Ã)&å) *!&* H*V*0m*!ž* À*Í*â* ü*% +F/+v++©+Ã+"Ú+ý+,2,<D,-,…¯,95. o.}.–.³.3Ò.3/:/5P/†/ ¢/(¯/,Ø/0,0 C0+d040$Å0ê0"1F%1'l1,”1Á1"Û1$þ15#2 Y2z22R¢2&õ23.3#°32Ô374*?4j4#q4•4´4#Ò4$ö4%5$A5>f5A¥5Mç5=56 s6”6:´6%ï647J7d7~7–7°7 Í7î7 8)8F8!d8†8 £8"Ä8#ç8 9 9/E$GElE,ŒE#¹E0ÝE#F&2FYFnF}F%“F¹F2ÒFEGBKGBŽGÑGñG"H3H&HHoH‰H›H´H#ÔH3øH(,I8UIŽI ¡I/ÂIòI%J7-JeJ„J(¢JËJ,èJ*K)@K*jK.•K.ÄK,óK L(6L_L-zL7¨L!àL$M2'M3ZMŽM ©M·MÖMõM#N8N VNwN”N?´N'ôNO,OGOgO1wOO©OùO$P5PTP-lPšP±PÇPC×P3QL^.’)_y›@ ` ‡dM7c‰‚9aqhSs34;?šrpN(ƒg˜Ižoˆk/F:v%#{5x-CRnQŒBDu]HŠ‹,”…V'$Tw0f8™K“ \t<}• zOXZjJ!1UW6A2–b>l= m&|[i+*Ž"†‘„ePEG~œ Y—€ ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEOF encountered inside patternEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty [:^lower:] is ambiguous in case insensitive scanner[:^upper:] ambiguous in case insensitive scannerattempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex-2.5.34 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2008-02-09 21:59+0100 Last-Translator: Benno Schulenberg Language-Team: Dutch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.11.4 ********** begin van dump van NFA met starttoestand %d DFA-dump: Equivalentieklassen: Meta-equivalentieklassen: vastlopende transities: EOF %d (%d bewaarde) hash-botsingen, %d DFA's gelijk %d terugstappende (niet-accepterende) toestanden %d lege tabelitems %d epsilontoestanden, %d dubbele epsilontoestanden %d prototypes aangemaakt %d regels %d sets van herallocaties waren nodig %d toestand/volgtoestand-paren aangemaakt %d tabelitems %d sjablonen aangemaakt, %d keer gebruikt in totaal %d tabelitems nodig %d/%d (piek %d) nxt-chk-items aangemaakt %d/%d (piek %d) sjabloon-nxt-chk-items aangemaakt %d/%d DFA-toestanden (%d woorden) %d/%d NFA-toestanden %d/%d base-def-items aangemaakt %d/%d tekenklassen hadden %d/%d opslagwoorden nodig, %d hergebruikt %d/%d equivalentieklassen aangemaakt %d/%d meta-equivalentieklassen aangemaakt %d/%d startvoorwaarden %d/%d unieke/dubbele transities Begin-van-regel-patronen gebruikt Gecomprimeerde tabellen kunnen altijd terugstappen Terugstappen is niet mogelijk geen tekenklassen scanneropties: - en zou de eigenlijke bron kunnen zijn van andere gemelde prestatieverminderingen regelnummers van de betrokken regels: uit-transities: de %%optie yylineno betekent een prestatievermindering, maar ALLEEN voor regels die met het regeleindeteken overeen kunnen komen Optie -+ gaat niet samen met %array%d terugstappende (niet-accepterende) toestanden. %optie yyclass heeft alleen betekenis voor C++-scanners%optie yylineno gaat niet samen met REJECT%s %s %s versie %s gebruiksstatistieken: %s: *fatale interne fout*, %s ********** einde van de dump *Iets Raars* - token: %d waarde:%d Opties -Cf en -CF sluiten elkaar uitOpties -Cf/-CF en -Cm gaan niet samenOpties -Cf/-CF en -I gaan niet samenOptie -Cf of -CF gaat niet samen met lex-compatibiliteitsmodusoptie -I (interactief) betekent een kleine prestatievermindering de AT&T-lexcompatibiliteitsoptie -l betekent een grote prestatievermindering optie -s gegeven, maar de standaardregel geeft overeenkomstenOptie -+ gaat niet samen met -CFOptie -+ gaat niet samen met -lOptie --reentrant of --bison-bridge gaat niet samen met -lOptie -f of -F gaat niet samen met -lGecomprimeerde tabellen kunnen altijd terugstappen. Kan ecstbl niet schrijvenKan eoltbl niet schrijvenKan ftbl niet schrijvenKan ssltbl niet schrijvenKan yyacc_tbl niet schrijvenKan yyacclist_tbl niet schrijvenKan yybase_tbl niet schrijvenKan yychk_tbl niet schrijvenKan yydef_tbl niet schrijvenKan yymeta_tbl niet schrijvenKan yynultrans_tbl niet schrijvenKan yynxt_tbl niet schrijvenKan yynxt_tbl[][] niet schrijvenEOF werd bereikt tijdens een actieEOF werd bereikt binnen een patroonEindmarkering Genereert patroonherkenningsprogramma's. Tabelcompressie: -Ca, --align meer geheugen gebruiken voor beter uitgelijnde tabellen -Ce, --ecs equivalentieklassen construeren -Cf tabellen niet comprimeren; de -f-representatie gebruiken -CF tabellen niet comprimeren; de -F-representatie gebruiken -Cm, --meta-ecs meta-equivalentieklassen construeren -Cr, --read read() gebruiken in plaats van stdio voor scannerinvoer -f, --full een snelle, grote scanner genereren (zelfde als -Cfr) -F, --fast alternatieve tabelrepresentatie gebruiken (als -CFr) -Cem standaardcompressie (zelfde als --ecs --meta-ecs) Debuggen: -d, --debug debugmodus in scanner aanzetten -b, --backup terugstap-informatie naar %s schrijven -p, --perf-report prestatierapport naar standaardfoutuitvoer schrijven -s, --nodefault standaardregel om onherkende tekst te ECHO-en uitzetten -T, --trace %s uitvoeren in tracemodus -w, --nowarn geen waarschuwingen geven -v, --verbose scannerstatistieken naar standaarduitvoer schrijven Bestanden: -o, --outfile=BESTAND dit uitvoerbestand gebruiken -S, --skel=BESTAND dit skeletbestand gebruiken -t, --stdout scanner naar standaarduitvoer schrijven, niet naar %s --yyclass=NAAM naam van de C++-klasse --header-file=BESTAND behalve de scanner ook een C-headerbestand maken --tables-file[=BESTAND] tabellen schrijven (naar dit BESTAND) Scannergedrag: -7, --7bit een 7-bits-scanner genereren -8, --8bit een 8-bits-scanner genereren -B, --batch een batch-scanner genereren (tegengestelde van -I) -i, --case-insensitive hoofd-/kleine letters in patronen negeren -l, --lex-compat maximale compatibiliteit met de originele 'lex' -X, --posix-compat maximale compatibiliteit met de POSIX 'lex' -I, --interactive een interactieve scanner genereren --yylineno het regelaantal bijhouden in yylineno Gegenereerde code: -+, --c++ een C++-scannerklasse genereren -Dmacro[=defn] #define macro defn (standaard defn is '1') -L, --noline de #line-commado's in de scanner onderdrukken -P, --prefix=STRING STRING gebruiken als prefix in plaats van "yy" -R, --reentrant een herintreedbare C-scanner genereren --bison-bridge een scanner voor zuivere bison-ontleder genereren --bison-locations ondersteuning voor yylloc opnemen --stdinit yyin/yyout naar standaardin/uitvoer initialiseren --noansi-definitions oude-stijl functiedefinities --noansi-prototypes lege parameterlijst in prototypes --nounistd niet insluiten --noFUNCTIE specifieke FUNCTIE niet genereren Varia: -c nietsdoende POSIX-optie -n nietsdoende POSIX-optie -? -h, --help deze hulptekst tonen -V, --version de versie van %s tonen Invoerregel is te lang *Interne fout*: ongeldige flexopts. Terugstappen is niet mogelijk. Opties -+ en --reentrant sluiten elkaar uit.REJECT gaat niet samen met -f of -FREJECT betekent een grote prestatievermindering Toestand #%d is niet-accepterend - Typ '%s --help' voor meer informatie. Onbekende fout=(%d) Ongepaarde '{'Onbekende optie '%s' Gebruik: %s [OPTIE]... [BESTAND]... Gebruik: %s [OPTIE]... Regel met variabele nakomende context op regel %d Variabele nakomende context betekent een grote prestatievermindering [:^lower:] is niet eenduidig in een hoofdletterongevoelige scanner[:^upper:] is niet eenduidig in een hoofdletterongevoelige scannervergroting van array is misluktonjuiste : %sonjuist teken '%s' in check_char()onjuiste tekenklasseonjuiste expressie '%s' in tekenklasseonjuist teken tussen {}'sonjuist teken: %sonjuiste iteratiewaardenonjuiste regel in skeletbestandonjuiste lijst van startvoorwaardenonjuist toestandstype in mark_beginning_as_normal()onjuist transitieteken in sympartition()bison bridge wordt niet ondersteund voor de C++-scanner.kan %s niet openenkan skeletbestand %s niet openenconsistentiecontrole is mislukt in epsclosure()kan %s niet aanmakenkon terugstapbestand %s niet aanmakenkon geen unieke toestand voor einde-van-buffer aanmakenkan tabellenkop niet schrijvengevaarlijke nakomende contextdynamische geheugenfout in copy_string()lege machine in dupmachine()fout tijdens sluiten van terugstapbestand %sfout tijdens sluiten van uitvoerbestand %sfout tijdens sluiten van skeletbestand %sfout tijdens aanmaken van headerbestand %sfout tijdens verwijderen van uitvoerbestand %sfout tijdens schrijven van terugstapbestand %sfout tijdens schrijven van uitvoerbestand %sfatale ontledingsfoutte veel transities gevonden in mkxtion()onvolledige naamsdefinitieinvoerfout tijdens lezen van skeletbestand %sinvoerregels zijn te ingewikkeld (>= %d NFA-toestanden)iteratiewaarde moet positief zijnverkeerde opbouw van '%top'-commandogeheugenreservering is mislukt in allocate_array()geheugenreservering is mislukt in yy_flex_xmalloc()ontbrekend aanhalingstekenontbrekende }naam is belachelijk lang: "%s"naam is twee keer gedefinieerdnegatief bereik in tekenklasseoptie '%s' staat geen argument toe optie '%s' is niet eenduidig optie '%s' vereist een argument voortijdig einde van bestandregel geeft geen overeenkomstenscanner heeft de optie -8 nodig om teken %s te kunnen gebruikenstartvoorwaarde %s is twee keer vermeldtoestand # %4d toestand # %d accepteert: toestand # %d accepteert: [%d] toestand # %d: geheugenreservering voor symbolentabel is mislukthet tekenbereik [%c-%c] is niet eenduidig in een hoofdletterongevoelige scannerte veel regels (> %d)!nakomende context twee keer gebruiktongedefinieerde definitie {%s}onbekende -C-optie '%c'onbekende fout tijdens verwerken van sectie 1onbekende %%option: %sonbekend '%'-commandoonbekende regelregels met variabele nakomende context gaan niet samen met -f of -Fyymore() betekent een kleine prestatievermindering flex-2.5.35/po/pl.gmo0000664000175000017500000005047510761103057011237 00000000000000Þ•ž Óü H 7I  ¨ Å /Ý ' 5.O~ “"Ÿ#Âæ ú *<3g›º!ÎCð$4)Yƒ%"Ã#æ 3FH®`Á""&E0l+É Ðñ$'"L)o™4¹5îE$/jš·6Ó! ",Of}’©Ãáü0Kj„ ¢Ã â: î)"(>"g"2w"#ª"+Î"ú"&#?# S#a#{#š#*²#CÝ#3!$0U$%†$¬$+Æ$ò$"%)%C%U%j%„%,%3Ê%/þ% .&<&(X&&(•&+¾&ê&''#'K'i'†'£'Â'à'þ'(8('J(r($(2²( å(),!)-N) |) Š)”)°)!Ã)&å) *!&* H*V*0m*!ž* À*Í*â* ü*% +F/+v++©+Ã+"Ú+ý+,2,<D,-,~¯,:..i.x.‘.®.8Ì.0/6/;V/’/ ¯/$»/(à/ 0$!0*F07q0D©0î0 1' 1GH1'1,¸1å1"2!'2+I2u2‹2ž2:±2 ì2 3]$3&‚3/©33Ù3, 4:4$A4"f4‰4!£4"Å4"è4 5<+52h5A›58Ý56468Q6#Š6*®6Ù6ò6 7"7;7W7w7”7°7Ì7 é7 8&8F8c88d ‘8öD,E?E0TE%…E'«EÓE$óEF,F=FWFwF2FGÃFO GO[G3«GßG(ÿG(H!l= m&|[i+*Ž"†‘„ePEG~œ Y—€ ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEOF encountered inside patternEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty [:^lower:] is ambiguous in case insensitive scanner[:^upper:] ambiguous in case insensitive scannerattempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.34 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2008-02-09 20:14+0100 Last-Translator: Jakub Bogusz Language-Team: Polish MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit ********** pocz±tek zrzutu NFA ze stanem pocz±tkowym %d Zrzut DFA: Klasy równowa¿no¶ci: Klasy meta-równowa¿no¶ci: przej¶cia-zapêtlaj±ce: EOF %d (%d zachowanych) kolizji haszy, %d jednakowych DFA %d zapamiêtywanych stanów (nie akceptuj±cych) %d pustych elementów tablicy %d stanów epsilonowych, %d stanów podwójnie epsilonowych %d utworzonych prototypów %d regu³ %d potrzebnych zbiorów realokacji %d utworzonych par stan/nastêpny-stan %d elementów tablicy %d utworzonych szablonów, %d u¿yæ %d potrzebnych ogó³em elementów tablicy %d/%d (maksymalnie %d) utworzonych elementów nxt-chk %d/%d (maksymalnie %d) utworzonych szablonowych elementów nxt-chk %d/%d stanów DFA (%d s³ów) %d/%d stanów NFA %d/%d utworzonych elementów base-def %d/%d klas znaków potrzebuje %d/%d s³ów pamiêci, %d ponownie u¿ytych %d/%d utworzonych klas równowa¿no¶ci %d/%d utworzonych klas meta-równowa¿no¶ci %d/%d warunków pocz±tkowych %d/%d przej¶æ unikalny/duplikat U¿ytych wzorców pocz±tek-linii Skompresowane tablice zawsze zapamiêtuj± Bez zapamiêtywania bez klas znaków opcje skanera: - i mo¿e byæ przyczyn± innych zg³aszanych strat wydajno¶ci numery linii powi±zanych regu³: przej¶cia-wyj¶ciowe: %%option yylineno powoduje straty wydajno¶ci TYLKO dla regu³ dopasowuj±cych znak koñca linii %array jest niekompatybilne z opcj± -+%d zapamiêtywanych stanów (nie akceptuj±cych). %option yyclass ma znaczenie tylko dla skanerów C++%option yylineno nie mo¿e byæ u¿yte z REJECT%s %s %s w wersji %s - statystyka u¿ycia: %s: krytyczny b³±d wewnêtrzny: %s ********** koniec zrzutu *Co¶ dziwnego* - tok: %d val: %d -Cf i -CF wykluczaj± siê wzajemnie-Cf/-CF i -Cm razem nie maj± sensu-Cf/-CF i -I s± niekompatybilne-Cf/-CF s± niekompatybilne z trybem kompatybilno¶ci z leksem-I (interaktywny) powoduje ma³± stratê wydajno¶ci opcja -l zgodno¶ci z leksem AT&T powoduje du¿± stratê wydajno¶ci podano opcjê -s, ale domy¶lna regu³a mo¿e byæ dopasowanaNie mo¿na u¿yæ -+ z opcj± -CFNie mo¿na u¿yæ -+ z opcj± -lNie mo¿na u¿yæ --reentrant ani --bison-bridge z opcj± -lNie mo¿na u¿yæ -f ani -F z opcj± -lSkompresowane tablice zawsze zapamiêtuj±. Nie mo¿na zapisaæ ecstblNie mo¿na zapisaæ eoltblNie mo¿na zapisaæ ftblNie mo¿na zapisaæ ssltblNie mo¿na zapisaæ yyacc_tblNie mo¿na zapisaæ yyacclist_tblNie mo¿na zapisaæ yybase_tblNie mo¿na zapisaæ yychk_tblNie mo¿na zapisaæ yydef_tblNie mo¿na zapisaæ yymeta_tblNie mo¿na zapisaæ yynultrans_tblNie mo¿na zapisaæ yynxt_tblNie mo¿na zapisaæ yynxt_tbl[][]EOF napotkany wewn±trz akcjiEOF napotkany wewn±trz wzorcaZnacznik koñca Generowanie programów wykonuj±cych na tek¶cie dopasowywanie wzorców. Komprecja tablic: -Ca, --align u¿ycie wiêkszych tablic dla lepszego wyrównania pamiêci -Ce, --ecs konstruowanie klas równowa¿no¶ci -Cf nie kompresowanie tablic; u¿ycie reprezentacji -f -CF nie kompresowanie tablic; u¿ycie reprezentacji -F -Cm, --meta-ecs konstruowanie klas meta-równowa¿no¶ci -Cr, --read u¿ycie read() zamiast stdio dla wej¶cia skanera -f, --full wygenerowanie szybkiego, wielkiego skanera. To samo co -Cfr -F, --fast u¿ycie alternatywnej reprezentacji tablic. To samo co -CFr -Cem domy¶lne kompresowanie (to samo co --ecs --meta-ecs) Diagnostyka: -d, --debug w³±czenie trybu diagnostycznego (debug) w skanerze -b, --backup zapisanie informacji o zapamiêtywaniu do %s -p, --perf-report wypisanie raportu o wydajno¶ci na stderr -s, --nodefault pominiêcie domy¶lnej regu³y ECHO dla niedopasowanego tekstu -T, --trace %s powinien dzia³aæ w trybie ¶ledzenia -w, --nowarn nie generowanie ostrze¿eñ -v, --verbose wypisanie podsumowania statystyk skanera na stdout Pliki: -o, --outfile=PLIK podanie nazwy pliku wyj¶ciowego -S, --skel=PLIK podanie pliku szablonu -t, --stdout zapis wyj¶cia skanera na stdout zamiast %s --yyclass=NAZWA nazwa klasy C++ --header-file=PLIK utworzenie pliku nag³ówkowego C oprócz skanera --tables-file[=PLIK] zapisanie tablic do PLIKU Zachowanie skanera: -7, --7bit wygenerowanie skanera 7-bitowego -8, --8bit wygenerowanie skanera 8-bitowego -B, --batch wygenerowanie skanera wsadowego (przeciwieñstwo -I) -i, --case-insensitive ignorowanie wielko¶ci liter we wzorcach -l, --lex-compat maksymalna kompatybilno¶æ z oryginalnym leksem -X, --posix-compat maksymalna kompatybilno¶æ z leksem POSIX -I, --interactive wygenerowanie skanera interaktywnego (przeciw. -B) --yylineno ¶ledzenie liczby linii w yylineno Generowany kod: -+, --c++ wygenerowanie klasy skanera w C++ -Dmakro[=defn] #define makro defn (domy¶lne defn to '1') -L, --noline pominiêcie dyrektyw #line w skanerze -P, --prefix=£AÑCUCH u¿ycie jako prefiksu £AÑCUCHA zamiast "yy" -R, --reentrant wygenerowanie wielobie¿nego skanera w C --bison-bridge skaner dla czystego analizatora w bisonie --bison-locations dodanie obs³ugi yylloc --stdinit zainicjowanie yyin/yyout na stdin/stdout --noansi-definitions definicje funkcji w starym stylu --noansi-prototypes puste listy parametrów w prototypach --nounistd nie do³±czanie --noFUNKCJA nie generowanie podanej FUNKCJI Ró¿ne: -c nic nie robi±ca opcja POSIX -n nic nie robi±ca opcja POSIX -? -h, --help wy¶wietlenie tego pomocnego opisu -V, --version podanie wersji programu %s Linia wej¶ciowa zbyt d³uga B³±d wewnêtrzny. ¬le sformu³owane flexopts. Bez zapamiêtywania. Opcje -+ i --reentrant wykluczaj± siê wzajemnie.REJECT nie mo¿e byæ u¿yte z -f ani -FREJECT powoduje du¿± stratê wydajno¶ci Stan #%d jest nieakceptuj±cy - `%s --help' poda wiêcej informacji. Nieznany b³±d=(%d) Niesparowany '{'Nierozpoznana opcja `%s' Sk³adnia: %s [OPCJE] [PLIK]... Sk³adnia: %s [OPCJE]... Regu³a ze zmiennym koñcowym kontekstem w linii %d Regu³y ze zmiennym koñcowym kontekstem powoduj± du¿± stratê wydajno¶ci [:^lower:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ liter[:^upper:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ literpróba zwiêkszenia rozmiaru tablicy nie powiod³a siêb³êdny : %sb³êdny znak '%s' usuniêty w check_char()b³êdna klasa znakówb³êdne wyra¿enie klasy znaków: %sb³êdny znak wewn±trz {}b³êdny znak: %sb³êdne warto¶ci iteracjib³êdna linia w pliku szablonub³êdna lista warunków pocz±tkowychb³êdny typ stanu w mark_beginning_as_normal()wykryto b³êdny znak przej¶cia w sympartition()pomost dla bisona nie jest obs³ugiwany dla skanera C++.nie mo¿na otworzyæ %snie mo¿na otworzyæ pliku szablonu %skontrola spójno¶ci nie powiod³a siê w epsclosure()nie mo¿na utworzyæ %snie mo¿na utworzyæ pliku informacji o zapamiêtywaniu %snie mo¿na utworzyæ unikalnego stanu koñca buforanie mo¿na zapisaæ nag³ówka tablicniebezpieczny kontekst koñcowyniepowodzenie dynamicznej pamiêci w copy_string()pusty automat w dupmachine()b³±d podczas zamykania pliku raportu z zapamiêtywania %sb³±d podczas zamykania pliku wyj¶ciowego %sb³±d podczas zamykania pliku szablonu %sb³±d podczas tworzenia pliku nag³ówkowego %sb³±d podczas usuwania pliku wyj¶ciowego %sb³±d podczas zapisu pliku raportu z zapamiêtywania %sb³±d podczas zapisu pliku wyj¶ciowego %skrytyczny b³±d analizy sk³adniznaleziono zbyt du¿o przej¶æ w mkxtion()niekompletna definicja nazwyb³±d wej¶cia podczas odczytu pliku szablonu %sregu³y wej¶ciowe s± zbyt skomplikowane (>= %d stanów NFA)warto¶æ iteracji musi byæ dodatnia¼le sformu³owana dyrektywa '%top'nie uda³o siê przydzieliæ pamiêci w allocate_array()nie uda³o siê przydzieliæ pamiêci w yy_flex_xmalloc()brak cudzys³owubrak }nazwa "%s" jest ¶miesznie d³uganazwa zdefiniowana dwukrotnieujemny przedzia³ w klasie znakówopcja `%s' nie przyjmuje argumentu opcja `%s' jest niejednoznaczna opcja `%s' wymaga argumentu przedwczesny EOFnie mo¿na dopasowaæ regu³yskaner wymaga flagi -8 aby u¿yæ znaku %swarunek pocz±tkowy %s zadeklarowany dwukrotniestan # %4d stan # %d akceptuje: stan # %d akceptuje: [%d] stan # %d: nie uda³o siê przydzieliæ pamiêci dla tablicy symboliprzedzia³ znaków [%c-%c] jest niejednoznaczny w skanerze ignoruj±cym wielko¶æ literzbyt du¿o regu³ (> %d)!koñcowy kontekst u¿yty dwukrotnieniezdefiniowana definicja {%s}nieznana opcja -C '%c'nieznany b³±d podczas przetwarzania sekcji 1nierozpoznane %%option: %snierozpoznana dyrektywa '%'nierozpoznana regu³aregu³y ze zmiennym koñcowym kontekstem nie mog± byæ u¿yte z -f ani -Fyymore() powoduje ma³± stratê wydajno¶ci flex-2.5.35/po/pt_BR.gmo0000664000175000017500000003441410761102744011627 00000000000000Þ•šìÓ¼  7 A O h … / 'Í õ .> S"_#‚¦ º Û*ü3'[z!ŽC°$ô)C%]"ƒ#¦ÊÛóFOn`"â&0,+]‰ ±Ï$ç" )/Y4y5®Eä/*Zw6“!Ê"ì&=Riƒ¡¼Öð *D b ƒ(¤Í2Ý#+4`&~¥ ¹Çá*CC%‡­+Çó"*DVk…,ž3Ë/ÿ /=(Y‚(–+¿ë '$Lj‡¤Ãáÿ9'Ks$Ž2³ æ,"-O } ‹•±!Ä&æ !' IW0n!Ÿ ÁÎã ý% F0wŽªÄ"Ûþ 3 <E -‚ ° <@"}"Ž" «"$Ì"2ñ"8$#]#/}#­# Â#)Ï#(ù#"$;$-Z$+ˆ$6´$"ë$%"#%XF%(Ÿ%-È%ö%%&$9&5^&”&®&Î&Iå&'/'W'un'$ä'7 (0A(.r(¡("¨(Ë(ç(")#')&K)r);‘)BÍ)a*>r*"±*!Ô*<ö*(3+4\+‘+¬+Ç+à+û+!,;,Z,x,–,"µ,Ø,!ö,,- E-S-*q-œ-5³-&é-8.I.,f.“.«.¾.×.ö.0 /M‰{h= i&xe+*"‚€aNEGz˜ W“| ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.31 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2004-02-08 18:45-0200 Last-Translator: Alexandre Folle de Menezes Language-Team: Brazilian Portuguese MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit ********** iniciando despejo de nfa com estado inicial %d Despejo DFA: Classes de Equivalência: Classes de Meta-Equivalência: transições presas: Fim de Arquivo %d (%d salvas) colisões de hash, %d DFAs iguais %d fazendo cópia de segurança de estados (não-aceita) %d entradas vazias na tabela %d estados epsilon, %d estados epsilon duplo %d protos criados %d regras %d conjuntos de realocação necessários %d pares estado/próximoestado criados %d entradas de tabela %d modelos criados, %d usos %d total de entradas de tabela necessárias %d/%d (pico %d) entradas nxt-chk criadas %d/%d (pico %d) modelos de entradas nxt-chk criadas %d/%d estados DFA (%d palavras) %d/%d estados NFA %d/%d entradas base-def criadas %d/%d classes de caracters precisaram de %d/%d palavras de armazenamento, %d reusadas %d/%d classes de equivalência criadas %d/%d classes de meta-equivalência criadas %d/%d condições de início %d/%d transições únicas/duplicadas Padrões de início-de-linha usados Tabelas compactadas sempre têm cópias de segurança Sem cópia de segurança nenhuma classe de caracteres opções de scanner: - e pode ser a fonte real de outras penalidades de performance reportadas números de linha de regras associadas: transações de saída: %%option yylineno acarreta em uma penalidade na performance APENAS em regras que podem bater caracters de nova linha %array é incompatível com a opção -+%d fazendo cópia de segurança de estados (não-aceita). %option yyclass só tem sentido para scanners C++%option yylineno não pode ser usada com REJECT%s %s %s versão %s estatísticas de uso: %s: erro interno fatal, %s ********** final do despejo *Algo Estranho* - tok: %d val: %d -Cf e -CF são mutuamente exclusivos-Cf/-CF e -Cm não fazem sentido juntos-Cf/-CF e -I são incompatíveis-Cf/-CF são incompatíveis com o modo de compatibilidade lex-I (interativo) acarreta em uma pequena penalidade na performance a opção de compatibilidade com lex da AT&T '-l' acarreta em uma grande penalidade na performance a opção -s foi fornecida, mas a regra padrão pode ser aplicadaImpossível usar -+ com a opção -CFImpossível usar -+ com a opção -lImpossível usar --reentrant ou --bison-bridge com a opção -lImpossível usar -f ou -F com a opção -lTabelas compactadas sempre têm cópias de segurança. Impossível escrever ecstblImpossível escrever eoltblImpossível escrever ftblImpossível escrever ssltblImpossível escrever yyacc_tblImpossível escrever yyacclist_tblImpossível escrever yybase_tblImpossível escrever yychk_tblImpossível escrever yydef_tblImpossível escrever yymeta_tblImpossível escrever yynultrans_tblImpossível escrever yynxt_tblImpossível escrever yynxt_tbl[][]Fim de Arquivo encontrado dentro de uma açãoMarca de Fim Linha de entrada muito longa Erro interno. flexopts estão malformados. Impossível restaurar. As opções -+ e --reentrant são mutuamente exclusivas.REJECT não pode ser usado com -f ou -FREJECT acarreta em uma grande penalidade na performance O estado #%d é não-aceita - Tente `%s --help' para maiores informações. Erro desconhecido=(%d) '{' sem fechamentoOpção `%s' desconhecida Uso: %s [OPÇÕES] [ARQUIVO]... Uso: %s [OPÇÕES]... Regra de final de contexto variável na linha %d Variável seguindo regras de contexto implicam em grande perda de performance tentativa de aumentar o tamanho do vetor falhou inválida: %scaractere inválido '%s' detectado em check_char()classe de caractere inválidaexpressão de classe de caractere inválida: %scaracater inválido entre {}'scaracter inválido: %svalores de iteração inválidoslinha inválida no arquivo de esqueletolista de condições de início inválidaestado de tipo inválido em mark_beginning_as_normal()caractere de transição inválido detectado em sympartition()ponte bison não suportada pelo processador C++.impossível abrir %simpossível abrir o arquivo esqueleto %sverificação de consistência falhou em epsclosure()impossível criar %simpossível criar cópia de seguranço do arquivo de informações %simpossível criar um estadp único de final de bufferimpossível escrever o cabeçalho das tabelastexto final perigosofalha dinâmica de memória em copy_string()máquina vazia em dupmachine()erro fechando cópia de segurança %serro fechando arquivo de saída %serro fechando o arquivo esqueleto %serro criando o arquivo cabeçalho %serro removendo arquivo de saída %serro escrevendo cópia de segurança %serro escrevendo arquivo de saída %serro fatal de análisemuitas transições em mkxtion()definição de nome incompletaerro lendo o arquivo esqueleto %sregras de entrada são muito complicadas (>= %d estados NFA)valor de iteração deve ser positivodiretiva '%top' malformadaalocação de memória falhou em allocate_array()alocação de memória falhou em yy_flex_xmalloc()faltou aspafaltou }nome "%s" ridiculamente longonome definido duas vezesfaixa negativa na classe de caracteresoption `%s' não permite argumentos opção `%s' é ambígua option `%s' requer um argumento Fim-de-Arquivo prematuroaplicação da regra não gerou nenhum resultadoo scanner precisa de um flag -8 para usar o caracter %scondição de início %s declarada duas vezesestado # %4d estado # %d aceita: estado # %d aceita: [%d] estado # %d: alocação da memória da tabela de símbolos falhoua faixa de caracteres [%c-%c] é ambígua em um processador "case-insensitive"muitas regras (> %d)!contexto final usado duas vezesdefinição indefinida {%s}opção -C '%c' desconecidaerro desconhecido porcessando a seção 1%%opção não reconhecida: %sdiretiva '%' não reconhecidaregra não reconhecidavariáveis seguindo regras de contexto não podem ser usadas com -f ou -Fyymore() acarreta em uma pequena penalidade na performance flex-2.5.35/po/ro.gmo0000664000175000017500000005030310761102744011234 00000000000000Þ•›ôÓÌ  7 Q _ x • /­ 'Ý .N c"o#’¶ Ê ë* 37kŠ!žCÀ$))S%m"“#¶ÚëF_~`‘"ò&0<+m™  Áß$÷")?i4‰5¾Eô/:j‡6£!Ú"ü6Mby“±Ìæ:T r “: ŸÚ!(ï!"2("#["+"«"&É"ð" ##,#K#*c#CŽ#%Ò#ø#+$>$"R$u$$¡$¶$Ð$,é$3%/J% z%ˆ%(¤%Í%(á%+ &6&T&'o&—&µ&Ò&ï&','J'g'„''–'¾'$Ù'2þ' 1(R(,m(-š( È( Ö(à(ü(!)&1)X)!r) ”)¢)0¹)!ê) **.* H*%U*F{*Â*Ù*õ*+"&+I+c+~+<+-Í+û+B}-À-Ø-ò-.C&.&j.‘.+®.Ú. ó."/,#/P/ h/&‰/*°/0Û/ 0,0 ?0L`0$­0*Ò0ý0"1);1-e1“1¨1Å1AÝ1$2D2„a2"æ2% 3</31l3ž3(¥3Î3$í3 434+Q4 }4;ž4;Ú4T5=k5%©5$Ï5@ô5+56,a6Ž6§6À6×6ð6 7,7I7e77 ž7¿7Û7!û78/ 08#`D:„D¿D/ÛD' E33E!gE3‰E½EÖEìE#F*F2EFTxF1ÍFÿF-GMG#hGŒG¥G¹G!ÔG"öG2H7LH3„H¸H(ËH0ôH%I69I7pI ¨I&ÉI+ðIJ,8J,eJ*’J)½J+çJ*K*>KiK,‰K¶K@ÒKAL*UL€L-œL.ÊLùL M M=M%VM#|M M$¼M áM îMDN)TN ~N‹N¡N ¼N4ÉNQþNPO1jOœO¶O,ÒOÿOP3PHFP3PK[.)\v˜@ ] „aL7`†9^neRp34;?—omM(€dŒ•H›l…h/F:s%#x5u-CQkP‰BDrZš‡ˆ,‘‚U'$St0c8–J Yq<z’ w~NW‹gI!1TV6A2“_>Š|i= j&yf+*"ƒŽbOEG{™ X”} ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.31 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2003-11-22 11:07+0200 Last-Translator: Eugen Hoanca Language-Team: Romanian MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit ********** începerea aducerii(dump) nfa cu starea de început %d Rezultat(dump) DFA: Clase de Echivalenþã: Clase de Meta-Echivalenþã: tranziþii jam: EOF %d (%d salvate) coliziuni disipate(hash), %d egaluri de DFA-uril %d salvare de (inacceptabile) stãri %d intrãri în tabel goale %d stãri epsilon, %d stãri dublu epsilon %d prototipuri create %d reguli %d seturi de realocãri necesare %d perechi de stare/stareurmãtoare create %d intrãri în tabele %d modele create, %d folosiri %d intrãri totale în tabel necesare %d/%d (maxim %d) nxt-chk intrãri create %d/%d (maxim %d) model nxt-chk intrãri create %d/%d stãri DFA (%d cuvinte) %d/%d stãri NFA %d/%d base-def intrãri create %d/%d clase de caractere necesare %d/%d cuvinte de stocare, %d refolosite %d/%d clase de echivalenþã create %d/%d clase de meta-echivalenþã create %d/%d condiþii de start %d/%d tranziþii unice/duplicate Tipare de începuturi de linie folosite Tabelele compresate întotdeauna au back-up Nu se face backup nici o clasã de caractere opþiuni de scanner: -ºi poate fi sursa realã a altor scãderi de performanþã raportate numerele de linie asociate regulii: tranziþii exterioare(out): %%opþiunea yylineno determinã o scãdere drasticã a performanþei DOAR în regulile care se potrivesc caracterelor linie_nouã(newline) %array incompatibil cu opþiunea -+%d salvare de (inacceptabile) stãri. %opþunea yyclass este folositoare doar pentru scannerele C++%opþiunea yylineno nu poate fi folositã cu REJECT%s %s %s versiunea %s statistici de folosire: %s: eroare internã fatalã, %s ********** sfârºit de aducere(dump) *Ceva Ciudat* - tok: %d val: %d -Cf ºi -CF se exclud reciproc-Cf/-CF ºi -Cm nu au sens folosite împreunã-Cf/-CF ºi -I sunt incompatibile-Cf/-CF sunt incompatibile cu module de compatibilitate lex-I (interactiãe) determinã o scãdere minorã a performanþei -l opþiunea de compatibilitate AT&T lex determinã o scãdere drasticã a performanþei a fost datã opþiunea -s dar regula implicitã se poate potriviNu se poate folosi -+ cu opþiunea -CFNu se poate folosi -+ cu opþiunea -lNu se poate folosi --reentrant sau --bison-bridge cu opþiunea -lNu se poate folosi -f sau -F cu opþiunea -lTabelele compresate întotdeauna au back-up. Nu am putut scrie ecstblNu am putut scrie eoltblNu am putut scrie ftblNu am putut scrie ssltblNu am putut scrie yyacc_tblNu am putut scrie yyacclist_tblNu am putut scrie yybase_tblNu am putut scrie yychk_tblNu am putut scrie yydef_tblNu am putut scrie yymeta_tblNu am putut scrie yynultrans_tblNu am putut scrie yynxt_tblNu am putut scrie yynxt_tbl[][]EOF întâlnit în mijlocul acþiuniiMarcaj de sfârºit Genereazã programe care cautã potriviri de tipare pe un text Compresie de tabele: -Ca, --align renunþã la tabelele mari în favoarea unui aliniament mai bun al memoriei -Ce, --ecs construieºte clase de echivalenþã -Cf nu compreseazã tabelele; foloseºte reprezentare -f -CF nu compreseazã tabelele; foloseºte reprezentare -F -Cm, --meta-ecs construieºte clase de meta-echivalenþã -Cr, --read foloseºte read() în loc de stdio pentru intrarea de scanner -F, --fast foloseºte reprezentare alternativã de tabele. Asemãnãtor lui -CFr -f, --full genereazã scannere rapide, mari. Asemãnãtor lui -Cfr -Cem compresie implicitã (asemãnãtor lui --ecs --meta-ecs) Debugging: -d, --debug activeazã modul debug în scanner -b, --backup scriere de informaþii de backup în %s -p, --perf-report scrie raportul de performanþã la stderr -s, --nodefault eliminã regula implicitã de ECHO text care nu se potriveºte -T, --trace %s ar trebui sã ruleze în mod trace -w, --nowarn nu genereazã avertismente -v, --verbose scrie cuprinsul statisticilor scanner-ului la stdout Fiºiere: -o, --outfile=FIªIER specificã numele de fiºier de ieºire -S, --skel=FIªIER specificã fiºierul schelet -t, --stdout scrie scannerul la stdout în loc de %s --yyclass=NUME numele clasei C++ --header-file=FIªIER creazã im fiºier de header C pe lângãscanner --tables-file[=FIªIER] scrie tabelele în FIªIER Comportament scanner: -7, --7bit genereazã scanner pe 7-biþi -8, --8bit genereazã scanner pe 8-biþi -B, --batch genereazã scanner comandã(batch) (inversul lui -I) -i, --case-insensitive ignorã cazul în tipare -l, --lex-compat compatibilitate maximã cu lex original -X, --posix-compat compatibilitate maximã cu lex POSIX -I, --interactive genereazã scanner interactive (inversul lui -B) --yylineno urmãreºte numãrãtoare liniilor în yylineno Cod generat: -+, --c++ genereazã clasã de scanner C++ -Dmacro[=defn] #define macro defn (implicit defn is '1') -L, --noline eliminã directivele #line din scanner -P, --prefix=ªIR foloseºte ªIR ca ºi prefix în loc de "yy" -R, --reentrant genereazã un scanner C circular(reentrant) --bison-bridge scanner pentru analizã purã bison. --bison-locations include suport yylloc. --stdinit iniþializeazã yyin/yyout cãtre stdin/stdout --noansi-definitions definire de funcþii stil vechi --noansi-prototypes listã de parametri vidã în prototipuri --nounistd nu include --noFUNCÞIE nu genera o FUNCÞIE particularã Diverse: -c opþiune POSIX care nu face nimic -n opþiune POSIX care nu face nimic -? -h, --help produce acest mesaj de ajutor -V, --version raporteazã versiunea %s Linie de intrare(input) prea lungã Eroare internã. Opþiunile flex(flexopts) sunt malformate. Nu se revine (backing-up). Opþiunile -+ and --reentrant se exclud reciprocREJECT nu poate fi folosit cu -f sau -FREJECT determinã o scãdere drasticã a performanþei Starea #%d este de neacceptat. - Încercaþi `%s --help' pentru mai multe informaþii. Eroare necunoscutã=(%d) '{' fãrã corespondentOpþiune necunoscutã `%s' Folosire: %s [OPÞIUNI] [FIªIER]... Folosire: %s [OPÞIUNI]... Regulã de context de sfârºit variabil la linia %d Contextul de sfârºit(trailing) variabil determinã o scãdere drasticã a performanþei încercare de a mãri dimensiunea domeniului eºuatã greºitã: %scaracter greºit `%s' detectat în check_char()clasã de caractere greºitãexpresie clasã caracter greºitã: %scaracter eronat între {}caracter eronat: %svalori de iteraþie greºitelinie greºitã în fiºierul scheletlistã de stãri în condiþie proastãtip de stare greºitã în mark_beginning_as_normal()caracter greºit de tranziþie detectat în sympartition()bridge bison nu este suportat pentru scannerul C++.nu pot deschide %snu am putut deschide fiºierul schelet %sverificare de consistenþã eºuatã în epsclosure()nu am putut crea %snu s-a putut crea fiºierul de informaþii de back-up %snu am putut crea sfârºit unic pentru starea buffer-uluiNu am putut scrie capul de tabelcontext de sfârºit(trailing) periculoseroare de memorie dinamicã în copy_string()maºinã vidã în dupmachine()eroare în închiderea fiºierului de backup %seroare în închiderea fiºierului de output %seroare în închiderea fiºierului schelet %seroare în crearea fiºierului de header %seroare în ºtergerea fiºierului de output %seroare în scrierea fiºierului de backup %seroare în scrierea fiºierului de output %seroare fatalã de analizã(parse)s-au gãsit prea multe tranziþii în mkxtion()definire de nume incompletãeroare de intrare(input) în timpul citirii fiºierului schelet %sregulile de intrare(input) sunt prea complicate (>= %d stãri NFA)valoarea iteraþiei trebuie sã fie pozitivãdirectivã '%top' malformatãalocare de memorie eºuatã în allocate_array()alocare de memorie eºuatã în yy_flex_xmalloc()menþionare(quote) lipsãlipseºte }numele "%s" este ridicol de lungnume definit de douã oridomeniu negativ în clasa de caractereopþiunea `%s' nu permite parametri opþiunea `%s' este ambiguã opþiunea `%s' necesitã un parametru EOF prematurregula nu se potriveºte cu nimicscannerul necesitã parametrul(flag) -8 pentru a folosi caracterul %scondiþie de start %s definitã de douã oristare # %4d starea # %d acceptã: starea # %d acceptã: [%d] stare # %d: alocare de memorie pentru tabela de simboluri eºuatãintervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-insenzitivprea multe reguli (> %d)!context de sfârºit(trailing) utilizat de douã oridefiniþie nedefinitã {%s}opþiune -C necunoscutã `%c'eroare necunoscutã în procesarea secþiunii 1%%opþiune necunoscutã: %sdirectivã '%' necunoscutãregulã necunoscutãcontextul de sfârºit(trailing) variabil nu poate fi folosit cu -f sau -Fyymore() determinã o scãdere minorã a performanþei flex-2.5.35/po/ru.gmo0000664000175000017500000003015410761102744011244 00000000000000Þ•†L³|H 7I  ¨ /Å 'õ  7 L "X #{ Ÿ ³ Ô *õ 3 T s !‡ C© $í )<%V"|#ŸÃÛFð7"V&y0 +Ñý %C$["€)£Í4í5"EX/žÎë!")Lcx’­Çáü5 S t€(•#¾+â&,Sg %¸Þ+ø$"8[u‡¡,º3ç )(En(‚+«×õ'8Vs¯Íë%'7_$z2Ÿ,Ò-ÿ - ;Ea!t&–½!× ù0!O q~“ ­%ºà÷-"Dgœ-®aÜE> „’®>Ì( 4S l,y*¦Ñ(é'+:5f œ½#ÔSø'L *t Ÿ +º %æ $ !1!P!Fc!'ª!Ò!(ñ!6"4Q"†"'"$µ"Ú""ñ"%#$:#_#/y#E©#Rï#AB$(„$'­$.Õ$#%(%C%\%z%™%·%Õ%"ô%&!5&W& t&&3¡&3Õ&7 'A'@^'Ÿ'¸'$Ò'÷'!( 7(*X(ƒ(%š(À(Ú(î(!)30)5d)š)!°)1Ò)*1*4L*#*¥*8Á*ú*,+"E+$h+&+&´+&Û+ ,#,+<,h,ƒ,5¢,*Ø,/-3- G-U-m-(ƒ-.¬-Û--ô-".:.6W.#Ž.².Ã.Þ.þ.'/7/'T/|/œ/*µ/à/ü/0;00!Q"H#`Pvo:&) cyJMlgB…@8=wnd 5qiA?-E^s]\„ZRh ~9U/<[|}>xDmb{aWI6z C€S,712TNO'†.XfV‚Y jrKGut$L0ƒ(%Fk;+43p_*e ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers:%array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write ftblCould not write yyacc_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Input line too long Internal error. flexopts are malformed. REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)memory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedtoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized ruleyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.19 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2002-09-08 10:54+0400 Last-Translator: Dmitry S. Sivachenko Language-Team: Russian MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8-bit ******** ÎÁÞÁÌÏ ÄÁÍÐÁ ËÏÎÅÞÎÏÇÏ Á×ÔÏÍÁÔÁ Ó ÎÁÞÁÌØÎÙÍ ÓÏÓÔÏÑÎÉÅÍ %d äÁÍÐ äëá: ëÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ: íÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ëÌÁÓÓÏ×: %d (%d ÚÁÐÉÓÁÎÏ) ËÏÌÌÉÚÉÊ ÈÜÛ-ÔÁÂÌÉÃÙ, %d ÜË×É×ÁÌÅÎÔÎÙÈ äëá ÓÏÈÒÁÎÅÎÙ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ %d ÐÕÓÔÙÈ ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ ÓÏÚÄÁÎÏ %d ÐÒÏÔÏÔÉÐÏ× %d ÐÒÁ×ÉÌ ÔÒÅÂÕÅÔÓÑ %d ÎÁÂÏÒÏ× ÐÏ×ÔÏÒÎÙÈ ÒÁÚÍÅÝÅÎÉÊ ÓÏÚÄÁÎÏ %d ÐÁÒ ÓÏÓÔÏÑÎÉÅ/ÓÌÅÄ_ÓÏÓÔÏÑÎÉÅ %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ ÓÏÚÄÁÎÏ %d ÛÁÂÌÏÎÏ×, %d ÉÓÐÏÌØÚÏ×ÁÎÉÊ ×ÓÅÇÏ ÔÒÅÂÕÅÔÓÑ %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) nxt-chk ÜÌÅÍÅÎÔÏ× ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) ÛÁÂÌÏÎÎÙÈ nxt-chk ÜÌÅÍÅÎÔÏ× %d/%d ÓÏÓÔÏÑÎÉÊ äëá (%d ÓÌÏ×) %d/%d ÓÏÓÔÏÑÎÉÊ îëá ÓÏÚÄÁÎÏ %d/%d base-def ÜÌÅÍÅÎÔÏ× %d/%d ËÌÁÓÓÏ× ÓÉÍ×ÏÌÏ× ÔÒÅÂÕÀÔ %d/%d ÓÌÏ× ÄÌÑ ÈÒÁÎÅÎÉÑ, %d ÐÏ×ÔÏÒÎÏ ÉÓÐÏÌØÚÏ×ÁÎÏ ÓÏÚÄÁÎÙ ËÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ %d/%d %d/%d ÍÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ËÌÁÓÓÏ× ÓÏÚÄÁÎÏ %d/%d ÓÔÁÒÔÏ×ÙÈ ÕÓÌÏ×ÉÊ %d/%d ÕÎÉËÁÌØÎÙÈ/ÐÏ×ÔÏÒÑÀÝÉÈÓÑ ÐÅÒÅÈÏÄÏ× éÓÐÏÌØÚÕÀÔÓÑ ÛÁÂÌÏÎÙ ÎÁÞÁÌÁ ÓÔÒÏËÉ óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ ÏÔÓÕÔÓÔ×ÕÀÔ ËÌÁÓÓÙ ÓÉÍ×ÏÌÏ× ÏÐÃÉÉ ÓËÁÎÅÒÁ: - É ÔÁËÖÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÔÉÎÎÙÍ ÉÓÔÏÞÎÉËÏÍ ÐÒÏÂÌÅÍ Ó ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ ÎÏÍÅÒÁ ÓÔÒÏË ÁÓÓÏÃÉÉÒÏ×ÁÎÎÏÇÏ ÐÒÁ×ÉÌÁ:%array ÎÅÓÏ×ÍÅÓÔÉÍ Ó ËÌÀÞÅÍ -+×ÏÚ×ÒÁÔ ÎÁ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ. %option yyclass ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ ÓËÁÎÅÒÏ× ÎÁ C++%option yylineno ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ Ó REJECT%s %s ÓÔÁÔÉÓÔÉËÁ ÉÓÐÏÌØÚÏ×ÁÎÉÑ %s ×ÅÒÓÉÉ %s: %s: ÆÁÔÁÌØÎÁÑ ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, %s ********* ËÏÎÅà ÄÁÍÐÁ *þÔÏ-ÔÏ ÎÅ ÔÁË* - tok: %d val: %d -Cf É -CF Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÏÉÓËÌÀÞÁÀÝÉÍÉ-Cf/-CF É -Cm ×ÍÅÓÔÅ ÎÅ ÉÍÅÀÔ ÓÍÙÓÌÁ-Cf/-CF É -I ÎÅÓÏ×ÍÅÓÔÉÍÙ-Cf/-CF ÎÅÓÏ×ÍÅÓÔÎÙ Ó ÒÅÖÉÍÏÍ lex-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ-I (ÉÎÔÅÒÁËÔÉ×ÎÙÊ) ×ÌÅÞÅÔ ÎÅÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ïÐÃÉÑ -l ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó AT&T lex ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÕËÁÚÁÎÁ ÏÐÃÉÑ -s, ÎÏ ÐÒÁ×ÉÌÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÍÅÎÅÎÏéÓÐÏÌØÚÏ×ÁÎÉÅ -+ Ó ËÌÀÞÅÍ -CF ÎÅ×ÏÚÍÏÖÎÏéÓÐÏÌØÚÏ×ÁÎÉÅ -+ Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏéÓÐÏÌØÚÏ×ÁÎÉÅ -f ÉÌÉ -F Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏóÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ. îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ecstblîÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ftblîÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yyacc_tblîÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yybase_tblîÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yychk_tblîÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yydef_tblîÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yymeta_tblîÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yynultrans_tblîÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yynxt_tblîÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yynxt_tbl[][]×ÓÔÒÅÞÅÎ EOF ×ÎÕÔÒÉ ÄÅÊÓÔ×ÉÑíÅÔËÁ ËÏÎÃÁ óÌÉÛËÏÍ ÄÌÉÎÎÁÑ ×ÈÏÄÎÁÑ ÓÔÒÏËÁ ÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ. îÅÐÒÁ×ÉÌØÎÏ ÚÁÄÁÎÙ ËÌÀÞÉ flex. REJECT ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ×ÍÅÓÔÅ Ó -f ÉÌÉ -FREJECT ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ óÏÓÔÏÑÎÉÅ #%d ÎÅÄÏÐÕÓÔÉÍÏ - ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ. îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ=(%d) îÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `%s' éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé] [æáêì]... éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé]... ÏÛÉÂËÁ Õ×ÅÌÉÞÅÎÉÑ ÒÁÚÍÅÒÁ ÍÁÓÓÉ×ÁÎÅ×ÅÒÎÏÅ <ÎÁÞÁÌØÎÏÅ ÕÓÌÏ×ÉÅ>: %sÎÁÊÄÅÎ ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ '%s' × check_char()ÎÅ×ÅÒÎÙÊ ËÌÁÓÓ ÓÉÍ×ÏÌÁÎÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ËÌÁÓÓÁ ÓÉÍ×ÏÌÁ: %sÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ ×ÎÕÔÒÉ {}ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: %sÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ × ÆÁÊÌÅ-ËÁÒËÁÓÅÎÅ×ÅÒÎÙÊ ÓÐÉÓÏË ÎÁÞÁÌØÎÙÈ ÕÓÌÏ×ÉÊÎÅ×ÅÒÎÙÊ ÔÉÐ ÓÏÓÔÏÑÎÉÑ × mark_beginning_as_normal()ÏÂÎÁÒÕÖÅÎ ÎÅ×ÅÒÎÙÊ ÐÅÒÅÈÏÄÎÙÊ ÓÉÍ×ÏÌ × sympartition()ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %sÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ-ËÁÒËÁÓ %sÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÎÁ ÃÅÌÏÓÔÎÏÓÔØ × epsclosure()ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ %sÎÅÕÄÁÅÔÓÑ ÓÏÚÄÁÔØ ÚÁÐÁÓÎÏÊ ÉÎÆÏÒÍÁÃÉÏÎÎÙÊ ÆÁÊÌ %sÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÕÎÉËÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ ËÏÎÃÁ ÂÕÆÅÒÁÎÅÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ ÚÁÇÏÌÏ×ÏË ÔÁÂÌÉÃÏÐÁÓÎÙÊ ÚÁÍÙËÁÀÝÉÊ ËÏÎÔÅËÓÔÏÛÉÂËÁ ÐÒÉ ÒÁÂÏÔÅ Ó ÄÉÎÁÍÉÞÅÓËÏÊ ÐÁÍÑÔØÀ × copy_string()ÐÕÓÔÏÊ Á×ÔÏÍÁÔ × dupmachine()ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %sÏÛÉÂËÁ ÚÁËÒÙÔÉÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %sÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÆÁÊÌÁ-ËÁÒËÁÓÁ %sÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ ÚÁÇÏÌÏ×ÏÞÎÏÇÏ ÆÁÊÌÁ %sÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %sÏÛÉÂËÁ ÚÁÐÉÓÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %sÏÛÉÂËÁ ÚÁÐÉÓÉ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ %sÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ ÒÁÚÂÏÒÁÎÁÊÄÅÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÅÒÅÈÏÄÏ× × mkxtion()ÎÅÐÏÌÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÉÍÅÎÉÏÛÉÂËÁ ÞÔÅÎÉÑ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s×ÈÏÄÎÙÅ ÐÒÁ×ÉÌÁ ÓÌÉÛËÏÍ ÓÌÏÖÎÙÅ (>= %d ÓÏÓÔÏÑÎÉÊ îëá)ÏÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ × allocate_array()ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × yy_flex_xmalloc()ÏÔÓÕÔÓÔ×ÕÀÔ ËÁ×ÙÞËÉÏÔÓÕÔÓÔ×ÕÅÔ }ÉÍÑ "%s" ÎÅÌÅÐÏ ÄÌÉÎÎÏÅÉÍÑ ÏÐÒÅÄÅÌÅÎÏ Ä×ÁÖÄÙÏÔÒÉÃÁÔÅÌØÎÙÊ ÄÉÁÐÁÚÏÎ × ËÌÁÓÓÅ ÓÉÍ×ÏÌÏ×ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s' ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁÎÅ×ÏÚÎÏÖÎÏ ÐÒÉÍÅÎÉÔØ ÐÒÁ×ÉÌÏÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÉÍ×ÏÌÁ %s ÓËÁÎÅÒÕ ÔÒÅÂÕÅÔÓÑ ËÌÀÞ -8ÓÔÁÒÔÏ×ÏÅ ÕÓÌÏ×ÉÅ %s ÏÐÉÓÁÎÏ Ä×ÁÖÄÙÓÏÓÔÏÑÎÉÅ # %4d ÓÏÓÔÏÑÎÉÅ # %d ÄÏÐÕÓËÁÅÔ: ÓÏÓÔÏÑÎÉÅ # %d ÄÏÐÕÓËÁÅÔ: [%d] ÓÏÓÔÏÑÎÉÅ # %d: ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ ÐÏÄ ÓÉÍ×ÏÌÙÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÒÁ×ÉÌ (> %d)!ÚÁÍÙËÁÀÝÉÊ ËÏÎÔÅËÓÔ ÉÓÐÏÌØÚÕÅÔÓÑ Ä×ÁÖÄÙÎÅÏÐÒÅÄÅÌÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ {%s}ÎÅÉÚ×ÅÓÔÎÙÊ -C ËÌÀÞ '%c'ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ ÒÁÚÄÅÌÁ 1ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ %%option: %sÎÅÒÁÓÐÏÚÎÁÎÎÁÑ '%' ÄÉÒÅËÔÉ×ÁÎÅÒÁÓÐÏÚÎÁÎÎÏÅ ÐÒÁ×ÉÌÏyymore() ÐÒÉ×ÏÄÉÔ Ë ÎÅÂÏÌØÛÏÍÕ ÓÎÉÖÅÎÉÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ flex-2.5.35/po/sv.gmo0000664000175000017500000004745210761102744011257 00000000000000Þ•›ôÓÌ  7 Q _ x • /­ 'Ý .N c"o#’¶ Ê ë* 37kŠ!žCÀ$))S%m"“#¶ÚëF_~`‘"ò&0<+m™  Áß$÷")?i4‰5¾Eô/:j‡6£!Ú"ü6Mby“±Ìæ:T r “: ŸÚ!(ï!"2("#["+"«"&É"ð" ##,#K#*c#CŽ#%Ò#ø#+$>$"R$u$$¡$¶$Ð$,é$3%/J% z%ˆ%(¤%Í%(á%+ &6&T&'o&—&µ&Ò&ï&','J'g'„''–'¾'$Ù'2þ' 1(R(,m(-š( È( Ö(à(ü(!)&1)X)!r) ”)¢)0¹)!ê) **.* H*%U*F{*Â*Ù*õ*+"&+I+c+~+<+-Í+`û+=\-š-¬-Ã-Ý-/ù-:).d.2}.°. É..Ö.//5/%H/n/3Ž/7Â/ú/0"10DT0"™0&¼0ã0%ù0 11@1r11¥1B¹1 ü12Z-23ˆ26¼24ó29(3b3,i3–3¶3(Ó3%ü3-"4,P43}42±4Lä40150b5/“5MÃ5860J6{6”6­6Ä6Ý6ù6767R7n7 ‹7¬7È7#è7 8ã 8ÿC$D 8D7FD4~D,³D$àD'E-E =EHE"[E~E4›ESÐE($FMF+jF–F%¬FÒFëFGG5G4UG1ŠG)¼GæGøG0HEH<YH/–HÆH äH#I)I)CImI!I!¯I!ÑI)óIJ=J%[JJ%J8ÃJ#üJ K2:K3mK¡K¸KÁKÞK ûK L=L!WLyLŒL<¤L'áL MM2MQM.`MGM×M(ðMN5N#ONsN†N ™NX¥N+þNK[.)\v˜@ ] „aL7`†9^neRp34;?—omM(€dŒ•H›l…h/F:s%#x5u-CQkP‰BDrZš‡ˆ,‘‚U'$St0c8–J Yq<z’ w~NW‹gI!1TV6A2“_>Š|i= j&yf+*"ƒŽbOEG{™ X”} ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.31 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2004-03-21 22:51+0100 Last-Translator: Christian Rose Language-Team: Swedish MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit ********** början av utskrift av nfa med starttillstånd %d DFA-utskrift: Ekvivalensklasser: Metaekvivalensklasser: stoppövergångar: filslut %d (%d sparade) hashkollisioner, %d DFA lika %d (icke-accepterande) tillstånd för säkerhetskopiering %d tomma tabellposter %d epsilontillstånd, %d dubbla epsilontillstånd %d prototyper skapade %d regler %d uppsättningar med omallokeringar krävdes %d par med tillstånd/nästa-tillstånd skapade %d tabellposter %d mallar skapade, %d användningar %d tabellposter krävs totalt %d/%d (max %d) poster för nästa kontroll skapade %d/%d (max %d) mallposter för nästa kontroll skapade %d/%d DFA-tillstånd (%d ord) %d/%d NFA-tillstånd %d/%d basstandardposter skapade %d/%d teckenklasser behövde %d/%d ord för lagring, %d återanvända %d/%d ekvivalensklasser skapade %d/%d metaekvivalensklasser skapade %d/%d startvillkor %d/%d unika/duplicerade övergångar Början-av-rad-mönster använda Komprimerade tabeller säkerhetskopierar alltid Inget säkerhetskopierande inga teckenklasser inläsarflaggor: - och kan vara den egentliga orsaken till andra rapporter om detta radnummer för associerad regel: utövergångar: %%option yylineno medför en prestandaförlust ENDAST på regler som kan matcha nyradstecken %array kan inte användas tillsammans med flaggan -+%d säkerhetskopierande (icke-accepterande) tillstånd. %option yyclass är bara meningsfull för C++-inläsare%option yylineno kan inte användas tillsammans med REJECT%s %s Statistik över användning av %s version %s: %s: allvarligt internt fel, %s ********** slut på utskrift *Något märkligt* - tecken: %d värde: %d -Cf och -CF är ömsesidigt uteslutande-Cf/-CF och -Cm kan inte användas tillsammans-Cf/-CF och -I kan inte användas tillsammans-Cf/-CF kan inte användas i lex-kompatibilitetsläge-I (interaktiv) medför en mindre prestandaförlust flaggan -l för beteende som AT&T:s lex medför en väsentlig prestandaförlust flaggan -s angiven men standardregeln kan följas-+ kan inte användas tillsammans med flaggan -CF-+ kan inte användas tillsammans med flaggan -l--reentrant eller --bison-bridge kan inte användas tillsammans med flaggan -l-f eller -F kan inte användas tillsammans med flaggan -lKomprimerade tabeller säkerhetskopierar alltid. Kunde inte skriva ecstblKunde inte skriva eoltblKunde inte skriva ftblKunde inte skriva ssltblKunde inte skriva yyacc_tblKunde inte skriva yyacclist_tblKunde inte skriva yybase_tblKunde inte skriva yychk_tblKunde inte skriva yydef_tblKunde inte skriva yymeta_tblKunde inte skriva yynultrans_tblKunde inte skriva yynxt_tblKunde inte skriva yynxt_tbl[][]filslut påträffat inuti en handlingSlutmarkering Genererar program som utför mönstermatchning på text. Tabellkomprimering: -Ca, --align bättre minnesjustering till priset av större tabeller -Ce, --ecs konstruera ekvivalensklasser -Cf komprimera inte tabeller; använd -f-representation -CF komprimera inte tabeller; använd -F-representation -Cm, --meta-ecs konstruera metaekvivalensklasser -Cr, --read använd read() istället för stdio för inläsarindata -f, --full generera snabb, stor inläsare. Samma som -Cfr -F, --fast använd alternativ tabellrepresentation. Samma som -CFr -Cem standardkomprimering (samma som --ecs --meta-ecs) Felsökning: -d, --debug aktivera felsökningsläge i inläsare -b, --backup skriv säkerhetskopieringsinformation till %s -p, --perf-report skriv prestandarapport till standard fel -s, --nodefault undertryck standardregel att använda "ECHO" på omatchad text -T, --trace %s ska köra i spårningsläge -w, --nowarn generera inte varningar -v, --verbose skriv sammanfattning av inläsarstatistik till standard ut Filer: -o, --outfile=FIL ange namn på utfil -S, --skel=FIL ange mallfil -t, --stdout skriv inläsare på standard ut istället för %s --yyclass=NAMN namn på C++-klass --header-file=FIL skapa en C-huvudfil förutom inläsaren --tables-file[=FIL] skriv tabeller till FIL Beteende för inläsare: -7, --7bit generera 7-bitarsinläsare -8, --8bit generera 8-bitarsinläsare -B, --batch generera batchinläsare (motsats till -I) -i, --case-insensitive ignorera skiftläge i mönster -l, --lex-compat maximal kompatibilitet med ursprungliga lex -X, --posix-compat maximal kompatibilitet med POSIX lex -I, --interactive generera interaktiv inläsare (motsats till -B) --yylineno spåra radantal i yylineno Genererad kod: -+, --c++ generera C++-inläsarklass -Dmacro[=defn] definiera makrodefinition (standardefn är "1") -L, --noline undertryck #line-direktiv i inläsaren -P, --prefix=STRÄNG använd STRÄNG som prefix istället för "yy" -R, --reentrant generera en återanropbar C-inläsare --bison-bridge inläsare för ren bisontolk. --bison-locations inkludera stöd för yylloc. --stdinit initiera yyin/yyout till standard in/ut --noansi-definitions funktionsdefinitioner i gammal stil --noansi-prototypes tom parameterlista i prototyper --nounistd inkludera inte --noFUNKTION generera inte en speciell FUNKTION Diverse: -c POSIX-flagga som inte gör något -n POSIX-flagga som inte gör något -? -h, --help visa detta hjälpmeddelande -V, --version visa versionsinformation för %s För lång indatarad Internt fel. flexopts är felaktiga. Backar inte. Flaggorna -+ och --reentrant är ömsesidigt uteslutande.REJECT kan inte användas tillsammans med -f eller -FREJECT medför en väsentlig prestandaförlust Tillstånd %d är icke-accepterande - Prova "%s --help" för mer information. Okänt fel=(%d) Ensamt "{"Okänd flagga "%s" Användning: %s [FLAGGOR] [FIL]... Användning: %s [FLAGGOR]... Regel för varierbar efterföljande kontext på rad %d Regler för varierbar efterföljande sammanhang medför en väsentlig prestandaförlust försök att öka arraystorlek misslyckadesotillåtet : %sotillåtet tecken "%s" funnet i check_char()otillåten teckenklassotillåtet uttryck för teckenklass: %sotillåtet tecken inom {}otillåtet tecken: %sfelaktiga iterationsvärdenotillåten rad i mallfilenfelaktig lista med startvillkorotillåten tillståndstyp i mark_beginning_as_normal()otillåtet övergångstecken funnet i sympartition()bisonbrygga stöds inte för C++-inläsaren.kan inte öppna %skan inte öppna mallfilen %skonsekvenskontrollen misslyckades i epsclosure()kunde inte skapa %skunde inte skapa filen %s med säkerhetskopieringsinformationkunde inte skapa ett unikt buffertsluttillståndkunde inte skriva tabellhuvudfarligt efterföljande sammanhangdynamiskt minnesfel i copy_string()tom maskin i dupmachine()fel när säkerhetskopian %s skulle stängasfel vid stängande av utfilen %sfel vid stängande av mallfilen %sfel vid skapande av huvudfilen %sfel vid borttagning av utfilen %sfel när säkerhetskopian %s skulle skrivasfel vid skrivande av utfilen %sallvarligt fel vid tolkningenfann för många övergångar i mkxtion()ofullständig namndefinitionindatafel vid läsande av mallfilen %sindatareglerna är för komplicerade (>= %d NFA-tillstånd)iterationsvärde måste vara positivtfelaktigt "%top"-direktivminnesallokeringen misslyckades i allocate_array()minnesallokeringen misslyckades i yy_flex_xmalloc()citationstecken saknas} saknasnamnet "%s" är löjligt långtnamnet definierat två gångernegativt intervall i teckenklassflaggan "%s" tar inget argument flaggan "%s" är tvetydig flaggan "%s" kräver ett argument för tidigt filslutregeln kan inte matchasinläsaren kräver flaggan -8 för att kunna använda tecknet %sstartvillkoret %s deklarerat två gångertillstånd %4d tillstånd %d accepterar: tillstånd %d accepterar: [%d] tillstånd %d: minnesallokering för symboltabell misslyckadesteckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsareför många regler (> %d)!efterföljande kontext används två gångerodefinierad definition {%s}okänd flagga till -C "%c"okänt fel vid tolkning av avsnitt 1okänd %%option: %sokänt "%"-direktivokänd regelregler för varierbar efterföljande kontext kan inte användas tillsammans med -f eller -Fyymore() medför en mindre prestandaförlust flex-2.5.35/po/tr.gmo0000664000175000017500000005033710761102745011251 00000000000000Þ•›ôÓÌ  7 Q _ x • /­ 'Ý .N c"o#’¶ Ê ë* 37kŠ!žCÀ$))S%m"“#¶ÚëF_~`‘"ò&0<+m™  Áß$÷")?i4‰5¾Eô/:j‡6£!Ú"ü6Mby“±Ìæ:T r “: ŸÚ!(ï!"2("#["+"«"&É"ð" ##,#K#*c#CŽ#%Ò#ø#+$>$"R$u$$¡$¶$Ð$,é$3%/J% z%ˆ%(¤%Í%(á%+ &6&T&'o&—&µ&Ò&ï&','J'g'„''–'¾'$Ù'2þ' 1(R(,m(-š( È( Ö(à(ü(!)&1)X)!r) ”)¢)0¹)!ê) **.* H*%U*F{*Â*Ù*õ*+"&+I+c+~+<+-Í+û+K‰-Õ-è-..;>.*z.¥.-À.î. /,/,B/o/*…/)°/6Ú/>0!P0r0+†0^²0&1*81 c1„11¤11Ö12232MP2#ž2Â2\Ö2!33(U3>~33½3ñ3(ø3!4>4(W4"€4+£4Ï4&å4A 5LN5?›5$Û5 6I!6(k60”6Å6Ù6í6ÿ67*7E7]7t7‹7£7¿7Ö7+ñ78¾ 38òD E,E6Š|i= j&yf+*"ƒŽbOEG{™ X”} ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty attempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.31 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2004-05-16 18:36+0300 Last-Translator: Deniz Akkus Kanca Language-Team: Turkish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.0.2 ********** baÅŸlangıç durumu %d olan nfa'nın dökümüne baÅŸlanıyor DFA Dökümü: Denklik Sınıfları: Ara-Denklik Sınıfları: sıkışık-geçiÅŸler: EOF %d (%d kaydedildi) saçılma çarpışması, %d DFA denk %d yedeklenmiÅŸ (kabul-edilmeyen) durum %d boÅŸ tablo girdileri %d epsilon durumu, %d çift epsilon durumu %d prototip yaratıldı %d kural %d tekrar ayırım kümesine ihtiyaç var %d durumu/sonrakidurum çifti yaratıldı %d tablo girdileri %d ÅŸablon yaratıldı, %d kullanıldı %d toplam tablo girdisine ihtiyaç var %d/%d (en yüksek %d) nxt-chk girdileri yaratıldı %d/%d (en yüksek %d) ÅŸablon nxt-chk girdileri yaratıldı %d/%d DFA durumu (%d sözcük) %d/%d NFA durumu %d/%d temel-tanım girdileri yaratıldı %d/%d ihtiyaç duyulan karakter sınıfı %d/%d depolanan sözcük, %d yeniden kullanıldı %d/%d denklik sınıfı yaratıldı %d/%d ara-denklik sınıfı yaratıldı %d/%d baÅŸlangıç ÅŸartları %d/%d tekil/çift geçiÅŸler BaÅŸlangıç-satırı kalıpları kullanıldı Sıkıştırılmış tablolar daima yedeklenir Yedekleme yok karakter sınıfı yok tarayıcı seçenekleri: - ve belki bildirilen baÅŸka performans kayıplarının da kaynağı olabilir alakalı kural satır numaraları: dış-geçiÅŸler: yylineno %%seçeneÄŸi YALNIZCA yenisatır karakterlerini de eÅŸleyen satırlarda yavaÅŸlar. %array, -+ seçeneÄŸi ile uyumsuz%d yedeklenen (kabul-etmeyen) durumlar. %option yyclass, sadece C++ tarayıcıları için anlamlıdır%option yylineno, REJECT ile birlikte kullanılamaz%s %s %s sürüm %s kullanım istatistikleri: %s: ölümcül iç hata, %s ********** döküm sonu *Garip Bir Åžey* -andaç: %d deÄŸer: %d -Cf ve -CF bir arada kullanılamaz-Cf/-CF ve -Cm birlikte anlam ifade etmiyor-Cf/-CF ve -I uyumsuz-Cf/-CF lex-uyumluluk kipi ile uyumsuz-I (etkileÅŸimli) küçük ölçekli bir yavaÅŸlamaya neden olur -l AT&T lex uyumluluÄŸu seçeneÄŸi önemli ölçüde yavaÅŸlamaya yol açar -s seçeneÄŸi verilmiÅŸ fakat öntanımlı kural eÅŸlenebiliyor-+, -CF seçeneÄŸi ile kullanılamaz-+'yi -l seçeneÄŸi ile kullanma-l seçeneÄŸi ile --reentrant veya --bison-bridge bir arada kullanılamaz-f veya -F'yi -l seçeneÄŸi ile kullanmaSıkıştırılmış tablolar daima yedeklidir. ecstbl yazılamadıeoltbl yazılamadıftbl yazılamadıssltbl yazılamadıyyacc_tbl yazılamadıyyacclist_tbl yazılamadıyybase_tbl yazılamadıyychk_tbl yazılamadıyydef_tbl yazılamadıyymeta_tbl yazılamadıyynultrans_tbl yazılamadıyynxt_tbl yazılamadıyynxt_tbl[][] yazılamadıbir eylem içinde EOF ile karşılaşıldıBitiÅŸ İşaretçisi Metin üzerinde kalıp eÅŸleyen yazılımlar oluÅŸturur. Tablo Sıkıştırma Seçenekleri: -Ca, --align daha iyi bellek hizalaması için daha büyük tablolardan vazgeçer. -Ce, --ecs eÅŸitlik sınıfları oluÅŸturur -Cf tabloları sıkıştırmaz; -f gösterimini kullanır -CF tabloları sıkıştırmaz; -F gösterimini kullanır -Cm, --meta-ecs üst-eÅŸitlik sınıfları oluÅŸturur -Cr, --read tarama girdisi için stdio yerine read() kullanır -f, --full hızlı, büyük tarayıcı oluÅŸturur. -Cfr ile aynı -F, --fast alternatif tablo gösterimi kullanır. -CFr ile aynı -Cem ön tanımlı sıkıştırma (--ecs --meta-ecs ile aynı) Hata Ayıklama: -d, --debug tarayıcıda hata ayıklama kipini etkinleÅŸtirir -b, --backup yedekleme bilgisini %s'e yazdırır -p, --perf-report performans raporunu standart hataya yazdırır -s, --nodefault eÅŸleÅŸmeyen metni göstermek davranışını durdurur -T, --trace %s izleme kipinde çalışmalıdır -w, --nowarn uyarı bildirmez -v, --verbose tarama istatistiklerini standart çıktıya yazdırır Files: -o, --outfile=DOSYA çıktı dosya adını belirtir -S, --skel=DOSYA iskelet dosyanın adını belirtir -t, --stdout tarayıcıyı %s yerine stdout'a yazdırır --yyclass=İSİM C++ sınıfının ismi --header-file=DOSYA tarayıcı yanında C baÅŸlık dosyası da oluÅŸturur --tables-file[=DOSYA] tabloları DOSYA'ya yazar Tarayıcı davranışı: -7, --7bit 7-bit tarayıcı oluÅŸturur -8, --8bit 8-bit tarayıcı oluÅŸturur -B, --batch etkileÅŸimsiz tarayıcı oluÅŸturur (-I'nın tersi) -i, --case-insensitive kalıplarda büyük/küçük harf gözetmez -l, --lex-compat lex ile en fazla uyumluluÄŸu saÄŸlar -X, --posix-compat POSIX lex ile en fazla uyumluluÄŸu saÄŸlar -I, --interactive etkileÅŸimli tarayıcı oluÅŸturur (-B'nin tersi) --yylineno yylineno içinde satır sayısını tutar OluÅŸturulan kod: -+, --c++ C++ tarayıcı sınıfı oluÅŸturur -Dmacro[=defn] #define ile makro tanımı (öntanımlı defn, '1') -L, --noline tarayıcıda #line yönergeleri oluÅŸturmaz -P, --prefix=STRING "yy" yerine STRING'i önek olarak kullanır -R, --reentrant yeniden giriÅŸli C tarayıcısı oluÅŸturur --bison-bridge saf bison ayrıştırıcısı için tarayıcı. --bison-locations yylloc desteÄŸini etkinleÅŸtirir. --stdinit yyin/yyout'u stdin/stdout'a tanımlar --noansi-definitions eski tür iÅŸlev tanımları --noansi-prototypes prototiplerde boÅŸ parametre listesi --nounistd 'yi içermez --noFUNCTION FUNCTION ismindeki iÅŸlevi üretmez Muhtelif: -c hiç bir ÅŸey yapmayan POSIX seçeneÄŸi -n hiç bir ÅŸey yapmayan POSIX seçeneÄŸi -? -h, --help bu yardım bilgisini gösterir -V, --version %s sürümünü bildirir Girdi satırı fazla uzun İç hata. flexopt'lar bozuk. Yedekleme yok. -+ ve --reentrant seçenekleri bir arada kullanılamazREJECT, -f veya -F ile kullanılamazREJECT büyük ölçekli bir yavaÅŸlamaya neden olur Durum #%d kabul etmiyor - Daha fazla bilgi için `%s --help' yazın. Bilinmeyen hata=(%d) '{' eÅŸleÅŸmiyorBilinmeyen seçenek: `%s' Kullanım: %s [SEÇENEKLER...] [DOSYA...] Kullanım: %s [SEÇENEKLER...] %d satırında deÄŸiÅŸken izleyen baÄŸlam kuralı DeÄŸiÅŸken izleyen baÄŸlam kuralları, büyük ölçekli yavaÅŸlamaya neden olur dizi boyutunu artırma denemesi baÅŸarısızhatalı : %scheck_char() içinde hatalı karakter '%s' saptandıhatalı karakter sınıfıbozuk karakter sınıfı ifadesi: %s{}'ler içinde hatalı karakterhatalı karakter: %shatalı yineleme deÄŸerleriiskelet dosya içinde hatalı satırhatalı baÅŸlangıç ÅŸart listesimark_beginning_as_normal() içinde hatalı durum türüsympartition() içinde hatalı geçiÅŸ karakterleri saptandıbison bridge, C++ tarayıcısı için desteklenmiyor.%s açılamıyoriskelet dosyası %s açılamadıepsclosure() içindeki tutarlılık kontrolü baÅŸarısız%s oluÅŸturulamadıyedekleme bilgi dosyası %s oluÅŸturulamadıtekil tampon sonu durumu yaratılamadıtablo baÅŸlığı yazılamadıizleyen baÄŸlam tehlikelicopy_string() içinde dinamik bellek hatasıdupmachine() içinde boÅŸ makineyedek dosyası %s kapatılırken hataçıktı dosyası %s kapatılırken hataiskelet dosyası %s kapatılırken hatabaÅŸlık dosyası %s oluÅŸturulurken hataçıktı dosyası %s silinirken hatayedek dosyası %s yazılırken hataçıktı dosyası %s yazılırken hataölümcül ayrıştırma hatasımkxtion() içinde çok fazla geçiÅŸ bulundueksik isim tanımlamasıiskelet dosyası %s okunurken girdi hatasıgirdi kuralları fazla karışık (>= %d NFA durumu)yineleme deÄŸeri pozitif olmalıhatalı `%top' yönergesiallocate_array() içinde bellek ayırımı baÅŸarısızyy_flex_xmalloc() içinde bellek ayırımı baÅŸarısızeksik çift tırnakeksik }"%s" ismi gülünç derecede uzunisim iki defa tanımlandıkarakter sınıflarında negatif aralık`%s' seçeneÄŸi argüman kullanmaz `%s' seçeneÄŸi belirsiz `%s' seçeneÄŸi için argüman zorunludur erken EOFkural eÅŸlenemeditarayıcı %s karakterini kullanmak için -8 bayrağına ihtiyaç duyarbaÅŸlangıç ÅŸartı %s iki defa bildirildidurum # %4d durum # %d kabul eder: durum # %d kabul eder: [%d] durum # %d: simge tablosu bellek ayırımı baÅŸarısız[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda belirsiz anlamlıçok fazla kural (> %d)!izleyen baÄŸlam iki defa kullanılmışbelirsiz tanım {%s}bilinmeyen -C seçeneÄŸi '%c'1. bölüm iÅŸlenirken bilinmeyen hata oluÅŸtugeçersiz %%seçenek: %s'%' yönergesi bilinmiyorbilinmeyen kuraldeÄŸiÅŸken izleme ortamı kuralları, -f veya -F ile birlikte kullanılamazyymore() küçük ölçekli bir yavaÅŸlamaya neden olur flex-2.5.35/po/vi.gmo0000664000175000017500000005634010761103057011237 00000000000000Þ•ž Óü H 7I  ¨ Å /Ý ' 5.O~ “"Ÿ#Âæ ú *<3g›º!ÎCð$4)Yƒ%"Ã#æ 3FH®`Á""&E0l+É Ðñ$'"L)o™4¹5îE$/jš·6Ó! ",Of}’©Ãáü0Kj„ ¢Ã â: î)"(>"g"2w"#ª"+Î"ú"&#?# S#a#{#š#*²#CÝ#3!$0U$%†$¬$+Æ$ò$"%)%C%U%j%„%,%3Ê%/þ% .&<&(X&&(•&+¾&ê&''#'K'i'†'£'Â'à'þ'(8('J(r($(2²( å(),!)-N) |) Š)”)°)!Ã)&å) *!&* H*V*0m*!ž* À*Í*â* ü*% +F/+v++©+Ã+"Ú+ý+,2,<D,-,¶¯,Jf.±."À.!ã.G/GM/E•/!Û/Fý/4D0y08‰0GÂ0 1/$1.T1Yƒ1fÝ1$D2i2M„2VÒ2;)3:e3$ 30Å3"ö3,4F4Y4w4I•4/ß4 5j05F›5Dâ5L'6Ut6Ê6,Ñ6.þ6-78D7>}7P¼7K 8tY8CÎ8P9Tc9@¸9>ù9’8:KË:+;C;a;;›; ¹;$Ú;!ÿ; !< B<!c<%…< «<$Ì<9ñ<++=W=0j=›L7³LëL\ýLRZM/­M;ÝMLNfN}N&’N,¹N!æN<OBEOEˆOEÎO6P7KPKƒPÏP%ãP4 Q>Q OQ-pQ.žQ]ÍQ>+RSjR¾R,ÓRCSDS3ZSCŽS%ÒS%øSLT2kT,žT*ËT1öT0(U-YU(‡U'°U'ØU9V):V=dVK¢V.îV1WROW?¢WâW ýW#X)+X+UX2X"´X.×X&Y&-Y>TYB“YÖY"ëY'Z6Z3KZWZ×Z.÷Z,&[,S[,€[6­[>ä[-#\eQ\(·\L^.’)_y›@ ` ‡dM7c‰‚9aqhSs34;?šrpN(ƒg˜Ižoˆk/F:v%#{5x-CRnQŒBDu]HŠ‹,”…V'$Tw0f8™K“ \t<}• zOXZjJ!1UW6A2–b>l= m&|[i+*Ž"†‘„ePEG~œ Y—€ ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: Meta-Equivalence Classes: jam-transitions: EOF %d (%d saved) hash collisions, %d DFAs equal %d backing-up (non-accepting) states %d empty table entries %d epsilon states, %d double epsilon states %d protos created %d rules %d sets of reallocations needed %d state/nextstate pairs created %d table entries %d templates created, %d uses %d total table entries needed %d/%d (peak %d) nxt-chk entries created %d/%d (peak %d) template nxt-chk entries created %d/%d DFA states (%d words) %d/%d NFA states %d/%d base-def entries created %d/%d character classes needed %d/%d words of storage, %d reused %d/%d equivalence classes created %d/%d meta-equivalence classes created %d/%d start conditions %d/%d unique/duplicate transitions Beginning-of-line patterns used Compressed tables always back-up No backing up no character classes scanner options: - and may be the actual source of other reported performance penalties associated rule line numbers: out-transitions: %%option yylineno entails a performance penalty ONLY on rules that can match newline characters %array incompatible with -+ option%d backing up (non-accepting) states. %option yyclass only meaningful for C++ scanners%option yylineno cannot be used with REJECT%s %s %s version %s usage statistics: %s: fatal internal error, %s ********** end of dump *Something Weird* - tok: %d val: %d -Cf and -CF are mutually exclusive-Cf/-CF and -Cm don't make sense together-Cf/-CF and -I are incompatible-Cf/-CF are incompatible with lex-compatibility mode-I (interactive) entails a minor performance penalty -l AT&T lex compatibility option entails a large performance penalty -s option given but default rule can be matchedCan't use -+ with -CF optionCan't use -+ with -l optionCan't use --reentrant or --bison-bridge with -l optionCan't use -f or -F with -l optionCompressed tables always back up. Could not write ecstblCould not write eoltblCould not write ftblCould not write ssltblCould not write yyacc_tblCould not write yyacclist_tblCould not write yybase_tblCould not write yychk_tblCould not write yydef_tblCould not write yymeta_tblCould not write yynultrans_tblCould not write yynxt_tblCould not write yynxt_tbl[][]EOF encountered inside an actionEOF encountered inside patternEnd Marker Generates programs that perform pattern-matching on text. Table Compression: -Ca, --align trade off larger tables for better memory alignment -Ce, --ecs construct equivalence classes -Cf do not compress tables; use -f representation -CF do not compress tables; use -F representation -Cm, --meta-ecs construct meta-equivalence classes -Cr, --read use read() instead of stdio for scanner input -f, --full generate fast, large scanner. Same as -Cfr -F, --fast use alternate table representation. Same as -CFr -Cem default compression (same as --ecs --meta-ecs) Debugging: -d, --debug enable debug mode in scanner -b, --backup write backing-up information to %s -p, --perf-report write performance report to stderr -s, --nodefault suppress default rule to ECHO unmatched text -T, --trace %s should run in trace mode -w, --nowarn do not generate warnings -v, --verbose write summary of scanner statistics to stdout Files: -o, --outfile=FILE specify output filename -S, --skel=FILE specify skeleton file -t, --stdout write scanner on stdout instead of %s --yyclass=NAME name of C++ class --header-file=FILE create a C header file in addition to the scanner --tables-file[=FILE] write tables to FILE Scanner behavior: -7, --7bit generate 7-bit scanner -8, --8bit generate 8-bit scanner -B, --batch generate batch scanner (opposite of -I) -i, --case-insensitive ignore case in patterns -l, --lex-compat maximal compatibility with original lex -X, --posix-compat maximal compatibility with POSIX lex -I, --interactive generate interactive scanner (opposite of -B) --yylineno track line count in yylineno Generated code: -+, --c++ generate C++ scanner class -Dmacro[=defn] #define macro defn (default defn is '1') -L, --noline suppress #line directives in scanner -P, --prefix=STRING use STRING as prefix instead of "yy" -R, --reentrant generate a reentrant C scanner --bison-bridge scanner for bison pure parser. --bison-locations include yylloc support. --stdinit initialize yyin/yyout to stdin/stdout --noansi-definitions old-style function definitions --noansi-prototypes empty parameter list in prototypes --nounistd do not include --noFUNCTION do not generate a particular FUNCTION Miscellaneous: -c do-nothing POSIX option -n do-nothing POSIX option -? -h, --help produce this help message -V, --version report %s version Input line too long Internal error. flexopts are malformed. No backing up. Options -+ and --reentrant are mutually exclusive.REJECT cannot be used with -f or -FREJECT entails a large performance penalty State #%d is non-accepting - Try `%s --help' for more information. Unknown error=(%d) Unmatched '{'Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... Variable trailing context rule at line %d Variable trailing context rules entail a large performance penalty [:^lower:] is ambiguous in case insensitive scanner[:^upper:] ambiguous in case insensitive scannerattempt to increase array size failedbad : %sbad character '%s' detected in check_char()bad character classbad character class expression: %sbad character inside {}'sbad character: %sbad iteration valuesbad line in skeleton filebad start condition listbad state type in mark_beginning_as_normal()bad transition character detected in sympartition()bison bridge not supported for the C++ scanner.can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create backing-up info file %scould not create unique end-of-buffer statecould not write tables headerdangerous trailing contextdynamic memory failure in copy_string()empty machine in dupmachine()error closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorfound too many transitions in mkxtion()incomplete name definitioninput error reading skeleton file %sinput rules are too complicated (>= %d NFA states)iteration value must be positivemalformed '%top' directivememory allocation failed in allocate_array()memory allocation failed in yy_flex_xmalloc()missing quotemissing }name "%s" ridiculously longname defined twicenegative range in character classoption `%s' doesn't allow an argument option `%s' is ambiguous option `%s' requires an argument premature EOFrule cannot be matchedscanner requires -8 flag to use the character %sstart condition %s declared twicestate # %4d state # %d accepts: state # %d accepts: [%d] state # %d: symbol table memory allocation failedthe character range [%c-%c] is ambiguous in a case-insensitive scannertoo many rules (> %d)!trailing context used twiceundefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized '%' directiveunrecognized rulevariable trailing context rules cannot be used with -f or -Fyymore() entails a minor performance penalty Project-Id-Version: flex 2.5.34 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2008-02-10 17:40+1030 Last-Translator: Clytie Siddall Language-Team: Vietnamese MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0 X-Generator: LocFactoryEditor 1.7b3 ********** bắt đầu đổ NFA có tình trạng bắt đầu là %d Äổ DFA: Hạng độ tương đương: Hạng siêu tương đương: chuyển tiếp jam (bị trở ngại?): gặp kết thúc tập tin %d (%d được lưu) lần va chạm vá»›i hash, %d DFA bằng nhau %d Ä‘ang sao lưu các tình trạng (kiểu không chấp nhận) %d mục nhập bảng trống %d tình trạng épxilông (ε), %d tình trạng épxilông đôi %d proto (vật đầu tiên) đã được tạo %d quy tắc cần thiết %d tập hợp Ä‘iá»u phân chia lại %d cặp tình trạng/tình trạng kế tiếp đã được tạo %d mục nhập bảng %d mẫu đã được tạo, %d lần dùng cần thiết tổng mục nhập bảng %d %d/%d (tối Ä‘a %d) mục nhập nxt-chk (kiểm tra kế tiếp) đã được tạo %d/%d (tối Ä‘a %d) mục nhập biểu mẫu nxt-chk (kiểm tra kế tiếp) đã được tạo %d/%d tình trạng DFA (%d từ) %d/%d tình trạng NFA %d/%d mục nhập base-def (định nghÄ©a cÆ¡ bản) đã được tạo %d/%d hạng ky tá»± cần thiết %d/%d từ sức chứa, %d được dùng lại %d/%d hạng kiểu tương đương đã được tạo %d/%d hạng siêu tương đương đã được tạo %d/%d Ä‘iá»u kiện bắt đầu %d/%d việc chuyên tiếp duy nhất/trùng Dùng mẫu kiểu đầu dòng Bảng đã nén lúc nào cÅ©ng sao lưu Không sao lưu không có hạng ký tá»± tùy chá»n bá»™ quét: — thì có lẽ thật gây ra trưá»ng hợp giảm hiệu suất khác số thứ tá»± dòng quy tắc tương ứng: việc chuyển tiếp xuất: %%tùy chá»n « yylineno » giảm hiệu suất CHỈ vá»›i quy tắc khá»›p vá»›i ký tá»± dòng má»›i « %array » (mảng) không tương thích vá»›i tùy chá»n « -+ »%d Ä‘ang sao lưu các tình trạng (kiểu không chấp nhận). %option (tùy chá»n) « yyclass » chỉ có ý nghÄ©a vá»›i bá»™ quét C++Không cho phép dùng %option (tùy chá»n) « yylineno » vá»›i REJECT (Ä‘uổi ra)%s %s %s phiên bản %s thống kê sá»­ dụng: %s: gặp lá»—i nôi bá»™ nghiêm trá»ng, %s ********** đổ xong • Äiá»u lạ • — hiệu bài: %d giá trị: %d Hai tùy chá»n « -Cf » and « -CF » loại từ lẫn nhauHai tùy chá»n « -Cf/-CF » và « -Cm » vá»›i nhau thì không có ý nghÄ©aHai tùy chá»n « -Cf/-CF » và « -I » không tương thích vá»›i nhauTùy chá»n « -Cf/-CF » không tương thích vá»›i chế độ « lex-compatibility » (tương thích vá»›i lex)Tùy chá»n « -I » (tương tác) giảm hiệu suất má»™t ít Tùy chá»n kiểu tương thích lex AT&T « -l » rất giảm hiệu suất đưa ra tùy chá»n « -s » còn quy tắc mặc định có thể được khá»›pKhông thể dùng ký tá»± « -+ » vá»›i tùy chá»n « -CF »Không thể dùng ký tư « -+ » vá»›i tùy chá»n « -l »Không thể dùng đối số « --reentrant » (Ä‘iá»u vào lại) hoặc « --bison-bridge » (chiếc cầu bison) vá»›i tùy chá»n « -l »Không thể dùng cỠ« -f » hoặc « -F » vá»›i tùy chá»n « -l »Bảng đã nén lúc nào cÅ©ng sao lưu. Không thể ghi « ecstbl »Không thể ghi « eoltbl »Không thể ghi « ftbl »Không thể ghi « ssltbl »Không thể ghi « yyacc_tbl »Không thể ghi « yyacclist_tbl »Không thể ghi « yybase_tbl »Không thể ghi « yychk_tbl »Không thể ghi « yydef_tbl »Không thể ghi « yymeta_tbl »Không thể ghi « yynultrans_tbl »Không thể ghi « yynxt_tbl »Không thể ghi « yynxt_tbl[][] »gặp kết thúc tập tin ở trong má»™t hành độnggặp kết thúc tập tin ở trong mẫuDấu kết thúc Tạo ra chương trình thá»±c hiện tiến trình khá»›p mẫu trong Ä‘oạn chữ. Cách nén bảng: -Ca, --align thoả hiệp giữa bảng lá»›n hÆ¡n và độ _canh lá»_ bá»™ nhá»› khá hÆ¡n -Ce, --ecs cấu tạo hạng kiểu tương đương -Cf không nén bảng; dùng sá»± tiêu biểu « -f » -CF không nén bảng; dùng sá»± cách tiêu biểu « -F » -Cm, --meta-ecs cấu tạo hạng kiểu _siêu_ tương đương -Cr, --read dùng chức năng read() (_Ä‘á»c_) thay thế thiết bị nhập/xuất chuẩn để nhập bá»™ quét -f, --full tạo ra bá»™ quét nhanh và lá»›n; bằng -Cfr (_đầy đủ_) -F, --fast dùng sá»± tiêu biểu bảng xen kẽ; bằng -CFr (_nhanh_) -Cem phương pháp nén mặc định; bằng « --ecs » « --meta-ecs ») Gỡ lá»—i: -d, --debug bật chế độ _gỡ lá»—i_ trong bá»™ quét -b, --backup ghi thông tin _sao lưu_ vào %s -p, --perf-report ghi _thông báo hiệu suất_ vào thiết bị lá»—i chuẩn -s, --nodefault thu hồi quy tắc _mặc định_ để ECHO (vá»ng) Ä‘oạn chưa khá»›p -T, --trace %s nên chạy trong chế độ theo _dấu vết_ -w, --nowarn _không_ tạo ra lá»i _cảnh báo_ -v, --verbose ghi tóm tắt các thống kê bá»™ quét vào thiết bị xuất chuẩn (_chi tiêt_) Tập tin: -o, --outfile=TẬP_TIN ghi rõ tên _tập tin xuất_ -S, --skel=TẬP_TIN ghi rõ tập tin _khung sưá»n_ -t, --stdout ghi bá»™ quet ra _thiết bị xuất chuẩn_ thay thế ra %s --yyclass=TÊN tên cá»§a _hạng_ C++ --header-file=TẬP_TIN tạo _tập tin phần đầu_ C thêm vào bá»™ quét --tables-file[=TẬP_TIN] ghi các bảng vào TẬP_TIN này Ứng xá»­ cá»§a bá»™ quét: -7, --7bit tạo ra bá»™ quét kiểu 7-bit -8, --8bit tạo ra bá»™ quét kiểu 8-bit -B, --batch tạo ra bá»™ quét _bó_ (ngược vá»›i tùy chá»n « -I ») -i, --case-insensitive _bá» qua chữ hoa/thưá»ng_ trong mẫu -l, --lex-compat độ _tương thích_ tối Ä‘a vá»›i lex gốc -X, --posix-compat độ _tương thích_ tối Ä‘a vá»›i lex _POSIX_ -I, --interactive tạo ra bá»™ quét _tương tác_ (ngược vá»›i tùy chá»n « -B ») --yylineno theo dõi số đếm số dòng trong yylineno Mã đã tạo ra : -+, --c++ tạo ra hang bá»™ quét kiểu C++ -Dmacro[=lá»i_định_nghÄ©a] _định nghÄ©a_ bá»™ lệnh #define (lá»i định nghÄ©a mặc định là « 1 ») -L, --noline thu hồi các chỉ thị #line trong bá»™ quét (_không dòng_) -P, --prefix=CHUá»–I dùng CHUá»–I này là _tiá»n tố_ thay thế « yy » -R, --reentrant tạo ra má»™t bá»™ quét C kiểu _vào lại_ --bison-bridge bá»™ quét cho trình phân tách thuần tuý kiểu bison. (_cầu_) --bison-locations gồm khả năng há»— trợ yylloc (_địa Ä‘iểm_). --stdinit khởi động yyin/yyout vào thiết bị nhập/xuất chuẩn --noansi-definitions _lá»i định nghÄ©a_ chức năng kiểu cÅ© (_không ANSI_) --noansi-prototypes danh sách tham số trống trong _vật đầu tiên_ (_không ANSI_) --nounistd _không_ bao gồm --noCHỨC_NÄ‚NG không tạo ra má»™t CHỨC NÄ‚NG cá biệt Lặt vặt: -c tùy chá»n POSIX không làm gì -n tùy chá»n POSIX không làm gì -? -h, --help hiển thị _trợ giúp_ này -V, --version thông báo phiên bản %s dòng nhập quá dài Gặp lá»—i ná»™i bá»™ vì những flexopt dạng sai. Không sao lưu. Hai tùy chá»n « - + » và « --reentrant » (Ä‘iá»u vào lại) loại từ lẫn nhau.Không cho phép dùng REJECT (Ä‘uổi ra) vá»›i tùy chá»n « -f » hay « -F »REJECT (Ä‘uổi ra) rất giảm hiệu suất Tình trạng #%d không phải là kiểu chấp nhận - Hãy thá»­ lệnh « %s --help » (trợ giúp) để xem thêm thông tin. Không rõ lá»—i=(%d) Chưa khá»›p « { »Không nhận ra tùy chá»n « %s » Sá»­ dụng: %s [TUY_CHỌN] [TẬP_TIN]... Sá»­ dụng: %s [TÙY_CHỌN]... Gặp quy tắc ngữ cảnh theo sau biến tại dòng %d Quy tắc ngữ cảnh theo sau biến rất giảm hiệu suất [:^lower:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thưá»ng[:^upper:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thưá»ngviệc thá»­ tăng kích cỡ mảng đã thất bại (Ä‘iệu kiện bắt đầu) sai: %sphát hiện ký tá»± sai « %s » trong check_char() (kiểm tra ký tá»±)hạng ký tá»± saibiểu thức hạng ký tá»± sai: %scó ký tá»± sai ở trong hai dấu ngoặc móc {}ký tá»± sai: %sgặp giá trị lặp lại saigặp dòng sai trong tập tin khung sưá»ndanh sách Ä‘iá»u kiện bắt đầu là saikiểu tình trạng sai trong mark_beginning_as_normal() (đánh dấu đầu là thưá»ng)phát hiện ký tá»± chuyển tiếp sai trong sympartition()bison bridge (chiếc cầu bison) không được há»— trợ vá»›i bá»™ quét C++.không thể mở %skhông thể mở tập tin khung sưá»n %sviệc kiểm tra sá»± thống nhất bị lá»—i trong epsclosure()không thể tạo %skhông thể tạo tập tin thông tin sao lưu %skhông thể tạo tình trạng kết thúc bá»™ đệm duy nhấtkhông thể ghi phần đầu bảngngữ cảnh theo sau là nguy hiểmbá»™ nhá»› động đã thất bại trong copy_string() (sao chép chuá»—i)máy trống trong dupmachine() (nhân đôi máy)gặp lá»—i khi đóng tập tin sao lưu %sgặp lá»—i khi đóng tập tin xuất %sgặp lá»—i khi đóng tập tin khung sưá»n %sgặp lá»—i khi tạo tập tin phần đầu %sgặp lá»—i khi xoá bá» tập tin xuất %sgăp lá»—i khi ghi tập tin sao lưu %sgặp lá»—i khi ghi tập tin xuất %sgặp lá»—i phân tích nghiêm trá»nggặp quá nhiá»u việc chuyển tiếp trong mkxtion()lá»i Ä‘inh nghÄ©a tên chưa hoàn tấtgặp lá»—i nhập vào khi Ä‘á»c tập tin khung sưá»n %scác quy tắc nhập vào là quá phức tạp (≥ %d tình trạng NFA)giá trị lặp lại phải là số dươngchỉ thị kiểu « %top » (đầu) dạng saiviệc phân chia bá»™ nhá»› bị lá»—i trong allocate_array() (phân chia mảng)việc phân chia bá»™ nhá»› bị lá»—i trong yy_flex_xmalloc()thiếu dấu trích dẫnthiếu }tên « %s » là dài nhố nhăngtên đã được xác định hai lầngặp phạm vị âm trong hạng ký tá»±tùy chá»n « %s » không cho phép đối số tùy chá»n « %s » là mÆ¡ hồ tùy chá»n « %s » cần đến đối số gặp kết thúc tập tin quá sá»›mquy tắc không thể được khá»›pbá»™ quét cần thiết cỠ« -8 » để dùng ký tá»± %sÄ‘iá»u kiện bắt đầu %s đã được tuyên bố hai lầntình trạng # %4d tình trạng # %d chấp nhận: tình trạng # %d chấp nhận: [%d] tình trạng # %d: lá»—i phân chia bá»™ nhá»› cá»§a bảng ký hiệuphạm vị ký tá»± [%c-%c] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thưá»ngquá nhiá»u quy tắc (> %d) !ngữ cảnh theo sau được dùng hai lầnchưa xác định lá»i định nghÄ©a {%s}không rõ tùy chá»n « -C » là « %c »gặp lá»—i không rõ khi xá»­ lý phần 1gặp tùy chá»n %% không được nhận dạng: %sgặp chỉ thị kiểu « % » không được nhận dạnggặp quy tắc không được nhận dạngkhông cho phép dùng quy tắc ngữ cảnh theo sau biến vá»›i tùy chá»n « -f » hay « -F »yymore() giảm hiệu suất má»™t ít flex-2.5.35/po/zh_CN.gmo0000664000175000017500000000757710761102745011635 00000000000000Þ•5ÄGlˆ7‰ ÁÏ èô  (I]w–%®Ôî"%7Q3j ž¬(Èñ+1NkЍÆã$--R € Ž˜&«!Òô! - : %G m „ ž "µ Ø ò | * ¬ » È Õ å ì   ! 3 N b y  œ µ Ä × &ê   1 Q !]  ” © ¾ Ñ æ û 0%Kqz¦ ¾Ë â îû 2GZp.) ,3&#0-$ /2 (4  "!%1 +'*5 ********** beginning dump of nfa with start state %d DFA Dump: Equivalence Classes: %d rules scanner options: -%s %s ********** end of dump EOF encountered inside an actionUnknown error=(%d) Unrecognized option `%s' Usage: %s [OPTIONS] [FILE]... Usage: %s [OPTIONS]... attempt to increase array size failedbad : %sbad character classbad character class expression: %sbad character: %sbad line in skeleton filebad start condition listbad transition character detected in sympartition()can't open %scan't open skeleton file %sconsistency check failed in epsclosure()could not create %scould not create unique end-of-buffer stateerror closing backup file %serror closing output file %serror closing skeleton file %serror creating header file %serror deleting output file %serror writing backup file %serror writing output file %sfatal parse errorincomplete name definitioninput error reading skeleton file %smemory allocation failed in yy_flex_xmalloc()missing quotemissing }name defined twiceoption `%s' doesn't allow an argument option `%s' requires an argument rule cannot be matchedstart condition %s declared twicestate # %4d state # %d: symbol table memory allocation failedtoo many rules (> %d)!undefined definition {%s}unknown -C option '%c'unknown error processing section 1unrecognized %%option: %sunrecognized ruleProject-Id-Version: flex 2.5.8 Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net POT-Creation-Date: 2008-02-26 16:34-0500 PO-Revision-Date: 2002-08-18 10:37+0800 Last-Translator: Wang Li Language-Team: Chinese (simplified) MIME-Version: 1.0 Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: 8bit ********** ¿ªÊ¼Êä³öÆðʼ״̬Ϊ %d µÄ NFA DFA Êä³ö£º µÈ¼ÛÀࣺ %d Ìõ¹æÔò ɨÃèÆ÷Ñ¡Ï-%s %s ********** Êä³ö½áÊø ÔÚ¶¯×÷ÖÐÎļþ½áÊøÎ´Öª´íÎó=(%d) δ֪µÄÑ¡Ïî¡°%s¡± Ó÷¨£º%s [Ñ¡Ïî] [Îļþ]... Ó÷¨£º%s [Ñ¡Ïî]... ÊÔͼÔö¼ÓÊý×é´óСʱʧ°Ü´íÎó <ÆðʼÌõ¼þ>£º%s´íÎóµÄ×Ö·ûÀà±ð´íÎóµÄ×Ö·ûÀà±ð±í´ïʽ£º%s´íÎóµÄ×Ö·û£º%s¹Ç¼ÜÎļþÖдíÎóµÄÐдíÎóµÄÆðʼ״̬ÁбíÔÚ sympartition() ¼ì²âµ½´íÎóµÄ±ä»»×Ö·ûÎÞ·¨´ò¿ª %sÎÞ·¨´ò¿ª¹Ç¼ÜÎļþ %sepsclosure() ÖеÄÒ»ÖÂÐÔ¼ì²éʧ°ÜÎÞ·¨´´½¨ %sÎÞ·¨´´½¨¶ÀÁ¢µÄ end-of-buffer ״̬¹Ø±Õ±¸·ÝÎļþ %s ³ö´í¹Ø±ÕÊä³öÎļþ %s ³ö´í¹Ø±Õ¹Ç¼ÜÎļþ %s ³ö´í´´½¨Í·Îļþ %s ³ö´íɾ³ýÊä³öÎļþ %s ³ö´íдÈ뱸·ÝÎļþ %s ³ö´íдÈëÊä³öÎļþ %s ³ö´íÖÂÃüµÄ½âÎö´íÎó²»ÍêÕûµÄÃû³Æ¶¨Òå¶ÁÈ¡¹Ç¼ÜÎļþ %s ʱÊäÈë´íÎóÔÚ yy_flex_xmalloc() ÖеÄÄÚ´æ·ÖÅäʧ°ÜÒÅ©ÒýºÅÒÅ© }Ãû³Æ¶¨ÒåÁËÁ½´ÎÑ¡Ïî¡°%s¡±²»½ÓÊܲÎÊý Ñ¡Ïî¡°%s¡±ÐèÒªÒ»¸ö²ÎÊý ÎÞ·¨Æ¥Å乿ÔòÆðʼÌõ¼þ %s ÉùÃ÷ÁËÁ½´Î״̬ # %4d ״̬ # %d£º ·ûºÅ±íÄÚ´æ·ÖÅäʧ°Ü¹æÔò¹ý¶à (> %d)£¡Î´¶¨ÒåµÄ¶¨Òå {%s}δ֪µÄ -C Ñ¡Ïî¡°%c¡±Î´ÖªµÄ´íÎó´¦Àí½Ú 1²»ÄÜʶ±ðµÄ %%Ñ¡Ï%s²»ÄÜʶ±ðµÄ¹æÔòflex-2.5.35/po/LINGUAS0000664000175000017500000000006610225226113011126 00000000000000ca da de es fr ga ko nl pl pt_BR ro ru sv tr vi zh_CN flex-2.5.35/README0000664000175000017500000000516210573622153010357 00000000000000This is flex, the fast lexical analyzer generator. flex is a tool for generating scanners: programs which recognize lexical patterns in text. More information about flex as well as the latest official release of flex can be found at: http://flex.sourceforge.net/ Bug reports should be submitted using the SourceForge Bug Tracker facilities which can be found from flex's SourceForge project page at: http://sourceforge.net/projects/flex There are several mailing lists available as well: flex-announce@lists.sourceforge.net - where posts will be made announcing new releases of flex. flex-help@lists.sourceforge.net - where you can post questions about using flex flex-devel@lists.sourceforge.net - where you can discuss development of flex itself Note that flex is distributed under a copyright very similar to that of BSD Unix, and not under the GNU General Public License (GPL). This file is part of flex. This code is derived from software contributed to Berkeley by Vern Paxson. The United States Government has rights in this work pursuant to contract no. DE-AC03-76SF00098 between the United States Department of Energy and the University of California. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The flex distribution contains the following files which may be of interest: README - This file. NEWS - current version number and list of user-visible changes. INSTALL - basic installation information. ABOUT-NLS - description of internationalization support in flex. COPYING - flex's copyright and license. doc/ - user documentation. examples/ - containing examples of some possible flex scanners and a few other things. See the file examples/README for more details. TODO - outstanding bug reports, desired features, etc. tests/ - regression tests. See TESTS/README for details. po/ - internationalization support files. flex-2.5.35/configure.in0000664000175000017500000001164010753345324012010 00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # This file is part of flex. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. # autoconf requirements and initialization AC_PREREQ(2.59) AC_INIT([the fast lexical analyser generator], [2.5.35], [flex-help@lists.sourceforge.net], [flex]) AC_CONFIG_SRCDIR([scan.l]) AM_INIT_AUTOMAKE([gnits dist-bzip2]) AC_CONFIG_HEADER([config.h:conf.in]) # checks for programs AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION(0.12) AC_PROG_YACC AM_PROG_LEX AC_PROG_CC AC_PROG_CXX AC_PROG_LN_S AC_PROG_RANLIB AC_PROG_AWK AC_PROG_INSTALL AC_PATH_PROG(BISON, bison,bison) AC_PATH_PROG(HELP2MAN, help2man, help2man) # Check for a GNU m4 that supports --prefix-builtins AC_PATH_PROGS(M4, gm4 gnum4 m4, m4) if test x"$M4" != x; then AC_MSG_CHECKING([for GNU m4]) case `$M4 --help < /dev/null 2>&1` in *prefix-builtins*) AC_MSG_RESULT(yes) ;; *) AC_MSG_RESULT(no) ; AC_MSG_ERROR([GNU M4 1.4 is required]) ;; esac else AC_MSG_ERROR([GNU M4 1.4 is required]) ; fi AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.]) AC_PATH_PROG(INDENT, indent, indent) # if INDENT is set to 'indent' then we didn't find indent if test "$INDENT" != indent ; then AC_MSG_CHECKING(if $INDENT is GNU indent) if $INDENT --version 2>/dev/null | head -n 1|grep "GNU indent" > /dev/null ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_WARN($INDENT does not appear to be GNU indent.) fi else AC_MSG_WARN(no indent program found: make indent target will not function) fi # checks for libraries AC_FUNC_ALLOCA AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h stddef.h stdlib.h string.h strings.h unistd.h]) AC_CHECK_LIB(m, log10) # The test test-pthread uses libpthread, so we check for it here, but # all we need is the preprocessor symbol defined since we don't need # LIBS to include libpthread for building flex. AC_CHECK_LIB(pthread, pthread_mutex_lock, AC_DEFINE([HAVE_LIBPTHREAD], 1, [pthread library] ), AC_DEFINE([HAVE_LIBPTHREAD], 0, [pthread library] ) ) AC_CHECK_HEADERS([pthread.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_TYPE_SIZE_T # Checks for library functions. AC_FUNC_FORK AC_FUNC_MALLOC AC_FUNC_REALLOC AC_CHECK_FUNCS([dup2 isascii memset pow regcomp setlocale strchr strtol]) AC_CONFIG_FILES( Makefile doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile m4/Makefile po/Makefile.in tools/Makefile tests/Makefile tests/TEMPLATE/Makefile tests/test-array-nr/Makefile tests/test-array-r/Makefile tests/test-basic-nr/Makefile tests/test-basic-r/Makefile tests/test-bison-yylloc/Makefile tests/test-bison-yylval/Makefile tests/test-c-cpp-nr/Makefile tests/test-c-cpp-r/Makefile tests/test-header-nr/Makefile tests/test-header-r/Makefile tests/test-include-by-buffer/Makefile tests/test-include-by-push/Makefile tests/test-include-by-reentrant/Makefile tests/test-multiple-scanners-nr/Makefile tests/test-multiple-scanners-r/Makefile tests/test-noansi-nr/Makefile tests/test-noansi-r/Makefile tests/test-prefix-nr/Makefile tests/test-prefix-r/Makefile tests/test-pthread/Makefile tests/test-string-nr/Makefile tests/test-string-r/Makefile tests/test-yyextra/Makefile tests/test-alloc-extra/Makefile tests/test-lineno-nr/Makefile tests/test-lineno-r/Makefile tests/test-linedir-r/Makefile tests/test-debug-r/Makefile tests/test-debug-nr/Makefile tests/test-mem-nr/Makefile tests/test-mem-r/Makefile tests/test-posix/Makefile tests/test-posixly-correct/Makefile tests/test-table-opts/Makefile tests/test-c++-basic/Makefile tests/test-bison-nr/Makefile tests/test-reject/Makefile tests/test-c++-multiple-scanners/Makefile tests/test-top/Makefile tests/test-rescan-nr/Makefile tests/test-rescan-r/Makefile tests/test-quotes/Makefile tests/test-ccl/Makefile tests/test-extended/Makefile tests/test-c++-yywrap/Makefile tests/test-concatenated-options/Makefile dnl --new-test-here-- This line is processed by tests/create-test. ) AC_OUTPUT flex-2.5.35/aclocal.m40000664000175000017500000007631410761102710011335 00000000000000# generated automatically by aclocal 1.9.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.9.6])]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 7 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE]) AC_SUBST([$1_FALSE]) if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH]) ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.58])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_PROG_LEX # ----------- # Autoconf leaves LEX=: if lex or flex can't be found. Change that to a # "missing" invocation, for better error output. AC_DEFUN([AM_PROG_LEX], [AC_PREREQ(2.50)dnl AC_REQUIRE([AM_MISSING_HAS_RUN])dnl AC_REQUIRE([AC_PROG_LEX])dnl if test "$LEX" = :; then LEX=${am_missing_run}flex fi]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. # # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). # This was a mistake. There are at least two reasons why we must not # use `-m 0755': # - it causes special bits like SGID to be ignored, # - it may be too restrictive (some setups expect 775 directories). # # Do not use -m 0755 and let people choose whatever they expect by # setting umask. # # We cannot accept any implementation of `mkdir' that recognizes `-p'. # Some implementations (such as Solaris 8's) are not thread-safe: if a # parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' # concurrently, both version can detect that a/ is missing, but only # one can create it and the other will error out. Consequently we # restrict ourselves to GNU make (using the --version option ensures # this.) AC_DEFUN([AM_PROG_MKDIR_P], [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then # We used to keeping the `.' as first argument, in order to # allow $(mkdir_p) to be used without argument. As in # $(mkdir_p) $(somedir) # where $(somedir) is conditionally defined. However this is wrong # for two reasons: # 1. if the package is installed by a user who cannot write `.' # make install will fail, # 2. the above comment should most certainly read # $(mkdir_p) $(DESTDIR)$(somedir) # so it does not work when $(somedir) is undefined and # $(DESTDIR) is not. # To support the latter case, we have to write # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), # so the `.' trick is pointless. mkdir_p='mkdir -p --' else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. for d in ./-p ./--version; do test -d $d && rmdir $d done # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. if test -f "$ac_aux_dir/mkinstalldirs"; then mkdir_p='$(mkinstalldirs)' else mkdir_p='$(install_sh) -d' fi fi AC_SUBST([mkdir_p])]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) flex-2.5.35/FlexLexer.h0000664000175000017500000001411110607736336011547 00000000000000// -*-C++-*- // FlexLexer.h -- define interfaces for lexical analyzer classes generated // by flex // Copyright (c) 1993 The Regents of the University of California. // All rights reserved. // // This code is derived from software contributed to Berkeley by // Kent Williams and Tom Epperly. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // 1. Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // Neither the name of the University nor the names of its contributors // may be used to endorse or promote products derived from this software // without specific prior written permission. // THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR // IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR // PURPOSE. // This file defines FlexLexer, an abstract class which specifies the // external interface provided to flex C++ lexer objects, and yyFlexLexer, // which defines a particular lexer class. // // If you want to create multiple lexer classes, you use the -P flag // to rename each yyFlexLexer to some other xxFlexLexer. You then // include in your other sources once per lexer class: // // #undef yyFlexLexer // #define yyFlexLexer xxFlexLexer // #include // // #undef yyFlexLexer // #define yyFlexLexer zzFlexLexer // #include // ... #ifndef __FLEX_LEXER_H // Never included before - need to define base class. #define __FLEX_LEXER_H #include # ifndef FLEX_STD # define FLEX_STD std:: # endif extern "C++" { struct yy_buffer_state; typedef int yy_state_type; class FlexLexer { public: virtual ~FlexLexer() { } const char* YYText() const { return yytext; } int YYLeng() const { return yyleng; } virtual void yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0; virtual struct yy_buffer_state* yy_create_buffer( FLEX_STD istream* s, int size ) = 0; virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0; virtual void yyrestart( FLEX_STD istream* s ) = 0; virtual int yylex() = 0; // Call yylex with new input/output sources. int yylex( FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0 ) { switch_streams( new_in, new_out ); return yylex(); } // Switch to new input/output streams. A nil stream pointer // indicates "keep the current one". virtual void switch_streams( FLEX_STD istream* new_in = 0, FLEX_STD ostream* new_out = 0 ) = 0; int lineno() const { return yylineno; } int debug() const { return yy_flex_debug; } void set_debug( int flag ) { yy_flex_debug = flag; } protected: char* yytext; int yyleng; int yylineno; // only maintained if you use %option yylineno int yy_flex_debug; // only has effect with -d or "%option debug" }; } #endif // FLEXLEXER_H #if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce) // Either this is the first time through (yyFlexLexerOnce not defined), // or this is a repeated include to define a different flavor of // yyFlexLexer, as discussed in the flex manual. #define yyFlexLexerOnce extern "C++" { class yyFlexLexer : public FlexLexer { public: // arg_yyin and arg_yyout default to the cin and cout, but we // only make that assignment when initializing in yylex(). yyFlexLexer( FLEX_STD istream* arg_yyin = 0, FLEX_STD ostream* arg_yyout = 0 ); virtual ~yyFlexLexer(); void yy_switch_to_buffer( struct yy_buffer_state* new_buffer ); struct yy_buffer_state* yy_create_buffer( FLEX_STD istream* s, int size ); void yy_delete_buffer( struct yy_buffer_state* b ); void yyrestart( FLEX_STD istream* s ); void yypush_buffer_state( struct yy_buffer_state* new_buffer ); void yypop_buffer_state(); virtual int yylex(); virtual void switch_streams( FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0 ); virtual int yywrap(); protected: virtual int LexerInput( char* buf, int max_size ); virtual void LexerOutput( const char* buf, int size ); virtual void LexerError( const char* msg ); void yyunput( int c, char* buf_ptr ); int yyinput(); void yy_load_buffer_state(); void yy_init_buffer( struct yy_buffer_state* b, FLEX_STD istream* s ); void yy_flush_buffer( struct yy_buffer_state* b ); int yy_start_stack_ptr; int yy_start_stack_depth; int* yy_start_stack; void yy_push_state( int new_state ); void yy_pop_state(); int yy_top_state(); yy_state_type yy_get_previous_state(); yy_state_type yy_try_NUL_trans( yy_state_type current_state ); int yy_get_next_buffer(); FLEX_STD istream* yyin; // input source for default LexerInput FLEX_STD ostream* yyout; // output sink for default LexerOutput // yy_hold_char holds the character lost when yytext is formed. char yy_hold_char; // Number of characters read into yy_ch_buf. int yy_n_chars; // Points to current character in buffer. char* yy_c_buf_p; int yy_init; // whether we need to initialize int yy_start; // start state number // Flag which is used to allow yywrap()'s to do buffer switches // instead of setting up a fresh yyin. A bit of a hack ... int yy_did_buffer_switch_on_eof; size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */ struct yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */ void yyensure_buffer_stack(void); // The following are not always needed, but may be depending // on use of certain flex features (like REJECT or yymore()). yy_state_type yy_last_accepting_state; char* yy_last_accepting_cpos; yy_state_type* yy_state_buf; yy_state_type* yy_state_ptr; char* yy_full_match; int* yy_full_state; int yy_full_lp; int yy_lp; int yy_looking_for_trail_begin; int yy_more_flag; int yy_more_len; int yy_more_offset; int yy_prev_more_offset; }; } #endif // yyFlexLexer || ! yyFlexLexerOnce flex-2.5.35/flexdef.h0000664000175000017500000012433210671160502011260 00000000000000 /* flexdef - definitions file for flex */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #ifndef FLEXDEF_H #define FLEXDEF_H 1 #ifdef HAVE_CONFIG_H #include #endif /* AIX requires this to be the first thing in the file. */ #ifndef __GNUC__ # if HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif #endif #ifdef STDC_HEADERS #include #include #include #include #include #include #include #endif #ifdef HAVE_ASSERT_H #include #else #define assert(Pred) #endif #ifdef HAVE_LIMITS_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_SYS_PARAMS_H #include #endif #ifdef HAVE_SYS_WAIT_H #include #endif #ifdef HAVE_STDBOOL_H #include #else #define bool int #define true 1 #define false 0 #endif #include #include "flexint.h" /* We use gettext. So, when we write strings which should be translated, we mark them with _() */ #ifdef ENABLE_NLS #ifdef HAVE_LOCALE_H #include #endif /* HAVE_LOCALE_H */ #include "gettext.h" #define _(String) gettext (String) #else #define _(STRING) STRING #endif /* ENABLE_NLS */ /* Always be prepared to generate an 8-bit scanner. */ #define CSIZE 256 #define Char unsigned char /* Size of input alphabet - should be size of ASCII set. */ #ifndef DEFAULT_CSIZE #define DEFAULT_CSIZE 128 #endif #ifndef PROTO #if defined(__STDC__) #define PROTO(proto) proto #else #define PROTO(proto) () #endif #endif #ifdef VMS #ifndef __VMS_POSIX #define unlink remove #define SHORT_FILE_NAMES #endif #endif #ifdef MS_DOS #define SHORT_FILE_NAMES #endif /* Maximum line length we'll have to deal with. */ #define MAXLINE 2048 #ifndef MIN #define MIN(x,y) ((x) < (y) ? (x) : (y)) #endif #ifndef MAX #define MAX(x,y) ((x) > (y) ? (x) : (y)) #endif #ifndef ABS #define ABS(x) ((x) < 0 ? -(x) : (x)) #endif /* ANSI C does not guarantee that isascii() is defined */ #ifndef isascii #define isascii(c) ((c) <= 0177) #endif #define unspecified -1 /* Special chk[] values marking the slots taking by end-of-buffer and action * numbers. */ #define EOB_POSITION -1 #define ACTION_POSITION -2 /* Number of data items per line for -f output. */ #define NUMDATAITEMS 10 /* Number of lines of data in -f output before inserting a blank line for * readability. */ #define NUMDATALINES 10 /* transition_struct_out() definitions. */ #define TRANS_STRUCT_PRINT_LENGTH 14 /* Returns true if an nfa state has an epsilon out-transition slot * that can be used. This definition is currently not used. */ #define FREE_EPSILON(state) \ (transchar[state] == SYM_EPSILON && \ trans2[state] == NO_TRANSITION && \ finalst[state] != state) /* Returns true if an nfa state has an epsilon out-transition character * and both slots are free */ #define SUPER_FREE_EPSILON(state) \ (transchar[state] == SYM_EPSILON && \ trans1[state] == NO_TRANSITION) \ /* Maximum number of NFA states that can comprise a DFA state. It's real * big because if there's a lot of rules, the initial state will have a * huge epsilon closure. */ #define INITIAL_MAX_DFA_SIZE 750 #define MAX_DFA_SIZE_INCREMENT 750 /* A note on the following masks. They are used to mark accepting numbers * as being special. As such, they implicitly limit the number of accepting * numbers (i.e., rules) because if there are too many rules the rule numbers * will overload the mask bits. Fortunately, this limit is \large/ (0x2000 == * 8192) so unlikely to actually cause any problems. A check is made in * new_rule() to ensure that this limit is not reached. */ /* Mask to mark a trailing context accepting number. */ #define YY_TRAILING_MASK 0x2000 /* Mask to mark the accepting number of the "head" of a trailing context * rule. */ #define YY_TRAILING_HEAD_MASK 0x4000 /* Maximum number of rules, as outlined in the above note. */ #define MAX_RULE (YY_TRAILING_MASK - 1) /* NIL must be 0. If not, its special meaning when making equivalence classes * (it marks the representative of a given e.c.) will be unidentifiable. */ #define NIL 0 #define JAM -1 /* to mark a missing DFA transition */ #define NO_TRANSITION NIL #define UNIQUE -1 /* marks a symbol as an e.c. representative */ #define INFINITE_REPEAT -1 /* for x{5,} constructions */ #define INITIAL_MAX_CCLS 100 /* max number of unique character classes */ #define MAX_CCLS_INCREMENT 100 /* Size of table holding members of character classes. */ #define INITIAL_MAX_CCL_TBL_SIZE 500 #define MAX_CCL_TBL_SIZE_INCREMENT 250 #define INITIAL_MAX_RULES 100 /* default maximum number of rules */ #define MAX_RULES_INCREMENT 100 #define INITIAL_MNS 2000 /* default maximum number of nfa states */ #define MNS_INCREMENT 1000 /* amount to bump above by if it's not enough */ #define INITIAL_MAX_DFAS 1000 /* default maximum number of dfa states */ #define MAX_DFAS_INCREMENT 1000 #define JAMSTATE -32766 /* marks a reference to the state that always jams */ /* Maximum number of NFA states. */ #define MAXIMUM_MNS 31999 #define MAXIMUM_MNS_LONG 1999999999 /* Enough so that if it's subtracted from an NFA state number, the result * is guaranteed to be negative. */ #define MARKER_DIFFERENCE (maximum_mns+2) /* Maximum number of nxt/chk pairs for non-templates. */ #define INITIAL_MAX_XPAIRS 2000 #define MAX_XPAIRS_INCREMENT 2000 /* Maximum number of nxt/chk pairs needed for templates. */ #define INITIAL_MAX_TEMPLATE_XPAIRS 2500 #define MAX_TEMPLATE_XPAIRS_INCREMENT 2500 #define SYM_EPSILON (CSIZE + 1) /* to mark transitions on the symbol epsilon */ #define INITIAL_MAX_SCS 40 /* maximum number of start conditions */ #define MAX_SCS_INCREMENT 40 /* amount to bump by if it's not enough */ #define ONE_STACK_SIZE 500 /* stack of states with only one out-transition */ #define SAME_TRANS -1 /* transition is the same as "default" entry for state */ /* The following percentages are used to tune table compression: * The percentage the number of out-transitions a state must be of the * number of equivalence classes in order to be considered for table * compaction by using protos. */ #define PROTO_SIZE_PERCENTAGE 15 /* The percentage the number of homogeneous out-transitions of a state * must be of the number of total out-transitions of the state in order * that the state's transition table is first compared with a potential * template of the most common out-transition instead of with the first * proto in the proto queue. */ #define CHECK_COM_PERCENTAGE 50 /* The percentage the number of differences between a state's transition * table and the proto it was first compared with must be of the total * number of out-transitions of the state in order to keep the first * proto as a good match and not search any further. */ #define FIRST_MATCH_DIFF_PERCENTAGE 10 /* The percentage the number of differences between a state's transition * table and the most similar proto must be of the state's total number * of out-transitions to use the proto as an acceptable close match. */ #define ACCEPTABLE_DIFF_PERCENTAGE 50 /* The percentage the number of homogeneous out-transitions of a state * must be of the number of total out-transitions of the state in order * to consider making a template from the state. */ #define TEMPLATE_SAME_PERCENTAGE 60 /* The percentage the number of differences between a state's transition * table and the most similar proto must be of the state's total number * of out-transitions to create a new proto from the state. */ #define NEW_PROTO_DIFF_PERCENTAGE 20 /* The percentage the total number of out-transitions of a state must be * of the number of equivalence classes in order to consider trying to * fit the transition table into "holes" inside the nxt/chk table. */ #define INTERIOR_FIT_PERCENTAGE 15 /* Size of region set aside to cache the complete transition table of * protos on the proto queue to enable quick comparisons. */ #define PROT_SAVE_SIZE 2000 #define MSP 50 /* maximum number of saved protos (protos on the proto queue) */ /* Maximum number of out-transitions a state can have that we'll rummage * around through the interior of the internal fast table looking for a * spot for it. */ #define MAX_XTIONS_FULL_INTERIOR_FIT 4 /* Maximum number of rules which will be reported as being associated * with a DFA state. */ #define MAX_ASSOC_RULES 100 /* Number that, if used to subscript an array, has a good chance of producing * an error; should be small enough to fit into a short. */ #define BAD_SUBSCRIPT -32767 /* Absolute value of largest number that can be stored in a short, with a * bit of slop thrown in for general paranoia. */ #define MAX_SHORT 32700 /* Declarations for global variables. */ /* Variables for flags: * printstats - if true (-v), dump statistics * syntaxerror - true if a syntax error has been found * eofseen - true if we've seen an eof in the input file * ddebug - if true (-d), make a "debug" scanner * trace - if true (-T), trace processing * nowarn - if true (-w), do not generate warnings * spprdflt - if true (-s), suppress the default rule * interactive - if true (-I), generate an interactive scanner * lex_compat - if true (-l), maximize compatibility with AT&T lex * posix_compat - if true (-X), maximize compatibility with POSIX lex * do_yylineno - if true, generate code to maintain yylineno * useecs - if true (-Ce flag), use equivalence classes * fulltbl - if true (-Cf flag), don't compress the DFA state table * usemecs - if true (-Cm flag), use meta-equivalence classes * fullspd - if true (-F flag), use Jacobson method of table representation * gen_line_dirs - if true (i.e., no -L flag), generate #line directives * performance_report - if > 0 (i.e., -p flag), generate a report relating * to scanner performance; if > 1 (-p -p), report on minor performance * problems, too * backing_up_report - if true (i.e., -b flag), generate "lex.backup" file * listing backing-up states * C_plus_plus - if true (i.e., -+ flag), generate a C++ scanner class; * otherwise, a standard C scanner * reentrant - if true (-R), generate a reentrant C scanner. * bison_bridge_lval - if true (--bison-bridge), bison pure calling convention. * bison_bridge_lloc - if true (--bison-locations), bison yylloc. * long_align - if true (-Ca flag), favor long-word alignment. * use_read - if true (-f, -F, or -Cr) then use read() for scanner input; * otherwise, use fread(). * yytext_is_array - if true (i.e., %array directive), then declare * yytext as a array instead of a character pointer. Nice and inefficient. * do_yywrap - do yywrap() processing on EOF. If false, EOF treated as * "no more files". * csize - size of character set for the scanner we're generating; * 128 for 7-bit chars and 256 for 8-bit * yymore_used - if true, yymore() is used in input rules * reject - if true, generate back-up tables for REJECT macro * real_reject - if true, scanner really uses REJECT (as opposed to just * having "reject" set for variable trailing context) * continued_action - true if this rule's action is to "fall through" to * the next rule's action (i.e., the '|' action) * in_rule - true if we're inside an individual rule, false if not. * yymore_really_used - whether to treat yymore() as really used, regardless * of what we think based on references to it in the user's actions. * reject_really_used - same for REJECT */ extern int printstats, syntaxerror, eofseen, ddebug, trace, nowarn, spprdflt; extern int interactive, lex_compat, posix_compat, do_yylineno; extern int useecs, fulltbl, usemecs, fullspd; extern int gen_line_dirs, performance_report, backing_up_report; extern int reentrant, bison_bridge_lval, bison_bridge_lloc; extern bool ansi_func_defs, ansi_func_protos; extern int C_plus_plus, long_align, use_read, yytext_is_array, do_yywrap; extern int csize; extern int yymore_used, reject, real_reject, continued_action, in_rule; extern int yymore_really_used, reject_really_used; /* Variables used in the flex input routines: * datapos - characters on current output line * dataline - number of contiguous lines of data in current data * statement. Used to generate readable -f output * linenum - current input line number * out_linenum - current output line number * skelfile - the skeleton file * skel - compiled-in skeleton array * skel_ind - index into "skel" array, if skelfile is nil * yyin - input file * backing_up_file - file to summarize backing-up states to * infilename - name of input file * outfilename - name of output file * headerfilename - name of the .h file to generate * did_outfilename - whether outfilename was explicitly set * prefix - the prefix used for externally visible names ("yy" by default) * yyclass - yyFlexLexer subclass to use for YY_DECL * do_stdinit - whether to initialize yyin/yyout to stdin/stdout * use_stdout - the -t flag * input_files - array holding names of input files * num_input_files - size of input_files array * program_name - name with which program was invoked * * action_array - array to hold the rule actions * action_size - size of action_array * defs1_offset - index where the user's section 1 definitions start * in action_array * prolog_offset - index where the prolog starts in action_array * action_offset - index where the non-prolog starts in action_array * action_index - index where the next action should go, with respect * to "action_array" */ extern int datapos, dataline, linenum, out_linenum; extern FILE *skelfile, *yyin, *backing_up_file; extern const char *skel[]; extern int skel_ind; extern char *infilename, *outfilename, *headerfilename; extern int did_outfilename; extern char *prefix, *yyclass, *extra_type; extern int do_stdinit, use_stdout; extern char **input_files; extern int num_input_files; extern char *program_name; extern char *action_array; extern int action_size; extern int defs1_offset, prolog_offset, action_offset, action_index; /* Variables for stack of states having only one out-transition: * onestate - state number * onesym - transition symbol * onenext - target state * onedef - default base entry * onesp - stack pointer */ extern int onestate[ONE_STACK_SIZE], onesym[ONE_STACK_SIZE]; extern int onenext[ONE_STACK_SIZE], onedef[ONE_STACK_SIZE], onesp; /* Variables for nfa machine data: * maximum_mns - maximal number of NFA states supported by tables * current_mns - current maximum on number of NFA states * num_rules - number of the last accepting state; also is number of * rules created so far * num_eof_rules - number of <> rules * default_rule - number of the default rule * current_max_rules - current maximum number of rules * lastnfa - last nfa state number created * firstst - physically the first state of a fragment * lastst - last physical state of fragment * finalst - last logical state of fragment * transchar - transition character * trans1 - transition state * trans2 - 2nd transition state for epsilons * accptnum - accepting number * assoc_rule - rule associated with this NFA state (or 0 if none) * state_type - a STATE_xxx type identifying whether the state is part * of a normal rule, the leading state in a trailing context * rule (i.e., the state which marks the transition from * recognizing the text-to-be-matched to the beginning of * the trailing context), or a subsequent state in a trailing * context rule * rule_type - a RULE_xxx type identifying whether this a ho-hum * normal rule or one which has variable head & trailing * context * rule_linenum - line number associated with rule * rule_useful - true if we've determined that the rule can be matched * rule_has_nl - true if rule could possibly match a newline * ccl_has_nl - true if current ccl could match a newline * nlch - default eol char */ extern int maximum_mns, current_mns, current_max_rules; extern int num_rules, num_eof_rules, default_rule, lastnfa; extern int *firstst, *lastst, *finalst, *transchar, *trans1, *trans2; extern int *accptnum, *assoc_rule, *state_type; extern int *rule_type, *rule_linenum, *rule_useful; extern bool *rule_has_nl, *ccl_has_nl; extern int nlch; /* Different types of states; values are useful as masks, as well, for * routines like check_trailing_context(). */ #define STATE_NORMAL 0x1 #define STATE_TRAILING_CONTEXT 0x2 /* Global holding current type of state we're making. */ extern int current_state_type; /* Different types of rules. */ #define RULE_NORMAL 0 #define RULE_VARIABLE 1 /* True if the input rules include a rule with both variable-length head * and trailing context, false otherwise. */ extern int variable_trailing_context_rules; /* Variables for protos: * numtemps - number of templates created * numprots - number of protos created * protprev - backlink to a more-recently used proto * protnext - forward link to a less-recently used proto * prottbl - base/def table entry for proto * protcomst - common state of proto * firstprot - number of the most recently used proto * lastprot - number of the least recently used proto * protsave contains the entire state array for protos */ extern int numtemps, numprots, protprev[MSP], protnext[MSP], prottbl[MSP]; extern int protcomst[MSP], firstprot, lastprot, protsave[PROT_SAVE_SIZE]; /* Variables for managing equivalence classes: * numecs - number of equivalence classes * nextecm - forward link of Equivalence Class members * ecgroup - class number or backward link of EC members * nummecs - number of meta-equivalence classes (used to compress * templates) * tecfwd - forward link of meta-equivalence classes members * tecbck - backward link of MEC's */ /* Reserve enough room in the equivalence class arrays so that we * can use the CSIZE'th element to hold equivalence class information * for the NUL character. Later we'll move this information into * the 0th element. */ extern int numecs, nextecm[CSIZE + 1], ecgroup[CSIZE + 1], nummecs; /* Meta-equivalence classes are indexed starting at 1, so it's possible * that they will require positions from 1 .. CSIZE, i.e., CSIZE + 1 * slots total (since the arrays are 0-based). nextecm[] and ecgroup[] * don't require the extra position since they're indexed from 1 .. CSIZE - 1. */ extern int tecfwd[CSIZE + 1], tecbck[CSIZE + 1]; /* Variables for start conditions: * lastsc - last start condition created * current_max_scs - current limit on number of start conditions * scset - set of rules active in start condition * scbol - set of rules active only at the beginning of line in a s.c. * scxclu - true if start condition is exclusive * sceof - true if start condition has EOF rule * scname - start condition name */ extern int lastsc, *scset, *scbol, *scxclu, *sceof; extern int current_max_scs; extern char **scname; /* Variables for dfa machine data: * current_max_dfa_size - current maximum number of NFA states in DFA * current_max_xpairs - current maximum number of non-template xtion pairs * current_max_template_xpairs - current maximum number of template pairs * current_max_dfas - current maximum number DFA states * lastdfa - last dfa state number created * nxt - state to enter upon reading character * chk - check value to see if "nxt" applies * tnxt - internal nxt table for templates * base - offset into "nxt" for given state * def - where to go if "chk" disallows "nxt" entry * nultrans - NUL transition for each state * NUL_ec - equivalence class of the NUL character * tblend - last "nxt/chk" table entry being used * firstfree - first empty entry in "nxt/chk" table * dss - nfa state set for each dfa * dfasiz - size of nfa state set for each dfa * dfaacc - accepting set for each dfa state (if using REJECT), or accepting * number, if not * accsiz - size of accepting set for each dfa state * dhash - dfa state hash value * numas - number of DFA accepting states created; note that this * is not necessarily the same value as num_rules, which is the analogous * value for the NFA * numsnpairs - number of state/nextstate transition pairs * jambase - position in base/def where the default jam table starts * jamstate - state number corresponding to "jam" state * end_of_buffer_state - end-of-buffer dfa state number */ extern int current_max_dfa_size, current_max_xpairs; extern int current_max_template_xpairs, current_max_dfas; extern int lastdfa, *nxt, *chk, *tnxt; extern int *base, *def, *nultrans, NUL_ec, tblend, firstfree, **dss, *dfasiz; extern union dfaacc_union { int *dfaacc_set; int dfaacc_state; } *dfaacc; extern int *accsiz, *dhash, numas; extern int numsnpairs, jambase, jamstate; extern int end_of_buffer_state; /* Variables for ccl information: * lastccl - ccl index of the last created ccl * current_maxccls - current limit on the maximum number of unique ccl's * cclmap - maps a ccl index to its set pointer * ccllen - gives the length of a ccl * cclng - true for a given ccl if the ccl is negated * cclreuse - counts how many times a ccl is re-used * current_max_ccl_tbl_size - current limit on number of characters needed * to represent the unique ccl's * ccltbl - holds the characters in each ccl - indexed by cclmap */ extern int lastccl, *cclmap, *ccllen, *cclng, cclreuse; extern int current_maxccls, current_max_ccl_tbl_size; extern Char *ccltbl; /* Variables for miscellaneous information: * nmstr - last NAME scanned by the scanner * sectnum - section number currently being parsed * nummt - number of empty nxt/chk table entries * hshcol - number of hash collisions detected by snstods * dfaeql - number of times a newly created dfa was equal to an old one * numeps - number of epsilon NFA states created * eps2 - number of epsilon states which have 2 out-transitions * num_reallocs - number of times it was necessary to realloc() a group * of arrays * tmpuses - number of DFA states that chain to templates * totnst - total number of NFA states used to make DFA states * peakpairs - peak number of transition pairs we had to store internally * numuniq - number of unique transitions * numdup - number of duplicate transitions * hshsave - number of hash collisions saved by checking number of states * num_backing_up - number of DFA states requiring backing up * bol_needed - whether scanner needs beginning-of-line recognition */ extern char nmstr[MAXLINE]; extern int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs; extern int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave; extern int num_backing_up, bol_needed; void *allocate_array PROTO ((int, size_t)); void *reallocate_array PROTO ((void *, int, size_t)); void *flex_alloc PROTO ((size_t)); void *flex_realloc PROTO ((void *, size_t)); void flex_free PROTO ((void *)); #define allocate_integer_array(size) \ (int *) allocate_array( size, sizeof( int ) ) #define reallocate_integer_array(array,size) \ (int *) reallocate_array( (void *) array, size, sizeof( int ) ) #define allocate_bool_array(size) \ (bool *) allocate_array( size, sizeof( bool ) ) #define reallocate_bool_array(array,size) \ (bool *) reallocate_array( (void *) array, size, sizeof( bool ) ) #define allocate_int_ptr_array(size) \ (int **) allocate_array( size, sizeof( int * ) ) #define allocate_char_ptr_array(size) \ (char **) allocate_array( size, sizeof( char * ) ) #define allocate_dfaacc_union(size) \ (union dfaacc_union *) \ allocate_array( size, sizeof( union dfaacc_union ) ) #define reallocate_int_ptr_array(array,size) \ (int **) reallocate_array( (void *) array, size, sizeof( int * ) ) #define reallocate_char_ptr_array(array,size) \ (char **) reallocate_array( (void *) array, size, sizeof( char * ) ) #define reallocate_dfaacc_union(array, size) \ (union dfaacc_union *) \ reallocate_array( (void *) array, size, sizeof( union dfaacc_union ) ) #define allocate_character_array(size) \ (char *) allocate_array( size, sizeof( char ) ) #define reallocate_character_array(array,size) \ (char *) reallocate_array( (void *) array, size, sizeof( char ) ) #define allocate_Character_array(size) \ (Char *) allocate_array( size, sizeof( Char ) ) #define reallocate_Character_array(array,size) \ (Char *) reallocate_array( (void *) array, size, sizeof( Char ) ) /* Used to communicate between scanner and parser. The type should really * be YYSTYPE, but we can't easily get our hands on it. */ extern int yylval; /* External functions that are cross-referenced among the flex source files. */ /* from file ccl.c */ extern void ccladd PROTO ((int, int)); /* add a single character to a ccl */ extern int cclinit PROTO ((void)); /* make an empty ccl */ extern void cclnegate PROTO ((int)); /* negate a ccl */ extern int ccl_set_diff (int a, int b); /* set difference of two ccls. */ extern int ccl_set_union (int a, int b); /* set union of two ccls. */ /* List the members of a set of characters in CCL form. */ extern void list_character_set PROTO ((FILE *, int[])); /* from file dfa.c */ /* Check a DFA state for backing up. */ extern void check_for_backing_up PROTO ((int, int[])); /* Check to see if NFA state set constitutes "dangerous" trailing context. */ extern void check_trailing_context PROTO ((int *, int, int *, int)); /* Construct the epsilon closure of a set of ndfa states. */ extern int *epsclosure PROTO ((int *, int *, int[], int *, int *)); /* Increase the maximum number of dfas. */ extern void increase_max_dfas PROTO ((void)); extern void ntod PROTO ((void)); /* convert a ndfa to a dfa */ /* Converts a set of ndfa states into a dfa state. */ extern int snstods PROTO ((int[], int, int[], int, int, int *)); /* from file ecs.c */ /* Convert character classes to set of equivalence classes. */ extern void ccl2ecl PROTO ((void)); /* Associate equivalence class numbers with class members. */ extern int cre8ecs PROTO ((int[], int[], int)); /* Update equivalence classes based on character class transitions. */ extern void mkeccl PROTO ((Char[], int, int[], int[], int, int)); /* Create equivalence class for single character. */ extern void mkechar PROTO ((int, int[], int[])); /* from file gen.c */ extern void do_indent PROTO ((void)); /* indent to the current level */ /* Generate the code to keep backing-up information. */ extern void gen_backing_up PROTO ((void)); /* Generate the code to perform the backing up. */ extern void gen_bu_action PROTO ((void)); /* Generate full speed compressed transition table. */ extern void genctbl PROTO ((void)); /* Generate the code to find the action number. */ extern void gen_find_action PROTO ((void)); extern void genftbl PROTO ((void)); /* generate full transition table */ /* Generate the code to find the next compressed-table state. */ extern void gen_next_compressed_state PROTO ((char *)); /* Generate the code to find the next match. */ extern void gen_next_match PROTO ((void)); /* Generate the code to find the next state. */ extern void gen_next_state PROTO ((int)); /* Generate the code to make a NUL transition. */ extern void gen_NUL_trans PROTO ((void)); /* Generate the code to find the start state. */ extern void gen_start_state PROTO ((void)); /* Generate data statements for the transition tables. */ extern void gentabs PROTO ((void)); /* Write out a formatted string at the current indentation level. */ extern void indent_put2s PROTO ((const char *, const char *)); /* Write out a string + newline at the current indentation level. */ extern void indent_puts PROTO ((const char *)); extern void make_tables PROTO ((void)); /* generate transition tables */ /* from file main.c */ extern void check_options PROTO ((void)); extern void flexend PROTO ((int)); extern void usage PROTO ((void)); /* from file misc.c */ /* Add a #define to the action file. */ extern void action_define PROTO ((const char *defname, int value)); /* Add the given text to the stored actions. */ extern void add_action PROTO ((const char *new_text)); /* True if a string is all lower case. */ extern int all_lower PROTO ((register char *)); /* True if a string is all upper case. */ extern int all_upper PROTO ((register char *)); /* Bubble sort an integer array. */ extern void bubble PROTO ((int[], int)); /* Check a character to make sure it's in the expected range. */ extern void check_char PROTO ((int c)); /* Replace upper-case letter to lower-case. */ extern Char clower PROTO ((int)); /* Returns a dynamically allocated copy of a string. */ extern char *copy_string PROTO ((register const char *)); /* Returns a dynamically allocated copy of a (potentially) unsigned string. */ extern Char *copy_unsigned_string PROTO ((register Char *)); /* Shell sort a character array. */ extern void cshell PROTO ((Char[], int, int)); /* Finish up a block of data declarations. */ extern void dataend PROTO ((void)); /* Flush generated data statements. */ extern void dataflush PROTO ((void)); /* Report an error message and terminate. */ extern void flexerror PROTO ((const char *)); /* Report a fatal error message and terminate. */ extern void flexfatal PROTO ((const char *)); /* Report a fatal error with a pinpoint, and terminate */ #if HAVE_DECL___FUNC__ #define flex_die(msg) \ do{ \ fprintf (stderr,\ _("%s: fatal internal error at %s:%d (%s): %s\n"),\ program_name, __FILE__, (int)__LINE__,\ __func__,msg);\ FLEX_EXIT(1);\ }while(0) #else /* ! HAVE_DECL___FUNC__ */ #define flex_die(msg) \ do{ \ fprintf (stderr,\ _("%s: fatal internal error at %s:%d %s\n"),\ program_name, __FILE__, (int)__LINE__,\ msg);\ FLEX_EXIT(1);\ }while(0) #endif /* ! HAVE_DECL___func__ */ /* Convert a hexadecimal digit string to an integer value. */ extern int htoi PROTO ((Char[])); /* Report an error message formatted with one integer argument. */ extern void lerrif PROTO ((const char *, int)); /* Report an error message formatted with one string argument. */ extern void lerrsf PROTO ((const char *, const char *)); /* Spit out a "#line" statement. */ extern void line_directive_out PROTO ((FILE *, int)); /* Mark the current position in the action array as the end of the section 1 * user defs. */ extern void mark_defs1 PROTO ((void)); /* Mark the current position in the action array as the end of the prolog. */ extern void mark_prolog PROTO ((void)); /* Generate a data statment for a two-dimensional array. */ extern void mk2data PROTO ((int)); extern void mkdata PROTO ((int)); /* generate a data statement */ /* Return the integer represented by a string of digits. */ extern int myctoi PROTO ((const char *)); /* Return character corresponding to escape sequence. */ extern Char myesc PROTO ((Char[])); /* Convert an octal digit string to an integer value. */ extern int otoi PROTO ((Char[])); /* Output a (possibly-formatted) string to the generated scanner. */ extern void out PROTO ((const char *)); extern void out_dec PROTO ((const char *, int)); extern void out_dec2 PROTO ((const char *, int, int)); extern void out_hex PROTO ((const char *, unsigned int)); extern void out_line_count PROTO ((const char *)); extern void out_str PROTO ((const char *, const char *)); extern void out_str3 PROTO ((const char *, const char *, const char *, const char *)); extern void out_str_dec PROTO ((const char *, const char *, int)); extern void outc PROTO ((int)); extern void outn PROTO ((const char *)); extern void out_m4_define (const char* def, const char* val); /* Return a printable version of the given character, which might be * 8-bit. */ extern char *readable_form PROTO ((int)); /* Write out one section of the skeleton file. */ extern void skelout PROTO ((void)); /* Output a yy_trans_info structure. */ extern void transition_struct_out PROTO ((int, int)); /* Only needed when using certain broken versions of bison to build parse.c. */ extern void *yy_flex_xmalloc PROTO ((int)); /* Set a region of memory to 0. */ extern void zero_out PROTO ((char *, size_t)); /* from file nfa.c */ /* Add an accepting state to a machine. */ extern void add_accept PROTO ((int, int)); /* Make a given number of copies of a singleton machine. */ extern int copysingl PROTO ((int, int)); /* Debugging routine to write out an nfa. */ extern void dumpnfa PROTO ((int)); /* Finish up the processing for a rule. */ extern void finish_rule PROTO ((int, int, int, int, int)); /* Connect two machines together. */ extern int link_machines PROTO ((int, int)); /* Mark each "beginning" state in a machine as being a "normal" (i.e., * not trailing context associated) state. */ extern void mark_beginning_as_normal PROTO ((register int)); /* Make a machine that branches to two machines. */ extern int mkbranch PROTO ((int, int)); extern int mkclos PROTO ((int)); /* convert a machine into a closure */ extern int mkopt PROTO ((int)); /* make a machine optional */ /* Make a machine that matches either one of two machines. */ extern int mkor PROTO ((int, int)); /* Convert a machine into a positive closure. */ extern int mkposcl PROTO ((int)); extern int mkrep PROTO ((int, int, int)); /* make a replicated machine */ /* Create a state with a transition on a given symbol. */ extern int mkstate PROTO ((int)); extern void new_rule PROTO ((void)); /* initialize for a new rule */ /* from file parse.y */ /* Build the "<>" action for the active start conditions. */ extern void build_eof_action PROTO ((void)); /* Write out a message formatted with one string, pinpointing its location. */ extern void format_pinpoint_message PROTO ((const char *, const char *)); /* Write out a message, pinpointing its location. */ extern void pinpoint_message PROTO ((const char *)); /* Write out a warning, pinpointing it at the given line. */ extern void line_warning PROTO ((const char *, int)); /* Write out a message, pinpointing it at the given line. */ extern void line_pinpoint PROTO ((const char *, int)); /* Report a formatted syntax error. */ extern void format_synerr PROTO ((const char *, const char *)); extern void synerr PROTO ((const char *)); /* report a syntax error */ extern void format_warn PROTO ((const char *, const char *)); extern void warn PROTO ((const char *)); /* report a warning */ extern void yyerror PROTO ((const char *)); /* report a parse error */ extern int yyparse PROTO ((void)); /* the YACC parser */ /* from file scan.l */ /* The Flex-generated scanner for flex. */ extern int flexscan PROTO ((void)); /* Open the given file (if NULL, stdin) for scanning. */ extern void set_input_file PROTO ((char *)); /* Wrapup a file in the lexical analyzer. */ extern int yywrap PROTO ((void)); /* from file sym.c */ /* Save the text of a character class. */ extern void cclinstal PROTO ((Char[], int)); /* Lookup the number associated with character class. */ extern int ccllookup PROTO ((Char[])); extern void ndinstal PROTO ((const char *, Char[])); /* install a name definition */ extern Char *ndlookup PROTO ((const char *)); /* lookup a name definition */ /* Increase maximum number of SC's. */ extern void scextend PROTO ((void)); extern void scinstal PROTO ((const char *, int)); /* make a start condition */ /* Lookup the number associated with a start condition. */ extern int sclookup PROTO ((const char *)); /* from file tblcmp.c */ /* Build table entries for dfa state. */ extern void bldtbl PROTO ((int[], int, int, int, int)); extern void cmptmps PROTO ((void)); /* compress template table entries */ extern void expand_nxt_chk PROTO ((void)); /* increase nxt/chk arrays */ /* Finds a space in the table for a state to be placed. */ extern int find_table_space PROTO ((int *, int)); extern void inittbl PROTO ((void)); /* initialize transition tables */ /* Make the default, "jam" table entries. */ extern void mkdeftbl PROTO ((void)); /* Create table entries for a state (or state fragment) which has * only one out-transition. */ extern void mk1tbl PROTO ((int, int, int, int)); /* Place a state into full speed transition table. */ extern void place_state PROTO ((int *, int, int)); /* Save states with only one out-transition to be processed later. */ extern void stack1 PROTO ((int, int, int, int)); /* from file yylex.c */ extern int yylex PROTO ((void)); /* A growable array. See buf.c. */ struct Buf { void *elts; /* elements. */ int nelts; /* number of elements. */ size_t elt_size; /* in bytes. */ int nmax; /* max capacity of elements. */ }; extern void buf_init PROTO ((struct Buf * buf, size_t elem_size)); extern void buf_destroy PROTO ((struct Buf * buf)); extern struct Buf *buf_append PROTO ((struct Buf * buf, const void *ptr, int n_elem)); extern struct Buf *buf_concat PROTO((struct Buf* dest, const struct Buf* src)); extern struct Buf *buf_strappend PROTO ((struct Buf *, const char *str)); extern struct Buf *buf_strnappend PROTO ((struct Buf *, const char *str, int nchars)); extern struct Buf *buf_strdefine PROTO ((struct Buf * buf, const char *str, const char *def)); extern struct Buf *buf_prints PROTO((struct Buf *buf, const char *fmt, const char* s)); extern struct Buf *buf_m4_define PROTO((struct Buf *buf, const char* def, const char* val)); extern struct Buf *buf_m4_undefine PROTO((struct Buf *buf, const char* def)); extern struct Buf *buf_print_strings PROTO((struct Buf * buf, FILE* out)); extern struct Buf *buf_linedir PROTO((struct Buf *buf, const char* filename, int lineno)); extern struct Buf userdef_buf; /* a string buffer for #define's generated by user-options on cmd line. */ extern struct Buf defs_buf; /* a char* buffer to save #define'd some symbols generated by flex. */ extern struct Buf yydmap_buf; /* a string buffer to hold yydmap elements */ extern struct Buf m4defs_buf; /* Holds m4 definitions. */ extern struct Buf top_buf; /* contains %top code. String buffer. */ /* For blocking out code from the header file. */ #define OUT_BEGIN_CODE() outn("m4_ifdef( [[M4_YY_IN_HEADER]],,[[") #define OUT_END_CODE() outn("]])") /* For setjmp/longjmp (instead of calling exit(2)). Linkage in main.c */ extern jmp_buf flex_main_jmp_buf; #define FLEX_EXIT(status) longjmp(flex_main_jmp_buf,(status)+1) /* Removes all \n and \r chars from tail of str. returns str. */ extern char *chomp (char *str); /* ctype functions forced to return boolean */ #define b_isalnum(c) (isalnum(c)?true:false) #define b_isalpha(c) (isalpha(c)?true:false) #define b_isascii(c) (isascii(c)?true:false) #define b_isblank(c) (isblank(c)?true:false) #define b_iscntrl(c) (iscntrl(c)?true:false) #define b_isdigit(c) (isdigit(c)?true:false) #define b_isgraph(c) (isgraph(c)?true:false) #define b_islower(c) (islower(c)?true:false) #define b_isprint(c) (isprint(c)?true:false) #define b_ispunct(c) (ispunct(c)?true:false) #define b_isspace(c) (isspace(c)?true:false) #define b_isupper(c) (isupper(c)?true:false) #define b_isxdigit(c) (isxdigit(c)?true:false) /* return true if char is uppercase or lowercase. */ bool has_case(int c); /* Change case of character if possible. */ int reverse_case(int c); /* return false if [c1-c2] is ambiguous for a caseless scanner. */ bool range_covers_case (int c1, int c2); /* * From "filter.c" */ /** A single stdio filter to execute. * The filter may be external, such as "sed", or it * may be internal, as a function call. */ struct filter { int (*filter_func)(struct filter*); /**< internal filter function */ void * extra; /**< extra data passed to filter_func */ int argc; /**< arg count */ const char ** argv; /**< arg vector, \0-terminated */ struct filter * next; /**< next filter or NULL */ }; /* output filter chain */ extern struct filter * output_chain; extern struct filter *filter_create_ext PROTO((struct filter * chain, const char *cmd, ...)); struct filter *filter_create_int PROTO((struct filter *chain, int (*filter_func) (struct filter *), void *extra)); extern bool filter_apply_chain PROTO((struct filter * chain)); extern int filter_truncate (struct filter * chain, int max_len); extern int filter_tee_header PROTO((struct filter *chain)); extern int filter_fix_linedirs PROTO((struct filter *chain)); /* * From "regex.c" */ extern regex_t regex_linedir, regex_blank_line; bool flex_init_regex(void); void flex_regcomp(regex_t *preg, const char *regex, int cflags); char *regmatch_dup (regmatch_t * m, const char *src); char *regmatch_cpy (regmatch_t * m, char *dest, const char *src); int regmatch_len (regmatch_t * m); int regmatch_strtol (regmatch_t * m, const char *src, char **endptr, int base); bool regmatch_empty (regmatch_t * m); /* From "scanflags.h" */ typedef unsigned int scanflags_t; extern scanflags_t* _sf_stk; extern size_t _sf_top_ix, _sf_max; /**< stack of scanner flags. */ #define _SF_CASE_INS 0x0001 #define _SF_DOT_ALL 0x0002 #define _SF_SKIP_WS 0x0004 #define sf_top() (_sf_stk[_sf_top_ix]) #define sf_case_ins() (sf_top() & _SF_CASE_INS) #define sf_dot_all() (sf_top() & _SF_DOT_ALL) #define sf_skip_ws() (sf_top() & _SF_SKIP_WS) #define sf_set_case_ins(X) ((X) ? (sf_top() |= _SF_CASE_INS) : (sf_top() &= ~_SF_CASE_INS)) #define sf_set_dot_all(X) ((X) ? (sf_top() |= _SF_DOT_ALL) : (sf_top() &= ~_SF_DOT_ALL)) #define sf_set_skip_ws(X) ((X) ? (sf_top() |= _SF_SKIP_WS) : (sf_top() &= ~_SF_SKIP_WS)) extern void sf_init(void); extern void sf_push(void); extern void sf_pop(void); #endif /* not defined FLEXDEF_H */ flex-2.5.35/flexint.h0000664000175000017500000000272610407661124011321 00000000000000/* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; #endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! FLEXINT_H */ flex-2.5.35/version.h0000664000175000017500000000003507332055534011331 00000000000000#define FLEX_VERSION VERSION flex-2.5.35/options.h0000664000175000017500000000624307640103054011337 00000000000000/* flex - tool to generate fast lexical analyzers */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #ifndef OPTIONS_H #define OPTIONS_H #include "scanopt.h" extern optspec_t flexopts[]; enum flexopt_flag_t { /* Use positive integers only, since they are return codes for scanopt. * Order is not important. */ OPT_7BIT = 1, OPT_8BIT, OPT_ALIGN, OPT_ALWAYS_INTERACTIVE, OPT_ARRAY, OPT_BACKUP, OPT_BATCH, OPT_BISON_BRIDGE, OPT_BISON_BRIDGE_LOCATIONS, OPT_CASE_INSENSITIVE, OPT_COMPRESSION, OPT_CPLUSPLUS, OPT_DEBUG, OPT_DEFAULT, OPT_DONOTHING, OPT_ECS, OPT_FAST, OPT_FULL, OPT_HEADER_FILE, OPT_HELP, OPT_INTERACTIVE, OPT_LEX_COMPAT, OPT_POSIX_COMPAT, OPT_MAIN, OPT_META_ECS, OPT_NEVER_INTERACTIVE, OPT_NO_ALIGN, OPT_NO_ANSI_FUNC_DEFS, OPT_NO_ANSI_FUNC_PROTOS, OPT_NO_DEBUG, OPT_NO_DEFAULT, OPT_NO_ECS, OPT_NO_LINE, OPT_NO_MAIN, OPT_NO_META_ECS, OPT_NO_REENTRANT, OPT_NO_REJECT, OPT_NO_STDINIT, OPT_NO_UNPUT, OPT_NO_WARN, OPT_NO_YYGET_EXTRA, OPT_NO_YYGET_IN, OPT_NO_YYGET_LENG, OPT_NO_YYGET_LINENO, OPT_NO_YYGET_LLOC, OPT_NO_YYGET_LVAL, OPT_NO_YYGET_OUT, OPT_NO_YYGET_TEXT, OPT_NO_YYLINENO, OPT_NO_YYMORE, OPT_NO_YYSET_EXTRA, OPT_NO_YYSET_IN, OPT_NO_YYSET_LINENO, OPT_NO_YYSET_LLOC, OPT_NO_YYSET_LVAL, OPT_NO_YYSET_OUT, OPT_NO_YYWRAP, OPT_NO_YY_POP_STATE, OPT_NO_YY_PUSH_STATE, OPT_NO_YY_SCAN_BUFFER, OPT_NO_YY_SCAN_BYTES, OPT_NO_YY_SCAN_STRING, OPT_NO_YY_TOP_STATE, OPT_OUTFILE, OPT_PERF_REPORT, OPT_POINTER, OPT_PREFIX, OPT_PREPROCDEFINE, OPT_PREPROC_LEVEL, OPT_READ, OPT_REENTRANT, OPT_REJECT, OPT_SKEL, OPT_STACK, OPT_STDINIT, OPT_STDOUT, OPT_TABLES_FILE, OPT_TABLES_VERIFY, OPT_TRACE, OPT_NO_UNISTD_H, OPT_VERBOSE, OPT_VERSION, OPT_WARN, OPT_YYCLASS, OPT_YYLINENO, OPT_YYMORE, OPT_YYWRAP }; #endif /* vim:set tabstop=8 softtabstop=4 shiftwidth=4 textwidth=0: */ flex-2.5.35/scanopt.h0000664000175000017500000001033507532737730011326 00000000000000/* flex - tool to generate fast lexical analyzers */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #ifndef SCANOPT_H #define SCANOPT_H #include "flexdef.h" #ifndef NO_SCANOPT_USAGE /* Used by scanopt_usage for pretty-printing. */ #ifdef HAVE_NCURSES_H #include #endif #endif #ifdef __cplusplus extern "C" { #endif #ifndef PROTO #define PROTO(args) args #endif /* Error codes. */ enum scanopt_err_t { SCANOPT_ERR_OPT_UNRECOGNIZED = -1, /* Unrecognized option. */ SCANOPT_ERR_OPT_AMBIGUOUS = -2, /* It matched more than one option name. */ SCANOPT_ERR_ARG_NOT_FOUND = -3, /* The required arg was not found. */ SCANOPT_ERR_ARG_NOT_ALLOWED = -4 /* Option does not take an argument. */ }; /* flags passed to scanopt_init */ enum scanopt_flag_t { SCANOPT_NO_ERR_MSG = 0x01 /* Suppress printing to stderr. */ }; /* Specification for a single option. */ struct optspec_t { const char *opt_fmt; /* e.g., "--foo=FILE", "-f FILE", "-n [NUM]" */ int r_val; /* Value to be returned by scanopt_ex(). */ const char *desc; /* Brief description of this option, or NULL. */ }; typedef struct optspec_t optspec_t; /* Used internally by scanopt() to maintain state. */ /* Never modify these value directly. */ typedef void *scanopt_t; /* Initializes scanner and checks option list for errors. * Parameters: * options - Array of options. * argc - Same as passed to main(). * argv - Same as passed to main(). First element is skipped. * flags - Control behavior. * Return: A malloc'd pointer . */ scanopt_t *scanopt_init PROTO ((const optspec_t * options, int argc, char **argv, int flags)); /* Frees memory used by scanner. * Always returns 0. */ int scanopt_destroy PROTO ((scanopt_t * scanner)); #ifndef NO_SCANOPT_USAGE /* Prints a usage message based on contents of optlist. * Parameters: * scanner - The scanner, already initialized with scanopt_init(). * fp - The file stream to write to. * usage - Text to be prepended to option list. May be NULL. * Return: Always returns 0 (zero). */ int scanopt_usage PROTO ( (scanopt_t * scanner, FILE * fp, const char *usage)); #endif /* Scans command-line options in argv[]. * Parameters: * scanner - The scanner, already initialized with scanopt_init(). * optarg - Return argument, may be NULL. * On success, it points to start of an argument. * optindex - Return argument, may be NULL. * On success or failure, it is the index of this option. * If return is zero, then optindex is the NEXT valid option index. * * Return: > 0 on success. Return value is from optspec_t->rval. * == 0 if at end of options. * < 0 on error (return value is an error code). * */ int scanopt PROTO ( (scanopt_t * scanner, char **optarg, int *optindex)); #ifdef __cplusplus } #endif #endif /* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */ flex-2.5.35/tables.h0000664000175000017500000000554207571155014011125 00000000000000/* tables.h - tables serialization code * * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * Vern Paxson. * * The United States Government has rights in this work pursuant * to contract no. DE-AC03-76SF00098 between the United States * Department of Energy and the University of California. * * This file is part of flex. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE. */ #ifndef TABLES_H #define TABLES_H #ifdef __cplusplus /* *INDENT-OFF* */ extern "C" { /* *INDENT-ON* */ #endif /* Tables serialization API declarations. */ #include "tables_shared.h" struct yytbl_writer { FILE *out; flex_uint32_t total_written; /**< bytes written so far */ fpos_t th_ssize_pos; /**< position of th_ssize */ }; /* These are used by main.c, gen.c, etc. * tablesext - if true, create external tables * tablesfilename - filename for external tables * tablesname - name that goes in serialized data, e.g., "yytables" * tableswr - writer for external tables * tablesverify - true if tables-verify option specified * gentables - true if we should spit out the normal C tables */ extern bool tablesext, tablesverify,gentables; extern char *tablesfilename, *tablesname; extern struct yytbl_writer tableswr; int yytbl_writer_init (struct yytbl_writer *, FILE *); int yytbl_hdr_init (struct yytbl_hdr *th, const char *version_str, const char *name); int yytbl_data_init (struct yytbl_data *tbl, enum yytbl_id id); int yytbl_data_destroy (struct yytbl_data *td); int yytbl_hdr_fwrite (struct yytbl_writer *wr, const struct yytbl_hdr *th); int yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td); void yytbl_data_compress (struct yytbl_data *tbl); struct yytbl_data *mkftbl (void); #ifdef __cplusplus /* *INDENT-OFF* */ } /* *INDENT-ON* */ #endif #endif /* vim:set expandtab cindent tabstop=4 softtabstop=4 shiftwidth=4 textwidth=0: */ flex-2.5.35/tables_shared.h0000664000175000017500000001200007610160545012435 00000000000000#ifdef FLEX_SCANNER /* dnl tables_shared.h - tables serialization header dnl dnl Copyright (c) 1990 The Regents of the University of California. dnl All rights reserved. dnl dnl This code is derived from software contributed to Berkeley by dnl Vern Paxson. dnl dnl The United States Government has rights in this work pursuant dnl to contract no. DE-AC03-76SF00098 between the United States dnl Department of Energy and the University of California. dnl dnl This file is part of flex. dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions dnl are met: dnl dnl 1. Redistributions of source code must retain the above copyright dnl notice, this list of conditions and the following disclaimer. dnl 2. Redistributions in binary form must reproduce the above copyright dnl notice, this list of conditions and the following disclaimer in the dnl documentation and/or other materials provided with the distribution. dnl dnl Neither the name of the University nor the names of its contributors dnl may be used to endorse or promote products derived from this software dnl without specific prior written permission. dnl dnl THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR dnl IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED dnl WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR dnl PURPOSE. dnl dnl This file is meant to be included in both the skeleton and the actual dnl flex code (hence the name "_shared"). */ #ifndef yyskel_static #define yyskel_static static #endif #else #ifndef yyskel_static #define yyskel_static #endif #endif /* Structures and prototypes for serializing flex tables. The * binary format is documented in the manual. * * Design considerations: * * - The format allows many tables per file. * - The tables can be streamed. * - All data is stored in network byte order. * - We do not hinder future unicode support. * - We can lookup tables by name. */ /** Magic number for serialized format. */ #ifndef YYTBL_MAGIC #define YYTBL_MAGIC 0xF13C57B1 #endif /** Calculate (0-7) = number bytes needed to pad n to next 64-bit boundary. */ #ifndef yypad64 #define yypad64(n) ((8-((n)%8))%8) #endif #ifndef YYTABLES_TYPES #define YYTABLES_TYPES /** Possible values for td_id field. Each one corresponds to a * scanner table of the same name. */ enum yytbl_id { YYTD_ID_ACCEPT = 0x01, /**< 1-dim ints */ YYTD_ID_BASE = 0x02, /**< 1-dim ints */ YYTD_ID_CHK = 0x03, /**< 1-dim ints */ YYTD_ID_DEF = 0x04, /**< 1-dim ints */ YYTD_ID_EC = 0x05, /**< 1-dim ints */ YYTD_ID_META = 0x06, /**< 1-dim ints */ YYTD_ID_NUL_TRANS = 0x07, /**< 1-dim ints, maybe indices */ YYTD_ID_NXT = 0x08, /**< may be 2 dimensional ints */ YYTD_ID_RULE_CAN_MATCH_EOL = 0x09, /**< 1-dim ints */ YYTD_ID_START_STATE_LIST = 0x0A, /**< 1-dim indices into trans tbl */ YYTD_ID_TRANSITION = 0x0B, /**< structs */ YYTD_ID_ACCLIST = 0x0C /**< 1-dim ints */ }; /** bit flags for t_flags field of struct yytbl_data */ enum yytbl_flags { /* These first three are mutually exclusive */ YYTD_DATA8 = 0x01, /**< data is an array of type flex_int8_t */ YYTD_DATA16 = 0x02, /**< data is an array of type flex_int16_t */ YYTD_DATA32 = 0x04, /**< data is an array of type flex_int32_t */ /* These two are mutually exclusive. */ YYTD_PTRANS = 0x08, /**< data is a list of indexes of entries into the expanded `yy_transition' array. See notes in manual. */ YYTD_STRUCT = 0x10 /**< data consists of yy_trans_info structs */ }; /* The serialized tables header. */ struct yytbl_hdr { flex_uint32_t th_magic; /**< Must be 0xF13C57B1 (comes from "Flex Table") */ flex_uint32_t th_hsize; /**< Size of this header in bytes. */ flex_uint32_t th_ssize; /**< Size of this dataset, in bytes, including header. */ flex_uint16_t th_flags; /**< Currently unused, must be 0 */ char *th_version; /**< Flex version string. NUL terminated. */ char *th_name; /**< The name of this table set. NUL terminated. */ }; /** A single serialized table */ struct yytbl_data { flex_uint16_t td_id; /**< enum yytbl_id table identifier */ flex_uint16_t td_flags; /**< how to interpret this data */ flex_uint32_t td_hilen; /**< num elements in highest dimension array */ flex_uint32_t td_lolen; /**< num elements in lowest dimension array */ void *td_data; /**< table data */ }; #endif /** Extract corresponding data size_t from td_flags */ #ifndef YYTDFLAGS2BYTES #define YYTDFLAGS2BYTES(td_flags)\ (((td_flags) & YYTD_DATA8)\ ? sizeof(flex_int8_t)\ :(((td_flags) & YYTD_DATA16)\ ? sizeof(flex_int16_t)\ :sizeof(flex_int32_t))) #endif #ifdef FLEX_SCANNER %not-for-header #endif yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl); #ifdef FLEX_SCANNER %ok-for-header #endif /* vim:set noexpandtab cindent tabstop=8 softtabstop=0 shiftwidth=8 textwidth=0: */ flex-2.5.35/Makefile.am0000664000175000017500000001200210610144126011511 00000000000000# This file is part of flex. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. # Notes on building: # Possible values for DEFS: # # By default, flex generates 8-bit scanners when using table compression, # and 7-bit scanners when using uncompressed tables (-f or -F options). # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256" # to DEFS. # # For Vax/VMS, add "-DVMS" to DEFS. # # For MS-DOS, add "-DMS_DOS" to DEFS. See the directory MISC/MSDOS for # additional info. AM_YFLAGS = -d ACLOCAL_AMFLAGS = -I m4 m4 = @M4@ indent = @INDENT@ bin_PROGRAMS = flex lib_LIBRARIES = \ libfl.a \ libfl_pic.a flex_SOURCES = \ ccl.c \ dfa.c \ ecs.c \ scanflags.c \ gen.c \ main.c \ misc.c \ nfa.c \ parse.y \ scan.l \ skel.c \ sym.c \ tblcmp.c \ yylex.c \ options.c \ scanopt.c \ buf.c \ tables.c \ tables_shared.c \ filter.c \ regex.c libfl_a_SOURCES = \ libmain.c \ libyywrap.c libfl_pic_a_SOURCES = \ libmain.c \ libyywrap.c libfl_pic_a_CFLAGS = \ -fPIC \ $(AM_CFLAGS) noinst_HEADERS = \ flexdef.h \ flexint.h \ version.h \ options.h \ scanopt.h \ tables.h \ tables_shared.h include_HEADERS = \ FlexLexer.h EXTRA_DIST = \ .indent.pro \ AUTHORS \ COPYING \ INSTALL \ NEWS \ ONEWS \ README \ README.cvs \ THANKS \ TODO \ autogen.sh \ flex.skl \ mkskel.sh \ ABOUT-NLS \ config.rpath \ gettext.h BUILT_SOURCES = \ skel.c SUBDIRS = \ . \ doc \ m4 \ examples \ po \ tools \ tests localedir = $(datadir)/locale AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl LIBS = @LIBINTL@ @LIBS@ skel.c: flex.skl mkskel.sh flexint.h tables_shared.h sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | $(m4) -P -DFLEX_MAJOR_VERSION=`echo $(VERSION)|cut -f 1 -d .` -DFLEX_MINOR_VERSION=`echo $(VERSION)|cut -f 2 -d .` -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | sed 's/m4postproc_/m4_/g' | $(SHELL) $(srcdir)/mkskel.sh >skel.c # Explicitly describe dependencies. # You can recreate this with `gcc -I. -MM *.c' buf.o: buf.c flexdef.h flexint.h ccl.o: ccl.c flexdef.h flexint.h dfa.o: dfa.c flexdef.h flexint.h tables.h tables_shared.h ecs.o: ecs.c flexdef.h flexint.h scanflags.o: scanflags.c flexdef.h flexint.h gen.o: gen.c flexdef.h flexint.h tables.h tables_shared.h libmain.o: libmain.c libyywrap.o: libyywrap.c main.o: main.c flexdef.h flexint.h version.h options.h scanopt.h \ tables.h tables_shared.h misc.o: misc.c flexdef.h flexint.h tables.h tables_shared.h nfa.o: nfa.c flexdef.h flexint.h options.o: options.c options.h scanopt.h flexdef.h flexint.h parse.o: parse.c flexdef.h flexint.h tables.h tables_shared.h scan.o: scan.c flexdef.h flexint.h parse.h scanopt.o: scanopt.c flexdef.h flexint.h scanopt.h skel.o: skel.c flexdef.h flexint.h sym.o: sym.c flexdef.h flexint.h tables.o: tables.c flexdef.h flexint.h tables.h tables_shared.h tables_shared.o: tables_shared.c flexdef.h flexint.h tables.h \ tables_shared.h tblcmp.o: tblcmp.c flexdef.h flexint.h yylex.o: yylex.c flexdef.h flexint.h parse.h filter.o: filter.c flexdef.h flexint.h # Create the ChangeLog, but only if we're inside a cvs working directory ChangeLog: $(srcdir)/tools/cvsauthors $(srcdir)/tools/cvs2cl.pl if [ -d CVS ] ; then \ sh $(srcdir)/tools/cvs2cl.pl -F trunk -U $(srcdir)/tools/cvsauthors \ ; fi # Run GNU indent on sources. Don't run this unless all the sources compile cleanly. # # Whole idea: # 1. Check for .indent.pro, otherwise indent will use unknown # settings, or worse, the GNU defaults.) # 2. Check that this is GNU indent. # 3. Make sure to process only the NON-generated .c and .h files. # 4. Run indent twice per file. The first time is a test. # Otherwise, indent overwrites your file even if it fails! indentfiles = \ buf.c \ ccl.c \ dfa.c \ ecs.c \ scanflags.c \ filter.c \ flexdef.h \ gen.c \ libmain.c \ libyywrap.c \ main.c \ misc.c \ nfa.c \ options.c \ options.h \ regex.c \ scanopt.c \ scanopt.h \ sym.c \ tables.c \ tables.h \ tables_shared.c \ tables_shared.h \ tblcmp.c indent: if [ -f .indent.pro ] ; then \ for f in $(indentfiles);\ do\ echo indenting $$f ;\ $(indent) < $$f >/dev/null && indent $$f || echo $$f FAILED to indent ;\ done \ fi .PHONY: ChangeLog tags indent flex-2.5.35/Makefile.in0000664000175000017500000011264010761102722011536 00000000000000# Makefile.in generated by automake 1.9.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # This file is part of flex. # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. # Notes on building: # Possible values for DEFS: # # By default, flex generates 8-bit scanners when using table compression, # and 7-bit scanners when using uncompressed tables (-f or -F options). # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256" # to DEFS. # # For Vax/VMS, add "-DVMS" to DEFS. # # For MS-DOS, add "-DMS_DOS" to DEFS. See the directory MISC/MSDOS for # additional info. srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = flex$(EXEEXT) DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/conf.in $(top_srcdir)/configure ABOUT-NLS AUTHORS \ COPYING ChangeLog INSTALL NEWS README-alpha THANKS TODO \ compile config.guess config.rpath config.sub depcomp \ install-sh missing mkinstalldirs parse.c parse.h scan.c subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno configure.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(includedir)" libLIBRARIES_INSTALL = $(INSTALL_DATA) LIBRARIES = $(lib_LIBRARIES) AR = ar ARFLAGS = cru libfl_a_AR = $(AR) $(ARFLAGS) libfl_a_LIBADD = am_libfl_a_OBJECTS = libmain.$(OBJEXT) libyywrap.$(OBJEXT) libfl_a_OBJECTS = $(am_libfl_a_OBJECTS) libfl_pic_a_AR = $(AR) $(ARFLAGS) libfl_pic_a_LIBADD = am_libfl_pic_a_OBJECTS = libfl_pic_a-libmain.$(OBJEXT) \ libfl_pic_a-libyywrap.$(OBJEXT) libfl_pic_a_OBJECTS = $(am_libfl_pic_a_OBJECTS) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_flex_OBJECTS = ccl.$(OBJEXT) dfa.$(OBJEXT) ecs.$(OBJEXT) \ scanflags.$(OBJEXT) gen.$(OBJEXT) main.$(OBJEXT) \ misc.$(OBJEXT) nfa.$(OBJEXT) parse.$(OBJEXT) scan.$(OBJEXT) \ skel.$(OBJEXT) sym.$(OBJEXT) tblcmp.$(OBJEXT) yylex.$(OBJEXT) \ options.$(OBJEXT) scanopt.$(OBJEXT) buf.$(OBJEXT) \ tables.$(OBJEXT) tables_shared.$(OBJEXT) filter.$(OBJEXT) \ regex.$(OBJEXT) flex_OBJECTS = $(am_flex_OBJECTS) flex_LDADD = $(LDADD) DEFAULT_INCLUDES = -I. -I$(srcdir) -I. depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) SOURCES = $(libfl_a_SOURCES) $(libfl_pic_a_SOURCES) $(flex_SOURCES) DIST_SOURCES = $(libfl_a_SOURCES) $(libfl_pic_a_SOURCES) \ $(flex_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-exec-recursive install-info-recursive \ install-recursive installcheck-recursive installdirs-recursive \ pdf-recursive ps-recursive uninstall-info-recursive \ uninstall-recursive includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BISON = @BISON@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBINTL@ @LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ prefix = @prefix@ program_transform_name = @program_transform_name@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ AM_YFLAGS = -d ACLOCAL_AMFLAGS = -I m4 m4 = @M4@ indent = @INDENT@ lib_LIBRARIES = \ libfl.a \ libfl_pic.a flex_SOURCES = \ ccl.c \ dfa.c \ ecs.c \ scanflags.c \ gen.c \ main.c \ misc.c \ nfa.c \ parse.y \ scan.l \ skel.c \ sym.c \ tblcmp.c \ yylex.c \ options.c \ scanopt.c \ buf.c \ tables.c \ tables_shared.c \ filter.c \ regex.c libfl_a_SOURCES = \ libmain.c \ libyywrap.c libfl_pic_a_SOURCES = \ libmain.c \ libyywrap.c libfl_pic_a_CFLAGS = \ -fPIC \ $(AM_CFLAGS) noinst_HEADERS = \ flexdef.h \ flexint.h \ version.h \ options.h \ scanopt.h \ tables.h \ tables_shared.h include_HEADERS = \ FlexLexer.h EXTRA_DIST = \ .indent.pro \ AUTHORS \ COPYING \ INSTALL \ NEWS \ ONEWS \ README \ README.cvs \ THANKS \ TODO \ autogen.sh \ flex.skl \ mkskel.sh \ ABOUT-NLS \ config.rpath \ gettext.h BUILT_SOURCES = \ skel.c SUBDIRS = \ . \ doc \ m4 \ examples \ po \ tools \ tests localedir = $(datadir)/locale AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl # Run GNU indent on sources. Don't run this unless all the sources compile cleanly. # # Whole idea: # 1. Check for .indent.pro, otherwise indent will use unknown # settings, or worse, the GNU defaults.) # 2. Check that this is GNU indent. # 3. Make sure to process only the NON-generated .c and .h files. # 4. Run indent twice per file. The first time is a test. # Otherwise, indent overwrites your file even if it fails! indentfiles = \ buf.c \ ccl.c \ dfa.c \ ecs.c \ scanflags.c \ filter.c \ flexdef.h \ gen.c \ libmain.c \ libyywrap.c \ main.c \ misc.c \ nfa.c \ options.c \ options.h \ regex.c \ scanopt.c \ scanopt.h \ sym.c \ tables.c \ tables.h \ tables_shared.c \ tables_shared.h \ tblcmp.c all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .c .l .o .obj .y am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \ cd $(srcdir) && $(AUTOMAKE) --gnits \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnits Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/conf.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/conf.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" @list='$(lib_LIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done @$(POST_INSTALL) @list='$(lib_LIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ p=$(am__strip_dir) \ echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \ $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \ else :; fi; \ done uninstall-libLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLIBRARIES: -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) libfl.a: $(libfl_a_OBJECTS) $(libfl_a_DEPENDENCIES) -rm -f libfl.a $(libfl_a_AR) libfl.a $(libfl_a_OBJECTS) $(libfl_a_LIBADD) $(RANLIB) libfl.a libfl_pic.a: $(libfl_pic_a_OBJECTS) $(libfl_pic_a_DEPENDENCIES) -rm -f libfl_pic.a $(libfl_pic_a_AR) libfl_pic.a $(libfl_pic_a_OBJECTS) $(libfl_pic_a_LIBADD) $(RANLIB) libfl_pic.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) installcheck-binPROGRAMS: $(bin_PROGRAMS) bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ esac; \ f=`echo "$$p" | \ sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ for opt in --help --version; do \ if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ 2>c$${pid}_.err &2; bad=1; fi; \ done; \ done; rm -f c$${pid}_.???; exit $$bad parse.h: parse.c @if test ! -f $@; then \ rm -f parse.c; \ $(MAKE) parse.c; \ else :; fi flex$(EXEEXT): $(flex_OBJECTS) $(flex_DEPENDENCIES) @rm -f flex$(EXEEXT) $(LINK) $(flex_LDFLAGS) $(flex_OBJECTS) $(flex_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dfa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfl_pic_a-libmain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfl_pic_a-libyywrap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libyywrap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nfa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanflags.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sym.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables_shared.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tblcmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yylex.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` libfl_pic_a-libmain.o: libmain.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.o -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libmain.Tpo" -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo" "$(DEPDIR)/libfl_pic_a-libmain.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmain.c' object='libfl_pic_a-libmain.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c libfl_pic_a-libmain.obj: libmain.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.obj -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libmain.Tpo" -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi`; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo" "$(DEPDIR)/libfl_pic_a-libmain.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmain.c' object='libfl_pic_a-libmain.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi` libfl_pic_a-libyywrap.o: libyywrap.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.o -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" "$(DEPDIR)/libfl_pic_a-libyywrap.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libyywrap.c' object='libfl_pic_a-libyywrap.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c libfl_pic_a-libyywrap.obj: libyywrap.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.obj -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi`; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" "$(DEPDIR)/libfl_pic_a-libyywrap.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo"; exit 1; fi @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libyywrap.c' object='libfl_pic_a-libyywrap.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi` .l.c: $(LEXCOMPILE) $< sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ rm -f $(LEX_OUTPUT_ROOT).c .y.c: $(YACCCOMPILE) $< if test -f y.tab.h; then \ to=`echo "$*_H" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ y.tab.h >$*.ht; \ rm -f y.tab.h; \ if cmp -s $*.ht $*.h; then \ rm -f $*.ht ;\ else \ mv $*.ht $*.h; \ fi; \ fi if test -f y.output; then \ mv y.output $*.output; \ fi sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ rm -f y.tab.c uninstall-info-am: install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) conf.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) conf.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @case `sed 15q $(srcdir)/NEWS` in \ *"$(VERSION)"*) : ;; \ *) \ echo "NEWS not updated; not releasing" 1>&2; \ exit 1;; \ esac $(am__remove_distdir) mkdir $(distdir) $(mkdir_p) $(distdir)/m4 $(distdir)/po @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(mkdir_p) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -rm -f parse.c -rm -f parse.h -rm -f scan.c -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-includeHEADERS install-exec-am: install-binPROGRAMS install-libLIBRARIES install-info: install-info-recursive install-man: installcheck-am: installcheck-binPROGRAMS maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ uninstall-info-am uninstall-libLIBRARIES uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ check-am clean clean-binPROGRAMS clean-generic \ clean-libLIBRARIES clean-recursive ctags ctags-recursive dist \ dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-hdr distclean-recursive distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-exec install-exec-am \ install-includeHEADERS install-info install-info-am \ install-libLIBRARIES install-man install-strip installcheck \ installcheck-am installcheck-binPROGRAMS installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-includeHEADERS \ uninstall-info-am uninstall-libLIBRARIES skel.c: flex.skl mkskel.sh flexint.h tables_shared.h sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | $(m4) -P -DFLEX_MAJOR_VERSION=`echo $(VERSION)|cut -f 1 -d .` -DFLEX_MINOR_VERSION=`echo $(VERSION)|cut -f 2 -d .` -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | sed 's/m4postproc_/m4_/g' | $(SHELL) $(srcdir)/mkskel.sh >skel.c # Explicitly describe dependencies. # You can recreate this with `gcc -I. -MM *.c' buf.o: buf.c flexdef.h flexint.h ccl.o: ccl.c flexdef.h flexint.h dfa.o: dfa.c flexdef.h flexint.h tables.h tables_shared.h ecs.o: ecs.c flexdef.h flexint.h scanflags.o: scanflags.c flexdef.h flexint.h gen.o: gen.c flexdef.h flexint.h tables.h tables_shared.h libmain.o: libmain.c libyywrap.o: libyywrap.c main.o: main.c flexdef.h flexint.h version.h options.h scanopt.h \ tables.h tables_shared.h misc.o: misc.c flexdef.h flexint.h tables.h tables_shared.h nfa.o: nfa.c flexdef.h flexint.h options.o: options.c options.h scanopt.h flexdef.h flexint.h parse.o: parse.c flexdef.h flexint.h tables.h tables_shared.h scan.o: scan.c flexdef.h flexint.h parse.h scanopt.o: scanopt.c flexdef.h flexint.h scanopt.h skel.o: skel.c flexdef.h flexint.h sym.o: sym.c flexdef.h flexint.h tables.o: tables.c flexdef.h flexint.h tables.h tables_shared.h tables_shared.o: tables_shared.c flexdef.h flexint.h tables.h \ tables_shared.h tblcmp.o: tblcmp.c flexdef.h flexint.h yylex.o: yylex.c flexdef.h flexint.h parse.h filter.o: filter.c flexdef.h flexint.h # Create the ChangeLog, but only if we're inside a cvs working directory ChangeLog: $(srcdir)/tools/cvsauthors $(srcdir)/tools/cvs2cl.pl if [ -d CVS ] ; then \ sh $(srcdir)/tools/cvs2cl.pl -F trunk -U $(srcdir)/tools/cvsauthors \ ; fi indent: if [ -f .indent.pro ] ; then \ for f in $(indentfiles);\ do\ echo indenting $$f ;\ $(indent) < $$f >/dev/null && indent $$f || echo $$f FAILED to indent ;\ done \ fi .PHONY: ChangeLog tags indent # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: flex-2.5.35/conf.in0000664000175000017500000001222510761102712010743 00000000000000/* conf.in. Generated from configure.in by autoheader. */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* pthread library */ #undef HAVE_LIBPTHREAD /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H /* Define to 1 if you have the `pow' function. */ #undef HAVE_POW /* Define to 1 if you have the header file. */ #undef HAVE_PTHREAD_H /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define to 1 if you have the `regcomp' function. */ #undef HAVE_REGCOMP /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_VFORK_H /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to the GNU M4 executable name. */ #undef M4 /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* If using the C implementation of alloca, define 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 */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ #undef YYTEXT_POINTER /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to `int' if does not define. */ #undef pid_t /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc /* Define to `unsigned' if does not define. */ #undef size_t /* Define as `fork' if `vfork' does not work. */ #undef vfork flex-2.5.35/configure0000775000175000017500000123551210761102712011404 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for the fast lexical analyser generator 2.5.35. # # Report bugs to . # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME='the fast lexical analyser generator' PACKAGE_TARNAME='flex' PACKAGE_VERSION='2.5.35' PACKAGE_STRING='the fast lexical analyser generator 2.5.35' PACKAGE_BUGREPORT='flex-help@lists.sourceforge.net' ac_unique_file="scan.l" # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB YACC LEX LEXLIB LEX_OUTPUT_ROOT CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE LN_S RANLIB ac_ct_RANLIB BISON HELP2MAN M4 INDENT ALLOCA CPP EGREP LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures the fast lexical analyser generator 2.5.35 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of the fast lexical analyser generator 2.5.35:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-nls do not use Native Language Support --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd "$ac_popdir" done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF the fast lexical analyser generator configure 2.5.35 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by the fast lexical analyser generator $as_me 2.5.35, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version="1.9" ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 test "$program_prefix" != NONE && program_transform_name="s,^,$program_prefix,;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s,\$,$program_suffix,;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then # We used to keeping the `.' as first argument, in order to # allow $(mkdir_p) to be used without argument. As in # $(mkdir_p) $(somedir) # where $(somedir) is conditionally defined. However this is wrong # for two reasons: # 1. if the package is installed by a user who cannot write `.' # make install will fail, # 2. the above comment should most certainly read # $(mkdir_p) $(DESTDIR)$(somedir) # so it does not work when $(somedir) is undefined and # $(DESTDIR) is not. # To support the latter case, we have to write # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), # so the `.' trick is pointless. mkdir_p='mkdir -p --' else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. for d in ./-p ./--version; do test -d $d && rmdir $d done # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. if test -f "$ac_aux_dir/mkinstalldirs"; then mkdir_p='$(mkinstalldirs)' else mkdir_p='$(install_sh) -d' fi fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF all: @echo 'ac_maketemp="$(MAKE)"' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftest.make fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='flex' VERSION='2.5.35' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"$am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi STRIP=$ac_ct_STRIP else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_config_headers="$ac_config_headers config.h:conf.in" # checks for programs MKINSTALLDIRS= if test -n "$ac_aux_dir"; then case "$ac_aux_dir" in /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" USE_NLS=$enableval else USE_NLS=yes fi; echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6 # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_MSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then echo "$as_me:$LINENO: result: $MSGFMT" >&5 echo "${ECHO_T}$MSGFMT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_GMSGFMT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then echo "$as_me:$LINENO: result: $GMSGFMT" >&5 echo "${ECHO_T}$GMSGFMT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_XGETTEXT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then echo "$as_me:$LINENO: result: $XGETTEXT" >&5 echo "${ECHO_T}$XGETTEXT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi rm -f messages.po # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_MSGMERGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then echo "$as_me:$LINENO: result: $MSGMERGE" >&5 echo "${ECHO_T}$MSGMERGE" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test "$GMSGFMT" != ":"; then if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6 GMSGFMT=":" fi fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 XGETTEXT=":" fi rm -f messages.po fi ac_config_commands="$ac_config_commands default-1" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6 rm -f confinc confmf # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval="$enable_dependency_tracking" fi; if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std1 is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std1. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_build_alias=$build_alias test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_host_alias=$host_alias test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Check whether --with-gnu-ld or --without-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval="$with_gnu_ld" test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi; # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo "$as_me:$LINENO: checking for ld used by GCC" >&5 echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 else echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 fi if test "${acl_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else test "$with_gnu_ld" != yes && break fi fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then echo "$as_me:$LINENO: result: $LD" >&5 echo "${ECHO_T}$LD" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 if test "${acl_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then acl_cv_prog_gnu_ld=yes else acl_cv_prog_gnu_ld=no fi fi echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 with_gnu_ld=$acl_cv_prog_gnu_ld echo "$as_me:$LINENO: checking for shared library run path origin" >&5 echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 if test "${acl_cv_rpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 echo "${ECHO_T}$acl_cv_rpath" >&6 wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath or --disable-rpath was given. if test "${enable_rpath+set}" = set; then enableval="$enable_rpath" : else enable_rpath=yes fi; use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix or --without-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then withval="$with_libiconv_prefix" if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi fi; LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" USE_NLS=$enableval else USE_NLS=yes fi; echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6 LIBINTL= LTLIBINTL= POSUB= if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 if test "${gt_cv_func_gnugettext1_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gt_cv_func_gnugettext1_libc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_gnugettext1_libc=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 if test "$gt_cv_func_gnugettext1_libc" != "yes"; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done echo "$as_me:$LINENO: checking for iconv" >&5 echo $ECHO_N "checking for iconv... $ECHO_C" >&6 if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_lib_iconv=yes am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 echo "${ECHO_T}$am_cv_func_iconv" >&6 if test "$am_cv_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then echo "$as_me:$LINENO: checking how to link with libiconv" >&5 echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $LIBICONV" >&5 echo "${ECHO_T}$LIBICONV" >&6 else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix or --without-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then withval="$with_libintl_prefix" if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi fi; LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6 if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (); int main () { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then gt_cv_func_gnugettext1_libintl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_gnugettext1_libintl=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (); int main () { bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext1_libintl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5 echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6 fi if test "$gt_cv_func_gnugettext1_libc" = "yes" \ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF else USE_NLS=no fi fi echo "$as_me:$LINENO: checking whether to use NLS" >&5 echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6 if test "$USE_NLS" = "yes"; then echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6 if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi echo "$as_me:$LINENO: result: $gt_source" >&5 echo "${ECHO_T}$gt_source" >&6 fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then echo "$as_me:$LINENO: checking how to link with libintl" >&5 echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6 echo "$as_me:$LINENO: result: $LIBINTL" >&5 echo "${ECHO_T}$LIBINTL" >&6 for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi POSUB=po fi INTLLIBS="$LIBINTL" for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_YACC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then echo "$as_me:$LINENO: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_LEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LEX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then echo "$as_me:$LINENO: result: $LEX" >&5 echo "${ECHO_T}$LEX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$LEX" && break done test -n "$LEX" || LEX=":" if test -z "$LEXLIB" then echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5 echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6 if test "${ac_cv_lib_fl_yywrap+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char yywrap (); int main () { yywrap (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_fl_yywrap=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_fl_yywrap=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5 echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6 if test $ac_cv_lib_fl_yywrap = yes; then LEXLIB="-lfl" else echo "$as_me:$LINENO: checking for yywrap in -ll" >&5 echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6 if test "${ac_cv_lib_l_yywrap+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ll $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char yywrap (); int main () { yywrap (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_l_yywrap=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_l_yywrap=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5 echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6 if test $ac_cv_lib_l_yywrap = yes; then LEXLIB="-ll" fi fi fi if test "x$LEX" != "x:"; then echo "$as_me:$LINENO: checking lex output file root" >&5 echo $ECHO_N "checking lex output file root... $ECHO_C" >&6 if test "${ac_cv_prog_lex_root+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # The minimal lex program is just a single line: %%. But some broken lexes # (Solaris, I think it was) want two %% lines, so accommodate them. cat >conftest.l <<_ACEOF %% %% _ACEOF { (eval echo "$as_me:$LINENO: \"$LEX conftest.l\"") >&5 (eval $LEX conftest.l) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5 echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} { (exit 1); exit 1; }; } fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5 echo "${ECHO_T}$ac_cv_prog_lex_root" >&6 rm -f conftest.l LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5 echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6 if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # POSIX says lex can declare yytext either as a pointer or an array; the # default is implementation-dependent. Figure out which it is, since # not all implementations provide the %pointer and %array declarations. ac_cv_prog_lex_yytext_pointer=no echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c ac_save_LIBS=$LIBS LIBS="$LIBS $LEXLIB" cat >conftest.$ac_ext <<_ACEOF `cat $LEX_OUTPUT_ROOT.c` _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_lex_yytext_pointer=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_save_LIBS rm -f "${LEX_OUTPUT_ROOT}.c" fi echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5 echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6 if test $ac_cv_prog_lex_yytext_pointer = yes; then cat >>confdefs.h <<\_ACEOF #define YYTEXT_POINTER 1 _ACEOF fi fi if test "$LEX" = :; then LEX=${am_missing_run}flex fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi CC=$ac_ct_CC else CC="$ac_cv_prog_CC" fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CC" && break done CC=$ac_ct_CC fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std1 is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std1. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # Provide some information about the compiler. echo "$as_me:$LINENO:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6 fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi RANLIB=$ac_ct_RANLIB else RANLIB="$ac_cv_prog_RANLIB" fi for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_BISON+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $BISON in [\\/]* | ?:[\\/]*) ac_cv_path_BISON="$BISON" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="bison" ;; esac fi BISON=$ac_cv_path_BISON if test -n "$BISON"; then echo "$as_me:$LINENO: result: $BISON" >&5 echo "${ECHO_T}$BISON" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # Extract the first word of "help2man", so it can be a program name with args. set dummy help2man; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_HELP2MAN+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $HELP2MAN in [\\/]* | ?:[\\/]*) ac_cv_path_HELP2MAN="$HELP2MAN" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_HELP2MAN="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_HELP2MAN" && ac_cv_path_HELP2MAN="help2man" ;; esac fi HELP2MAN=$ac_cv_path_HELP2MAN if test -n "$HELP2MAN"; then echo "$as_me:$LINENO: result: $HELP2MAN" >&5 echo "${ECHO_T}$HELP2MAN" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # Check for a GNU m4 that supports --prefix-builtins for ac_prog in gm4 gnum4 m4 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_M4+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $M4 in [\\/]* | ?:[\\/]*) ac_cv_path_M4="$M4" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_M4="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done ;; esac fi M4=$ac_cv_path_M4 if test -n "$M4"; then echo "$as_me:$LINENO: result: $M4" >&5 echo "${ECHO_T}$M4" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$M4" && break done test -n "$M4" || M4="m4" if test x"$M4" != x; then echo "$as_me:$LINENO: checking for GNU m4" >&5 echo $ECHO_N "checking for GNU m4... $ECHO_C" >&6 case `$M4 --help < /dev/null 2>&1` in *prefix-builtins*) echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ;; *) echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 ; { { echo "$as_me:$LINENO: error: GNU M4 1.4 is required" >&5 echo "$as_me: error: GNU M4 1.4 is required" >&2;} { (exit 1); exit 1; }; } ;; esac else { { echo "$as_me:$LINENO: error: GNU M4 1.4 is required" >&5 echo "$as_me: error: GNU M4 1.4 is required" >&2;} { (exit 1); exit 1; }; } ; fi cat >>confdefs.h <<_ACEOF #define M4 "$M4" _ACEOF # Extract the first word of "indent", so it can be a program name with args. set dummy indent; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_INDENT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $INDENT in [\\/]* | ?:[\\/]*) ac_cv_path_INDENT="$INDENT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INDENT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done test -z "$ac_cv_path_INDENT" && ac_cv_path_INDENT="indent" ;; esac fi INDENT=$ac_cv_path_INDENT if test -n "$INDENT"; then echo "$as_me:$LINENO: result: $INDENT" >&5 echo "${ECHO_T}$INDENT" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # if INDENT is set to 'indent' then we didn't find indent if test "$INDENT" != indent ; then echo "$as_me:$LINENO: checking if $INDENT is GNU indent" >&5 echo $ECHO_N "checking if $INDENT is GNU indent... $ECHO_C" >&6 if $INDENT --version 2>/dev/null | head -n 1|grep "GNU indent" > /dev/null ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 { echo "$as_me:$LINENO: WARNING: $INDENT does not appear to be GNU indent." >&5 echo "$as_me: WARNING: $INDENT does not appear to be GNU indent." >&2;} fi else { echo "$as_me:$LINENO: WARNING: no indent program found: make indent target will not function" >&5 echo "$as_me: WARNING: no indent program found: make indent target will not function" >&2;} fi # checks for libraries ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo "$as_me:$LINENO: checking for working alloca.h" >&5 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_working_alloca_h=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 if test $ac_cv_working_alloca_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 _ACEOF fi echo "$as_me:$LINENO: checking for alloca" >&5 echo $ECHO_N "checking for alloca... $ECHO_C" >&6 if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # if HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_alloca_works=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_alloca_works=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 if test $ac_cv_func_alloca_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=alloca.$ac_objext cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 _ACEOF echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 if test "${ac_cv_os_cray+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined(CRAY) && ! defined(CRAY2) webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 echo "${ECHO_T}$ac_cv_os_cray" >&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 if test "${ac_cv_c_stack_direction+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int find_stack_direction () { static char *addr = 0; auto char dummy; if (addr == 0) { addr = &dummy; return find_stack_direction (); } else return (&dummy > addr) ? 1 : -1; } int main () { exit (find_stack_direction () < 0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_stack_direction=-1 fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 if test "${ac_cv_header_sys_wait_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main () { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_sys_wait_h=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 if test $ac_cv_header_sys_wait_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_WAIT_H 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h stddef.h stdlib.h string.h strings.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------------------- ## ## Report this to flex-help@lists.sourceforge.net ## ## ---------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for log10 in -lm" >&5 echo $ECHO_N "checking for log10 in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_log10+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char log10 (); int main () { log10 (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_m_log10=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_log10=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_m_log10" >&5 echo "${ECHO_T}$ac_cv_lib_m_log10" >&6 if test $ac_cv_lib_m_log10 = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi # The test test-pthread uses libpthread, so we check for it here, but # all we need is the preprocessor symbol defined since we don't need # LIBS to include libpthread for building flex. echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5 echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6 if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pthread_mutex_lock (); int main () { pthread_mutex_lock (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_pthread_pthread_mutex_lock=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pthread_pthread_mutex_lock=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6 if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_LIBPTHREAD 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_LIBPTHREAD 0 _ACEOF fi for ac_header in pthread.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------------------- ## ## Report this to flex-help@lists.sourceforge.net ## ## ---------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6 if test "${ac_cv_header_stdbool_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #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 true 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]; int main () { return !a + !b + !c + !d + !e + !f + !g + !h + !i; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_stdbool_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdbool_h=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6 echo "$as_me:$LINENO: checking for _Bool" >&5 echo $ECHO_N "checking for _Bool... $ECHO_C" >&6 if test "${ac_cv_type__Bool+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((_Bool *) 0) return 0; if (sizeof (_Bool)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type__Bool=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type__Bool=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 echo "${ECHO_T}$ac_cv_type__Bool" >&6 if test $ac_cv_type__Bool = yes; then cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STDBOOL_H 1 _ACEOF fi echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset x; /* SunOS 4.1.1 cc rejects this. */ char const *const *ccp; char **p; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; ccp = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++ccp; p = (char**) ccp; ccp = (char const *const *) p; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; } #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((size_t *) 0) return 0; if (sizeof (size_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned _ACEOF fi # Checks for library functions. echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 if test "${ac_cv_type_pid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if ((pid_t *) 0) return 0; if (sizeof (pid_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi for ac_header in unistd.h vfork.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------------------- ## ## Report this to flex-help@lists.sourceforge.net ## ## ---------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in fork vfork do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then echo "$as_me:$LINENO: checking for working fork" >&5 echo $ECHO_N "checking for working fork... $ECHO_C" >&6 if test "${ac_cv_func_fork_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_fork_works=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* By Ruediger Kuhlmann. */ if (fork() < 0) exit (1); exit (0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_fork_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_fork_works=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 echo "${ECHO_T}$ac_cv_func_fork_works" >&6 else ac_cv_func_fork_works=$ac_cv_func_fork fi if test "x$ac_cv_func_fork_works" = xcross; then case $host in *-*-amigaos* | *-*-msdosdjgpp*) # Override, as these systems have only a dummy fork() stub ac_cv_func_fork_works=no ;; *) ac_cv_func_fork_works=yes ;; esac { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then echo "$as_me:$LINENO: checking for working vfork" >&5 echo $ECHO_N "checking for working vfork... $ECHO_C" >&6 if test "${ac_cv_func_vfork_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_vfork_works=cross else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ #include #include #include #include #include #if HAVE_UNISTD_H # include #endif #if HAVE_VFORK_H # include #endif /* On some sparc systems, changes by the child to local and incoming argument registers are propagated back to the parent. The compiler is told about this with #include , but some compilers (e.g. gcc -O) don't grok . Test for this by using a static variable whose address is put into a register that is clobbered by the vfork. */ static void #ifdef __cplusplus sparc_address_test (int arg) # else sparc_address_test (arg) int arg; #endif { static pid_t child; if (!child) { child = vfork (); if (child < 0) { perror ("vfork"); _exit(2); } if (!child) { arg = getpid(); write(-1, "", 0); _exit (arg); } } } int main () { pid_t parent = getpid (); pid_t child; sparc_address_test (0); child = vfork (); if (child == 0) { /* Here is another test for sparc vfork register problems. This test uses lots of local variables, at least as many local variables as main has allocated so far including compiler temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should reuse the register of parent for one of the local variables, since it will think that parent can't possibly be used any more in this routine. Assigning to the local variable will thus munge parent in the parent process. */ pid_t p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); /* Convince the compiler that p..p7 are live; otherwise, it might use the same hardware register for all 8 local variables. */ if (p != p1 || p != p2 || p != p3 || p != p4 || p != p5 || p != p6 || p != p7) _exit(1); /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent from child file descriptors. If the child closes a descriptor before it execs or exits, this munges the parent's descriptor as well. Test for this by closing stdout in the child. */ _exit(close(fileno(stdout)) != 0); } else { int status; struct stat st; while (wait(&status) != child) ; exit( /* Was there some problem with vforking? */ child < 0 /* Did the child fail? (This shouldn't happen.) */ || status /* Did the vfork/compiler bug occur? */ || parent != getpid() /* Did the file descriptor bug occur? */ || fstat(fileno(stdout), &st) != 0 ); } } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_vfork_works=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_vfork_works=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 echo "${ECHO_T}$ac_cv_func_vfork_works" >&6 fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_VFORK 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define vfork fork _ACEOF fi if test "x$ac_cv_func_fork_works" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_WORKING_FORK 1 _ACEOF fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------------------- ## ## Report this to flex-help@lists.sourceforge.net ## ## ---------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6 if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if STDC_HEADERS || HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { exit (malloc (0) ? 0 : 1); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6 if test $ac_cv_func_malloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 0 _ACEOF case $LIBOBJS in "malloc.$ac_objext" | \ *" malloc.$ac_objext" | \ "malloc.$ac_objext "* | \ *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define malloc rpl_malloc _ACEOF fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------------------- ## ## Report this to flex-help@lists.sourceforge.net ## ## ---------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done echo "$as_me:$LINENO: checking for GNU libc compatible realloc" >&5 echo $ECHO_N "checking for GNU libc compatible realloc... $ECHO_C" >&6 if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_realloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if STDC_HEADERS || HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { exit (realloc (0, 0) ? 0 : 1); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_realloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_realloc_0_nonnull" >&6 if test $ac_cv_func_realloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 0 _ACEOF case $LIBOBJS in "realloc.$ac_objext" | \ *" realloc.$ac_objext" | \ "realloc.$ac_objext "* | \ *" realloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define realloc rpl_realloc _ACEOF fi for ac_func in dup2 isascii memset pow regcomp setlocale strchr strtol do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_config_files="$ac_config_files Makefile doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile m4/Makefile po/Makefile.in tools/Makefile tests/Makefile tests/TEMPLATE/Makefile tests/test-array-nr/Makefile tests/test-array-r/Makefile tests/test-basic-nr/Makefile tests/test-basic-r/Makefile tests/test-bison-yylloc/Makefile tests/test-bison-yylval/Makefile tests/test-c-cpp-nr/Makefile tests/test-c-cpp-r/Makefile tests/test-header-nr/Makefile tests/test-header-r/Makefile tests/test-include-by-buffer/Makefile tests/test-include-by-push/Makefile tests/test-include-by-reentrant/Makefile tests/test-multiple-scanners-nr/Makefile tests/test-multiple-scanners-r/Makefile tests/test-noansi-nr/Makefile tests/test-noansi-r/Makefile tests/test-prefix-nr/Makefile tests/test-prefix-r/Makefile tests/test-pthread/Makefile tests/test-string-nr/Makefile tests/test-string-r/Makefile tests/test-yyextra/Makefile tests/test-alloc-extra/Makefile tests/test-lineno-nr/Makefile tests/test-lineno-r/Makefile tests/test-linedir-r/Makefile tests/test-debug-r/Makefile tests/test-debug-nr/Makefile tests/test-mem-nr/Makefile tests/test-mem-r/Makefile tests/test-posix/Makefile tests/test-posixly-correct/Makefile tests/test-table-opts/Makefile tests/test-c++-basic/Makefile tests/test-bison-nr/Makefile tests/test-reject/Makefile tests/test-c++-multiple-scanners/Makefile tests/test-top/Makefile tests/test-rescan-nr/Makefile tests/test-rescan-r/Makefile tests/test-quotes/Makefile tests/test-ccl/Makefile tests/test-extended/Makefile tests/test-c++-yywrap/Makefile tests/test-concatenated-options/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by the fast lexical analyser generator $as_me 2.5.35, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ the fast lexical analyser generator config.status 2.5.35 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS section. # # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it # from automake. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/fastwc/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/fastwc/Makefile" ;; "examples/manual/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/manual/Makefile" ;; "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; "tests/TEMPLATE/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/TEMPLATE/Makefile" ;; "tests/test-array-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-array-nr/Makefile" ;; "tests/test-array-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-array-r/Makefile" ;; "tests/test-basic-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-basic-nr/Makefile" ;; "tests/test-basic-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-basic-r/Makefile" ;; "tests/test-bison-yylloc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylloc/Makefile" ;; "tests/test-bison-yylval/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylval/Makefile" ;; "tests/test-c-cpp-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-nr/Makefile" ;; "tests/test-c-cpp-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-r/Makefile" ;; "tests/test-header-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-header-nr/Makefile" ;; "tests/test-header-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-header-r/Makefile" ;; "tests/test-include-by-buffer/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-include-by-buffer/Makefile" ;; "tests/test-include-by-push/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-include-by-push/Makefile" ;; "tests/test-include-by-reentrant/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-include-by-reentrant/Makefile" ;; "tests/test-multiple-scanners-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-nr/Makefile" ;; "tests/test-multiple-scanners-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-r/Makefile" ;; "tests/test-noansi-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-noansi-nr/Makefile" ;; "tests/test-noansi-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-noansi-r/Makefile" ;; "tests/test-prefix-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-prefix-nr/Makefile" ;; "tests/test-prefix-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-prefix-r/Makefile" ;; "tests/test-pthread/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-pthread/Makefile" ;; "tests/test-string-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-string-nr/Makefile" ;; "tests/test-string-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-string-r/Makefile" ;; "tests/test-yyextra/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-yyextra/Makefile" ;; "tests/test-alloc-extra/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-alloc-extra/Makefile" ;; "tests/test-lineno-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-lineno-nr/Makefile" ;; "tests/test-lineno-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-lineno-r/Makefile" ;; "tests/test-linedir-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-linedir-r/Makefile" ;; "tests/test-debug-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-debug-r/Makefile" ;; "tests/test-debug-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-debug-nr/Makefile" ;; "tests/test-mem-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-mem-nr/Makefile" ;; "tests/test-mem-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-mem-r/Makefile" ;; "tests/test-posix/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-posix/Makefile" ;; "tests/test-posixly-correct/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-posixly-correct/Makefile" ;; "tests/test-table-opts/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-table-opts/Makefile" ;; "tests/test-c++-basic/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c++-basic/Makefile" ;; "tests/test-bison-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-bison-nr/Makefile" ;; "tests/test-reject/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-reject/Makefile" ;; "tests/test-c++-multiple-scanners/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c++-multiple-scanners/Makefile" ;; "tests/test-top/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-top/Makefile" ;; "tests/test-rescan-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-rescan-nr/Makefile" ;; "tests/test-rescan-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-rescan-r/Makefile" ;; "tests/test-quotes/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-quotes/Makefile" ;; "tests/test-ccl/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-ccl/Makefile" ;; "tests/test-extended/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-extended/Makefile" ;; "tests/test-c++-yywrap/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c++-yywrap/Makefile" ;; "tests/test-concatenated-options/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-concatenated-options/Makefile" ;; "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:conf.in" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@CYGPATH_W@,$CYGPATH_W,;t t s,@PACKAGE@,$PACKAGE,;t t s,@VERSION@,$VERSION,;t t s,@ACLOCAL@,$ACLOCAL,;t t s,@AUTOCONF@,$AUTOCONF,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t s,@MAKEINFO@,$MAKEINFO,;t t s,@install_sh@,$install_sh,;t t s,@STRIP@,$STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@mkdir_p@,$mkdir_p,;t t s,@AWK@,$AWK,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@am__leading_dot@,$am__leading_dot,;t t s,@AMTAR@,$AMTAR,;t t s,@am__tar@,$am__tar,;t t s,@am__untar@,$am__untar,;t t s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t s,@USE_NLS@,$USE_NLS,;t t s,@MSGFMT@,$MSGFMT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@XGETTEXT@,$XGETTEXT,;t t s,@MSGMERGE@,$MSGMERGE,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@DEPDIR@,$DEPDIR,;t t s,@am__include@,$am__include,;t t s,@am__quote@,$am__quote,;t t s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t s,@build@,$build,;t t s,@build_cpu@,$build_cpu,;t t s,@build_vendor@,$build_vendor,;t t s,@build_os@,$build_os,;t t s,@host@,$host,;t t s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@LIBICONV@,$LIBICONV,;t t s,@LTLIBICONV@,$LTLIBICONV,;t t s,@INTLLIBS@,$INTLLIBS,;t t s,@LIBINTL@,$LIBINTL,;t t s,@LTLIBINTL@,$LTLIBINTL,;t t s,@POSUB@,$POSUB,;t t s,@YACC@,$YACC,;t t s,@LEX@,$LEX,;t t s,@LEXLIB@,$LEXLIB,;t t s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@CXXDEPMODE@,$CXXDEPMODE,;t t s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t s,@LN_S@,$LN_S,;t t s,@RANLIB@,$RANLIB,;t t s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t s,@BISON@,$BISON,;t t s,@HELP2MAN@,$HELP2MAN,;t t s,@M4@,$M4,;t t s,@INDENT@,$INDENT,;t t s,@ALLOCA@,$ALLOCA,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } # Do quote $f, to prevent DOS paths from being IFS'd. echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then if diff $ac_file $tmp/config.h >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'`/stamp-h$_am_stamp_count done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_COMMANDS section. # for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue ac_dest=`echo "$ac_file" | sed 's,:.*,,'` ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_dir=`(dirname "$ac_dest") 2>/dev/null || $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_dest" : 'X\(//\)[^/]' \| \ X"$ac_dest" : 'X\(//\)$' \| \ X"$ac_dest" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_dest" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 echo "$as_me: executing $ac_dest commands" >&6;} case $ac_dest in default-1 ) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= GMOFILES= UPDATEPOFILES= DUMMYPOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # So let's grep whole file. if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then dirpart=`(dirname "$mf") 2>/dev/null || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`(dirname "$file") 2>/dev/null || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p $dirpart/$fdir else as_dir=$dirpart/$fdir as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi flex-2.5.35/ABOUT-NLS0000664000175000017500000011311310761102703010713 00000000000000Notes on the Free Translation Project ************************************* Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work at translations should contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. Quick configuration advice ========================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. INSTALL Matters =============== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the GNU `gettext' own library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will respectively bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might be not what is desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages have usually many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. Using This Package ================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your country by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. Translating Teams ================= For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skill are praised more than programming skill, here. Available Packages ================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of May 2003. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files am az be bg ca cs da de el en en_GB eo es +-------------------------------------------+ a2ps | [] [] [] [] | aegis | () | anubis | | ap-utils | | bash | [] [] [] | batchelor | | bfd | [] [] | binutils | [] [] | bison | [] [] [] | bluez-pin | [] [] | clisp | | clisp | [] [] [] | coreutils | [] [] [] [] | cpio | [] [] [] | darkstat | () [] | diffutils | [] [] [] [] [] [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] [] | fetchmail | [] () [] [] [] [] | fileutils | [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] | gas | [] | gawk | [] [] [] [] | gcal | [] | gcc | [] [] | gettext | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] [] | gliv | | glunarclock | [] [] [] | gnucash | () [] | gnucash-glossary | [] () [] | gnupg | [] () [] [] [] [] | gpe-calendar | [] | gpe-conf | [] | gpe-contacts | [] | gpe-edit | | gpe-login | [] | gpe-ownerinfo | [] | gpe-sketchbook | [] | gpe-timesheet | | gpe-today | [] | gpe-todo | [] | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () () | grep | [] [] [] [] [] | gretl | [] | hello | [] [] [] [] [] [] | id-utils | [] [] | indent | [] [] [] [] | jpilot | [] [] [] [] | jwhois | [] | kbd | [] [] [] [] [] | ld | [] [] | libc | [] [] [] [] [] [] | libgpewidget | [] | libiconv | [] [] [] [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lingoteach_lessons | () () | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] | man-db | [] () [] [] () | mysecretdiary | [] [] [] | nano | [] () [] [] [] | nano_1_0 | [] () [] [] [] | opcodes | [] [] | parted | [] [] [] [] [] | ptx | [] [] [] [] [] | python | | radius | | recode | [] [] [] [] [] [] | screem | | sed | [] [] [] [] [] | sh-utils | [] [] [] | sharutils | [] [] [] [] [] [] | sketch | [] () [] | soundtracker | [] [] [] | sp | [] | tar | [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] [] | tin | () () | util-linux | [] [] [] [] [] | vorbis-tools | [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] [] [] [] [] | xchat | [] [] [] | xpad | | +-------------------------------------------+ am az be bg ca cs da de el en en_GB eo es 0 1 4 2 31 17 54 60 14 1 4 12 56 et fa fi fr ga gl he hr hu id it ja ko +----------------------------------------+ a2ps | [] [] [] () () | aegis | | anubis | [] | ap-utils | [] | bash | [] [] | batchelor | [] | bfd | [] [] | binutils | [] [] | bison | [] [] [] [] | bluez-pin | [] [] [] [] | clisp | | clisp | [] | coreutils | [] [] [] [] | cpio | [] [] [] [] | darkstat | () [] [] [] | diffutils | [] [] [] [] [] [] [] | e2fsprogs | | enscript | [] [] | error | [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] [] [] [] [] [] | flex | [] [] | gas | [] | gawk | [] [] | gcal | [] | gcc | [] | gettext | [] [] [] | gettext-runtime | [] [] [] [] | gettext-tools | [] | gimp-print | [] [] | gliv | () | glunarclock | [] [] [] [] | gnucash | [] | gnucash-glossary | [] | gnupg | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-conf | | gpe-contacts | [] | gpe-edit | [] [] | gpe-login | [] | gpe-ownerinfo | [] [] [] | gpe-sketchbook | [] | gpe-timesheet | [] [] [] | gpe-today | [] [] | gpe-todo | [] [] | gphoto2 | [] [] [] | gprof | [] [] | gpsdrive | () [] () () | grep | [] [] [] [] [] [] [] [] [] [] [] | gretl | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] | indent | [] [] [] [] [] [] [] [] | jpilot | [] () | jwhois | [] [] [] [] | kbd | [] | ld | [] | libc | [] [] [] [] [] [] | libgpewidget | [] [] [] | libiconv | [] [] [] [] [] [] [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] | lingoteach_lessons | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | | make | [] [] [] [] [] [] | man-db | [] () () | mysecretdiary | [] [] | nano | [] [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] [] [] | ptx | [] [] [] [] [] [] [] | python | | radius | | recode | [] [] [] [] [] [] | screem | | sed | [] [] [] [] [] [] [] [] | sh-utils | [] [] [] [] [] [] | sharutils | [] [] [] [] [] | sketch | [] | soundtracker | [] [] [] | sp | [] () | tar | [] [] [] [] [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] [] [] | tin | [] () | util-linux | [] [] [] [] () [] | vorbis-tools | [] | wastesedge | () | wdiff | [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] | xpad | | +----------------------------------------+ et fa fi fr ga gl he hr hu id it ja ko 20 1 15 73 14 24 8 10 30 31 19 31 9 lg lt lv ms nb nl nn no pl pt pt_BR ro +----------------------------------------+ a2ps | [] [] () () () [] [] | aegis | () | anubis | [] [] | ap-utils | () | bash | [] | batchelor | | bfd | | binutils | | bison | [] [] [] [] | bluez-pin | [] | clisp | | clisp | [] | coreutils | [] | cpio | [] [] [] | darkstat | [] [] [] [] | diffutils | [] [] [] | e2fsprogs | | enscript | [] [] | error | [] [] | fetchmail | () () | fileutils | [] | findutils | [] [] [] [] | flex | [] | gas | | gawk | [] | gcal | | gcc | | gettext | [] | gettext-runtime | [] | gettext-tools | | gimp-print | [] | gliv | [] | glunarclock | [] | gnucash | | gnucash-glossary | [] [] | gnupg | | gpe-calendar | [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-sketchbook | [] [] | gpe-timesheet | [] [] | gpe-today | [] [] | gpe-todo | [] [] | gphoto2 | | gprof | [] | gpsdrive | () () () | grep | [] [] [] [] | gretl | | hello | [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] | indent | [] [] [] | jpilot | () () | jwhois | [] [] [] | kbd | | ld | | libc | [] [] [] [] | libgpewidget | [] [] | libiconv | [] [] | lifelines | | lilypond | [] | lingoteach | | lingoteach_lessons | | lynx | [] [] | m4 | [] [] [] [] | mailutils | | make | [] [] | man-db | [] | mysecretdiary | [] | nano | [] [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] | ptx | [] [] [] [] [] [] [] | python | | radius | | recode | [] [] [] | screem | | sed | [] [] | sh-utils | [] | sharutils | [] | sketch | [] | soundtracker | | sp | | tar | [] [] [] [] [] [] | texinfo | [] | textutils | [] | tin | | util-linux | [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] | wget | [] [] [] | xchat | [] [] | xpad | [] | +----------------------------------------+ lg lt lv ms nb nl nn no pl pt pt_BR ro 0 0 2 11 7 26 3 4 18 15 34 34 ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW +-------------------------------------------+ a2ps | [] [] [] [] [] | 16 aegis | () | 0 anubis | [] [] | 5 ap-utils | () | 1 bash | [] | 7 batchelor | | 1 bfd | [] [] [] | 7 binutils | [] [] [] | 7 bison | [] [] | 13 bluez-pin | | 7 clisp | | 0 clisp | | 5 coreutils | [] [] [] [] [] | 14 cpio | [] [] [] | 13 darkstat | [] () () | 9 diffutils | [] [] [] [] | 21 e2fsprogs | [] | 3 enscript | [] [] [] | 11 error | [] [] [] | 14 fetchmail | [] | 7 fileutils | [] [] [] [] [] [] | 15 findutils | [] [] [] [] [] [] | 27 flex | [] [] [] | 10 gas | [] | 3 gawk | [] [] | 9 gcal | [] [] | 4 gcc | [] | 4 gettext | [] [] [] [] [] [] | 15 gettext-runtime | [] [] [] [] [] [] | 16 gettext-tools | [] [] | 5 gimp-print | [] [] | 10 gliv | | 1 glunarclock | [] [] [] | 11 gnucash | [] [] | 4 gnucash-glossary | [] [] [] | 8 gnupg | [] [] [] [] | 16 gpe-calendar | [] | 5 gpe-conf | | 3 gpe-contacts | [] | 4 gpe-edit | [] | 5 gpe-login | [] | 5 gpe-ownerinfo | [] | 7 gpe-sketchbook | [] | 5 gpe-timesheet | [] | 6 gpe-today | [] | 6 gpe-todo | [] | 6 gphoto2 | [] [] | 9 gprof | [] [] | 7 gpsdrive | [] [] | 3 grep | [] [] [] [] | 24 gretl | | 2 hello | [] [] [] [] [] | 33 id-utils | [] [] [] | 11 indent | [] [] [] [] | 19 jpilot | [] [] [] [] [] | 10 jwhois | () () [] [] | 10 kbd | [] [] | 8 ld | [] [] | 5 libc | [] [] [] [] | 20 libgpewidget | | 6 libiconv | [] [] [] [] [] [] | 21 lifelines | [] | 2 lilypond | [] | 4 lingoteach | | 2 lingoteach_lessons | () | 0 lynx | [] [] [] [] | 14 m4 | [] [] [] | 15 mailutils | | 2 make | [] [] [] [] | 15 man-db | [] | 6 mysecretdiary | [] [] | 8 nano | [] [] [] | 15 nano_1_0 | [] [] [] | 15 opcodes | [] [] | 9 parted | [] [] | 13 ptx | [] [] [] | 22 python | | 0 radius | | 0 recode | [] [] [] [] | 19 screem | [] | 1 sed | [] [] [] [] [] | 20 sh-utils | [] [] [] | 13 sharutils | [] [] [] [] | 16 sketch | [] | 5 soundtracker | [] | 7 sp | [] | 3 tar | [] [] [] [] [] | 24 texinfo | [] [] [] [] | 13 textutils | [] [] [] [] [] | 15 tin | | 1 util-linux | [] [] | 14 vorbis-tools | [] | 7 wastesedge | | 0 wdiff | [] [] [] [] | 17 wget | [] [] [] [] [] [] [] | 25 xchat | [] [] [] | 11 xpad | | 1 +-------------------------------------------+ 50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW 97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If May 2003 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. Using `gettext' in new packages =============================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. flex-2.5.35/AUTHORS0000664000175000017500000000116010604521330010527 00000000000000 In 2001, Will Estes took over as maintainer of flex. John Millaway is a co-author of the current version of flex. He has contributed a large number of new features, fixed a large number of outstanding bugs and has made significant contributions to the flex documentation. Aaron Stone has contributed several bug fixes to the flex codebase. Vern Paxson wrote flex with the help of many ideas and much inspiration from Van Jacobson. Original version by Jef Poskanzer. The fast table representation is a partial implementation of a design done by Van Jacobson. The implementation was done by Kevin Gong and Vern Paxson. flex-2.5.35/COPYING0000664000175000017500000000347710604522763010542 00000000000000Flex carries the copyright used for BSD software, slightly modified because it originated at the Lawrence Berkeley (not Livermore!) Laboratory, which operates under a contract with the Department of Energy: Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex Project. Copyright (c) 1990, 1997 The Regents of the University of California. All rights reserved. This code is derived from software contributed to Berkeley by Vern Paxson. The United States Government has rights in this work pursuant to contract no. DE-AC03-76SF00098 between the United States Department of Energy and the University of California. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. This basically says "do whatever you please with this software except remove this notice or take advantage of the University's (or the flex authors') name". Note that the "flex.skl" scanner skeleton carries no copyright notice. You are free to do whatever you please with scanners generated using flex; for them, you are not even bound by the above copyright. flex-2.5.35/ChangeLog0000664000175000017500000065371210761103047011256 000000000000002008-02-26 15:36 Will Estes * NEWS: add date of release 2008-02-15 07:37 Will Estes * NEWS, parse.y: fix bug that prevented comments from working properly 2008-02-12 07:57 Will Estes * po/de.po: new de translation 2008-02-10 06:08 Will Estes * NEWS, po/vi.po: new vi translation 2008-02-09 19:22 Will Estes * NEWS, po/nl.po: new nl translation 2008-02-09 14:59 Will Estes * NEWS, po/pl.po: new pl translation 2008-02-09 14:19 Will Estes * NEWS, po/de.po, po/pt_BR.po: new de, pt_br translations 2008-02-09 13:54 Will Estes * NEWS, flex.skl: generate headers for all functions (resolves bug #1628314) 2008-02-09 10:49 Will Estes * NEWS, flex.skl: change yy_size_t to be size_t (resolves bug #1849812) 2008-02-09 10:46 Will Estes * configure.in: start work on version 2.5.35 2007-12-12 16:00 Will Estes * NEWS, configure.in: revert NEWS and configure.in to version 2.5.34 2007-09-12 11:28 Will Estes * NEWS, configure.in: update version number to 2.5.35 2007-09-10 02:17 Aaron Stone * tests/test-alloc-extra/scanner.l: Use %option extra-type. 2007-09-10 02:16 Aaron Stone * NEWS, flex.skl, flexdef.h, main.c, parse.y, scan.l, doc/flex.texi: Introduce %option extra-type="your_type *" (resolves bug #1744505). 2007-08-15 08:28 Will Estes * po/nl.po: new nl translations from the translation project 2007-06-28 16:28 Will Estes * NEWS: change release date 2007-06-27 21:59 Will Estes * flex.skl: adjustment for prefix classes; patch submitted by Petr Machata 2007-06-27 21:53 Will Estes * NEWS: NEWS item for yy_init_extra 2007-06-12 12:33 Aaron Stone * doc/flex.texi: Docs and example for yylex_init_extra. 2007-05-31 20:22 Will Estes * tests/test-alloc-extra/.cvsignore: ignore OUTPUT file in test-alloc-extra 2007-05-31 20:21 Will Estes * tests/descriptions: add description of concatenated options test 2007-05-31 16:20 Will Estes * tests/test-alloc-extra/.cvsignore: add missing .cvsignore to test-alloc-extra 2007-05-31 02:21 Aaron Stone * configure.in, flex.skl, gen.c, main.c: Changes to resolve SF bugs 1568325 and 1563589. 2007-05-31 02:09 Aaron Stone * tests/: Makefile.am, descriptions, test-alloc-extra/Makefile.am, test-alloc-extra/scanner.l, test-alloc-extra/test.input: Adding test cases for yylex_init_extra. 2007-05-12 11:27 Will Estes * configure.in, tests/test-pthread/scanner.l: fixes to test-pthread 2007-05-12 09:13 Will Estes * NEWS: NEWS item for concatenated options 2007-05-12 09:13 Will Estes * configure.in, tests/Makefile.am, tests/test-concatenated-options/.cvsignore, tests/test-concatenated-options/Makefile.am: unit test to verify concatenated options parsing 2007-05-12 09:11 Will Estes * scanopt.c: parse multiple short concatenated options; patch submitted by Petr Machata * autogen.sh: remove --force option from autogen.sh; much faster without it 2007-05-11 14:35 Will Estes * NEWS, configure.in: version 2.5.34 2007-05-08 00:23 Aaron Stone * NEWS, flex.skl: Better checking after yyalloc/yyrealloc (resolves bug #1595967) 2007-05-01 08:10 Will Estes * doc/flex.texi: change title of manual to 'Lexical Analysis with Flex' 2007-04-25 14:16 Will Estes * flex.skl: c++ memory leak plug 2007-04-23 09:29 Will Estes * flex.skl: roll back c++ memory patch as it causes the test suite no end of grief 2007-04-23 08:42 Will Estes * flex.skl: fix function definitions for non-ANSI environments (from Manoj Srivastava from Debian patchset) 2007-04-23 08:37 Will Estes * flex.skl: fix c++ memory leak (from Manoj Srivastava from Debian patchset) 2007-04-23 06:59 Will Estes * flex.skl: fix parameter name in comment (patch from Manoj Srivastava from the debian patchset 2007-04-23 06:57 Will Estes * flex.skl: add a size_t cast (patch from Manoj Srivastava from the debian patchset 2007-04-16 17:06 Will Estes * tests/: test-extended/Makefile.am, test-quotes/Makefile.am: cleanups to handle VPATH builds better; passifies make distcheck 2007-04-16 16:42 Will Estes * doc/flex.texi: drop using the \ in \ escaping as it throws pdf generation for a loop 2007-04-14 08:33 Will Estes * .cvsignore: add compile and *.tar.bz2 to .cvsignore 2007-04-14 08:27 Will Estes * main.c: add call to setlocale for ctype as per debian patchset 2007-04-14 08:25 Will Estes * Makefile.am, NEWS: provide for a PIC version of libfl.a for shared libraries using flex scanners 2007-04-13 13:24 Will Estes * FlexLexer.h: annotate endifs since they're a bit far from their opening #if statements 2007-04-13 12:55 Will Estes * flexdef.h, parse.y: refactor and slightly redo alloca testing, resolves bug #1675899 2007-04-13 12:50 Will Estes * configure.in: overhaul configure.in: use octathorps for comments so they're passed through m4 processing; better bracketing of m4 arguments; retool checks as per suggestions from autoscan(1) 2007-04-13 12:43 Will Estes * flex.skl: better handling of class that use the prefix functionality; from submitted patch 2007-04-13 12:32 Will Estes * flex.skl: fix skeleton for reentrant scanners 2007-04-12 21:50 Will Estes * Makefile.am: remove homegrown tags target; automake does that for us 2007-04-12 15:12 Will Estes * FlexLexer.h: declare some const where missing in c++ header file 2007-04-12 15:12 Will Estes * flex.skl: fix skeleton for reentrant scanners, resolves bug #1694318 2007-04-10 15:20 Will Estes * doc/flex.texi: corrections to the manual as per suggestions from flex-help@ 2007-04-03 15:16 Will Estes * doc/flex.texi: include author names in online versions of the manual 2007-04-03 15:07 Will Estes * COPYING: update copyright notice 2007-04-03 14:54 Will Estes * AUTHORS: rearrange and update AUTHORS 2007-03-29 11:45 Will Estes * NEWS: note sf feature request 1658379 in NEWS 2007-03-29 11:36 Will Estes * tools/cvsauthors: add sodabrew to cvsauthors file 2007-03-29 11:25 Aaron Stone * flex.skl: SourceForge feature request #1658379: Expose YY_BUF_SIZE in the header file. 2007-03-07 16:50 Will Estes * NEWS, filter.c, flex.skl: apply patches submitted by sodabrew 2007-03-07 16:20 Will Estes * README.cvs: more changes describing building flex from cvs 2007-03-07 16:16 Will Estes * Makefile.am, README.cvs, README.cvs-snapshot: rename README.cvs-snapshot to README.cvs 2007-03-07 16:14 Will Estes * README.cvs-snapshot: update to explain where flex cvs lives 2007-03-07 15:45 Will Estes * README, doc/flex.texi: correct how to submit bugs 2007-02-16 10:38 Will Estes * NEWS: clarify NEWS item re man page and pdf manual 2007-02-14 12:03 Will Estes * po/Makevars: update bug address to point to flex-devel instead of lex-help 2007-02-13 12:54 Will Estes * configure.in, doc/Makefile.am: make better use of AC_INIT; clean up, simplify and make more robust the generation of the man page 2007-02-13 12:08 Will Estes * configure.in: remove option check-news from call to AM_INIT_AUTOMAKE as gnits implies check-news 2007-02-13 10:07 Will Estes * Makefile.am, configure.in: move automake options from Makefile.am to configure.in 2007-02-13 10:04 Will Estes * autogen.sh: restore --install option to autogen.sh since --force does not imply --install 2007-02-13 10:04 Will Estes * tools/cvsauthors: add john43 to cvsauthors file 2007-02-13 09:50 Will Estes * autogen.sh: call autoreconf with --force instead of --install 2007-02-13 09:48 Will Estes * doc/.cvsignore: remove texinfo.tex from cvs tree 2007-02-12 20:15 Will Estes * NEWS: updates to NEWS file to reflect recent changes 2007-02-12 20:14 Will Estes * doc/Makefile.am: add flex.pdf to EXTRA_DIST 2007-02-12 19:45 Will Estes * configure.in: remove flex.spec 2007-02-12 19:44 Will Estes * Makefile.am: remove maintainercleanfiles 2007-02-01 15:56 Will Estes * doc/Makefile.am: more changes to build system to distribute man page 2007-02-01 12:10 Will Estes * doc/Makefile.am: add flex man page to distribution 2007-02-01 12:09 Will Estes * .cvsignore, flex.spec.in: remove flex spec file 2006-11-17 10:14 Will Estes * tests/test-table-opts/Makefile.am: make test target depend on test groupings, which in turn depend on building executables; cygwin portability fix 2006-11-10 16:00 Will Estes * tests/create-test: change create-test script to edit files in place 2006-11-09 15:14 Will Estes * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, test-c++-multiple-scanners/Makefile.am, test-c++-yywrap/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-ccl/Makefile.am, test-debug-nr/Makefile.am, test-debug-r/Makefile.am, test-extended/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-push/Makefile.am, test-include-by-reentrant/Makefile.am, test-linedir-r/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-noansi-nr/Makefile.am, test-noansi-r/Makefile.am, test-posix/Makefile.am, test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-quotes/Makefile.am, test-reject/Makefile.am, test-rescan-nr/Makefile.am, test-rescan-r/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-top/Makefile.am, test-yyextra/Makefile.am: change CLEANFILES to include instead of just the testname for the executable 2006-11-09 09:44 Will Estes * doc/flex.texi: fix typos in manual; resolves bug #1592857 2006-11-09 09:39 Will Estes * tests/TEMPLATE/Makefile.am: change test template to remove test executable when that executable has an extension, e.g. under Cygwin 2006-11-08 10:28 Will Estes * tests/Makefile.am: test names weren't displaying in test success/failure messages (from #1591672 2006-10-30 15:28 Will Estes * doc/.cvsignore: add flex.html to .cvsignore in doc directory 2006-10-22 18:42 Will Estes * NEWS: update NEWS file for the work that millaway did 2006-10-22 18:17 Will Estes * FlexLexer.h, NEWS, main.c, tests/test-c++-multiple-scanners/scanner-2.l: make yywrap work with c++ scanners as per sf bug report 2006-10-20 15:16 Will Estes * flex.skl, tests/test-c++-multiple-scanners/main.cpp, tests/test-c-cpp-nr/scanner.l, NEWS: memory leak issues in c++ scanner 2006-10-20 13:10 Will Estes * configure.in, tests/Makefile.am, tests/descriptions, tests/test-c++-yywrap/.cvsignore, tests/test-c++-yywrap/Makefile.am, tests/test-c++-yywrap/scanner.l, tests/test-c++-yywrap/test.input, NEWS: add unit test for c++ with yywrap 2006-10-20 12:08 Will Estes * NEWS, tests/test-c++-basic/Makefile.am, tests/test-linedir-r/Makefile.am: use configure-provided awk variable for portability; add loadlibes variable to c++ test 2006-10-17 09:41 Will Estes * doc/flex.texi: add noyywrap option to example; use whitespace to clarify example 2006-08-02 10:43 Will Estes * NEWS, po/ca.po, po/vi.po: new translations 2006-04-11 12:54 John Millaway * tables.c: Casted away signedness to appease -Werror freaks. 2006-03-28 15:47 John Millaway * ccl.c, flexdef.h, parse.y, scan.l, sym.c, doc/flex.texi, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added ccl union operator. Added test in test suite for ccl union operator. Documented ccl union operator. Removed crufty ccl cache to prevent parser problems. 2006-03-28 12:56 John Millaway * scan.l, doc/flex.texi, tests/test-extended/scanner.l, tests/test-extended/test.input: Extended syntax excluded for lex/posix compat mode. Comments discarded inside (?x:) patterns. Added test in test suite for comments in extended patterns. Documented syntax additions. 2006-03-27 17:48 John Millaway * scan.l, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Implemented (?x:) syntax to allow whitespace in patterns. Added test for (?x:) syntax in test suite. 2006-03-27 17:04 John Millaway * parse.y, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Implemented dot-all syntax. Added test for dot-all syntax in test suite. 2006-03-27 15:59 John Millaway * dfa.c, flexdef.h, gen.c, main.c, parse.y, scan.l, scanflags.c, doc/flex.texi, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Removed global variable caseins. Added scanner stack flags for case-insensitivity. Moved case-folding code from DFA-generation to parse time read-macros. Added localized case-sensitivity syntax from Perl. Added test for new syntax in test suite. Documented new syntax. 2006-03-27 14:00 John Millaway * Makefile.am, configure.in, flexdef.h, scanflags.c: Added configure check for assert.h. Added scanner flags stack. 2006-03-25 14:03 John Millaway * configure.in, scan.l, doc/flex.texi, tests/Makefile.am, tests/descriptions, tests/test-extended/.cvsignore, tests/test-extended/Makefile.am, tests/test-extended/scanner.l, tests/test-extended/test.input: Added extended, perl-compatible comment syntax. Added test for extended comment syntax. Documented extended comment syntax. 2006-03-25 12:57 John Millaway * parse.y, doc/flex.texi: Changed explicit 'A'-'Z' to isupper(), where correct to do so. Documentation. 2006-03-24 17:33 John Millaway * doc/flex.texi: Documentation. 2006-03-24 13:57 John Millaway * doc/flex.texi: Added appendix of patterns to manual. 2006-03-23 18:34 John Millaway * doc/flex.texi: [no log message] 2006-03-22 15:06 John Millaway * doc/flex.texi: Documentation. 2006-03-22 15:03 John Millaway * doc/flex.texi: Documented set difference operator {-}. 2006-03-22 14:06 John Millaway * ccl.c, flexdef.h, parse.y, scan.l, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added set difference operator {-} for character classes. 2006-03-22 11:04 John Millaway * configure.in, parse.y, scan.l, doc/flex.texi, tests/Makefile.am, tests/descriptions, tests/test-ccl/.cvsignore, tests/test-ccl/Makefile.am, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added negated character class expressions. Documented negated character class expressions. Added regression test for negated character class expressions. 2006-03-22 07:49 John Millaway * buf.c, filter.c, gen.c, main.c, misc.c, nfa.c, parse.y, regex.c: Replaced sprintf with snprintf everywhere. 2006-03-21 19:15 John Millaway * Makefile.am: Removed includedir from AM_CPPFLAGS #1439351. 2006-03-21 18:49 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-quotes/.cvsignore, tests/test-quotes/Makefile.am, tests/test-quotes/scanner.l, tests/test-quotes/test.input: Added test to verify user code is unmangled. 2006-03-21 16:39 John Millaway * flexdef.h, misc.c, scan.l: Fixed escape in actions. 2006-03-21 16:22 John Millaway * filter.c, flexdef.h, main.c, scan.l: Reverted previous input filter changes. Added noop macro to scanner output. Modified scan.l to escape m4 quotes found in user code. 2006-03-21 16:18 John Millaway * tests/test-table-opts/: Makefile.am, scanner.l: Removed m4 from test-table-opts 2006-03-21 15:58 John Millaway * tests/test-reject/: Makefile.am, scanner.l: Removed m4 from test-reject 2006-03-21 13:23 John Millaway * filter.c, flexdef.h, main.c, scan.l: Moved set_input_file to different file. 2006-03-20 21:17 John Millaway * flex.skl, flexdef.h, flexint.h, misc.c: Relaxed tests for __STDC__ and __STDC_VERSION__ to cope with bugs in GCC and Sun cc. 2006-03-19 20:50 John Millaway * filter.c: Documented filter chain. Removed fdopen. Added no-op fseek. 2006-03-13 16:21 John Millaway * gen.c: Fixed another -Wall report. 2006-03-10 09:59 Will Estes * NEWS, po/vi.po: new vi translation 2006-03-09 08:45 Will Estes * NEWS, po/ga.po, po/nl.po: new nl, ga translations 2006-02-20 20:54 Will Estes * m4/Makefile.am: add po.m4 to extra_dist in m4/ so it gets picked up by distributions 2006-02-20 20:42 Will Estes * m4/Makefile.am: add nls.m4 to extra_dist in m4/ so it will get picked up in distribution tarballs 2006-02-20 20:10 Will Estes * configure.in: remove website directory from configure.in 2006-02-20 14:22 Will Estes * NEWS, configure.in: version 2.5.33 marks in NEWS and configure.in 2006-02-20 13:21 Will Estes * configure.in: change email address in configure.in to point to flex-help@sourceforge.net 2006-02-20 12:30 John Millaway * doc/flex.texi: Documentation. 2006-02-20 12:17 John Millaway * BUGS: Appended to BUGS file. 2006-02-18 14:09 Will Estes * Makefile.am: remove website directory (since it now has its own module in the flex project 2006-02-16 17:20 John Millaway * flex.skl, doc/flex.texi: Fixed buffer overflow in reject state buffer. Corrected documentation on the state buffer. 2006-02-16 10:02 John Millaway * flex.skl: Reverted num_read from size_t back to int. 2006-02-15 18:58 John Millaway * Makefile.am, configure.in: Removed reference to RoadMap in Makefile.am. Added website directory. 2006-02-15 16:08 Will Estes * README, RoadMap: remove RoadMap and reference to it in README 2006-02-15 13:35 John Millaway * BUGS, README, doc/flex.texi, doc/flex.xml: Eliminated references to lex.sf.net. 2006-02-15 13:31 John Millaway * BUGS, flex.skl: Transfered bugs list from lex.sf.net to BUGS file. 2006-02-15 13:11 John Millaway * tests/: test-rescan-nr/.cvsignore, test-rescan-nr/Makefile.am, test-rescan-nr/scanner.l, test-rescan-nr/test.input, test-rescan-r/.cvsignore, test-rescan-r/Makefile.am, test-rescan-r/scanner.l, test-rescan-r/test.input: Recommit of last commit -- broken pipe. 2006-02-15 13:06 John Millaway * configure.in, flex.skl, tests/Makefile.am, tests/descriptions: yy_lex_destroy calls yy_init_globals to reset everything for next call to yylex. Added two new tests for reusing scanners. 2006-02-14 15:28 John Millaway * flex.spec.in: Patched rpm spec file. 2006-02-14 15:23 John Millaway * configure.in, flexint.h: Added C99 macro for inttypes, just to be conformant. 2006-02-14 14:38 John Millaway * flexdef.h, nfa.c, parse.y: Changed symbol INFINITE to fix conflict with C math symbol. 2006-02-14 14:28 John Millaway * scan.l: Omitting parens for named rules in trailing context. 2006-02-14 13:55 John Millaway * configure.in, main.c, po/ca.po, po/da.po, po/de.po, po/es.po, po/fr.po, po/ga.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Added check for locale.h and libintl.h in configure script. 2006-02-14 13:36 John Millaway * flex.skl: Removed unused local vars. 2006-02-14 13:25 John Millaway * flex.skl: Removed certain offending #undefs. 2006-02-14 13:07 John Millaway * flexint.h: Removed logical and from preprocessor statement. 2006-02-14 06:40 Will Estes * po/: nl.po, nl.po.1: remove eroneously named nl.po.1; update nl.po 2006-02-14 01:38 John Millaway * dfa.c: [no log message] 2006-02-14 00:27 John Millaway * flex.skl: Included for serialized tables. 2006-02-14 00:22 John Millaway * configure.in: Minor patch to call to head in configure script. 2006-02-14 00:12 John Millaway * doc/flex.texi: Documentation patch. 2006-02-13 22:32 John Millaway * filter.c, gen.c, libyywrap.c, main.c: Patch for full file system failure. 2006-02-13 16:45 John Millaway * doc/flex.texi: Documentation. 2006-02-13 16:18 John Millaway * main.c: Fixed double-fclose when input file is empty. 2006-02-10 18:17 Will Estes * po/: ca.po, da.po, de.po, es.po, fr.po, ga.po, ko.po, nl.po.1, pl.po, pt_BR.po, ro.po, ru.po, sv.po, tr.po, vi.po, zh_CN.po: newtranslations 2005-12-21 19:24 John Millaway * buf.c, main.c: Improvement request 1069716 log vs. log10 2005-12-21 19:16 John Millaway * flex.skl: Fixed bug 1257093 yy_init_globals in header file 2005-04-14 16:45 Will Estes * po/nl.po: new nl translation 2005-04-07 08:49 Will Estes * NEWS, po/LINGUAS, po/nl.po, po/vi.po: new nl and vi translations 2004-07-20 16:32 Will Estes * filter.c: correct improper stdin assignment 2004-05-22 18:42 Will Estes * po/tr.po, NEWS: new tr translation 2004-05-11 20:44 Will Estes * .indent.pro, .cvsignore: .cvsignore and .indent.pro got missed in the import to sourceforge; replace them 2004-05-11 09:28 Will Estes * po/fr.po: new fr translation 2004-05-03 10:52 Will Estes * po/LINGUAS: polish is pl, not po 2004-03-22 08:10 Will Estes * po/sv.po: yet another sweedish update 2004-03-19 09:27 Will Estes * po/sv.po, NEWS: new sv translation 2003-12-10 20:43 John Millaway * configure.in, filter.c, main.c: Configure checks for GNU m4. Environment variable M4 overrides built-in m4 path. Generated m4 does a late check for GNU m4. 2003-12-08 21:17 John Millaway * doc/flex.texi: added 3 faqs 2003-11-24 08:12 Will Estes * po/ro.po: new ro translation 2003-11-07 13:38 Will Estes * NEWS, po/fr.po: new french translation 2003-11-07 08:57 Will Estes * NEWS, po/ca.po: new catalan translation from the translation project 2003-11-07 08:50 Will Estes * NEWS, po/LINGUAS, po/ga.po, po/pl.po: new polish translation; updated irish translation from translation project 2003-10-10 08:47 Will Estes * NEWS, po/LINGUAS, po/ga.po: new Irish translation 2003-08-25 07:57 Will Estes * NEWS, po/LINGUAS, po/ro.po: add romanian translation 2003-07-16 11:05 Will Estes * flex.skl: flex_*int* type fixes 2003-07-16 10:45 Will Estes * tools/cvsauthors: change wlestes email address 2003-07-16 10:43 Will Estes * flex.skl: undef yytext_ptr has some bad side effects 2003-07-07 13:32 John Millaway * doc/flex.texi: Documented m4 incompatibility with lex. 2003-05-21 13:57 Will Estes * NEWS: upgrade to gettext 0.12 2003-05-20 16:25 Will Estes * flex.skl, gen.c: patches from manoj via sourceforge 2003-05-20 16:09 Will Estes * configure.in, po/.cvsignore, po/Makevars: upgrade gettext to 0.12; this allows running make pdf and make ps to be successful 2003-05-20 13:41 Will Estes * doc/.cvsignore: cvs should ignore flex.pdf and flex.ps 2003-04-25 15:45 John Millaway * TODO: Added yylineno bugs to TODO list. 2003-04-02 20:01 John Millaway * doc/flex.xml: Docbook. 2003-04-02 19:22 John Millaway * doc/flex.xml: xml now validates. 2003-04-02 18:20 John Millaway * doc/flex.xml: Began conversion to DocBook. 2003-04-01 11:17 Will Estes * NEWS, configure.in: version 2.5.31 2003-04-01 11:14 Will Estes * NEWS: remove --enable-maintainer-mode configure option 2003-04-01 11:08 Will Estes * configure.in: remove AM_MAINTAINER_MODE 2003-03-31 20:51 John Millaway * flex.skl, flexdef.h, main.c, misc.c, scan.l: Renamed some internal variables. 2003-03-31 08:21 Will Estes * NEWS: yylineno is now per-buffer in reentrant scanners 2003-03-30 21:04 John Millaway * TODO: Added TODO item. 2003-03-30 14:58 John Millaway * flex.skl, gen.c: yylineno is per-buffer in the reentrant scanner. support for yycolumn exists, but is not yet developed. 2003-03-28 16:08 John Millaway * flex.skl: Minor documentation. 2003-03-28 09:17 Will Estes * NEWS: added %top directive 2003-03-27 13:02 John Millaway * buf.c, configure.in, flexdef.h, main.c, scan.l, doc/flex.texi, tests/Makefile.am, tests/descriptions, tests/test-top/.cvsignore, tests/test-top/Makefile.am, tests/test-top/main.c, tests/test-top/scanner.l, tests/test-top/test.input: Added %top block syntax. Added test for %top block. Documented %top block. 2003-03-26 23:02 John Millaway * TODO, doc/flex.texi: Documented the m4 dependency. 2003-03-26 16:43 Will Estes * configure.in, flexdef.h: check for sys/wait.h since we use wait(2) 2003-03-26 16:35 Will Estes * flexdef.h: reorder include directives so as to catch system integer types before flex defined values for same 2003-03-26 14:19 Will Estes * TODO: assign tasks due before major release can happen; remove --enable-maintainer-mode entry 2003-03-26 14:15 Will Estes * Makefile.am: only rebuild the ChangeLog if we're inside a cvs working directory 2003-03-26 14:05 Will Estes * configure.in, tools/.cvsignore, tools/Makefile.am: add tools/ subdirectory to distribution 2003-03-26 14:05 Will Estes * Makefile.am: remove maintainer_mode conditional; add filter.c and regex.c to indentfiles; reformat and sort indentfiles so it's easier to add files in the future 2003-03-26 14:04 Will Estes * doc/Makefile.am: clean up flex.texi processing leftovers with cleanfiles 2003-03-26 13:29 Will Estes * tests/test-linedir-r/Makefile.am: an awk script wasn't included in the distribution 2003-03-26 11:52 John Millaway * TODO, configure.in, tests/Makefile.am, tests/descriptions, tests/test-include-by-push/.cvsignore, tests/test-include-by-push/Makefile.am, tests/test-include-by-push/scanner.l, tests/test-include-by-push/test-1.input, tests/test-include-by-push/test-2.input, tests/test-include-by-push/test-3.input: Added test for yypush_buffer_state and yypop_buffer_state. 2003-03-25 22:27 John Millaway * TODO: Removed items from TODO list. 2003-03-25 22:26 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-linedir-r/.cvsignore, tests/test-linedir-r/Makefile.am, tests/test-linedir-r/check-lines.awk, tests/test-linedir-r/main.c, tests/test-linedir-r/scanner.l, tests/test-linedir-r/test.input: Added test for #line directives. 2003-03-25 20:37 John Millaway * configure.in, tests/Makefile.am, tests/test-noansi-nr/.cvsignore, tests/test-noansi-nr/Makefile.am, tests/test-noansi-nr/scanner.l, tests/test-noansi-nr/test.input, tests/test-noansi-r/.cvsignore, tests/test-noansi-r/Makefile.am, tests/test-noansi-r/scanner.l, tests/test-noansi-r/test.input: Added test for noansi (traditional) options. Reordered the tests so the basic ones are first. 2003-03-25 15:51 Will Estes * TODO, doc/Makefile.am: remove maintainer-mode conditional around rebuilding of manpage 2003-03-25 15:45 Will Estes * README: mention doc/ for user documentation 2003-03-25 15:45 Will Estes * TODO: rework distribution items 2003-03-25 15:45 Will Estes * NEWS: mention m4 processing 2003-03-25 15:44 Will Estes * tests/README: update instructions for running test suite 2003-03-25 11:39 Will Estes * FlexLexer.h, Makefile.am, TODO, buf.c, configure.in, filter.c, flex.skl, flexdef.h, gen.c, main.c, misc.c, options.c, options.h, regex.c, scan.l, sym.c, doc/flex.texi, tests/test-bison-nr/scanner.l, tests/test-bison-yylloc/scanner.l, tests/test-reject/scanner.l, tests/test-table-opts/scanner.l: merge millaway's m4 branch work 2003-03-20 15:10 Will Estes * TODO: we want to move the contents of to.do/Wishlist to top level TODO 2003-03-20 13:09 John Millaway * to.do/Wish-List: Assessment of every item in Wish-List. 2003-03-17 04:57 John Millaway * regex.c: file regex.c was initially added on branch m4. 2003-03-10 15:00 John Millaway * filter.c: file filter.c was initially added on branch m4. 2003-03-05 14:52 Will Estes * texinfo.tex, doc/.cvsignore: move texinfo.tex to doc/ 2003-03-05 14:37 Will Estes * TODO: update TODO 2003-03-05 14:37 Will Estes * NEWS, configure.in: version 2.5.29 2003-03-04 18:43 John Millaway * FlexLexer.h, flex.skl: Added growable buffer stack to C++ scanner as well. yyensure_buffer_stack is now static. 2003-03-01 20:45 John Millaway * flex.skl, misc.c: Removed awkward %push %pop syntax from skeleton. 2003-03-01 19:34 John Millaway * flex.skl: Renamed YY_CURRENT_BUFFER_FAST to YY_CURRENT_BUFFER_LVALUE to better reflect its purpose. 2003-02-28 15:19 John Millaway * NEWS: made entry on input buffer stacks. 2003-02-28 09:23 Will Estes * Makefile.am, doc/Makefile.am: build on . in top level first; this will simplify calling help2man 2003-02-28 06:27 John Millaway * TODO, flex.skl, gen.c, main.c, doc/flex.texi: Removed yy_current_buffer from the planet. Input buffer states are now in an internal unbounded stack. Added new internal function, yyensure_buffer_stack. Added new API function, yypush_buffer_state. Added new API function, yypop_buffer_state. Documented the new API calls in the manual. Macro YY_BUFFER_STATE now refers to top of stack. This revision breaks the C++ scanner (again.) 2003-02-28 04:02 John Millaway * main.c: Removed some symbols from the undef list. They are needed for multiple headers to coexist. 2003-02-27 10:37 Will Estes * Makefile.am, NEWS, configure.in, flex.texi, doc/.cvsignore, doc/Makefile.am, doc/flex.texi: move flex.texi and flex.1 to new doc/ subdirectory 2003-02-27 09:44 Will Estes * NEWS: namespace cleanups 2003-02-26 18:23 John Millaway * main.c: Added a few macros to the undef list. 2003-02-26 18:17 John Millaway * main.c: Put the undef macros in an array. 2003-02-12 16:54 Will Estes * NEWS, configure.in: version 2.5.28 2003-02-10 09:11 Will Estes * README, TODO, configure.in, flex.texi: update documentation to reflect the sourceforge move 2003-02-06 16:00 Will Estes * TODO: update according to current thinking 2003-02-06 15:12 Will Estes * TODO: mcvs reviewed 2003-02-06 09:06 Will Estes * TODO: sourceforge migration tasks 2003-02-04 09:10 Will Estes * NEWS: Flex now warns if always-interactive is specified with fast or full; Fixed trailing slash bug in YY_INPUT macro def 2003-01-31 17:30 John Millaway * scan.l: Flex now warns if always-interactive is specified with fast or full. 2003-01-31 12:37 Will Estes * Makefile.am: switch to using cvs2cl.pl to generate the ChangeLog 2003-01-31 12:12 Will Estes * tools/: cvs2cl.pl, cvsauthors: we're going to be switching how we handle our ChangeLog 2003-01-29 15:16 John Millaway * gen.c, misc.c: Fixed trailing slash bug in YY_INPUT macro def. 2003-01-29 13:09 Will Estes * README.cvs-snapshot: upgrade texinfo to 4.3d 2003-01-29 13:07 Will Estes * flex.texi: the @copying construct works now; thanks to the texinfo maintainers for finding the problem 2003-01-21 08:33 Will Estes * NEWS, configure.in: version 2.5.27 2003-01-21 08:32 Will Estes * NEWS: flex now works with recent bison versions 2003-01-18 13:54 John Millaway * flex.skl: Check for YYLTYPE_IS_DECLARED. This fixes bison-bridge with latest bison. 2003-01-15 08:33 Will Estes * NEWS, po/pt_BR.po: new pt_br translation 2003-01-14 10:51 Will Estes * NEWS, configure.in: version 2.5.26 2003-01-14 09:12 Will Estes * NEWS: Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols 2003-01-11 22:30 John Millaway * tables_shared.h: Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols . 2003-01-10 09:05 Will Estes * README.cvs-snapshot: add version numbers for some tools and explain about version.texi and --enable-maintainer-mode 2003-01-10 08:59 Will Estes * NEWS: catch news up 2003-01-09 18:06 John Millaway * tests/: test-mem-nr/scanner.l, test-mem-r/scanner.l: Changed size_t to yy_size_t in yyalloc() and yyrealloc(). Is this really what we want? 2003-01-09 17:20 John Millaway * flex.skl: Changed type of yyleng from size_t to int. This fixes bug in PostgreSQL compilation. 2003-01-09 11:15 Will Estes * NEWS: catch news up 2003-01-09 11:15 Will Estes * flex.skl: more c++ fixes 2003-01-09 10:43 Will Estes * Makefile.am, configure.in, flex.spec.in: add a spec file 2003-01-09 10:25 Will Estes * flex.skl: type cast to pacify c++ compilers; patch from Bruce Lilly 2003-01-08 12:58 Will Estes * NEWS: new es translation 2003-01-08 12:57 Will Estes * po/es.po: new spanish translation 2002-12-18 22:17 John Millaway * gen.c: Fixed bug where YY_G(0) sometimes occurs (created by my previous commit.) 2002-12-17 18:53 John Millaway * gen.c: Fixed bug submitted by Bojan Smojver where the use of yylineno, reentrant, and yymore together caused a compile-time error. 2002-12-17 16:57 Will Estes * NEWS: update NEWS 2002-12-17 15:28 John Millaway * flex.texi: Documented new behavior with character ranges. 2002-12-16 18:33 John Millaway * parse.y: Fixed bug submitted by Bruce Lilly where character ranges would yield unexpected behavior in a caseless scanner. Also, flex now emits a warning if the range looks like trouble. 2002-12-16 18:28 John Millaway * flexdef.h, ccl.c: Added utility functions to deal with character case. 2002-12-09 09:14 Will Estes * flexint.h: we don't really need int64 anyway 2002-12-09 09:13 Will Estes * flex.skl: apparently some lints are happier with fllthrough without a space 2002-12-02 15:50 Will Estes * NEWS, configure.in: version 2.5.25 2002-12-02 15:48 Will Estes * Makefile.am: enclose flex.1 target in MAINTERNER_MODE 2002-12-02 08:39 Will Estes * po/pt_BR.po: new pt_br translation 2002-12-01 13:31 John Millaway * flex.texi: Indexed some more faqs. 2002-11-28 22:34 John Millaway * flex.skl: Fixed bug in SECOND yyless definition where argument was not enclosed in parentheses. 2002-11-28 22:29 John Millaway * flex.skl: Fixed bug in yyless definition where argument was not enclosed in parentheses. 2002-11-27 13:42 Will Estes * NEWS: flex uses flex_int*_t types 2002-11-27 13:41 Will Estes * flexint.h: integer types for non-C99 systems flexint.h 2002-11-27 09:43 John Millaway * dfa.c, flexint.h, gen.c, tables.c, tables.h, tables_shared.c, tables_shared.h: Changed int types to flex_intX_t. The build is now broken until typedef's are established. 2002-11-27 09:05 Will Estes * Makefile.am: MAINTAINERCLEANFILES: new variable: try to make it so that make maintainer-clean erases everything not under version control 2002-11-27 08:53 Will Estes * config.rpath: remove config.rpath 2002-11-27 08:52 Will Estes * README-alpha: just list location of betas 2002-11-26 09:46 Will Estes * flexint.h: __STDC_VERSION__ needs an L suffix 2002-11-26 08:22 Will Estes * NEWS, po/LINGUAS, po/pt_BR.po: new pt_br translation from the translation project 2002-11-25 11:19 Will Estes * flexint.h: include inttypes.h for folks who really are C99 2002-11-25 09:17 Will Estes * TODO: fix a typo 2002-11-25 08:53 Will Estes * NEWS, configure.in: version 2.5.24 2002-11-23 12:59 Will Estes * configure.in: try to make sure we have GNU m4 2002-11-23 12:56 Will Estes * tests/test-c++-multiple-scanners/Makefile.am: include tests/test-c++-multipl-scanners/test.input 2002-11-23 12:28 Will Estes * NEWS: more portability fixes 2002-11-23 11:50 Will Estes * configure.in, flexdef.h: apparently on some BSD systems, we need sys/params.h; reported by millaway 2002-11-22 16:04 Will Estes * NEWS: update NEWS 2002-11-22 15:38 John Millaway * flex.skl, main.c, tests/test-c++-multiple-scanners/Makefile.am: Fixed prefix of yyalloc,yyfree,yyrealloc in C++ scanner. Removed yylex_destroy from C++ scanner. 2002-11-22 15:05 John Millaway * flex.texi: renamed some faqs. 2002-11-22 08:20 Will Estes * AUTHORS: update wording about authorship 2002-11-17 17:17 John Millaway * parse.y: Removed space before line num in error messages to look more like gcc's errors. 2002-11-06 10:16 Will Estes * po/tr.po, NEWS: new turkish translation from the translation project 2002-10-28 07:21 Will Estes * gen.c: applied c++ from lilypond folks for std:: reasons 2002-10-25 15:18 Will Estes * flex.texi: proofreading 2002-10-24 16:07 Will Estes * flex.texi: proofreading 2002-10-22 10:28 Will Estes * flex.skl: use c-style header names in c++ for now; at some point we'll have a separate c++ skeleton and we can go whole-hog pure c++ 2002-10-22 10:01 Will Estes * TODO: c++ rants 2002-10-22 09:37 Will Estes * flex.texi: more proofreading 2002-10-22 09:37 Will Estes * Makefile.am: include intent.pro; indent target is MAINTAINER_MODE conditional 2002-10-22 08:32 Will Estes * configure.in: When we use AC_PATH_PROG, value-if-not-found is the name of the program we wanted to find; this will generate more helpful error messages 2002-10-21 19:52 John Millaway * tables.c: Added a missing function prototype. 2002-10-21 13:30 Will Estes * NEWS, configure.in: version 2.5.23 2002-10-21 13:27 Will Estes * NEWS: update NEWS on recent changes 2002-10-21 13:21 Will Estes * flexint.h: use sys/types.h and not inttypes.h 2002-10-21 13:20 Will Estes * configure.in: check for limits.h 2002-10-21 13:19 Will Estes * TODO: update TODO on recent suggestions 2002-10-21 11:28 Will Estes * flex.texi: titlepage and contents 2002-10-21 10:45 Will Estes * Makefile.am: typo 2002-10-21 10:27 Will Estes * Makefile.am, README.cvs-snapshot: include README.cvs-snapshot in the distribution; in README-cvs-snapshot, mention the need for enable-maintainer-mode 2002-10-20 22:26 John Millaway * flex.texi: typo. 2002-10-18 11:25 Will Estes * flex.texi: report the current version info that flex provides; reformat a list of non-posix features 2002-10-18 11:25 Will Estes * NEWS: report the current version info that flex provides 2002-10-18 11:23 Will Estes * flex.skl: FLEX_BETA defined if flex is beta 2002-10-16 09:15 Will Estes * flexint.h: if we're doing c++, then we can't use long long 2002-10-14 11:33 Will Estes * TODO: update TODO on several things 2002-10-11 16:40 Will Estes * flex.texi: more proofreading 2002-10-11 11:26 Will Estes * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, test-c++-multiple-scanners/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, test-debug-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-reject/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-table-opts/Makefile.am, test-yyextra/Makefile.am: remove BISON assignment as per suggestion from Akim Demaille 2002-10-11 11:04 Will Estes * Makefile.am, configure.in: remove intl from dist 2002-10-11 10:33 Will Estes * configure.in: we use maintainer mode now 2002-10-11 10:33 Will Estes * NEWS: include create-test 2002-10-11 10:23 Will Estes * tests/Makefile.am: rename test to check-local as per Akim Demaille; test for failed tests so that make check fails if any tests do 2002-10-11 08:46 Will Estes * tests/Makefile.am: use dist_noinst_scripts as per email from Akim Demaille 2002-10-10 17:42 John Millaway * flex.texi: Documentation. 2002-10-10 15:54 Will Estes * NEWS, configure.in: version 2.5.22; portability fixes and attn to the test suite 2002-10-10 15:36 Will Estes * flexint.h: ok, this seems to work 2002-10-10 15:12 Will Estes * tests/: TEMPLATE/Makefile.am, test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am: use builddir in tests that need it in their include path 2002-10-10 14:13 Will Estes * tests/TEMPLATE/Makefile.am: sometimes we put header files in the builddir and so we should account for that 2002-10-10 14:08 Will Estes * tests/TEMPLATE/Makefile.am: replace the last instance 2002-10-10 13:02 Will Estes * flex.skl: include unistd.h and not cunistd as cunistd only seems to be present on very recent systems 2002-10-10 11:34 Will Estes * Makefile.am, configure.in, flex.skl, flexdef.h, flexint.h: redo integral types again; add flexint.h; change dependencies caused by adding flexint.h; remove autoconf wrapper around cunistd; restore netinet/in.h includes; remove unneded feature checks in configure.in 2002-10-08 11:32 Will Estes * configure.in, flex.skl, flexdef.h: current swipe at header magic; int types be damned 2002-10-08 11:19 Will Estes * NEWS: change version constant info to reflect change to flex.skl 2002-10-08 11:15 Will Estes * Makefile.am: remove README-alpha option; add definitions for FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION 2002-10-07 11:29 Will Estes * flex.skl, flexdef.h: ok, here goes; try to handle integral typedefs in one swell foop 2002-10-07 11:28 Will Estes * configure.in: we check for {u,}int*_t types; maybe this will simplify things 2002-10-07 09:12 Will Estes * configure.in: we create the tests/TEMPLATE/Makefile so that we can build the dist archives 2002-10-07 08:38 Will Estes * NEWS: more test suite cleanups 2002-10-07 08:37 Will Estes * tests/test-c++-multiple-scanners/Makefile.am: we don't use header files... 2002-10-07 08:26 Will Estes * flexdef.h: remove include of malloc.h 2002-10-04 15:33 Will Estes * flex.texi: more editing; remove examples index; merge examples into concept index 2002-10-04 08:36 Will Estes * flex.texi: edited one more faq; used C-u C-c C-u C-a to update menus and nodes since the other updating commands are somewhat broken; unfortunately this means that all nodes have all pointers filled in 2002-10-04 08:19 Will Estes * flex.texi: yesterday's proofreading 2002-10-02 16:07 Will Estes * flex.texi: proofread some more 2002-10-02 08:38 Will Estes * flex.texi: proofread edit begins 2002-10-01 11:10 Will Estes * configure.in, tests/Makefile.am, tests/test-c++-multiple-scanners/.cvsignore, tests/test-c++-multiple-scanners/Makefile.am, tests/test-c++-multiple-scanners/main.cpp, tests/test-c++-multiple-scanners/scanner-1.l, tests/test-c++-multiple-scanners/scanner-2.l, tests/test-c++-multiple-scanners/test.input: test c++ with multiple scanners 2002-09-27 16:58 Will Estes * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, test-debug-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-reject/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-table-opts/Makefile.am, test-yyextra/Makefile.am: we used INCLUDES in another place in the Makefile.am files in the test suite 2002-09-27 16:50 Will Estes * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, test-debug-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-reject/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-table-opts/Makefile.am, test-yyextra/Makefile.am: oops, I typed that last s/// command to perl way wrong 2002-09-27 16:46 Will Estes * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, test-debug-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-reject/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-table-opts/Makefile.am, test-yyextra/Makefile.am: use AM_CPPFLAGS instead of INCLUDES; write -I with no space after it for broken compilers 2002-09-27 16:28 Will Estes * Makefile.am: INCLUDES is obsolete; use AM_CPPFLAGS instead 2002-09-27 13:02 Will Estes * configure.in: apparently, AM_CONFIG_HEADER is obsolete 2002-09-27 12:30 Will Estes * TODO: integrate test suite into automake 2002-09-27 12:18 Will Estes * configure.in: since we dont run the template test, we dont need to generate its Makefile either 2002-09-27 12:17 Will Estes * autogen.sh: use autoreconf instead of calling individual utilities separately 2002-09-27 09:20 Will Estes * configure.in: check for c++ compiler 2002-09-27 09:20 Will Estes * configure.in: re-organize according to suggested layout in autoconf manual 2002-09-26 08:54 Will Estes * Makefile.am, NEWS, configure.in: update automake to 1.7 and autoconf to 2.54 2002-09-26 08:48 Will Estes * Makefile.am: use AM_YFLAGS since YFLAGS is a user variable 2002-09-25 09:40 Will Estes * NEWS: catch NEWS up on things, some of which happened a long time ago; correct punctuation; try to remove some editorializing 2002-09-25 09:39 Will Estes * Makefile.am, flex.skl, flex.texi: include a single, automatically generated version number in flex scanners 2002-09-23 16:39 Will Estes * tests/create-test: complain audibly when argument not supplied; echo on stderr when writing error messages 2002-09-23 12:02 Will Estes * tests/: Makefile.am, create-test: DIST_SUBDIRS so we don't have to run the TEMPLATE test; so we add new tests to SUBDIRS and DIST_SUBDIRS 2002-09-23 11:30 Will Estes * tests/TEMPLATE/Makefile.am: not all compilers support '-I dir' so we write '-Idir' instead 2002-09-23 10:00 Will Estes * TODO: reorganize faq entries; proofread the manual 2002-09-23 09:55 Will Estes * flex.texi: move c++ experimental warning to top of cxx node 2002-09-20 13:17 Will Estes * flex.skl: move stdint.h include to table-serialization section; we'll still need to think about stdint.h more though 2002-09-20 08:30 Will Estes * NEWS: new smarter skeleton/scanner generation 2002-09-19 20:06 John Millaway * flex.skl, misc.c: bison-bridge skel handled via %if/%endif pairs. 2002-09-19 19:57 John Millaway * flex.skl, misc.c: reentrant skel handled via %if/%endif pairs. 2002-09-19 19:20 John Millaway * flex.skl, misc.c: skeleton uses %push/%pop to keep skelout() scope sane. skel commands are omitted unless --debug enabled. 2002-09-19 15:46 John Millaway * flex.skl, main.c, misc.c, tables.h: Added %push and %pop operations to skel processing. 2002-09-17 08:27 Will Estes * NEWS, configure.in: flex 2.5.21 2002-09-17 00:10 John Millaway * tests/test-reject/Makefile.am: minor fixup for dist. 2002-09-16 16:26 Will Estes * NEWS, configure.in: version 2.5.20 2002-09-16 16:25 Will Estes * flex.texi: correct typo 2002-09-16 15:59 Will Estes * NEWS: note the new tables functionality 2002-09-16 14:40 John Millaway * tests/test-multiple-scanners-r/: .cvsignore, Makefile.am: Fixed `clean' target and .cvsignore. 2002-09-16 14:38 John Millaway * TODO, flex.skl, flex.texi, main.c, tables_shared.h, tests/test-multiple-scanners-r/main.c, tests/test-multiple-scanners-r/scanner-1.l, tests/test-multiple-scanners-r/scanner-2.l: Serialization works in headers (%option headers). Serialization code (Tables API) is complete. 2002-09-16 08:41 Will Estes * tests/test-reject/scanner.l: replace yytables_load with yytables_fload as per millaway's other changes 2002-09-15 19:13 John Millaway * TODO, flex.texi: Created user API for tables deserialization. Documented API and --tables-* options in manual. 2002-09-15 19:12 John Millaway * flex.skl, tests/test-table-opts/scanner.l: Tables deserialization uses yyalloc/yyfree. Changed yytables_load to yytables_fload. 2002-09-15 18:09 John Millaway * tests/test-bison-nr/.cvsignore: minor upkeep. 2002-09-15 15:53 John Millaway * flex.texi: Categorized and indexed scanner options in manual. 2002-09-15 12:47 John Millaway * flex.skl: Initialization of reject vars and %array vars in reentrant scanner. 2002-09-13 17:54 John Millaway * TODO, configure.in, dfa.c, flex.skl, flex.texi, gen.c, tables.c, tables_shared.c, tables_shared.h, devel/tables.pl, tests/Makefile.am, tests/test-reject/.cvsignore, tests/test-reject/Makefile.am, tests/test-reject/scanner.l, tests/test-reject/test.input, tests/test-table-opts/Makefile.am: Created test for reject. Handled reject-triggered tables in serialization. 2002-09-13 08:28 Will Estes * NEWS: millaway has been very busy 2002-09-13 03:12 John Millaway * flex.skl, tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l: Added test for multiple tables in one file. 2002-09-12 21:19 John Millaway * tests/test-bison-nr/.cvsignore: forgot to add .cvsignore on last commit. 2002-09-12 21:18 John Millaway * tests/test-bison-nr/: Makefile.am, main.c, parser.y, scanner.l, test.input: Added test-bison-bridge. 2002-09-12 21:17 John Millaway * configure.in, flex.skl, flex.texi, flexdef.h, gen.c, main.c, misc.c, options.c, options.h, scan.l, tables.h, tests/Makefile.am, tests/descriptions, tests/test-bison-yylloc/scanner.l, tests/test-bison-yylval/scanner.l, tests/test-table-opts/scanner.l: Bison bridge code now works for all C scanners and pure/non-pure bison parsers. Added %option bison-bridge (--bison-bridge). Removed %option reentrant-bison/--reentrant-bison/-Rb. Scanner knows the name of its tables. Tables serialization is OK on EOF. yylineno is present in all scanners. Modified nasty performance penalty warning w/ yylineno. test-table-opts is now run last because it's so fat. Updated manual. 2002-09-12 11:48 John Millaway * flex.texi: documentation of tabels api in manual 2002-09-12 10:54 John Millaway * TODO, tables.c: Renamed *_fwrite to *_write to reflect writer abstraction. 2002-09-11 17:55 John Millaway * devel/tables.pl: Added perl script to read/dump serialized tables in devel/ 2002-09-11 17:22 Will Estes * scan.l: the debian patch used strlen(yytext) and similar constructs--as millaway points out, this is better known as yyleng 2002-09-11 16:00 Will Estes * NEWS, po/de.po: new de translation from the translation project 2002-09-11 08:30 John Millaway * flex.skl: yytbl_load now checks tables set by name. Localized var scaope in yytbl_load. 2002-09-10 09:12 Will Estes * tests/Makefile.am: make clean before make test 2002-09-09 18:06 John Millaway * TODO, flex.skl: Fixed deserialization of --fast tables. 2002-09-09 16:44 Will Estes * TODO: fix typo; remove the yylineo entry 2002-09-09 15:25 John Millaway * TODO, buf.c, dfa.c, flex.skl, flexdef.h, gen.c, main.c, misc.c, options.c, options.h, scan.l, tables.c, tables.h, tables_shared.h, devel/dump-tables.pl, tests/test-table-opts/.cvsignore, tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l: Table deserialization works for everything except --fast scanners. Scanners can auto-verify serialized table integrity via --tables-verify. Added tables API items to TODO list. test-table-opts is becoming exhaustive (a good thing). 2002-09-09 11:54 Will Estes * NEWS: flex has better internal diagnostics 2002-09-09 11:52 Will Estes * configure.in, flexdef.h: test for presence of __func__ and compensate if absent 2002-09-09 09:59 Will Estes * Makefile.am: include the intl/ subdirectory when searching for include files 2002-09-09 08:49 Will Estes * NEWS, po/ru.po, po/sv.po: new sv, ru translations from the translation project 2002-09-07 18:40 John Millaway * flex.skl, misc.c: Changed cryptic skeleton markers to readable form. 2002-09-07 00:18 John Millaway * Makefile.am, dfa.c, flex.skl, flex.texi, flexdef.h, gen.c, main.c, misc.c, parse.y, tables.c, tables.h, tables_shared.c, tables_shared.h: Members of struct yy_trans_info are now forced to be the same size. Added shared file tables_shared.c. Separated tables.h from flexdef.h Bulk of table deserialization code is done. 2002-09-06 11:42 Will Estes * NEWS, po/ca.po: new ca translation 2002-09-06 11:24 Will Estes * NEWS: new fr translation 2002-09-06 11:22 Will Estes * po/fr.po: new french translation from the translation project 2002-09-05 14:41 Will Estes * NEWS: c99 function defs by default 2002-09-05 14:22 John Millaway * flexdef.h, tables.c: Added flex_die macro. May need some autoconf massaging. Added thorough error checking in tables code. 2002-09-05 14:21 John Millaway * flex.skl, flex.texi: Flex generates C99 defs now. Documented the above change in manual. 2002-09-05 14:12 John Millaway * tests/test-table-opts/: .cvsignore, Makefile.am: Added serialization test to table-opts test. 2002-09-05 12:03 Will Estes * configure.in: oops, i made a typo 2002-09-05 12:01 Will Estes * NEWS, configure.in: version 2.5.19 2002-09-05 10:08 Will Estes * scan.l: use FLEX_EXIT(), not exit() 2002-09-05 09:53 John Millaway * devel/: 00EXTRACT-ALL-SYMS.sh, README, dump-tables.pl: Added devel/ directory for junk that we don't want in the distribution, but that we want in CVS. 2002-09-05 09:26 Will Estes * scan.l: s/exit(1)/exit(EXIT_FAILURE) 2002-09-05 09:18 John Millaway * dfa.c, gen.c: Tables are now generated with %option tables-file=FILE. 2002-09-05 09:14 Will Estes * NEWS: catch up on a few things 2002-09-05 09:11 Will Estes * scan.l: prevent segfault on input lines which are longer than the allocated space (problem report from Manoj Srivastava ) 2002-09-05 06:54 John Millaway * flex.texi, main.c, options.c, options.h: Changed option 'header' to 'header-file'. 'header' still works, though. 2002-09-05 06:48 John Millaway * flex.texi, flexdef.h, gen.c, main.c, options.c, options.h, scan.l, tables.c: Tons more work on tables. 2002-09-05 00:24 John Millaway * flexdef.h, gen.c, tables.c, tables_shared.h: Lots of work on tables serialization code. 2002-09-04 08:36 Will Estes * README.cvs-snapshot: mention GNU indent 2002-09-04 08:33 Will Estes * NEWS: remove the word after from the version line 2002-09-03 17:02 Will Estes * NEWS, configure.in: version 2.5.18 2002-09-03 09:46 Will Estes * NEWS: catch up on the NEWS 2002-09-03 09:42 Will Estes * tests/Makefile.am: target test: quote the results echoing so that the ECHO_C will work on systems where it is used 2002-09-03 09:08 Will Estes * configure.in: when we don't have GNU indent, the test will generate output on stderr, so we send that to /dev/null 2002-09-03 08:56 Will Estes * configure.in: fixed bug whereby bison was reported missing even when it was found 2002-09-02 14:44 John Millaway * tables.c: In-code documentation. 2002-09-02 14:44 John Millaway * flexdef.h: Forgot to indent before previous commit. 2002-09-02 13:55 John Millaway * flexdef.h: Added known integer limits if undefined. 2002-08-29 17:12 Will Estes * configure.in: version 2.5.17 2002-08-29 17:12 Will Estes * NEWS: more portability fixes; new version number 2002-08-29 16:30 Will Estes * flexdef.h, main.c, misc.c, scanopt.c: #include fixes; we've factored out all the system include files and put them in flexdef.h 2002-08-29 15:02 Will Estes * dfa.c: eat a blank line 2002-08-29 09:21 Will Estes * NEWS: new config.{sub,guess} files; mention that we use indent on flex 2002-08-28 13:12 Will Estes * configure.in: warn if no indent found; version 2.5.16 2002-08-28 13:10 Will Estes * NEWS: catch up on recent changes; version 2.5.16 2002-08-27 14:07 Will Estes * buf.c, ccl.c, dfa.c, ecs.c, flexdef.h, gen.c, libmain.c, libyywrap.c, main.c, misc.c, nfa.c, options.c, options.h, scanopt.c, scanopt.h, sym.c, tables.c, tables_shared.h, tblcmp.c, yylex.c: ran the indent target; commit the results 2002-08-27 14:05 Will Estes * Makefile.am: touch up the indent targeet; it's ready for production use now 2002-08-27 14:01 Will Estes * configure.in: test for GNU indent; reorder the tests somewhat 2002-08-23 10:29 Will Estes * configure.in: automake is smarter about autoconf's versioning scheme 2002-08-23 09:18 Will Estes * NEWS: catch NEWS up on what we've been doing 2002-08-22 13:18 Will Estes * flexdef.h: do some more conditional including for folks without standard systems 2002-08-22 13:15 Will Estes * tests/test-c++-basic/Makefile.am: use CXX to link the test scanner here 2002-08-22 01:35 John Millaway * flex.texi: Documentation. 2002-08-21 21:49 John Millaway * Makefile.am: Created 'indent' target and added .indent.pro. 2002-08-21 21:42 John Millaway * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-c-cpp-nr/Makefile.am: Fixed missing 'make clean' files. 2002-08-21 21:34 John Millaway * tests/: test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am: fixed missing 'clean' file. 2002-08-21 21:11 John Millaway * flex.skl, tests/test-c++-basic/Makefile.am, tests/test-c++-basic/scanner.l: Removed core of yylex_destroy from c++ scanner -- hack! Added -lstdc++ to LDFLAGS (should we have to do this??) 2002-08-21 10:15 Will Estes * README: official releases are being hosted by Vern 2002-08-21 09:42 Will Estes * NEWS, configure.in: new beta version; more entries in NEWS from millaway; the top level entry for test-c++-basic 2002-08-21 09:41 Will Estes * tests/: Makefile.am, test-c++-basic/.cvsignore, test-c++-basic/Makefile.am, test-c++-basic/scanner.l, test-c++-basic/test.input: add test-c++-basic 2002-08-21 02:54 John Millaway * gen.c, nfa.c: More tabels work. 2002-08-20 21:54 John Millaway * flexdef.h, gen.c, tables.c, tables_shared.h: More work on tables. 2002-08-20 19:49 John Millaway * dfa.c: Cleaned up macros that took no ';'. 2002-08-20 19:47 John Millaway * scanopt.c: Fixed oddball '=-'. 2002-08-20 17:42 John Millaway * flex.skl, flex.texi, gen.c: Dynamically allocate REJECT state buffer. Mentioned memory usage in docs. Made REJECT buffer variables reentrant-safe. 2002-08-20 17:37 John Millaway * tables.c: More work on tables code. 2002-08-20 10:52 Will Estes * Makefile.am, NEWS, configure.in: we're using m4 so have configure test for it 2002-08-20 00:23 John Millaway * Makefile.am, tables.c: Added tables.c and rebuilt dependencies. 2002-08-19 20:30 John Millaway * TODO, flex.texi: Dicussed prototypes and header in manual. 2002-08-19 17:56 John Millaway * Makefile.am, configure.in, flex.skl, flexdef.h, tables_shared.h: More work on tables serialization. 2002-08-19 17:15 John Millaway * Makefile.am, mkskel.sh: Skeleton is now passed through m4 (before dist is built). 2002-08-19 08:51 Will Estes * po/: LINGUAS, zh_CN.po: add zh_cn translation from the translation project 2002-08-19 08:51 Will Estes * NEWS: millaway's done a lot of things which need to be mentioned in NEWS 2002-08-18 16:32 John Millaway * main.c: Removed #undef of start conditions. 2002-08-17 18:24 John Millaway * TODO: todo list 2002-08-17 16:04 John Millaway * flexdef.h, main.c, misc.c: Start conditions now optional in header. undef's now optional in header. Start conditions are NOT prefixed. 2002-08-17 13:05 John Millaway * flex.skl, flex.texi: Working on tables API. 2002-08-16 18:32 John Millaway * flexdef.h, main.c, misc.c, options.c, options.h, parse.y, scan.l: Added --tables option. Omitted tables code from generated scanner when unused. 2002-08-16 15:54 John Millaway * flex.skl, flex.texi, misc.c: Prelimary work on tables API. 2002-08-16 15:45 John Millaway * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, test-debug-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-table-opts/Makefile.am, test-yyextra/Makefile.am: Tests now respect CFLAGS, CPPFLAGS, etc.. 2002-08-16 15:03 John Millaway * tests/: test-basic-nr/scanner.l, test-basic-r/scanner.l, test-lineno-nr/scanner.l, test-lineno-r/scanner.l: Got rid of flex -s warnings in tests. 2002-08-16 14:51 John Millaway * Makefile.am: Updated dependencies list. 2002-08-15 17:23 John Millaway * main.c: Fixed seg fault bug in ecs. 2002-08-15 17:18 Will Estes * tests/: test-c-cpp-nr/.cvsignore, test-c-cpp-r/.cvsignore: ignore .cpp files since we generate them instead of .c 2002-08-15 11:37 Will Estes * configure.in: version 2.5.14 2002-08-15 11:37 Will Estes * NEWS: c-as-c++ tests reworked 2002-08-15 11:15 John Millaway * tests/: test-c-cpp-nr/Makefile.am, test-c-cpp-nr/scanner.l, test-c-cpp-r/Makefile.am, test-c-cpp-r/scanner.l: The c++ tests use .cpp instead of .c extensions just to be on the safe side. 2002-08-15 10:50 Will Estes * main.c: conditionally include ; include config.h as well 2002-08-15 10:49 Will Estes * configure.in, flex.skl: only include if we have it 2002-08-15 10:48 Will Estes * NEWS: portability fixes; added missing punctuation; de translation now included 2002-08-15 10:16 Will Estes * po/LINGUAS: we also translate to german 2002-08-15 09:17 Will Estes * Makefile.am: require automake at least 1.6 2002-08-15 08:32 Will Estes * NEWS, configure.in: version 2.5.13 2002-08-14 10:57 Will Estes * flex.texi: reverted away from the @copying as it breaks the info reader 2002-08-13 20:46 John Millaway * flex.texi, flexdef.h, main.c, misc.c: Start condition prefixes attempts to adjust to user preferences. 2002-08-13 17:19 John Millaway * main.c: Include start condition symbols in header. 2002-08-13 15:16 John Millaway * flexdef.h, main.c: Omit user code and tables from generated header file. 2002-08-13 09:14 Will Estes * flex.texi: use @copying construct to display the flex license; move copying and bug reporting to the front of the manual 2002-08-13 09:00 Will Estes * NEWS: printf fix and yylex_init reports errors 2002-08-12 19:15 John Millaway * flex.texi: Updated manual for %option header. 2002-08-12 15:36 John Millaway * flex.skl, flex.texi, gen.c: Fixed type mismatch in printf. yylex_init now reports errors. 2002-08-10 13:22 John Millaway * dfa.c, main.c: Added alignment flag for future use. 2002-08-10 13:17 John Millaway * tests/test-table-opts/: .cvsignore, Makefile.am: Added options to test-table-opts 2002-08-10 12:39 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-c-cpp-nr/Makefile.am, tests/test-table-opts/.cvsignore, tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l, tests/test-table-opts/test.input: Added a test for various DFA table options. 2002-08-09 16:36 Will Estes * flex.texi: more faq editing; corrected mistyped nodenames 2002-08-09 13:41 Will Estes * flex.skl: fix typo which propogates out to generated scanners 2002-08-09 10:42 Will Estes * flex.texi: edited a few more faqs 2002-08-09 10:20 Will Estes * Makefile.am, faq.texi: remove faq.texi as it's included in flex.texi 2002-08-08 17:12 Will Estes * flex.texi: a few more faq edits; remove faq-89 2002-08-08 16:50 Will Estes * flex.texi: cite, not site 2002-08-08 16:46 Will Estes * flex.texi: and get the faq included 2002-08-08 16:29 Will Estes * flex.texi: fix some grammer/typography in the top node and add a detailed menu 2002-08-08 13:10 Will Estes * TODO: we've updated gettext 2002-08-08 13:04 Will Estes * po/.cvsignore: we need to ignore a few more gettext files 2002-08-08 11:22 Will Estes * NEWS, configure.in: version 2.5.12 2002-08-08 10:53 Will Estes * NEWS: mention gettext; document the non-need for bison/flex in the build process 2002-08-08 10:51 Will Estes * Makefile.am, configure.in: include intl in the distribution and in the build process 2002-08-08 10:12 Will Estes * Makefile.am: builddir in help2man call needed @-signs around it 2002-08-08 09:54 Will Estes * po/.cvsignore: we can ignore Makefile.in.in 2002-08-08 09:45 Will Estes * m4/: .cvsignore, Makefile.am: oops, too hasty on deleting this directory, sigh 2002-08-08 09:23 Will Estes * autogen.sh: if autopoint is going to run automatically, it's going to need to be able to update existing files 2002-08-08 09:22 Will Estes * ABOUT-NLS, autogen.sh, configure.in, m4/.cvsignore, m4/Makefile.am, m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4: autopoint now works so let's let it run the gettext show 2002-08-07 13:27 Will Estes * TODO: we need to index the faq entries 2002-08-07 13:26 Will Estes * faq.texi: proofed "Why do flex scanners call fileno if it is not ANSI compatible?" 2002-08-07 13:23 Will Estes * faq.texi: proofed "How do I expand \ escape sequences in C-style quoted strings?" 2002-08-07 13:19 Will Estes * README: changes to README to align with GNU coding standards 2002-08-06 09:05 Will Estes * Makefile.am: help2man should look in builddir for the flex binary 2002-08-02 16:23 John Millaway * flex.skl: Fixed yyunput prototype. 2002-08-01 11:35 Will Estes * NEWS: new fr translation from the translation project 2002-08-01 10:02 Will Estes * po/fr.po: new fr.po translation from the translation project 2002-08-01 10:00 Will Estes * NEWS: yylineno performance hit is fixed 2002-07-31 17:29 John Millaway * TODO, flex.texi: Updated docs on yylineno. 2002-07-31 15:19 Will Estes * TODO: discuss yylineno performance 2002-07-31 13:07 Will Estes * NEWS: forgot to say what the date was that we made the release 2002-07-31 10:52 Will Estes * NEWS, configure.in: version 2.5.11 2002-07-31 10:45 Will Estes * faq.texi: fixed a menu entry and related problems 2002-07-31 10:38 Will Estes * configure.in: someday, maybe we can use autopoint 2002-07-31 09:56 Will Estes * Makefile.am: we need to include texinfo.tex now 2002-07-31 09:55 Will Estes * texinfo.tex: add texinfo.tex 2002-07-30 11:59 Will Estes * faq.texi: fix up some fatal bugs in the texinfo of the faq; begin the clean up; remove trailing and leading white space 2002-07-30 11:53 Will Estes * TODO: faqs need work 2002-07-30 09:03 Will Estes * NEWS, TODO: prototypes get airtime these days 2002-07-28 16:02 John Millaway * flex.skl: Added some comments. 2002-07-28 14:27 John Millaway * flex.skl: Fixed bug where yyless did not consider yylineno. 2002-07-28 01:45 John Millaway * scan.l: Fixed bug I created in previous commit. 2002-07-28 01:38 John Millaway * scan.l: Don't wrap ()s around {NAMEDEFS} at the end of a rule. 2002-07-27 17:37 John Millaway * flex.skl, tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am: Fixed test-c-cpp to actually use the C++ compiler for the test. Fixed the bug that this exposed. 2002-07-27 15:34 John Millaway * ccl.c, flex.skl, flexdef.h, gen.c, main.c, nfa.c, parse.y, scan.l: yylineno check is only performed on rules whose regexs can match a newline. 2002-07-24 20:43 John Millaway * flex.skl, tests/TEMPLATE/scanner.l, tests/test-array-nr/scanner.l, tests/test-array-r/scanner.l, tests/test-basic-nr/scanner.l, tests/test-basic-r/scanner.l, tests/test-bison-yylloc/parser.y, tests/test-c-cpp-nr/scanner.l, tests/test-c-cpp-r/scanner.l, tests/test-debug-nr/scanner.l, tests/test-debug-r/scanner.l, tests/test-include-by-buffer/scanner.l, tests/test-include-by-reentrant/scanner.l, tests/test-lineno-nr/scanner.l, tests/test-lineno-r/scanner.l, tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l, tests/test-posix/scanner.l, tests/test-posixly-correct/scanner.l, tests/test-prefix-nr/scanner.l, tests/test-prefix-r/scanner.l, tests/test-pthread/scanner.l, tests/test-string-nr/scanner.l, tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: All prototypes were rewritten to depend upon the macro YY_TRADITIONAL_FUNC_DEFS, which is defined by default. The generated scanners build cleanly under gcc's traditional strictness and under C++ compilers. 2002-07-24 11:58 Will Estes * NEWS: dist-bzip2 and rename yy_globals and yy_globals_t 2002-07-24 11:57 Will Estes * configure.in: version 2.5.10 2002-07-24 11:57 Will Estes * Makefile.am: add dist-bzip2 to automake_options so we'll start getting tar.bz2 archives 2002-07-23 16:11 John Millaway * flex.skl, flex.texi, tests/test-bison-yylval/scanner.l, tests/test-mem-r/scanner.l, tests/test-multiple-scanners-r/scanner-1.l, tests/test-multiple-scanners-r/scanner-2.l, tests/test-prefix-r/scanner.l, tests/test-pthread/scanner.l, tests/test-yyextra/scanner.l: s/yy_globals_t/yyguts_t/g s/yy_globals/yyscanner/g 2002-07-23 13:55 John Millaway * Makefile.am: typo in tags target 2002-07-22 12:18 John Millaway * Makefile.am: Removed erroneous $(srcdir) from help2man target. 2002-07-22 10:03 Will Estes * NEWS, configure.in: it's version 2.5.9 now 2002-07-22 09:56 Will Estes * po/.cvsignore: updated gettext to 0.11.3 2002-07-22 09:49 Will Estes * ABOUT-NLS, config.rpath, m4/gettext.m4, m4/iconv.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-link.m4: updated gettext to version 0.11.3 2002-07-22 09:29 Will Estes * autogen.sh, configure.in: rollback on configure.in and autogen.sh because autpoint is broken 2002-07-22 09:15 Will Estes * po/ru.po: new russian translation from translation project 2002-07-19 17:09 Will Estes * autogen.sh: ok, we're going to start using autopoint, but the tree is going to undergo some changes after this 2002-07-19 17:06 Will Estes * configure.in: we're preparing for autopoint 2002-07-17 11:57 John Millaway * flex.texi: Updated manual. 2002-07-17 08:53 Will Estes * NEWS: update the NEWS file for lots of things millaway has done 2002-07-17 02:46 John Millaway * flex.skl, main.c, misc.c, scan.l, scanopt.c, sym.c, tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Fixed prototype/definition conflicts with "traditional" C in skeleton at request of gcc developer. Removed duplicate prototypes in gen.c, sym.c, main.c. Added missing prototypes where needed. All functions in skeleton follow ISO C style protos and defs, instead of BOTH ISO and new-style. Skeleton now compiles cleanly under super-strict gcc flags. Flex itself almost compiles cleanly under strict flags. 2002-07-15 14:59 John Millaway * faq.texi, flex.texi: Worked on mem mgmt sect of manual. 2002-07-15 12:55 Will Estes * scan.l: allow blank lines and continuations in more places 2002-07-12 13:43 Will Estes * TODO: millaway finished the faqs directory 2002-07-12 13:39 Will Estes * TODO: removed items as per email from millaway 2002-07-12 12:23 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-posix/.cvsignore, tests/test-posix/Makefile.am, tests/test-posix/scanner.l, tests/test-posixly-correct/.cvsignore, tests/test-posixly-correct/Makefile.am, tests/test-posixly-correct/scanner.l: Added test for %option posix-compat and repeat operator. Added test for POSIXLY_CORRECT environment variable and repeat operator. 2002-07-12 12:21 John Millaway * main.c, scan.l: Fixed POSIXLY_CORRECT detection in scanner. 2002-07-11 16:27 John Millaway * faq.texi: More work on faq. 2002-07-11 16:06 John Millaway * faq.texi: Moved all faqs into manual -- but did not evaluate them yet. Removed the old faq files. 2002-07-10 17:59 John Millaway * main.c: Removed duplicate definition of FLEX_DEBUG. gcc doesn't care, but other compilers might. 2002-07-10 17:55 John Millaway * flex.texi: Wrote some more about memory mgmt in the manual. 2002-07-10 11:43 John Millaway * flex.texi: flex.texi now works with install-info. 2002-07-10 10:02 Will Estes * TODO: added items as per email from millaway 2002-07-10 10:02 Will Estes * NEWS: after we release a version, we have to keep the version number in NEWS current 2002-07-09 20:04 John Millaway * flex.skl, flex.texi, main.c, scan.l, tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Fixed prefix issue with get/set debug functions. Fixed prefix issues with memory functions. 2002-07-09 19:35 John Millaway * flex.skl: Memory functions are no longer static. 2002-07-09 19:02 John Millaway * tests/test-mem-nr/test.input: Added a missing input file for test-mem-nr/ 2002-07-09 18:47 John Millaway * tests/: test-mem-nr/.cvsignore, test-mem-nr/Makefile.am, test-mem-nr/scanner.l, test-mem-r/.cvsignore, test-mem-r/Makefile.am, test-mem-r/scanner.l, test-mem-r/test.input: Added tests for overriding memory. 2002-07-09 18:45 John Millaway * flex.texi: Added sections in manual for memory management. 2002-07-09 17:36 Will Estes * NEWS: noted more user visible changes 2002-07-09 16:52 John Millaway * configure.in, flex.skl, scan.l, tests/Makefile.am: Added yylex_destroy() to non-reentrant scanner. Added ability to override memory functions. Added tests for overriding memory functions. 2002-07-09 14:41 Will Estes * NEWS: new POSIXLY_CORRECT and new ru translation 2002-07-09 14:40 Will Estes * po/ru.po: new ru translation from the translation project 2002-07-09 14:25 John Millaway * flex.texi: Made note of set/get debug in docs. 2002-07-09 14:11 John Millaway * configure.in, flexdef.h, tests/create-test: Replaced obsolete macros in configure.in. Modified create-test to handle the above changes in configure.in. Added support for . 2002-07-09 13:27 John Millaway * main.c: Check POSIXLY_CORRECT env variable. 2002-07-09 12:43 John Millaway * flex.skl: Added prototypes for the get/set debug functions. 2002-07-09 12:37 John Millaway * configure.in, flex.skl, gen.c, main.c, scan.l, tests/Makefile.am, tests/test-debug-nr/.cvsignore, tests/test-debug-nr/Makefile.am, tests/test-debug-nr/scanner.l, tests/test-debug-nr/test.input, tests/test-debug-r/.cvsignore, tests/test-debug-r/Makefile.am, tests/test-debug-r/scanner.l, tests/test-debug-r/test.input: Made yy_flex_debug non-global in reentrant scanner. Created get/set functions for yy_flex_debug. Defined prefixes for new yy_flex_debug symbols. Added tests/ for yy_flex_debug. 2002-07-09 12:31 John Millaway * tests/create-test: create-test script now modifies .cvsignore 2002-07-09 12:22 John Millaway * tests/create-test: Improved the error checking. 2002-07-03 09:12 Will Estes * main.c: fix bug whereby prefix didn't get passed to everybody; patch by rse@engelschall.com 2002-07-03 08:47 Will Estes * faq.texi: ~ is an active character, so we'll just use the word 'about' 2002-07-02 18:59 John Millaway * Makefile.am: Fixed typo. 2002-07-02 15:47 John Millaway * faq.texi: Added a faq. 2002-06-28 19:05 John Millaway * Makefile.am: Added 'tags' target -- something I should have done long ago. 2002-06-28 12:18 Will Estes * TODO: add two new items regarding coding; remove tests/ copyright notice item as it's done 2002-06-26 08:33 Will Estes * NEWS: note the copyright messages in tests/ 2002-06-25 15:37 John Millaway * tests/: TEMPLATE/Makefile.am, TEMPLATE/parser.y, TEMPLATE/scanner.l, test-array-nr/Makefile.am, test-array-nr/scanner.l, test-array-r/Makefile.am, test-array-r/scanner.l, test-basic-nr/Makefile.am, test-basic-nr/scanner.l, test-basic-r/Makefile.am, test-basic-r/scanner.l, test-bison-yylloc/Makefile.am, test-bison-yylloc/main.c, test-bison-yylloc/parser.y, test-bison-yylloc/scanner.l, test-bison-yylval/Makefile.am, test-bison-yylval/main.c, test-bison-yylval/parser.y, test-bison-yylval/scanner.l, test-c-cpp-nr/Makefile.am, test-c-cpp-nr/scanner.l, test-c-cpp-r/Makefile.am, test-c-cpp-r/scanner.l, test-header-nr/Makefile.am, test-header-nr/main.c, test-header-nr/scanner.l, test-header-r/Makefile.am, test-header-r/main.c, test-header-r/scanner.l, test-include-by-buffer/Makefile.am, test-include-by-buffer/scanner.l, test-include-by-reentrant/Makefile.am, test-include-by-reentrant/scanner.l, test-lineno-nr/Makefile.am, test-lineno-nr/scanner.l, test-lineno-r/Makefile.am, test-lineno-r/scanner.l, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-nr/main.c, test-multiple-scanners-nr/scanner-1.l, test-multiple-scanners-nr/scanner-2.l, test-multiple-scanners-r/Makefile.am, test-multiple-scanners-r/main.c, test-multiple-scanners-r/scanner-1.l, test-multiple-scanners-r/scanner-2.l, test-prefix-nr/Makefile.am, test-prefix-nr/scanner.l, test-prefix-r/Makefile.am, test-prefix-r/scanner.l, test-pthread/Makefile.am, test-pthread/scanner.l, test-string-nr/Makefile.am, test-string-nr/scanner.l, test-string-r/Makefile.am, test-string-r/scanner.l, test-yyextra/Makefile.am, test-yyextra/scanner.l: Prepended explicit license to all test-*/ sources. 2002-06-25 08:56 Will Estes * NEWS, po/ca.po, po/de.po, po/fr.po, po/sv.po, po/tr.po: new ca, de, fr, sv, tr translations 2002-06-19 09:40 Will Estes * TODO: add bootstrapper to the todo list 2002-06-19 09:38 Will Estes * configure.in: new version number 2002-06-19 09:38 Will Estes * TODO: update TODO list 2002-06-19 09:26 Will Estes * NEWS, TODO, flex.texi, flexdef.h, main.c, options.c, options.h, parse.y, scan.l: address typos in NEWS; add --posix option for ERE parsing the way posix wants it; update the TODO file 2002-05-31 13:18 Will Estes * README-alpha: made code quality warning more explicit; gave url for cvs and beta flex 2002-05-23 11:53 John Millaway * gen.c: Fixed bug where omission of user section 3 caused unmatched #ifdef's in generated code. 2002-05-20 08:39 Will Estes * configure.in: configure.in requires at least autoconf 2.50 2002-05-13 14:45 John Millaway * Makefile.am: Updated my email address. 2002-05-10 15:33 John Millaway * flexdef.h, misc.c: chomp'd lines when reading external skel file. 2002-05-07 11:00 Will Estes * po/sv.po: new sweedish translation from the translation project 2002-04-29 11:37 Will Estes * po/ca.po: new catalan translation from the translation project 2002-04-29 11:37 Will Estes * po/es.po: new spanish translation from the translation project 2002-04-25 17:54 Will Estes * TODO: note that the lex matching of abc{1,3} is the posix behavior and so we have a problem 2002-04-25 17:53 Will Estes * flex.texi: note that the lex matching of abc{1,3} is the posix behavior 2002-04-23 07:02 Will Estes * configure.in: new version 2.5.7; use autoconf versioning info 2002-04-23 07:01 Will Estes * NEWS: note changes in 2.5.7 2002-04-23 06:23 Will Estes * main.c: conditional compile gettext initialization 2002-04-22 13:28 Will Estes * po/de.po: new german translation from the translation project 2002-04-19 18:40 John Millaway * tests/test-include-by-reentrant/Makefile.am: Fixed command line for test-include-by-reentrant/Makefile.am 2002-04-19 18:30 John Millaway * tests/: Makefile.am, TEMPLATE/Makefile.am, test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-yyextra/Makefile.am: Added -I . to compiler search path in tests (so it finds the generated parser.h). 2002-04-19 18:20 John Millaway * flexdef.h, misc.c, parse.y, sym.c: Applied 'const' to a few more char*, where appropriate. 2002-04-19 17:54 John Millaway * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-prefix-nr/Makefile.am, test-prefix-r/Makefile.am, test-pthread/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-yyextra/Makefile.am: Added top_builddir to -I path. Changed $(srcdir)/$(testname) to ./$(testname) in 'make test' rule. 2002-04-19 17:53 John Millaway * flexdef.h, gen.c, misc.c: Changed 'char[]' to 'const char*' wherever in conflicted with gettext. 2002-04-19 10:35 Will Estes * po/: fr.po, sv.po: new files from translation after 2.5.6 beta release 2002-04-18 19:01 John Millaway * tests/test-lineno-r/Makefile.am: Fixed minor typo/cut and paste error. 2002-04-18 18:07 John Millaway * configure.in: Added yylineno test. 2002-04-18 18:06 John Millaway * tests/Makefile.am: Added yylineno tests. 2002-04-18 18:06 John Millaway * tests/: test-lineno-nr/.cvsignore, test-lineno-nr/Makefile.am, test-lineno-nr/scanner.l, test-lineno-nr/test.input, test-lineno-r/.cvsignore, test-lineno-r/Makefile.am, test-lineno-r/scanner.l, test-lineno-r/test.input: Created yylineno tests. 2002-04-15 16:49 John Millaway * scanopt.c: Applied gettext macros to error messages from scanopt. 2002-04-15 16:46 John Millaway * buf.c, faq.texi, options.c, options.h, scanopt.c, scanopt.h: Changed copyright from Millaway to flex? U.S. Gov't? Regents of U. Cali.? Paxson? 2002-04-15 10:44 Will Estes * tests/: test-bison-yylloc/Makefile.am, test-header-nr/Makefile.am, test-header-r/Makefile.am: we missed a few main.c files in the distribution 2002-04-15 08:05 Will Estes * TODO: a lot more work has happened to flex; note this by removing a number of TODO entries 2002-04-15 07:59 Will Estes * TODO: make sure all gettext modules use gettext translation facilities 2002-04-14 15:53 John Millaway * faq.texi: Converted faqs 34-41 to texinfo. 2002-04-14 14:42 John Millaway * Makefile.am, faq.texi, flex.texi: Added faq.texi to archive. Added faq.texi to flex_TEXINFOS macro in Makefile.am. flex.texi now includes faq.texi. 2002-04-13 00:16 John Millaway * flexdef.h: defined FLEX_EXIT macro to call longjmp on errors. 2002-04-13 00:08 John Millaway * main.c, misc.c: Replaced exit(2) calls with longjmps (in the form of FLEX_EXIT macro). Moved main() to flex_main() to allow flex to be called from a library. 2002-04-13 00:06 John Millaway * scanopt.c: Fixed minor typo in error message 2002-04-12 12:23 Will Estes * tests/: test-header-nr/Makefile.am, test-header-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, test-multiple-scanners-r/Makefile.am, test-pthread/Makefile.am, test-string-nr/Makefile.am, test-string-r/Makefile.am, test-yyextra/Makefile.am: removed eroneous files listed in EXTRA_DIST 2002-04-12 12:09 Will Estes * tests/test-yyextra/.cvsignore: ignore Makefile.in 2002-04-12 12:09 Will Estes * tests/test-string-r/.cvsignore: it's Makefile.in, not makefile.in 2002-04-12 12:02 Will Estes * tests/test-yyextra/: Makefile.am, Makefile.in: put test-yyextra under automake 2002-04-12 11:52 Will Estes * tests/test-string-r/: Makefile.am, Makefile.in: put test-string-r under automake 2002-04-12 11:50 Will Estes * tests/: test-string-nr/.cvsignore, test-string-r/.cvsignore: we can ignore Makefile.in 2002-04-12 11:49 Will Estes * tests/test-string-nr/: Makefile.am, Makefile.in: put test-string-nr under automake 2002-04-12 11:40 Will Estes * tests/test-pthread/.cvsignore: ignore Makefile.in 2002-04-12 11:37 Will Estes * tests/test-pthread/: Makefile.am, Makefile.in: put test-pthread under automake 2002-04-12 11:24 Will Estes * tests/test-prefix-r/.cvsignore: we can ignore Makefile.in 2002-04-12 11:23 Will Estes * tests/test-prefix-r/: Makefile.am, Makefile.in: put test-prefix-r under automake 2002-04-12 11:20 Will Estes * tests/test-prefix-nr/.cvsignore: we can ignore Makefile.in 2002-04-12 11:19 Will Estes * tests/test-prefix-nr/: Makefile.am, Makefile.in: put test-prefix-nr under automake 2002-04-12 08:03 Will Estes * tests/test-multiple-scanners-r/.cvsignore: we can ignore Makefile.in now 2002-04-12 08:02 Will Estes * tests/test-multiple-scanners-r/: Makefile.am, Makefile.in: put test-multiple-scanners-r under automake 2002-04-12 07:59 Will Estes * tests/test-multiple-scanners-nr/.cvsignore: we can ignore Makefile.in now 2002-04-12 07:59 Will Estes * tests/test-multiple-scanners-nr/: Makefile.am, Makefile.in: put test-multiple-scanners-nr under automake 2002-04-11 07:44 Will Estes * tests/: test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am: we didn't need parser.y 2002-04-11 07:43 Will Estes * TODO: work done on the test suite; remove relevant entries from TODO 2002-04-10 13:06 Will Estes * tests/test-include-by-reentrant/: .cvsignore, Makefile.am, Makefile.in: put test-include-by-reentrant under automake 2002-04-09 09:52 Will Estes * tests/test-include-by-buffer/.cvsignore: we have a Makefile.in which we need to ignore 2002-04-09 09:33 Will Estes * tests/test-include-by-buffer/: Makefile.am, Makefile.in: test-include-by-buffer now under automake control 2002-04-09 09:32 Will Estes * tests/TEMPLATE/Makefile.am: and we want LFLAGS in the rule to make scanner.c as well 2002-04-09 09:13 Will Estes * tests/test-header-r/: .cvsignore, Makefile.am, Makefile.in: put test-header-r under automake 2002-04-09 09:12 Will Estes * tests/test-header-nr/.cvsignore: we now generate a Makefile.in from automake; cvs should ignore it 2002-04-09 09:12 Will Estes * tests/test-header-nr/Makefile.am: add dependencies for main.o and scaner.h 2002-04-09 09:11 Will Estes * tests/TEMPLATE/Makefile.am: We may want to have LFLAGS readily available 2002-04-09 08:48 Will Estes * tests/test-header-nr/: Makefile.am, Makefile.in: put test-header-nr under automake 2002-04-09 08:47 Will Estes * tests/TEMPLATE/Makefile.am: oops, we need to clean objects too 2002-04-09 08:35 Will Estes * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, test-array-r/Makefile.am, test-basic-nr/Makefile.am, test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am: now that config.h lives in the top-level directory, we need to tell the testsuite 2002-04-08 11:06 Will Estes * tests/: test-array-nr/.cvsignore, test-array-r/.cvsignore, test-basic-nr/.cvsignore, test-basic-r/.cvsignore, test-bison-yylval/.cvsignore, test-c-cpp-nr/.cvsignore, test-c-cpp-r/.cvsignore: we can ignore some Makefile.in 2002-04-08 11:00 Will Estes * configure.in, tests/TEMPLATE/Makefile.am: only one config file header apparently; this will have consequences in the test suite 2002-04-08 10:36 Will Estes * tests/test-bison-yylval/: Makefile.am, Makefile.in: adding automake support 2002-04-08 10:26 Will Estes * tests/test-bison-yylloc/: .cvsignore, Makefile.am: tuned Makefile.am to build correctly; ignore Makefile.in now 2002-04-08 09:22 Will Estes * tests/configure.in: test suite changes 2002-04-08 09:16 Will Estes * tests/: TEMPLATE/.cvsignore, TEMPLATE/Makefile.am, TEMPLATE/Makefile.in, test-array-nr/Makefile.am, test-array-nr/Makefile.in, test-array-r/Makefile.am, test-array-r/Makefile.in, test-basic-nr/Makefile.am, test-basic-nr/Makefile.in, test-basic-r/Makefile.am, test-basic-r/Makefile.in, test-bison-yylloc/Makefile.am, test-bison-yylloc/Makefile.in, test-c-cpp-nr/Makefile.am, test-c-cpp-nr/Makefile.in, test-c-cpp-r/Makefile.am, test-c-cpp-r/Makefile.in: test suite changes 2002-04-08 09:13 Will Estes * autogen.sh, configure.in, tests/.cvsignore, tests/Makefile.am, tests/Makefile.in, tests/README, tests/configure.in, tests/create-test, tests/create-test.pl: test suite changes 2002-04-05 14:18 John Millaway * flex.texi: Corrected error in manual regarding return type for yy_scan_{string,buffer,bytes}. 2002-04-05 08:25 Will Estes * po/de.po: new german translations from the translation project 2002-04-03 13:13 Will Estes * po/es.po: new spanish translations 2002-04-01 11:47 Will Estes * Makefile.am: DIST_SUBDIRS: new variable. we can build flex with SUBDIRS and then build the distribution using DIST_SUBDIRS 2002-04-01 08:03 Will Estes * main.c: fix typo in comment 2002-03-31 12:17 John Millaway * main.c: Documented the header file kludge, (in anticipation of buffering Section 1.) 2002-03-30 22:26 John Millaway * flex.texi: Created appendix "Makefiles and Flex" in the manual. 2002-03-29 19:12 John Millaway * flex.texi: updating manual. 2002-03-29 17:32 Will Estes * po/POTFILES.in: we want parse.y, not parse.c 2002-03-29 16:37 John Millaway * flex.texi: Indexing the manual (75% done). 2002-03-29 16:08 Will Estes * Makefile.am: unlisted intermediate flex/yacc-created files 2002-03-29 15:59 Will Estes * TODO: millaway has done more work 2002-03-29 15:03 Will Estes * Makefile.am, configure.in: ok, one last touch up; users most likely wont have help2man so we need to insure that's ok 2002-03-29 14:55 Will Estes * Makefile.am: fine tune flex.1 some more 2002-03-29 14:36 Will Estes * Makefile.am, configure.in: generalize the manpage a bit and tell autofoo about help2man 2002-03-29 12:18 Will Estes * po/da.po: new danish from translation project robot 2002-03-28 16:02 John Millaway * flex.texi: Indexing the manual -- it's only half done. 2002-03-28 15:57 John Millaway * flex.texi: flex manual now uses automake's versioning info. 2002-03-28 14:55 John Millaway * README.cvs-snapshot: Mentioned requirements for gettext and help2man. 2002-03-28 14:52 John Millaway * Makefile.am, main.c: Output of `flex --version` now matches GNU coding standards. Makefile.am now uses `help2man` to generate flex.1 2002-03-27 08:58 Will Estes * TODO: millaway has done a lot on the TODO list; remove those items that he has take care of 2002-03-27 08:45 Will Estes * README.cvs-snapshot: edited millaway's initial draft 2002-03-26 20:09 John Millaway * README.cvs-snapshot: Created file. 2002-03-26 19:28 John Millaway * flex.texi: Fixed case of node names in flex.texi. 2002-03-24 16:08 Will Estes * TODO: lex- and yacc- generated files 2002-03-24 14:25 Will Estes * po/fr.po: new french 2002-03-18 08:27 Will Estes * NEWS: ending periods in news items removed; mention nounistd options 2002-03-18 08:00 Will Estes * po/sv.po: updated sweedish translations 2002-03-18 08:00 Will Estes * po/de.po: german translation 2002-03-18 02:50 John Millaway * flex.skl, flex.texi, main.c, options.c, options.h, scan.l: Removed CFront 1.2 -specific code from skeleton, because CFront now defines __cplusplus properly. Removed TurboC-specific code from skeleton. Skeleton now includes proper C++ standard headers. Relocated "unistd.h" code after user section 1 to allow user to overrid it. New option "nounistd" to suppress unistd.h from being included. 2002-03-15 11:29 Will Estes * po/tr.po: new turkish translation 2002-03-15 10:33 Will Estes * NEWS: mention included translations 2002-03-15 10:32 Will Estes * TODO: we've done the gettext thing, but sometime we should get 0.11.1 2002-03-15 10:30 Will Estes * po/ca.po: new catalan translation 2002-03-14 18:23 John Millaway * flex.texi: Added section on format of comments. 2002-03-14 17:18 John Millaway * flex.texi: Split format chapter into sections. 2002-03-14 16:51 John Millaway * flex.texi: Removed explicit pointers in node definitions. 2002-03-14 16:31 Will Estes * configure.in: unistd.h can be problematic 2002-03-14 09:11 Will Estes * tests/README: editing changes to README 2002-03-13 15:50 Will Estes * po/POTFILES.in: scan.l, not scan.c because gettext gets confused 2002-03-13 12:36 Will Estes * scan.l: gettext cruft 2002-03-13 10:57 Will Estes * tests/descriptions: separate out test descriptions 2002-03-13 09:34 Will Estes * po/LINGUAS: french and korean dont crash now 2002-03-12 16:40 Will Estes * po/: fr.po, ko.po: remove duplicate messages as per advice from Jordi Mallach 2002-03-12 14:21 Will Estes * gettext.h: yes, more gettext cruft 2002-03-12 14:12 Will Estes * m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4, ABOUT-NLS, config.rpath: this is gettext cruft 2002-03-12 13:58 Will Estes * NEWS: gettext and autofoo are now involved 2002-03-12 13:29 Will Estes * Makefile.am, autogen.sh, configure.in, flexdef.h, main.c: mostly, changes for gettext 2002-03-12 13:29 Will Estes * po/: ca.po, da.po, es.po, ru.po, sv.po, tr.po: these sure change a lot 2002-03-12 13:28 Will Estes * TODO: note about cvs documentation 2002-03-12 13:02 Will Estes * po/LINGUAS: we now have turkish 2002-03-12 13:01 Will Estes * po/tr.po: updated translations, i think 2002-03-12 12:42 Will Estes * po/: ca.po, da.po, es.po, fr.po, ko.po, ru.po, sv.po, tr.po: ok, maybe we do keep these things? 2002-03-12 12:26 Will Estes * README-alpha: README-alpha for those bad-hair days 2002-03-12 12:18 Will Estes * m4/: .cvsignore, Makefile.am: ok,now we kinda have a m4/ subdir for gettext 2002-03-12 12:13 Will Estes * po/: .cvsignore, LINGUAS, Makevars, POTFILES.in, da.po, es.po, fr.po, ko.po, ru.po, sv.po: now, we have a po/ subdirectory for gettext. i hope you're happy 2002-03-12 12:06 Will Estes * po/ca.po: removing po files, maybe 2002-03-12 12:01 Will Estes * tests/.cvsignore: ignore autom4te.cache 2002-03-11 09:27 Will Estes * po/: ca.po, da.po, es.po, fr.po, ko.po, ru.po, sv.po: po files from debian 2002-03-08 10:00 Will Estes * TODO: add several notes about tasks which need doing; create a new top-level entry for generic coding concerns (this is distinct from specific API or other such issues) 2002-03-06 16:15 Will Estes * README: eliminate to.do and faqs from the README file 2002-03-06 16:13 Will Estes * TODO: more notes on tests/ 2002-03-06 11:32 Will Estes * Makefile.am: remove subdirectories from EXTRA_DIST; add a SUBDIRS macro to handle examples/; clean up the dist-hook target 2002-03-06 11:32 Will Estes * configure.in: we want to generate Makefiles in some more subdirectories; automake will like this 2002-03-06 11:26 Will Estes * TODO: notes on subdirectories 2002-03-05 09:49 Will Estes * examples/: .cvsignore, Makefile.am: now examples/ fits into automake 2002-03-05 09:48 Will Estes * examples/fastwc/: .cvsignore, Makefile.am: examples/fastwc now fits into automake 2002-03-05 09:47 Will Estes * examples/manual/: .cvsignore, Makefile.am, Makefile.examples, README: examples/manual directory now fits into automake 2002-03-05 09:45 Will Estes * examples/manual/Makefile: renamed Makefile to Makefile.examples for automake's sake 2002-03-04 10:58 Will Estes * Makefile.am: add parse.c and scan.c to built_sources 2002-02-24 17:19 John Millaway * Makefile.am: Removed CVS-specific code from 'dist-hook' target so anybody with a copy of the tree can build a dist. 2002-02-22 17:50 John Millaway * tests/Makefile.in: Converted test script to portable /bin/sh. 2002-02-22 17:47 John Millaway * tests/test-bison-yylloc/Makefile.in: Added some spaces in shell scripts for portability. 2002-02-22 16:59 John Millaway * tests/create-test.pl: Fixed #! line for portability. 2002-02-22 16:58 John Millaway * tests/test-bison-yylloc/Makefile.in: Fixed return status code on bison-lloc test. 2002-02-21 00:40 John Millaway * tests/create-test.pl: Added script to auto-create tests. Probably overkill. 2002-02-21 00:16 John Millaway * flex.skl: Fixed C++ #ifdef problem. Removed mistyped __CPLUSPLUS macro. Removed THROW_NIL. Not sure where it came from in the first place. 2002-02-21 00:12 John Millaway * tests/: README, configure.in, TEMPLATE/Makefile.in, test-c-cpp-nr/.cvsignore, test-c-cpp-nr/Makefile.in, test-c-cpp-nr/scanner.l, test-c-cpp-nr/test.input, test-c-cpp-r/.cvsignore, test-c-cpp-r/Makefile.in, test-c-cpp-r/scanner.l, test-c-cpp-r/test.input: Added test-c-cpp-nr and test-c-cpp-r. 2002-02-16 15:26 John Millaway * flex.skl: Added missing #endif. 2002-02-07 10:19 Will Estes * tests/: TEMPLATE/.cvsignore, test-array-nr/.cvsignore, test-array-r/.cvsignore, test-basic-nr/.cvsignore, test-basic-r/.cvsignore, test-bison-yylloc/.cvsignore, test-bison-yylval/.cvsignore, test-header-nr/.cvsignore, test-header-r/.cvsignore, test-include-by-buffer/.cvsignore, test-include-by-reentrant/.cvsignore, test-multiple-scanners-nr/.cvsignore, test-multiple-scanners-r/.cvsignore, test-prefix-nr/.cvsignore, test-prefix-r/.cvsignore, test-pthread/.cvsignore, test-string-nr/.cvsignore, test-string-r/.cvsignore, test-yyextra/.cvsignore: add OUTPUT to .cvsignore files in test directories; it's also in the template directory 2002-02-06 18:30 Will Estes * gen.c: fix interrupted reads and freads; from the debian package maintainer 2002-02-06 16:41 Will Estes * flex.texi, flexdef.h, main.c, nfa.c: support large flex tables; from debian package maintainer 2002-01-29 08:48 Will Estes * tests/configure.in: add more output files to account for new tests 2002-01-03 15:19 Will Estes * tests/test-array-nr/: .cvsignore, Makefile.in, scanner.l, test.input: add this test 2002-01-03 15:17 Will Estes * tests/test-array-r/: .cvsignore, Makefile.in, scanner.l, test.input: add this test suite 2001-11-20 14:58 Will Estes * flex.skl, main.c: millaway: Fixed yytext_ptr when using %array in reentrant scanner 2001-11-20 14:48 Will Estes * buf.c: oops, forgot this one line 2001-11-19 01:39 John Millaway * tests/: test-array-nr/.cvsignore, test-array-r/.cvsignore: file .cvsignore was initially added on branch flex-2-5-6-branch. 2001-11-19 01:39 John Millaway * tests/: test-array-nr/Makefile.in, test-array-r/Makefile.in: file Makefile.in was initially added on branch flex-2-5-6-branch. 2001-11-19 01:39 John Millaway * tests/: test-array-nr/scanner.l, test-array-r/scanner.l: file scanner.l was initially added on branch flex-2-5-6-branch. 2001-11-19 01:39 John Millaway * tests/: test-array-nr/test.input, test-array-r/test.input: file test.input was initially added on branch flex-2-5-6-branch. 2001-11-14 18:09 Will Estes * tests/test-header-r/: .cvsignore, Makefile.in, main.c, scanner.l, test.input: and more fallout 2001-11-14 16:13 Will Estes * TODO, flex.skl, flex.texi, flexdef.h, main.c, misc.c, tests/README, tests/configure.in, tests/TEMPLATE/Makefile.in, tests/test-basic-r/scanner.l, tests/test-bison-yylloc/.cvsignore, tests/test-bison-yylloc/Makefile.in, tests/test-bison-yylloc/parser.y, tests/test-bison-yylloc/scanner.l, tests/test-bison-yylval/.cvsignore, tests/test-bison-yylval/Makefile.in, tests/test-bison-yylval/parser.y, tests/test-bison-yylval/scanner.l, tests/test-include-by-reentrant/scanner.l, tests/test-prefix-r/scanner.l, tests/test-pthread/scanner.l, tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: more from the same batch 2001-11-14 16:12 Will Estes * tests/: test-bison-yylloc/main.c, test-bison-yylval/main.c, test-header-nr/.cvsignore, test-header-nr/Makefile.in, test-header-nr/main.c, test-header-nr/scanner.l, test-header-nr/test.input, test-multiple-scanners-nr/.cvsignore, test-multiple-scanners-nr/Makefile.in, test-multiple-scanners-nr/main.c, test-multiple-scanners-nr/scanner-1.l, test-multiple-scanners-nr/scanner-2.l, test-multiple-scanners-r/.cvsignore, test-multiple-scanners-r/Makefile.in, test-multiple-scanners-r/main.c, test-multiple-scanners-r/scanner-1.l, test-multiple-scanners-r/scanner-2.l: a big batch from millaway 2001-10-28 01:49 John Millaway * tests/: test-bison-yylloc/main.c, test-bison-yylval/main.c: file main.c was initially added on branch flex-2-5-6-branch. 2001-10-26 23:59 John Millaway * tests/: test-multiple-scanners-nr/.cvsignore, test-multiple-scanners-r/.cvsignore: file .cvsignore was initially added on branch flex-2-5-6-branch. 2001-10-26 23:59 John Millaway * tests/: test-multiple-scanners-nr/Makefile.in, test-multiple-scanners-r/Makefile.in: file Makefile.in was initially added on branch flex-2-5-6-branch. 2001-10-26 23:59 John Millaway * tests/: test-multiple-scanners-nr/main.c, test-multiple-scanners-r/main.c: file main.c was initially added on branch flex-2-5-6-branch. 2001-10-26 23:59 John Millaway * tests/: test-multiple-scanners-nr/scanner-1.l, test-multiple-scanners-r/scanner-1.l: file scanner-1.l was initially added on branch flex-2-5-6-branch. 2001-10-26 23:59 John Millaway * tests/: test-multiple-scanners-nr/scanner-2.l, test-multiple-scanners-r/scanner-2.l: file scanner-2.l was initially added on branch flex-2-5-6-branch. 2001-10-26 10:30 Will Estes * NEWS: now NEWS has forgotten about the _r variables 2001-10-26 08:59 Will Estes * flex.skl, flex.texi, gen.c, main.c, tests/test-bison-yylloc/scanner.l, tests/test-bison-yylval/scanner.l, tests/test-include-by-reentrant/scanner.l, tests/test-prefix-nr/scanner.l, tests/test-pthread/scanner.l, tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: millaway simplified the reentrant api; here's the result 2001-10-23 17:07 Will Estes * main.c, options.c, options.h: more from millaway 2001-10-22 10:37 Will Estes * main.c, options.c, options.h: the last checkin was broken; millaway fixed it 2001-10-22 09:42 Will Estes * flex.texi, flex.skl, gen.c, main.c, misc.c, options.h, scan.l, scanopt.c, tests/README, tests/configure.in: phew, millaway's latest batch 2001-10-21 13:24 Will Estes * flex.skl: flex.skl should come up in C mode 2001-10-21 13:23 Will Estes * flex.skl: apparently, isatty and c++ need help getting along (from octave) 2001-10-19 18:56 John Millaway * tests/: test-header-nr/.cvsignore, test-header-r/.cvsignore: file .cvsignore was initially added on branch flex-2-5-6-branch. 2001-10-19 18:56 John Millaway * tests/: test-header-nr/Makefile.in, test-header-r/Makefile.in: file Makefile.in was initially added on branch flex-2-5-6-branch. 2001-10-19 18:56 John Millaway * tests/: test-header-nr/main.c, test-header-r/main.c: file main.c was initially added on branch flex-2-5-6-branch. 2001-10-19 18:56 John Millaway * tests/: test-header-nr/scanner.l, test-header-r/scanner.l: file scanner.l was initially added on branch flex-2-5-6-branch. 2001-10-19 18:56 John Millaway * tests/: test-header-nr/test.input, test-header-r/test.input: file test.input was initially added on branch flex-2-5-6-branch. 2001-10-19 17:13 Will Estes * NEWS: document new options and new option handling 2001-10-19 16:58 Will Estes * TODO: tell emacs that TODO is a text/outline mode file 2001-10-19 16:55 Will Estes * TODO: we have new long options; we need to document that 2001-10-19 16:36 Will Estes * NEWS: tell emacs that NEWS is text/outline mode 2001-10-19 14:04 Will Estes * flex.skl: oops, lost a line somewhere in the merge process on millaway's work 2001-10-17 10:29 Will Estes * Makefile.am, buf.c, flex.skl, flex.texi, flexdef.h, main.c, misc.c, options.c, options.h, parse.y, scan.l, scanopt.c, scanopt.h: merge latest batch of millaway's changes 2001-10-15 13:26 John Millaway * buf.c: file buf.c was initially added on branch flex-2-5-6-branch. 2001-10-12 20:44 John Millaway * options.c: file options.c was initially added on branch flex-2-5-6-branch. 2001-10-12 20:44 John Millaway * options.h: file options.h was initially added on branch flex-2-5-6-branch. 2001-10-12 20:44 John Millaway * scanopt.c: file scanopt.c was initially added on branch flex-2-5-6-branch. 2001-10-12 20:44 John Millaway * scanopt.h: file scanopt.h was initially added on branch flex-2-5-6-branch. 2001-09-22 13:50 Will Estes * main.c: Fixed typo in options display 2001-09-20 15:27 Will Estes * main.c: reentrant and non-reentrant scanners share the same yywrap MACRO. millaway 2001-09-20 12:32 Will Estes * TODO: clarify item on comments in lexical files 2001-09-20 12:29 Will Estes * NEWS, scan.l: now flex recognizes \r as an eol character 2001-09-20 10:55 Will Estes * Makefile.am: specify cvsroot so automake distcheck works 2001-09-19 16:39 Will Estes * flex.texi: tex has lost its mind; we remove parentheses to compensate 2001-09-19 15:42 Will Estes * NEWS: now that c++ is better supported, let's mention it as a news item 2001-09-19 15:37 Will Estes * flex.skl, main.c, examples/fastwc/wc1.l, examples/fastwc/wc2.l, examples/fastwc/wc3.l, examples/fastwc/wc4.l, examples/fastwc/wc5.l: commit the backwash from the branch merges 2001-09-19 15:19 Will Estes * FlexLexer.h, flex.skl, examples/testxxLexer.l: made preliminary c++ fixes; the intent is to make it work with recent c++ compilers 2001-08-26 12:14 Will Estes * main.c: remove argv_fixup; fix typo in error message; changes from millaway's branch 2001-08-24 11:54 Will Estes * NEWS: mention no more c++ comments in c scanners 2001-08-21 13:47 John Millaway * flex.skl: Changed // comments to /* */ comments in skeleton. 2001-08-19 16:34 John Millaway * flex.texi: Changed @var to @code everywhere. 2001-08-16 14:19 Will Estes * to.do/flex.rmail: more mail 2001-08-16 11:03 Will Estes * TODO: the manual now has its own section; we're not adding comments either 2001-08-03 21:14 John Millaway * tests/: Makefile.in, README, TEMPLATE/Makefile.in, test-basic-nr/Makefile.in, test-basic-r/Makefile.in, test-bison-yylloc/Makefile.in, test-bison-yylval/Makefile.in, test-include-by-buffer/Makefile.in, test-include-by-reentrant/Makefile.in, test-prefix-nr/Makefile.in, test-prefix-r/Makefile.in, test-pthread/Makefile.in, test-string-nr/Makefile.in, test-string-r/Makefile.in, test-yyextra/Makefile.in: Cleaned up the output of the tests. 2001-08-03 16:43 Will Estes * TODO: note jason's thoughts on having a manpage 2001-08-03 16:41 Will Estes * TODO: note millaway's assignment and tests to be under flex license 2001-08-01 17:14 John Millaway * tests/test-bison-yylval/scanner.l: Fixed semantics of test (the success or failure of this test should be unaffected by this change.) 2001-08-01 16:13 Will Estes * autogen.sh: fake automake into believing that ChangeLog already exists 2001-08-01 16:06 Will Estes * Makefile.am: millaway needs to be covered in the ChangeLog 2001-08-01 15:41 Will Estes * version.h: automake is supplying version info now so we just pick it up 2001-08-01 15:40 Will Estes * flex.texi: forgot braces on @copyright 2001-08-01 15:40 John Millaway * flex.skl: Added missing argument to yy_flex_free. 2001-08-01 10:05 Will Estes * AUTHORS: john millaway wrote the reentrant C support 2001-08-01 10:05 Will Estes * flex.texi: add license node to the manual 2001-08-01 09:48 Will Estes * TODO: c++ ideas 2001-07-31 17:31 Will Estes * parse.y: error messages will now show up the way that emacs likes them 2001-07-31 15:56 Will Estes * Makefile.am: oops, left in an extra backslash 2001-07-31 15:05 Will Estes * TODO: flex.texi is here; clarify tests/ rewrite issue 2001-07-31 15:04 Will Estes * NEWS: hey, we have texinfo, not man 2001-07-31 15:03 Will Estes * flex.1: no more manpage 2001-07-31 15:01 Will Estes * Makefile.am: remove flex.1 and rewrite the dist-hook so that we pick up a couple more directories 2001-07-31 14:15 Will Estes * flex.texi: the namual now compiles; hurray 2001-07-31 06:13 Will Estes * Makefile.am: first attempt at including the tests/ directory via automake, dist-hook target added 2001-07-31 06:12 Will Estes * tests/.cvsignore: ignore config.cache in tests/ directory 2001-07-31 05:46 Will Estes * Makefile.am: automake groks the ChangeLog now so we don't have to remind the maintainer to remake it 2001-07-30 17:06 Will Estes * flex.texi: more corrections to the manual; the end is in site 2001-07-30 17:06 Will Estes * TODO: auto-generated backup? 2001-07-27 17:12 Will Estes * flex.texi: today's tinkering on the manual 2001-07-27 10:50 Will Estes * Makefile.am: if we want flex.1 we have to say so in EXTRA_DIST 2001-07-27 10:49 Will Estes * TODO: note future issues with flex.texi 2001-07-27 10:34 Will Estes * Makefile.am: include flex.1 as it's the only working documentation for now 2001-07-27 10:32 Will Estes * Makefile.am: rearrange to work with automake on building the ChangeLog 2001-07-27 09:33 Will Estes * scan.l: automake is unhappy if we specify the outfile 2001-07-26 17:18 Will Estes * flex.texi: more conversions/corrections 2001-07-26 10:04 Will Estes * README: we removed misc/ so we don't mention it any more 2001-07-25 16:26 Will Estes * flex.texi: begin the manual conversion to texinfo; yes, it's broken right now 2001-07-25 16:25 Will Estes * AUTHORS, THANKS: copy in manual author and thanks info 2001-07-25 10:46 Will Estes * Makefile.am: how to fake the ChangeLog into showing up in the distribution 2001-07-25 09:07 Will Estes * Makefile.am: add YFLAGS so parse.h gets made 2001-07-24 16:23 Will Estes * examples/fastwc/: README, mywc.c, wc1.l, wc2.l, wc3.l, wc4.l, wc5.l: re-add these files 2001-07-24 15:11 Will Estes * TODO: reflect recent doings 2001-07-24 15:07 Will Estes * Makefile.in: what with automake, we don't need Makefile.in any more 2001-07-24 15:06 Will Estes * configure.in: more rearranging for automake 2001-07-24 15:04 Will Estes * to.do/flex.rmail: more mail came in 2001-07-24 12:44 Will Estes * autogen.sh: adjust to automake's idea of the world 2001-07-24 12:43 Will Estes * Makefile.am: add Vern's misc dependencies; noinst_SCRIPTS was broken?; list a few last files to be included in the distribution 2001-07-24 10:48 Will Estes * NEWS: rearrange for better order; add automake support as a news item 2001-07-24 10:38 Will Estes * Makefile.am: copyright notice on Makefile.am; document some -D switches (are they still usable?) 2001-07-24 10:37 Will Estes * TODO: add lex-replacement issue 2001-07-24 06:13 Will Estes * Makefile.am: add EXTRA_DIST 2001-07-23 17:49 Will Estes * autogen.sh: we need to do the same thing in each directory 2001-07-23 17:25 Will Estes * configure.in: introduce automake into the macro calls 2001-07-23 17:06 Will Estes * Makefile.am: add AUTOMAKE_OPTIONS, info_TEXINFOS, include_HEADERS, noinst_HEADERS; it's libfl.a, not libflex.a 2001-07-23 16:16 Will Estes * Makefile.am: bin_PROGRAMS and lib_LIBRARIES 2001-07-23 15:32 Will Estes * to.do/streams.mail: streams.mail has moved here 2001-07-23 15:12 Will Estes * TODO: add xref for teximanual 2001-07-19 10:27 Will Estes * flex.1: include typo/punctuation fixes from a patch submitted by noon@cote-dazur.com (Fabrice Bauzac) 2001-07-17 14:40 Will Estes * TODO: we want gettext 2001-06-24 19:45 Will Estes * flex.skl: include c++ STD fixes from quanstro@quanstro.net 2001-06-24 18:33 Will Estes * flex.skl, gen.c: change some int types to size_t as per FreeBSD 28364 from avn@any.ru 2001-06-24 18:31 Will Estes * TODO: remove parse.[ch] from make clean target; repackage distribution (not rework) 2001-06-19 08:44 Will Estes * TODO: add memory api and reworking of flex.skl reworking 2001-06-18 13:18 Will Estes * flex.skl: remove extraneous notice from flex.skl 2001-06-18 08:49 Will Estes * flex.skl: patch memory leak as per millaway 2001-06-17 15:23 Will Estes * to.do/flex.rmail: add vern's ok for copyright/license changes and john's answer on line offsets 2001-06-17 15:18 Will Estes * TODO: remove creation of .cvsignore files (it's done); add other notes about the test suite 2001-06-17 15:16 Will Estes * tests/: TEMPLATE/.cvsignore, test-basic-nr/.cvsignore, test-basic-r/.cvsignore, test-bison-yylloc/.cvsignore, test-bison-yylval/.cvsignore, test-include-by-buffer/.cvsignore, test-include-by-reentrant/.cvsignore, test-prefix-nr/.cvsignore, test-prefix-r/.cvsignore, test-pthread/.cvsignore, test-string-nr/.cvsignore, test-string-r/.cvsignore, test-yyextra/.cvsignore: adding .cvsignore files for existing tests/ subdirectories 2001-06-17 15:12 Will Estes * tests/README: reformat, say to add a description to this file and mention what to do re .cvsignore 2001-06-17 15:09 Will Estes * tests/TEMPLATE/cvsignore: create template for .cvsignore 2001-06-17 14:59 Will Estes * TODO: reorganize for logical reasons; test suite now seems to run out of the box 2001-06-17 14:28 Will Estes * tests/.cvsignore: we dont want the Makefile either 2001-06-17 13:40 Will Estes * tests/test-prefix-nr/test.input: test.input was supposed to be here 2001-06-17 13:36 Will Estes * tests/test-prefix-r/test.input: test.input was supposed to be here 2001-06-17 13:18 Will Estes * tests/.cvsignore: add autoconf legacy files to be ignored 2001-06-17 13:11 Will Estes * autogen.sh: clarify usage instructions; prepare tests/ as well 2001-06-17 13:07 Will Estes * tests/.cvsignore: . cvsignore for tests/ subdirectory 2001-06-17 13:01 Will Estes * FlexLexer.h: tell emacs that FlexLexer.h is c++ 2001-06-17 13:00 Will Estes * scan.l: tell emacs scan.l is in C mode 2001-06-17 12:59 Will Estes * flex.skl: added punctuation 2001-06-17 12:17 Will Estes * FlexLexer.h, Makefile.in, README, RoadMap, autogen.sh, ccl.c, configure.in, dfa.c, ecs.c, flex.1, flex.skl, flexdef.h, gen.c, libmain.c, libyywrap.c, main.c, misc.c, mkskel.sh, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: change copyright/license notices as per Vern's response to Theo 2001-06-15 16:22 Will Estes * to.do/flex.rmail: add bill fenlason's emails 2001-06-15 16:21 Will Estes * COPYING: make changes as per Theo De Raadt; remove tabs 2001-06-08 08:42 Will Estes * flex.skl: save errno as per Theo de Raadt 2001-06-07 08:44 Will Estes * flex.1: correct hyphenation as per openbsd tree 2001-06-05 16:39 Will Estes * Makefile.in, configure.in: change references to TESTS/ to tests/ to account for the directory name changes 2001-05-27 15:22 Will Estes * flex.skl, gen.c: commit john millaway's YY_G wrapper corrections 2001-05-21 17:44 Will Estes * tests/Makefile.in: remove || exit calls 2001-05-21 15:50 Will Estes * gen.c: complete john millaway's reentrant patch 2001-05-21 13:23 Will Estes * to.do/flex.rmail: more flex messages in the queue 2001-05-18 17:25 Will Estes * flex.skl, flexdef.h, gen.c, main.c, nfa.c, scan.l: john millaway's reentrancy patch 2001-05-18 16:30 Will Estes * tests/Makefile.in: remove || exit from testing loop 2001-05-18 16:27 Will Estes * Makefile.in: tell make about the tests directory and its associated targets 2001-05-18 16:26 Will Estes * TODO: rethink the todo list 2001-05-18 16:13 Will Estes * flex.1: describe reentrant api changes 2001-05-18 16:10 Will Estes * TODO: mention work needed for tests/ 2001-05-18 16:09 Will Estes * configure.in: tell auto* about the test directory 2001-05-18 16:04 Will Estes * README: make punctuation uniform, mention the new tests/ directory 2001-05-18 16:02 Will Estes * NEWS: reformat items; cut out old items and move them to ONEWS 2001-05-18 16:01 Will Estes * ONEWS: move old NEWS items to ONEWS 2001-05-18 13:22 Will Estes * tests/: Makefile.in, README, configure.in, TEMPLATE/Makefile.in, TEMPLATE/parser.y, TEMPLATE/scanner.l, TEMPLATE/test.input, test-basic-nr/Makefile.in, test-basic-nr/scanner.l, test-basic-nr/test.input, test-basic-r/Makefile.in, test-basic-r/scanner.l, test-basic-r/test.input, test-bison-yylloc/Makefile.in, test-bison-yylloc/parser.y, test-bison-yylloc/scanner.l, test-bison-yylloc/test.input, test-bison-yylval/Makefile.in, test-bison-yylval/parser.y, test-bison-yylval/scanner.l, test-bison-yylval/test.input, test-include-by-buffer/Makefile.in, test-include-by-buffer/scanner.l, test-include-by-buffer/test-1.input, test-include-by-buffer/test-2.input, test-include-by-buffer/test-3.input, test-include-by-reentrant/Makefile.in, test-include-by-reentrant/scanner.l, test-include-by-reentrant/test-1.input, test-include-by-reentrant/test-2.input, test-include-by-reentrant/test-3.input, test-prefix-nr/Makefile.in, test-prefix-nr/README, test-prefix-nr/scanner.l, test-prefix-r/Makefile.in, test-prefix-r/README, test-prefix-r/scanner.l, test-pthread/Makefile.in, test-pthread/scanner.l, test-pthread/test-1.input, test-pthread/test-2.input, test-pthread/test-3.input, test-pthread/test-4.input, test-pthread/test-5.input, test-string-nr/Makefile.in, test-string-nr/scanner.l, test-string-r/Makefile.in, test-string-r/scanner.l, test-yyextra/Makefile.in, test-yyextra/scanner.l, test-yyextra/test.input: add john millaway's test directory 2001-05-04 16:04 Will Estes * to.do/flex.rmail: more mail in flex.rmail 2001-05-03 15:05 Will Estes * FlexLexer.h, ccl.c, dfa.c, ecs.c, flex.skl, flexdef.h, gen.c, libmain.c, libyywrap.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: remove extraneous rcs keywords 2001-05-03 14:54 Will Estes * README: mention RoadMap 2001-05-01 16:47 Will Estes * examples/README, examples/debflex.awk, examples/testxxLexer.l, examples/manual/ChangeLog, examples/manual/Makefile, examples/manual/README, examples/manual/cat.lex, examples/manual/dates.lex, examples/manual/datetest.dat, examples/manual/eof_rules.lex, examples/manual/eof_test01.txt, examples/manual/eof_test02.txt, examples/manual/eof_test03.txt, examples/manual/expr.lex, examples/manual/expr.y, examples/manual/front.lex, examples/manual/front.y, examples/manual/j2t.lex, examples/manual/myname.lex, examples/manual/myname.txt, examples/manual/myname2.lex, examples/manual/numbers.lex, examples/manual/pas_include.lex, examples/manual/pascal.lex, examples/manual/reject.lex, examples/manual/replace.lex, examples/manual/string1.lex, examples/manual/string2.lex, examples/manual/strtest.dat, examples/manual/unput.lex, examples/manual/user_act.lex, examples/manual/userinit.lex, examples/manual/wc.lex, examples/manual/yymore.lex, examples/manual/yymore2.lex, examples/manual/yymoretest.dat, to.do/README, to.do/Wilhelms.todo, to.do/Wish-List, to.do/flex.rmail, to.do/unicode/FlexLexer.h, to.do/unicode/ccl.c, to.do/unicode/changes.txt, to.do/unicode/ecs.c, to.do/unicode/flex.1, to.do/unicode/flex.skl, to.do/unicode/flexdef.h, to.do/unicode/gen.c, to.do/unicode/main.c, to.do/unicode/misc.c, to.do/unicode/scan.l, to.do/unicode/tblcmp.c: adding the rest of vern's files 2001-05-01 16:36 Will Estes * README: mention misc/ directory 2001-05-01 16:32 Will Estes * version.h: version is 2.5.5b 2001-05-01 16:30 Will Estes * Makefile.in: remove header from top; add rule to generate initscan.c just in case 2001-05-01 16:28 Will Estes * configure.in: dont check for initscan.c; check for scan.l instead 2001-05-01 15:12 Will Estes * RoadMap: list of source files 2001-05-01 15:10 Will Estes * README: rewrite README to reflect changes in layout of directories 2001-05-01 15:08 Will Estes * AUTHORS, THANKS, TODO: initial attempt at the files 2001-05-01 14:03 Will Estes * COPYING: add 2001 copyright notice 2001-05-01 13:38 Will Estes * autogen.sh: initial attempt at a bootstrap script for developers 2001-05-01 13:21 Will Estes * flex.texi: texinfo manual, old contributed version 2000-08-21 12:39 Vern Paxson * flex.1: fixed some bugs in examples of [[:...:]] ccls 2000-08-21 12:39 Vern Paxson * version.h: version shipped to Dick King 2000-08-21 12:39 Vern Paxson * flex.skl: explicit include of iostream.h 2000-08-21 12:38 Vern Paxson * scan.l: if a newline is seen in , assume it terminates the string. 2000-08-21 12:38 Vern Paxson * flexdef.h, sym.c: moved symbol table definitions from flexdef.h into sym.c 2000-08-21 12:37 Vern Paxson * dfa.c: fixed underallocation for accset 1997-06-27 15:36 Vern Paxson * COPYING: revised for rms 1997-06-23 15:48 Vern Paxson * flex.skl: fixed memory leak 1997-06-23 15:48 Vern Paxson * flex.1: input() doesn't destroy yytext 1997-06-23 15:48 Vern Paxson * FlexLexer.h: wrapped with extern "C++" 1996-12-13 06:22 Vern Paxson * flex.skl: use delete [] for yy_state_buf 1996-10-29 09:43 Vern Paxson * flex.skl: fixed %option noinput 1996-10-29 09:39 Vern Paxson * flex.skl: free(char*) fix ... Sigh ... 1996-10-11 11:33 Vern Paxson * gen.c: bug fix for yymore()/yylineno interaction 1996-10-11 11:13 Vern Paxson * gen.c: fixed memory leak 1996-09-10 13:10 Vern Paxson * NEWS: release 2.5.4 1996-09-10 12:59 Vern Paxson * Makefile.in: more stuff for distclean 1996-09-10 12:58 Vern Paxson * flex.skl: "str" -> "yy_str" 1996-09-10 12:58 Vern Paxson * version.h: 2.5.4 1996-07-02 12:35 Vern Paxson * flex.skl: (attempted) fix for input() crossing a file boundary 1996-05-29 08:25 Vern Paxson * NEWS: don't do Acorn diffs 1996-05-29 08:15 Vern Paxson * NEWS: some minor additions for 2.5.3 1996-05-29 08:02 Vern Paxson * NEWS: 2.5.3 1996-05-29 07:59 Vern Paxson * version.h: 2.5.3 1996-05-25 17:02 Vern Paxson * flex.skl: initialize yy_more_offset etc. for yyFlexLexer class 1996-05-25 16:54 Vern Paxson * flex.skl: niggling cosmetic tweak 1996-05-25 16:44 Vern Paxson * flex.skl: bug fixes for yymore (especially with %array) 1996-05-25 16:43 Vern Paxson * gen.c: yymore + %array tweaks 1996-05-25 16:43 Vern Paxson * FlexLexer.h: added yy_{,prev_}more_offset 1996-05-25 16:42 Vern Paxson * main.c: removed decl of unused library function 1996-05-25 11:26 Vern Paxson * flex.skl: snapshot of cscope yymore fixes, prior to switching yymore-on-%array approach 1995-12-18 09:20 Vern Paxson * gen.c: don't stack states on NUL-transitions that are jams 1995-09-27 08:47 Vern Paxson * libmain.c: fixed re Esmond Pitt's ancient suggestion 1995-04-28 07:39 Vern Paxson * misc.c: ANSI C / Solaris tweak 1995-04-24 09:26 Vern Paxson * flex.1: credits 1995-04-24 09:26 Vern Paxson * NEWS: multiple FlexLexer.h includes 1995-04-24 09:25 Vern Paxson * FlexLexer.h: fix multiple inclusions 1995-04-24 08:17 Vern Paxson * scan.l: lint tweak 1995-04-24 07:39 Vern Paxson * flex.1: typo fixed 1995-04-24 06:49 Vern Paxson * flex.1: credits update 1995-04-24 06:48 Vern Paxson * flex.skl: (char*) cast for realloc 1995-04-24 06:46 Vern Paxson * NEWS: (char*) tweak 1995-04-21 07:53 Vern Paxson * NEWS: VMS update for 2.5.2 1995-04-21 07:53 Vern Paxson * Makefile.in: clarify when 8-bit scanners are created by default, vs. 7-bit 1995-04-21 07:51 Vern Paxson * parse.y: reworked alloca() chud, from Francois 1995-04-20 09:57 Vern Paxson * NEWS, version.h: 2.5.2 1995-04-20 09:57 Vern Paxson * flex.1: 2.5.2 update 1995-04-20 09:53 Vern Paxson * dfa.c, main.c: const -> yyconst 1995-04-20 09:34 Vern Paxson * Makefile.in: fixed some old libfl.a references 1995-04-20 09:09 Vern Paxson * Makefile.in: some (but not all) of Francois' tweaks 1995-04-20 09:08 Vern Paxson * configure.in: tweaks from Francois 1995-04-20 08:46 Vern Paxson * flex.skl: yy_delete_buffer allows nil buffer pointer 1995-04-20 08:43 Vern Paxson * main.c: do_stdinit now defaults to false 1995-04-20 08:43 Vern Paxson * FlexLexer.h: remove first default for yylex(new_in, new_out) 1995-04-20 08:42 Vern Paxson * flex.skl: rearrange some definitions; fix YY_NO_UNPUT 1995-04-20 08:42 Vern Paxson * parse.y: more alloca() bullshit 1995-04-20 07:35 Vern Paxson * misc.c: octal escape sequence must have just digits 0-7 1995-04-20 07:35 Vern Paxson * scan.l: '-' means stdin octal escape sequence must just be digits 0-7 1995-04-20 07:34 Vern Paxson * main.c: -- terminates options 1995-04-20 07:17 Vern Paxson * flexdef.h: added dataflush() prototype 1995-04-20 07:17 Vern Paxson * misc.c: move dataflush, otoi prototypes into flexdef.h 1995-04-20 07:17 Vern Paxson * gen.c, flex.skl: const -> yyconst 1995-04-20 06:55 Vern Paxson * gen.c: fixed bug in needing yy_cp for -Cf w/ backing up 1995-03-28 05:29 Vern Paxson * flex.1, README: Stan Adermann credit 1995-03-27 09:38 Vern Paxson * README: beta-tester update 1995-03-27 09:38 Vern Paxson * NEWS, version.h: 2.5.1 1995-03-27 09:37 Vern Paxson * flex.1: update date for 2.5.1 release, some feedbacker credits 1995-03-27 09:36 Vern Paxson * gen.c: fixed lint problem with declaring yy_cp unnecessarily 1995-03-27 09:35 Vern Paxson * dfa.c: {}'s around full-table initializations 1995-03-21 09:35 Vern Paxson * README: for version 2.5 1995-03-21 09:13 Vern Paxson * flex.1: added note regarding yylineno should be maintained on a per-buffer basis 1995-03-21 09:12 Vern Paxson * NEWS: new C++ member functions 1995-03-21 08:44 Vern Paxson * flex.1, NEWS: 2.5.0.8 update 1995-03-21 08:44 Vern Paxson * main.c: rename yylineno if -P 1995-03-20 09:03 Vern Paxson * flexdef.h: do_yylineno MARKER_DIFFERENCE depends on MAXIMUM_MNS 1995-03-20 09:02 Vern Paxson * Makefile.in: removed redundant skel.c from DISTFILES 1995-03-20 09:02 Vern Paxson * FlexLexer.h: debug(), setdebug(), lineno() 1995-03-20 09:02 Vern Paxson * flex.skl: %option yylineno support 1995-03-20 09:02 Vern Paxson * gen.c: read up to newline for interactive reads, rather than one char 1995-03-20 09:01 Vern Paxson * scan.l, main.c: added %option yylineno 1995-03-18 04:27 Vern Paxson * gen.c: added do_yylineno 1995-03-06 10:53 Vern Paxson * flex.1, NEWS: 2.5.0.7 1995-03-05 16:37 Vern Paxson * Makefile.in: realclean -> maintainer-clean 1995-03-05 16:35 Vern Paxson * flex.skl: Added yy_flush_buffer 1995-03-05 16:35 Vern Paxson * FlexLexer.h: added yy_flush_buffer 1995-03-05 16:35 Vern Paxson * main.c: prefix support for yy_flush_buffer 1995-03-05 15:37 Vern Paxson * parse.y: added %option yyclass 1995-03-05 15:37 Vern Paxson * scan.l, flexdef.h, main.c: added yyclass 1995-03-05 11:50 Vern Paxson * FlexLexer.h: Added switch_streams 1995-03-05 11:50 Vern Paxson * flex.skl: added switch_streams 1995-03-05 11:37 Vern Paxson * main.c: don't rename yy_flex_debug for C++ 1995-03-05 11:37 Vern Paxson * gen.c: yy_flex_debug extern only if not C++ 1995-03-05 11:37 Vern Paxson * FlexLexer.h: added yy_flex_debug member variable 1995-03-05 11:36 Vern Paxson * flex.skl: yyFlexLexer initialization of yy_flex_debug 1995-03-04 13:06 Vern Paxson * flexdef.h, main.c: VMS POSIX stuff 1995-03-04 11:36 Vern Paxson * flex.skl: moved position of yy_init = 0 1995-03-04 11:15 Vern Paxson * flex.skl: added YY_EXIT_FAILURE 1995-03-04 11:14 Vern Paxson * main.c: removed VMS-specific exit 1995-03-04 11:09 Vern Paxson * flexdef.h, dfa.c, yylex.c, sym.c, scan.l, nfa.c, misc.c, gen.c, main.c: internationalization aids 1995-03-04 11:07 Vern Paxson * main.c: do yy_flex_debug prefix for both C++ and C 1995-02-06 04:38 Vern Paxson * main.c: fixed program_name tweak again 1995-01-11 06:00 Vern Paxson * main.c: oops, fixed program_name tweak 1995-01-11 05:53 Vern Paxson * main.c: program_name is "flex" if argv[0] nil 1995-01-10 05:43 Vern Paxson * NEWS: 2.5.0.5 1995-01-10 05:43 Vern Paxson * flex.1: Documented YY_NUM_RULES 1995-01-10 05:42 Vern Paxson * Makefile.in: added formatted man page to MISC 1995-01-10 05:42 Vern Paxson * main.c: help messages to stdout 1995-01-09 17:05 Vern Paxson * gen.c: Added YY_NUM_RULES 1995-01-09 16:02 Vern Paxson * flex.skl: better fix for #pragma problem 1995-01-09 16:02 Vern Paxson * flexdef.h: better fix for #pragma portability problem 1995-01-09 07:54 Vern Paxson * misc.c: "# line" -> #line 1995-01-09 07:41 Vern Paxson * flex.skl, flexdef.h: comment out Turbo C #pragma's 1995-01-09 07:35 Vern Paxson * scan.l: reset linenum on new file 1995-01-09 07:13 Vern Paxson * flex.skl: isatty() extern 1995-01-09 07:13 Vern Paxson * NEWS, flex.1: 2.5.0.4 1995-01-09 07:12 Vern Paxson * main.c: long options, VMS tweaks 1995-01-09 07:12 Vern Paxson * Makefile.in: Added parse.c, parse.h for dist MISC directory 1995-01-09 07:11 Vern Paxson * flexdef.h: some "const" cleansing 1995-01-09 07:11 Vern Paxson * mkskel.sh: skel[] is now const 1995-01-09 07:11 Vern Paxson * misc.c: some const cleansing 1995-01-09 07:10 Vern Paxson * scan.l: #line in section 1 1995-01-05 17:04 Vern Paxson * sym.c: preen 1994-12-29 10:58 Vern Paxson * configure.in: config.h from conf.in 1994-12-29 10:58 Vern Paxson * flexdef.h: for VMS, delete -> remove 1994-12-29 10:57 Vern Paxson * Makefile.in: config.h.in -> conf.in rm config.h on distclean 1994-12-29 10:57 Vern Paxson * main.c: stdinit tweaks 1994-12-29 10:48 Vern Paxson * scan.l: added nostdinit 1994-12-28 13:47 Vern Paxson * NEWS: added MS-DOS note for 2.5.0.2 1994-12-28 13:16 Vern Paxson * flex.1: typos, tweaks 1994-12-28 10:40 Vern Paxson * Makefile.in: removed flexdoc 1994-12-28 10:35 Vern Paxson * flex.1: flexdoc/flex merge 1994-12-28 08:50 Vern Paxson * flex.1: typos 1994-12-28 08:45 Vern Paxson * NEWS: typo 1994-12-28 08:42 Vern Paxson * flex.1: 2.5 update 1994-12-28 08:41 Vern Paxson * NEWS: 2.5.0.2 1994-12-28 06:55 Vern Paxson * scan.l: fixed sense of %option main implying %option noyywrap 1994-12-28 06:54 Vern Paxson * flex.skl: YY_FLEX_{MAJOR,MINOR}_VERSION fixed bug in unput trashing yytext even with %array 1994-12-17 17:08 Vern Paxson * flex.1: prior to 2.5 update 1994-12-17 13:41 Vern Paxson * main.c: C++/-P fixes 1994-12-17 13:40 Vern Paxson * FlexLexer.h: -P fixes constructor, destructor moved to flex.skl 1994-12-17 13:40 Vern Paxson * flex.skl: YY_SKIP_YYWRAP yyFlexLexer constructor, destructor 1994-12-15 09:34 Vern Paxson * gen.c: formatting 1994-12-15 09:30 Vern Paxson * gen.c: fixed bug in adjusting yytext before backing up 1994-12-10 17:24 Vern Paxson * scan.l: switched scanner itself over to [:xxx:] 1994-12-10 12:53 Vern Paxson * flex.skl: added YY_FLEX_VERSION 1994-12-10 12:53 Vern Paxson * scan.l: Fixed CCL-match pattern for [:whatever:] 1994-12-10 12:52 Vern Paxson * parse.y: treat [:upper:] as [:lower:] if -i 1994-12-06 16:59 Vern Paxson * NEWS: 2.5.0.1 1994-12-06 16:28 Vern Paxson * flex.skl, gen.c: input() maintains BOL 1994-12-06 16:20 Vern Paxson * flex.skl: check size of buffer in yy_scan_buffer 1994-12-06 16:08 Vern Paxson * flex.skl: added %option main, fixed missing %* 1994-12-06 16:08 Vern Paxson * parse.y: added ccl exprs 1994-12-06 16:07 Vern Paxson * scan.l: added ccl exprs, %option main 1994-12-06 16:07 Vern Paxson * yylex.c: added %options, ccl exprs 1994-12-05 16:18 Vern Paxson * misc.c: undid previous change 1994-12-04 10:30 Vern Paxson * Makefile.in: Makefile.in from srcdir 1994-12-04 04:14 Vern Paxson * Makefile.in: added skel.c to DISTFILES 1994-12-04 03:56 Vern Paxson * flex.skl: added YYSTATE alias 1994-12-04 03:28 Vern Paxson * scan.l: NL is now \r?\n 1994-12-04 03:28 Vern Paxson * gen.c: use cerr for C++ diagnostics 1994-12-03 15:16 Vern Paxson * flex.skl: undid YY_UNIX_NEWLINE 1994-12-03 08:44 Vern Paxson * flexdef.h: STDC_HEADERS to check for stdlib 1994-12-03 08:43 Vern Paxson * configure.in: AC_STDC_HEADERS -> AC_HEADER_STDC 1994-12-03 08:43 Vern Paxson * misc.c: \n -> '\012' 1994-12-03 07:20 Vern Paxson * flex.skl: Added YY_UNIX_NEWLINE 1994-12-03 06:29 Vern Paxson * flex.skl: BOL changes 1994-12-03 06:29 Vern Paxson * dfa.c: fixed bug with caseins but not ecs 1994-12-03 06:27 Vern Paxson * gen.c: BOL changes some casts for Turbo C 1994-12-03 06:27 Vern Paxson * main.c: messages identify filenames 1994-12-03 06:26 Vern Paxson * misc.c: Increase slowly if realloc double overflows 1994-12-03 06:26 Vern Paxson * nfa.c: YY_RULE_SETUP 1994-12-03 06:26 Vern Paxson * scan.l: Added yy_XX_state %option's Added yy_set_bol 1994-11-29 11:14 Vern Paxson * Makefile.in: don't remove ~ files 1994-11-24 11:50 Vern Paxson * Makefile.in: get CFLAGS from autoconf 1994-11-24 11:42 Vern Paxson * dfa.c, flex.skl, flexdef.h, gen.c, misc.c, parse.y, scan.l, sym.c: Brian Madsen's tweaks for Borland 1994-11-24 10:50 Vern Paxson * version.h: 2.5.0 1994-11-24 10:50 Vern Paxson * flexdef.h: Added do_stdinit 1994-11-24 10:49 Vern Paxson * FlexLexer.h: Added yy_delete_buffer() in destructor 1994-11-24 10:48 Vern Paxson * flex.skl: Added yy_set_interactive, YY_ALWAYS_INTERACTIVE, YY_NEVER_INTERACTIVE, YY_NO_INPUT, YY_NO_UNPUT, YY_NO_*_STATE 1994-11-24 10:48 Vern Paxson * main.c: Added do_stdinit, Think C hacks 1994-11-24 10:47 Vern Paxson * scan.l: Added %options for input, always-interactive, never-interactive, yy_scan_{buffer,bytes,string} 1994-11-05 12:13 Vern Paxson * flex.skl: size_t #ifdef's for not compiling some statics 1994-11-05 12:13 Vern Paxson * Makefile.in: $(FLEX) config.h 1994-11-05 12:11 Vern Paxson * configure.in: config.h, size_t, malloc.h, sys/types.h 1994-11-05 12:10 Vern Paxson * flexdef.h: config.h, size_t 1994-11-05 12:10 Vern Paxson * main.c: yywrap option, no stdin/out init for VMS, mundane tweaks 1994-11-05 12:09 Vern Paxson * parse.y: alloca, lint tweaks 1994-11-05 12:09 Vern Paxson * scan.l: %option yywrap size_t tweaks 1994-11-05 12:08 Vern Paxson * tblcmp.c: size_t tweaks 1994-11-05 12:08 Vern Paxson * misc.c: size_t, STDC tweaks 1994-11-05 10:17 Vern Paxson * flex.skl: Added yy_scan_{buffer,bytes,string}, plus tweaks 1994-10-12 17:13 Vern Paxson * flex.skl: made stack code conditional on "stack" option 1994-10-12 17:13 Vern Paxson * scan.l: added use of "stack" %option 1994-08-03 07:38 Vern Paxson * gen.c: Fixed fencepost in call to yy_flex_strncpy 1994-07-25 18:05 Vern Paxson * flex.skl: yy_eof_status -> yy_buffer_status 1994-07-25 17:22 Vern Paxson * flex.skl: yy_flex_strcpy -> yy_flex_strncpy minor prototype tweak 1994-07-25 17:21 Vern Paxson * gen.c: Bug fix for matching NUL's at end of token when interactive. yy_flex_strcpy -> yy_flex_strncpy 1994-07-25 16:49 Vern Paxson * nfa.c: No YY_USER_ACTION if continued action 1994-03-16 07:18 Vern Paxson * flex.skl: Added fix for 8-bit chars returned by input() 1994-03-16 07:09 Vern Paxson * flex.skl: Move definition of yy_flex_strcpy to come after #define of yytext_ptr 1994-01-08 05:17 Vern Paxson * mkskel.sh: flex.skel -> flex.skl 1994-01-08 05:13 Vern Paxson * mkskel.sh: Initial revision 1993-12-29 12:09 Vern Paxson * Makefile.in: Fixed scan.c target so "make" detects flex failure 1993-12-27 10:14 Vern Paxson * scan.l: Added %option's 1993-12-27 09:57 Vern Paxson * Makefile.in: Nuked FLEX_FLAGS that are now done using %option 1993-12-27 09:41 Vern Paxson * parse.y, scan.l: %option 1993-12-27 09:41 Vern Paxson * main.c: Reworked for %option 1993-12-27 09:40 Vern Paxson * flexdef.h: Added "unspecified", globals for %option 1993-12-27 09:40 Vern Paxson * sym.c: start condition #define's go to action file 1993-12-27 09:40 Vern Paxson * misc.c: Added action_define() 1993-12-27 05:59 Vern Paxson * scan.l: Minor consolidation using scon scopes etc 1993-12-27 05:36 Vern Paxson * scan.l: Modified to use scon scopes 1993-12-27 05:20 Vern Paxson * scan.l: indented rules 1993-12-26 17:22 Vern Paxson * parse.y: Added scon_stk stuff, format_warn 1993-12-26 17:22 Vern Paxson * flexdef.h: Added format_warn 1993-12-26 10:04 Vern Paxson * parse.y: Working checkpoint prior to adding { stuff 1993-12-26 10:04 Vern Paxson * main.c, flexdef.h: Added in_rule, deleted actvsc 1993-12-26 10:03 Vern Paxson * misc.c: Added doubling of '\'s in filenames 1993-12-26 10:02 Vern Paxson * scan.l: Added in_rule, doing_rule_action 1993-12-26 10:02 Vern Paxson * sym.c: Removed actvsc 1993-12-23 15:44 Vern Paxson * flex.1: -ooutput #line directives credits 1993-12-23 15:43 Vern Paxson * flex.skl: Fixsed sense of test for %array 1993-12-23 15:42 Vern Paxson * NEWS: 2.5.0 snapshot for Craig 1993-12-23 15:41 Vern Paxson * parse.y: Added beginnings of { ... } 1993-12-23 15:41 Vern Paxson * scan.l: Simplified scanning {}'s 1993-12-20 04:41 Vern Paxson * flexdef.h: Added 1993-12-17 05:31 Vern Paxson * flex.skl: prototypes for alloc/string routines 1993-12-17 05:06 Vern Paxson * flex.skl: alloc, string routines internal 1993-12-17 05:05 Vern Paxson * Makefile.in: Nuked lib{string,alloc}.c, added dependency of yylex.o on parse.h 1993-12-17 05:05 Vern Paxson * configure.in: Check for string.h 1993-12-17 05:04 Vern Paxson * flexdef.h: Use autoconf for string/strings.h yy_flex_XXX -> flex_XXX 1993-12-17 05:04 Vern Paxson * scan.l: Added flex_XXX -> yy_flex_XXX wrappers 1993-12-17 05:04 Vern Paxson * sym.c, misc.c, dfa.c: yy_flex_XXX -> flex_XXX 1993-12-17 05:03 Vern Paxson * yylex.c: No more WHITESPACE token 1993-12-16 15:46 Vern Paxson * flex.skl, FlexLexer.h: Added yy_top_state() 1993-12-16 15:44 Vern Paxson * scan.l: simplified comment-scanning using push/pop states 1993-12-16 15:44 Vern Paxson * parse.y: removed crufty WHITESPACE token, some uses of '\n' token 1993-12-15 05:23 Vern Paxson * FlexLexer.h: start stack, extern "C++" moved 1993-12-15 05:23 Vern Paxson * dfa.c: Bug fix for -CF 1993-12-15 05:23 Vern Paxson * flexdef.h, misc.c: alloc routines take unsigned 1993-12-15 05:23 Vern Paxson * flex.skl: start-state stacks, alloc routines take unsigned 1993-12-15 05:08 Vern Paxson * flexdef.h, misc.c: bracket -CF table elements 1993-12-13 07:33 Vern Paxson * misc.c: Do #bytes computation in {re,}allocate_array() only once 1993-12-11 12:06 Vern Paxson * flexdef.h, gen.c, main.c, misc.c, scan.l, flex.skl, sym.c: yy_str*() -> str*() 1993-12-11 09:40 Vern Paxson * Makefile.in, dfa.c, flexdef.h, gen.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c: -o option 1993-12-11 06:09 Vern Paxson * gen.c: lint tweak 1993-12-11 06:00 Vern Paxson * NEWS: Expanded on extern "C++" news item 1993-12-11 05:58 Vern Paxson * NEWS: 2.4.5 1993-12-11 05:56 Vern Paxson * flex.skl: Added yy_fill_buffer 1993-12-11 05:56 Vern Paxson * gen.c: is_interactive -> yy_is_interactive 1993-12-11 05:34 Vern Paxson * flex.1: Updated credits 1993-12-11 05:33 Vern Paxson * Makefile.in: Fixed typo in "uninstall" target 1993-12-11 05:33 Vern Paxson * gen.c: Updated comment regarding 0-based vs. 1-based arrays for -CF. 1993-12-11 05:30 Vern Paxson * dfa.c: Initialize dfaacc[0] for -CF representation Fixed minor memory leak 1993-12-11 05:29 Vern Paxson * main.c: #include "FlexLexer.h" -> 1993-12-11 05:27 Vern Paxson * FlexLexer.h: Added extern "C++" wrapper 1993-12-09 08:58 Vern Paxson * main.c: Detect REJECT etc. before generating YY_USES_REJECT! 1993-12-09 08:58 Vern Paxson * gen.c: Fixed bug in interactive reads where char is unsigned 1993-12-09 08:57 Vern Paxson * parse.y: Fixed bug in treating '$' as variable trailing context 1993-12-09 08:57 Vern Paxson * version.h: 2.4.5 1993-12-07 08:08 Vern Paxson * README: pretester update 1993-12-07 06:16 Vern Paxson * NEWS: 2.4.4 1993-12-07 06:15 Vern Paxson * flex.1: LexError(), C++ experiment warning, credits 1993-12-07 06:11 Vern Paxson * scan.l: Fixed 8-bit bug 1993-12-07 06:10 Vern Paxson * gen.c, flex.skl: Fixed nasty 8-bit bugs 1993-12-07 05:18 Vern Paxson * dfa.c, ecs.c, flexdef.h, gen.c, main.c, nfa.c, tblcmp.c: {min,max,abs} -> {MIN,MAX,ABS} 1993-12-07 05:11 Vern Paxson * FlexLexer.h, flex.skl: Support for yyFlexLexer::LexerError 1993-12-06 04:43 Vern Paxson * version.h: 2.4.4 1993-12-05 12:11 Vern Paxson * flex.1: credits update 1993-12-05 12:08 Vern Paxson * Makefile.in: very minor "install" tweaks 1993-12-05 12:07 Vern Paxson * flex.skl, nfa.c: YY_USER_ACTION generated now for each case in action switch 1993-12-04 17:02 Vern Paxson * flex.skl: Fixed bug in pointing yyin at a new file and resuming scanning 1993-12-03 17:45 Vern Paxson * NEWS: Added note regarding g++ 2.5.X 1993-12-03 17:20 Vern Paxson * flex.1: updated credits 1993-12-03 17:20 Vern Paxson * NEWS: ranlib addition for 2.4.3 1993-12-03 17:19 Vern Paxson * Makefile.in: Minor tweak to last change 1993-12-03 17:18 Vern Paxson * Makefile.in: run ranlib on libfl.a 1993-12-03 17:02 Vern Paxson * NEWS: Hopefully last update prior to 2.4.3 1993-12-03 16:59 Vern Paxson * flexdef.h, gen.c, misc.c, sym.c: lint tweaks 1993-12-03 16:35 Vern Paxson * Makefile.in: Added exec_prefix 1993-12-03 16:35 Vern Paxson * flex.1: credit update 1993-12-03 16:35 Vern Paxson * flex.skl: lint tweak 1993-12-03 07:50 Vern Paxson * NEWS: FlexLexer.h fixed for separate inclusion 1993-12-03 07:49 Vern Paxson * flex.skl, FlexLexer.h, main.c: mods so FlexLexer.h can be included separately 1993-12-03 07:47 Vern Paxson * flex.1: -F incompatible with -+ 1993-12-02 17:18 Vern Paxson * NEWS: Elaborated comments for 2.4.3 1993-12-02 16:59 Vern Paxson * NEWS: 2.4.3 1993-12-02 16:58 Vern Paxson * flex.1: Updated message regarding missing libfl.a routines Added thanks to Noah Friedman 1993-12-02 16:52 Vern Paxson * Makefile.in: Added libstring.c Modified "lint" target to use -Dconst= Added a.out, lex.yy.cc to sundry clean targets 1993-12-02 16:52 Vern Paxson * gen.c, scan.l, sym.c, misc.c, main.c, flexdef.h, flex.skl: Use yy_strXXX() routines instead of 1993-12-01 06:58 Vern Paxson * version.h: 2.4.3 1993-12-01 06:58 Vern Paxson * flexdef.h, misc.c: yy_flex_xmalloc() moved to misc.c 1993-12-01 06:58 Vern Paxson * flex.skl: Fixed bug in yy_fatal_error() 1993-12-01 02:59 Vern Paxson * Makefile.in: ... and remove plain tar file after compression 1993-12-01 02:57 Vern Paxson * NEWS: 2.4.2 1993-12-01 02:56 Vern Paxson * Makefile.in: Produce both compress'd and gzip'd distribution tar files 1993-12-01 02:52 Vern Paxson * version.h: Release 2.4.2 1993-11-30 18:37 Vern Paxson * NEWS: -a -> -Ca 1993-11-30 15:59 Vern Paxson * README: described configuration files in manifest 1993-11-30 15:58 Vern Paxson * Makefile.in: Added intermediate step of copying MISC/alloca.c -> alloca.c Included CPPFLAGS when compiling alloca.c 1993-11-30 10:51 Vern Paxson * README: Credit to 2.4 pre-testers. 1993-11-30 08:01 Vern Paxson * gen.c: Fixed nasty bug in short/long decl decision 1993-11-30 08:01 Vern Paxson * flexdef.h: Lowered MAX_SHORT out of increased general paranoia. Added yy_flex_xmalloc() proto 1993-11-30 08:00 Vern Paxson * main.c: Fixed very minor typo in -v output 1993-11-30 08:00 Vern Paxson * misc.c: Removed vestigal cast to (char) in isupper() call 1993-11-30 07:59 Vern Paxson * misc.c: Added casts to unsigned Char for isascii() calls 1993-11-30 07:59 Vern Paxson * parse.y: Added #ifdef chud for alloca() 1993-11-30 07:59 Vern Paxson * Makefile.in: Added alloca 1993-11-30 07:35 Vern Paxson * configure.in: Add AC_ALLOCA if using bison 1993-11-29 16:35 Vern Paxson * Makefile.in: Added intermediate file going scan.l -> scan.c 1993-11-29 12:18 Vern Paxson * Makefile.in: Removed parse.{c,h} from distribution files, since they may not be all that portable. 1993-11-29 12:13 Vern Paxson * flex.skl: Fixed %array YYLMAX headaches, added error message if buffer needs growing but REJECT used 1993-11-29 12:13 Vern Paxson * gen.c, main.c: Fixed YYLMAX headaches 1993-11-29 12:13 Vern Paxson * flex.1: Documented that buffer can't grow if REJECT used 1993-11-29 12:12 Vern Paxson * Makefile.in: Added parse.{c,h} to dist files 1993-11-29 11:40 Vern Paxson * flex.skl, flexdef.h, gen.c, main.c, misc.c, scan.l: Fixed to buffer section 1 definitions 1993-11-29 11:38 Vern Paxson * sym.c: Fixed ANSI-C glitch with '%' operator 1993-11-29 09:57 Vern Paxson * scan.l: Fixed mis-definition of ndlookup() 1993-11-29 06:04 Vern Paxson * NEWS: 2.4 -> 2.4.1 1993-11-29 06:02 Vern Paxson * Makefile.in: Added install.sh, mkinstalldirs to distribution files 1993-11-29 05:51 Vern Paxson * flex.1: Added Nathan Zelle, "promoted" Francois 1993-11-29 05:37 Vern Paxson * Makefile.in: only "realclean" removes flex dist depends on flex 1993-11-29 05:37 Vern Paxson * flexdef.h, misc.c: myctoi takes char[] instead of Char[] 1993-11-28 11:46 Vern Paxson * flexdef.h: -a -> -Ca all_lower, all_upper -> work on char* 1993-11-28 11:46 Vern Paxson * Makefile.in: Added -Ca to bigcheck 1993-11-28 11:45 Vern Paxson * main.c: -a -> -Ca; fixed help output 1993-11-28 11:45 Vern Paxson * dfa.c, flex.1: -a -> -Ca 1993-11-28 11:44 Vern Paxson * misc.c: all_lower, all_upper work on char* 1993-11-28 11:44 Vern Paxson * scan.l: Fixed some casts now that yytext is always char* and never unsigned char* 1993-11-28 11:42 Vern Paxson * Makefile.in: Francois' tweaks 1993-11-28 11:39 Vern Paxson * configure.in: AC_LN_S, AC_STDC_HEADERS (but not AC_ALLOCA) 1993-11-27 10:10 Vern Paxson * NEWS: fixed typo 1993-11-27 10:03 Vern Paxson * Makefile.in: Don't remove dist directory 1993-11-27 10:01 Vern Paxson * Makefile.in: Include liballoc.c in lint targets 1993-11-27 10:01 Vern Paxson * misc.c: lint tweak 1993-11-27 09:14 Vern Paxson * Makefile.in: Added -l compression to bigcheck 1993-11-27 09:07 Vern Paxson * Makefile.in: permission tweaking for "dist" 1993-11-27 09:02 Vern Paxson * Makefile.in: more "dist" tweaks 1993-11-27 08:59 Vern Paxson * Makefile.in: Changed "make dist" to use version.h, include scan.c in initial dir copy 1993-11-27 08:44 Vern Paxson * version.h: 2.4.1 1993-11-27 08:44 Vern Paxson * README: Revised as per Francois Pinard 1993-11-27 08:41 Vern Paxson * COPYING: flex.skel -> flex.skl 1993-11-27 08:37 Vern Paxson * NEWS: Updated date of 2.4 release 1993-11-27 08:29 Vern Paxson * Makefile.in: Removed manual & nroff output from distribution 1993-11-27 08:20 Vern Paxson * NEWS: 2.4.1 release 1993-11-27 07:57 Vern Paxson * configure.in: Initial revision 1993-11-27 07:56 Vern Paxson * Makefile.in: Merge w/ 2.4.1 changes added "dist2" target 1993-11-26 12:02 Vern Paxson * Makefile.in: Initial revision 1993-11-26 11:59 Vern Paxson * flexdef.h: Removed #ifndef FILE protection from include of stdio 1993-11-26 11:40 Vern Paxson * flex.1: Added Francois Pinard to distribution headache helpers 1993-11-26 11:10 Vern Paxson * flex.skl: Modified C++ scanners to get input a character at a time for interactive scanners. 1993-11-26 11:09 Vern Paxson * main.c: Added YY_INTERACTIVE. 1993-11-26 11:09 Vern Paxson * scan.l: Put definitions inside ()'s so we can test -l option for "make bigcheck" 1993-11-26 11:09 Vern Paxson * flex.1: Documented YY_INTERACTIVE. 1993-11-26 10:08 Vern Paxson * flex.skl, flexdef.h, flex.1, gen.c, main.c, parse.y, scan.l: -l lex compatibility flag 1993-11-20 10:05 Vern Paxson * flex.skl: Support for read()/fread() section 1 definitions precede default macro definitions 1993-11-20 10:05 Vern Paxson * flexdef.h: Added use_read global 1993-11-20 10:04 Vern Paxson * gen.c: Cleaner definition for yymore() Fixed string broken across multiple lines 1993-11-20 10:04 Vern Paxson * main.c: Added -Cr 1993-11-20 10:03 Vern Paxson * misc.c: K&R declaration for check_char() 1993-11-20 09:56 Vern Paxson * flex.1: Documented -Cr 1993-11-20 09:31 Vern Paxson * flex.1: No need to #undef before redefining prior to -Cr documentation 1993-11-10 05:27 Vern Paxson * README: Heavily massaged for 2.4 1993-11-10 05:27 Vern Paxson * flex.1: Added Landon Noll to thanks. 1993-11-10 05:07 Vern Paxson * NEWS: 2.4 release 1993-11-10 05:06 Vern Paxson * flex.1: 2.4 documentation 1993-11-10 05:05 Vern Paxson * main.c: Added global to remember -P prefix so it can be written in -v summary. Alphabetized prefix generation, added yywrap 1993-11-09 16:11 Vern Paxson * version.h: updated date for 2.4.0 :-( 1993-10-10 11:28 Vern Paxson * FlexLexer.h: Whitespace tweaking 1993-10-10 10:52 Vern Paxson * main.c: Use DEFAULT_CSIZE only if not using equivalence classes. 1993-10-10 10:47 Vern Paxson * flex.1: Checkpoint prior to final 2.4 update 1993-10-04 17:15 Vern Paxson * NEWS: Raw 2.4 changes 1993-10-04 12:44 Vern Paxson * flex.skl: osfcn.h -> unistd.h 1993-10-04 06:56 Vern Paxson * flex.skl: Added "static" to definition of yy_fatal_error as well as fwd decl. 1993-10-04 06:17 Vern Paxson * flex.skl: Added yy_fatal_error function. 1993-10-03 13:38 Vern Paxson * flex.skl: Got rid of (char *) casts of yytext, no longer needed. 1993-10-03 13:34 Vern Paxson * gen.c: Got rid of (char *) casts of yytext, no longer needed. 1993-10-03 12:05 Vern Paxson * FlexLexer.h: YY_CHAR -> char added YYText(), YYLeng() 1993-10-03 12:01 Vern Paxson * gen.c, flex.skl: Minimized use of YY_CHAR 1993-10-03 12:01 Vern Paxson * main.c: Added "flex++" feature Minimized use of YY_CHAR 1993-10-02 11:25 Vern Paxson * main.c: Clarified help message for -S 1993-10-02 11:23 Vern Paxson * libyywrap.c, version.h: Initial revision 1993-10-02 11:20 Vern Paxson * main.c: If -+ used, output to lex.yy.cc 1993-10-02 11:19 Vern Paxson * FlexLexer.h, flex.skl: Switched from FILE*'s to stream's 1993-10-02 09:44 Vern Paxson * flexdef.h: Added expand_nxt_chk() extern. 1993-10-02 09:38 Vern Paxson * flex.skl: Added dynamic buffer growing. Added yyless() for section 3. 1993-10-02 09:37 Vern Paxson * main.c, flexdef.h, dfa.c, gen.c: Added -a option for long-align. 1993-10-02 09:36 Vern Paxson * scan.l: formfeed no longer considered whitespace 1993-09-21 16:45 Vern Paxson * flexdef.h: Nuked FILENAMESIZE 1993-09-21 16:45 Vern Paxson * main.c: yyflexlexer.h -> FlexLexer.h minor portability tweak 1993-09-21 16:45 Vern Paxson * gen.c: Added start condition to EOF trace output 1993-09-21 16:44 Vern Paxson * flex.skl: Added YY_START changed yyFlexLexer to define yylex() 1993-09-21 16:44 Vern Paxson * misc.c: Minor portability tweaks 1993-09-21 16:43 Vern Paxson * FlexLexer.h: Split into two classes, one fully abstract. yylex() no longer abstract in yyFlexLexer 1993-09-21 16:42 Vern Paxson * scan.l: PC lint tweak 1993-09-21 16:42 Vern Paxson * parse.y: YYSTYPE #define'd to int 1993-09-21 16:42 Vern Paxson * nfa.c: minor lint tweak 1993-09-16 16:53 Vern Paxson * FlexLexer.h: Initial revision 1993-09-16 16:38 Vern Paxson * flexdef.h: Delete prototypes for Unix system calls. 1993-09-16 16:31 Vern Paxson * yylex.c, tblcmp.c, sym.c, nfa.c, misc.c, main.c, gen.c, ecs.c, ccl.c, dfa.c, scan.l, parse.y: nuked static RCS string 1993-09-16 16:28 Vern Paxson * main.c: %array not allowed with C++ scanners 1993-09-16 16:27 Vern Paxson * scan.l: Fixed bugs regarding %{%} code in section 2 prolog %array not allowed with C++ scanners 1993-08-25 13:11 Vern Paxson * flexdef.h: Added C_plus_plus flag. 1993-08-25 13:11 Vern Paxson * flex.skl: First version of C/C++ skeleton 1993-08-25 13:10 Vern Paxson * gen.c: yy_state_type declared earlier. Made a bunch of statics only output if not -+ 1993-08-25 12:59 Vern Paxson * main.c: Added -+ option, updated usage() output, rearranged some generated code to come at the right point in the output for yyflexlexer.h. 1993-08-25 12:52 Vern Paxson * misc.c: Added %+/%-/%* to skelout() 1993-08-25 12:51 Vern Paxson * scan.l: EOF in section 2 prolog leads to section 0, not section 3 1993-08-25 12:40 Vern Paxson * yylex.c: Dump promotion of EOF in section 2 to turn on section 3; instead just treat it like a final EOF 1993-08-25 12:40 Vern Paxson * dfa.c: yy_nxt table should be "const" 1993-08-24 16:46 Vern Paxson * flexdef.h: Removed a lot of #ifdef chud "backtracking" -> "backing up" 1993-08-24 16:45 Vern Paxson * main.c: "backtracking" -> "backing up" got rid of time reports 1993-08-24 16:44 Vern Paxson * gen.c: "backtracking" -> "backing up" some portability tweaks fixed to only call flexscan() when done if known to be in section 3 1993-08-24 16:43 Vern Paxson * misc.c: isascii() moved to flexdef.h nuked flex_gettime() 1993-08-24 16:43 Vern Paxson * scan.l: Fixed bug with empty section 2 1993-08-24 16:42 Vern Paxson * yylex.c: Chucked definition of isascii() 1993-08-24 16:40 Vern Paxson * flex.skl: preserve yytext on input() bug fix when combining yyless() with yymore() checkpoint prior to C++ option 1993-08-24 16:37 Vern Paxson * dfa.c: "backtracking" -> "backing up" 1993-07-09 15:47 Vern Paxson * flex.skl: Fixed to not generate extra EOF's after reading one. 1993-07-05 17:52 Vern Paxson * main.c: Spit out definition of YY_CHAR early 1993-07-05 17:52 Vern Paxson * flex.skl: Some rearranging to make sure things get declared in the right order 1993-07-05 17:37 Vern Paxson * tblcmp.c: Some comment fixes as per Wilhelms 1993-07-05 17:37 Vern Paxson * scan.l: Nuked #undef of yywrap, now that it's a function 1993-07-05 17:36 Vern Paxson * parse.y: Fixed bug with Z-a character classes as per Wilhelms 1993-07-05 17:36 Vern Paxson * nfa.c: added check_char call in mkstate() to prevent bad xtion chars 1993-07-05 17:35 Vern Paxson * misc.c: Added check_char() 1993-07-05 17:35 Vern Paxson * gen.c: Fixed some reallocation bugs, etc. as per Wilhelms 1993-07-05 17:34 Vern Paxson * flexdef.h: Added check_char(), readable_form() 1993-07-05 17:34 Vern Paxson * flex.skl: Added #ifndef's around #define's to let user override Moved a bunch of definitions prior to section 1 1993-07-05 17:32 Vern Paxson * dfa.c: Wilhems bug fixes. 1993-07-05 17:31 Vern Paxson * ccl.c: Added check_char() 1993-06-12 09:44 Vern Paxson * flexdef.h: Changed to use yy_flex_alloc() and friends 1993-06-12 09:43 Vern Paxson * main.c: Added -P flag 1993-06-12 09:42 Vern Paxson * scan.l: Fixed bug in lex % directives 1993-06-12 09:42 Vern Paxson * misc.c: Modified to use yy_flex_alloc() and friends 1993-06-12 09:42 Vern Paxson * sym.c: Modified to use yy_flex_alloc() 1993-06-12 09:41 Vern Paxson * flex.skl: Modified to use yy_flex_alloc() and friends Moved some globals earlier in the file to permit access in section 1 1993-06-12 09:40 Vern Paxson * dfa.c: Got rid of code needed for %t 1993-04-14 18:41 Vern Paxson * ccl.c, dfa.c, ecs.c, flex.skl, flexdef.h, gen.c, libmain.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: Reformatting. 1993-04-05 16:38 Vern Paxson * flex.1: Fixed bug in description of backtracking 1993-04-05 16:37 Vern Paxson * NEWS: 2.3.8 1993-04-05 16:37 Vern Paxson * main.c, flex.skl: %array support 1993-04-05 16:36 Vern Paxson * misc.c: Added non-STDC clause for '\a' 1993-04-05 16:35 Vern Paxson * scan.l: Fixed subtle problems regarding '*'s in comments %pointer/%array match entire lines 1993-04-05 16:35 Vern Paxson * gen.c: Added %array support 1993-02-06 16:08 Vern Paxson * README: Finally updated email addr 1993-02-06 16:08 Vern Paxson * flex.1: Mostly .LP -> .PP 1993-02-06 16:06 Vern Paxson * flexdef.h: [no log message] 1993-02-06 16:05 Vern Paxson * main.c, scan.l: A lot of tweaks ... 1993-02-06 16:04 Vern Paxson * ccl.c: reallocate_character_array -> reallocate_Character_array 1993-02-06 16:04 Vern Paxson * gen.c: Bug/lint fixes Modified to work with "action" array instead of temp file 1993-02-06 16:03 Vern Paxson * sym.c: Fixed bug in 8-bit hashing 1993-02-06 16:03 Vern Paxson * parse.y: numerous bug fixes extra formatting of error/warning messages added support of <*>, partial support for nested start conditions 1993-02-06 16:01 Vern Paxson * ecs.c: Remove %t cruft 1993-02-06 16:01 Vern Paxson * flex.skl: Beginning of %pointer/%array support 1993-02-06 16:00 Vern Paxson * dfa.c: Added keeping track of which rules are useful fixed a fencepost error in checking for scanners that require -8 1993-02-06 15:59 Vern Paxson * nfa.c: Added checking for whether rules are useful modified to work with internal "action" array 1993-02-06 15:58 Vern Paxson * misc.c: Added internal "action" array, internal skeleton, zero_out() in lieu of bzero 1993-02-06 15:58 Vern Paxson * tblcmp.c: Fixed a bunch of fencepost errors in increasing tables. 1993-02-06 15:57 Vern Paxson * yylex.c: -Wall fix 1991-03-28 07:01 Vern Paxson * gen.c: Fixed out-of-bounds access bug; patch #7 for release 2.3 1991-03-28 07:00 Vern Paxson * NEWS: Patch #7 for 2.3 1990-10-23 10:51 Vern Paxson * gen.c: fixed missing "rule_type" entry for end-of-buffer action 1990-08-29 08:11 Vern Paxson * gen.c: Fixed yymore() but in not resetting yy_more_len 1990-08-29 08:10 Vern Paxson * NEWS: Patch #6 for 2.3 1990-08-16 16:22 Vern Paxson * NEWS: Patch #5 1990-08-13 20:10 Vern Paxson * misc.c: fixed comment in myesc() 1990-08-13 20:07 Vern Paxson * NEWS: fixed date in patch #4 1990-08-13 20:05 Vern Paxson * NEWS: patch #4 1990-08-13 20:01 Vern Paxson * misc.c: fixed hexadecimal escapes; added is_hex_digit() 1990-08-03 10:12 Vern Paxson * NEWS: Patch #3 1990-08-03 10:09 Vern Paxson * flex.skl, flexdef.h: changed to include for __GNUC__ 1990-08-01 21:03 Vern Paxson * NEWS: 2.3 patch #2 1990-08-01 21:01 Vern Paxson * flex.skl: Another try at getting the malloc() definitions correct; this time for g++, too 1990-08-01 20:30 Vern Paxson * flex.skl, flexdef.h: fixed to declare malloc() and free() by hand if __GNUC__ 1990-07-28 12:53 Vern Paxson * flexdef.h: Changed to get malloc definition in identical fashion to that used by flex.skel 1990-06-27 20:43 Vern Paxson * NEWS: [no log message] 1990-06-27 20:40 Vern Paxson * flex.1: Fixed bug in mini-scanner examle Fixed bug in YY_INPUT redefinition yylineno defense reentrancy documentation Something else which I forget. 1990-06-27 19:47 Vern Paxson * COPYING, ccl.c, dfa.c, ecs.c, flexdef.h, gen.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: 4.4 BSD copyright 1990-05-26 13:31 Vern Paxson * README: Changed prolog to reflect 2.3 release. 1990-05-26 13:29 Vern Paxson * NEWS: pointed reader at Makefile instead of README for porting considerations added Makefile comments: support for SCO Unix; parameterization 1990-05-26 13:24 Vern Paxson * flex.skl: Added DONT_HAVE_STDLIB_H and declarations of malloc() 1990-05-26 13:16 Vern Paxson * NEWS: 2.3 changes 1990-05-26 13:02 Vern Paxson * flex.1: documentation on new features Comment regarding Ove's work ^foo|bar difference between flex / lex yyin initialization difference documented that yy_switch_to_buffer can be used in yywrap() documented that # comments are deprecated 1990-05-26 12:56 Vern Paxson * main.c: declared void functions as such added prototypes for forward references changed to check for error status when closing files 1990-05-26 12:54 Vern Paxson * yylex.c: Added macro definition for isascii() if not already present 1990-05-26 12:53 Vern Paxson * sym.c: declared void functions as such added prototypes for forward references changed to use format_pinpoint_message where appropriate 1990-05-26 12:53 Vern Paxson * scan.l: declared void functions as such changed to strip # comments, as documented moved #undef of yywrap() to before include of flexdef, so prototype doesn't get screwed up 1990-05-26 12:52 Vern Paxson * parse.y: introduced format_pinpoint_message() declared void functions as such changed lone <> to apply to all outstanding start conditions 1990-05-26 12:51 Vern Paxson * nfa.c, tblcmp.c: declared void functions as such added prototypes for forward references 1990-05-26 12:50 Vern Paxson * misc.c: declared void functions as such prototypes for forward references shuffled around some routines to make the order perhaps a little more logical changed memory references to use void* instead of char* 1990-05-26 12:50 Vern Paxson * libmain.c: Added declaration of arguments made yylex() a function 1990-05-26 12:48 Vern Paxson * gen.c: prototypes for forward references declared void functions as such yy_flex_debug testing of error on file closes casts to void for sprintf() and strcpy() 1990-05-26 12:42 Vern Paxson * flexdef.h: Added prototypes changed memory allocation routines to deal with void*'s instead of char*'s some rearranging for VMS 1990-05-26 12:40 Vern Paxson * flex.skl: Added YY_USER_INIT Added yy_new_buffer() alias for yy_create_buffer() fixed (hopefully) malloc declaration headaches 1990-05-26 12:40 Vern Paxson * ecs.c: declared void functions as such declared void functions as such 1990-05-26 12:39 Vern Paxson * dfa.c: prototypes for forward references declared void functions as such 1990-05-26 12:38 Vern Paxson * ccl.c: Declared void functions as such 1990-04-12 07:03 Vern Paxson * flex.skl: added fix for allowing yy_switch_to_buffer() in yywrap() 1990-04-03 10:09 Vern Paxson * NEWS: patch #3 - -I fix 1990-03-29 21:43 Vern Paxson * gen.c: Changed generation of archaic "continue" to "goto yy_find_action" 1990-03-27 07:06 Vern Paxson * NEWS: Patch #2 changes 1990-03-27 07:03 Vern Paxson * flex.skl: fixed fencepost errors with yy_buf_size and detecting NUL's 1990-03-26 11:41 Vern Paxson * NEWS: [no log message] 1990-03-26 11:38 Vern Paxson * flex.skl: g++ tweaks 1990-03-23 09:25 Vern Paxson * NEWS: Changes for Patch #1. 1990-03-23 09:20 Vern Paxson * flex.skl: fix for g++ 1990-03-23 09:18 Vern Paxson * flex.1: minor typos and formatting changes. Removed BITNET address. 1990-03-23 09:16 Vern Paxson * README: nuked BITNET address. 1990-03-20 09:54 Vern Paxson * README: 2.2 README 1990-03-20 09:33 Vern Paxson * NEWS: USG alias. 1990-03-20 09:32 Vern Paxson * flexdef.h: Added USG alias for SYS_V 1990-03-20 09:25 Vern Paxson * flex.1: [no log message] 1990-03-20 09:17 Vern Paxson * flex.1: Added Earle Horton for 8-bit chars. 1990-03-20 08:52 Vern Paxson * flex.skl: Tweaks for lint and C++ 1990-03-20 08:52 Vern Paxson * flex.1: -ll => -lfl 1990-03-20 08:52 Vern Paxson * NEWS: 2.2 changes 1990-03-20 08:17 Vern Paxson * flex.skl: Changed to use YY_BUFFER_STATE everywhere. 1990-03-20 08:16 Vern Paxson * flex.1: [no log message] 1990-03-20 08:16 Vern Paxson * dfa.c: "associated rules" changed to "associated rule line numbers". 1990-03-20 08:15 Vern Paxson * scan.l: cast added to malloc() call to keep lint happy. 1990-03-20 06:36 Vern Paxson * yylex.c: Fixed handling of premature EOF's. 1990-03-20 06:36 Vern Paxson * sym.c: Removed declaration of malloc() 1990-03-20 06:36 Vern Paxson * scan.l: Removed malloc() declaration. Added detection of EOF in actions. 1990-03-20 06:35 Vern Paxson * parse.y: Rules rewritten so '/' and '$' parsed correctly. 1990-03-20 06:34 Vern Paxson * nfa.c: Corrected line numbers for continued actions. 1990-03-20 06:33 Vern Paxson * misc.c: Removed declarations of malloc() and realloc(). 1990-03-20 06:32 Vern Paxson * main.c: Summary of generation flags. Minor -8 tweaks. 1990-03-20 06:32 Vern Paxson * gen.c: full support for -d 1990-03-20 06:31 Vern Paxson * flexdef.h: defines for malloc() and realloc() conditional defines for abs(), min(), and max() 1990-03-20 06:31 Vern Paxson * flex.skl: Many multiple-buffer additions. 1990-03-20 06:30 Vern Paxson * dfa.c: -8 tweaks. 1990-03-19 11:34 Vern Paxson * flex.skl: Proto hacks. NUL hacks. Debugging hacks. C++ hacks. 1990-03-16 12:40 Vern Paxson * scan.l: RCS won't let me unedit! gets "Missing access list" 1990-03-16 11:55 Vern Paxson * ecs.c: Many hacks for NUL's. Hope they're right. 1990-03-16 11:53 Vern Paxson * tblcmp.c: Minor tweaks for NUL's. 1990-03-16 11:53 Vern Paxson * scan.l: no changes -- had checked out for testing smaller read buffer sizes 1990-03-16 11:52 Vern Paxson * parse.y: Nuked some extraneous whitespace. NUL's hacks. 1990-03-16 11:52 Vern Paxson * nfa.c: hack for NUL's. 1990-03-16 11:51 Vern Paxson * misc.c: Hack to cshell for NUL's. 1990-03-16 11:51 Vern Paxson * main.c: NUL's. -8 1990-03-16 11:51 Vern Paxson * gen.c: NUL's. 1990-03-16 11:50 Vern Paxson * flexdef.h: NUL's. 8-bit chars. 1990-03-16 11:50 Vern Paxson * flex.skl: NUL's; indenting 1990-03-16 11:50 Vern Paxson * dfa.c: more thrashing around with NUL's 1990-03-16 11:49 Vern Paxson * ccl.c: removed NUL hack 1990-03-14 08:41 Vern Paxson * yylex.c: Added <> token 1990-03-14 08:39 Vern Paxson * ecs.c, flexdef.h: Tweaks for NUL chars. 1990-03-14 08:39 Vern Paxson * dfa.c, gen.c, main.c, misc.c, parse.y, scan.l, tblcmp.c: Tweaks for NUL chars. 1990-03-14 08:39 Vern Paxson * ccl.c: Tweaks for handling NUL's. 1990-02-28 13:10 Vern Paxson * flex.1: [no log message] 1990-02-28 11:59 Vern Paxson * flex.1: Changed .so options.man to inlined version since flex.1 will have a different (shorter) options description. 1990-02-28 10:09 Vern Paxson * flex.1: [no log message] 1990-02-28 06:10 Vern Paxson * flex.1: [no log message] 1990-02-26 12:59 Vern Paxson * flex.1: [no log message] 1990-02-25 14:47 Vern Paxson * flex.1: [no log message] 1990-02-24 20:28 Vern Paxson * flex.1: Initial revision 1990-01-16 06:17 Vern Paxson * gen.c: Restored EOB accepting list for REJECT. Second try at 2.2 Release. 1990-01-16 05:39 Vern Paxson * misc.c: Added missing ',' in error message. 2.2 Release, second try. 1990-01-16 05:29 Vern Paxson * yylex.c: 8-bit char support. 2.2 Release. 1990-01-15 13:02 Vern Paxson * scan.l: 8-bit char support. Arbitrary indented/%{} code allowed in section 2. \x escapes. %t support. Minor POSIX-compliance changes. BEGIN(0) -> BEGIN(INITIAL). yywrap() and set_input_file() for multiple input files. C_COMMENT_2 removed. 2.2 Release. 1990-01-15 13:00 Vern Paxson * flexdef.h: 8-bit char support. SYS_V / Atari portability fixes. Removed generated array names. CSIZE now only defined if not already defined. Added "csize" global. Added "input_files", "num_input_files", and "program_name" globals. %t support globals. 2.2 Release. 1990-01-15 12:58 Vern Paxson * gen.c: Removed unused EOB_accepting_list array. 2.2 Release. 1990-01-15 12:53 Vern Paxson * gen.c: Bug in -F table generation fixed. 8-bit char support. Hardwired generated array names. "const"'s added to generated code. Fixed yymore() / trailing context bug. 1990-01-15 12:53 Vern Paxson * parse.y: 8-bit char support. Error-message pinpointing. 2.2 Release. 1990-01-15 12:49 Vern Paxson * main.c: Unsigned char support. %t support. Removed hard-wiring of program name "flex". -c changed to -C; -c now deprecated. -n added. :-( Multiple input files. SYSV tmpnam() use. Removed old #define's from output. Identified error messages w/ filename and line. 2.2 Release. 1990-01-15 12:49 Vern Paxson * sym.c: Unsigned char support. 2.2 Release. 1990-01-15 12:48 Vern Paxson * nfa.c: Removed redundant test. 2.2 Release. 1990-01-15 12:48 Vern Paxson * misc.c: Unsigned char support. \x support. 2.2 Release. 1990-01-15 12:47 Vern Paxson * tblcmp.c: 8-bit char support. 2.2 Release. 1990-01-15 12:44 Vern Paxson * flex.skl: C++ support. Turbo-C support. 8-bit char support. yyleng is an int. unput() callable in section 3. yymore hacks. yyrestart() no longer closes stdin. 2.2 Release. 1990-01-15 12:41 Vern Paxson * ecs.c: %t support. 8-bit/unsigned char support. 2.2 Release. 1990-01-15 12:40 Vern Paxson * dfa.c: %t hacks. minor cosmetics. 2.2 Relase. 1990-01-15 12:37 Vern Paxson * ccl.c: Changes for unsigned/8-bit chars. 2.2 Release. 1990-01-10 10:10 Vern Paxson * libmain.c: Initial revision 1989-12-30 10:34 Vern Paxson * nfa.c: removed gratuitous trailing context code 1989-12-30 10:34 Vern Paxson * main.c: made -c case-sensitive 1989-12-30 10:33 Vern Paxson * flex.skl: unput() bug fix 1989-12-30 10:32 Vern Paxson * README: [no log message] 1989-06-20 13:24 Vern Paxson * scan.l: changed to not use '|' and trailing context combo so users can test using -F ... 1989-06-20 13:23 Vern Paxson * parse.y: made trailing context combined with '|' warning always come out 1989-06-20 13:12 Vern Paxson * README: [no log message] 1989-06-20 12:47 Vern Paxson * COPYING: Initial revision 1989-06-20 12:36 Vern Paxson * main.c, README, NEWS: [no log message] 1989-06-20 12:27 Vern Paxson * README: [no log message] 1989-06-20 12:02 Vern Paxson * NEWS, README, main.c: [no log message] 1989-06-20 11:49 Vern Paxson * ccl.c, dfa.c, ecs.c, flex.skl, flexdef.h, gen.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: Beta release 1989-06-20 11:48 Vern Paxson * NEWS, README, main.c: 2.1 beta release 1989-06-20 11:44 Vern Paxson * main.c, NEWS: [no log message] 1989-06-20 11:38 Vern Paxson * flex.skl, flexdef.h, gen.c, misc.c, nfa.c, parse.y, scan.l, sym.c: 2.0.1 beta 1989-06-20 11:37 Vern Paxson * README: [no log message] 1989-05-25 08:21 Vern Paxson * gen.c: fixsed bug with -I and backtracking 1989-05-25 07:49 Vern Paxson * flex.skl: Cleaned up forward declarations of yyunput() and input() 1989-05-25 07:48 Vern Paxson * parse.y: Split copyright string. 1989-05-25 07:48 Vern Paxson * nfa.c: Split copyright string. Added check for empty machine in dupmachine(). 1989-05-25 07:46 Vern Paxson * ccl.c, main.c, misc.c, scan.l, ecs.c, sym.c, yylex.c, dfa.c, tblcmp.c, gen.c: Split copyright string into two to avoid tempting fate with \ sequences ... 1989-05-24 08:48 Vern Paxson * README: updated for 2nd release Beta test added RCS header 1989-05-24 07:48 Vern Paxson * flexdef.h: removed static char copyright 1989-05-24 07:45 Vern Paxson * flexdef.h: Added BSD copyright notice. Removed FAST_SKELETON_FILE. 1989-05-24 07:44 Vern Paxson * main.c: added BSD copyright notice. Removed references to FAST_SKELETON_FILE. 1989-05-24 07:44 Vern Paxson * nfa.c, gen.c, ecs.c: Added BSD copyright notice 1989-05-24 07:42 Vern Paxson * ccl.c, dfa.c, misc.c, yylex.c, sym.c, tblcmp.c, scan.l, parse.y: added BSD copyright notice 1989-05-23 20:32 Vern Paxson * flex.skl: Initial revision 1989-05-19 10:13 Vern Paxson * yylex.c: renamed accnum to num_rules 1989-05-19 10:12 Vern Paxson * tblcmp.c: moved table generation code to gen.c moved ntod() to dfa.c 1989-05-19 10:11 Vern Paxson * sym.c: the most piddling format change imaginable 1989-05-19 10:10 Vern Paxson * scan.l: changed to look for yymore, REJECT, %used and %unused removed gross magic for dealing with section 3 1989-05-19 10:08 Vern Paxson * nfa.c, parse.y: changes for variable trailing context 1989-05-19 10:07 Vern Paxson * misc.c: added all_lower() and all_upper() 1989-05-19 10:07 Vern Paxson * main.c: added checking for features being Really used backtracking, performance reports misc. cleanup 1989-05-19 10:06 Vern Paxson * gen.c: major overhaul for merged skeleton 1989-05-19 10:05 Vern Paxson * flexdef.h: a zillion changes/additions/cleanups 1989-05-19 10:01 Vern Paxson * dfa.c: added backtrack report added checking for dangerous trailing context considerable minor cleanup 1989-05-19 09:56 Vern Paxson * ccl.c: list_character_set() modified to take a FILE to write to ... 1989-05-19 09:56 Vern Paxson * README: updated for beta release 1988-11-25 16:30 Vern Paxson * main.c: added -p flag generation of #define's for scanner 1988-11-25 16:28 Vern Paxson * flexdef.h: Added END_OF_BUFFER_ACTION and bol_needed 1988-11-25 16:27 Vern Paxson * dfa.c: added ntod() 1988-05-09 13:01 Vern Paxson * gen.c: Initial revision 1988-05-08 16:13 Vern Paxson * yylex.c: RCS header changed display style of non-printings from ^x to \0xx 1988-05-08 16:08 Vern Paxson * tblcmp.c: RCS header MAX_XTIONS_FOR_FULL_INTERIOR_FIT -> MAX_XTIONS_FULL_INTERIOR_FIT made back-tracking accepting number be one greater than the last legit accepting number, instead of 0. This way, end-of-buffer can take 0 and no negative accepting numbers are needed. added genftbl() changed last ftl references to C added check for UNSIGNED_CHAR's added back-track logic to make_tables() added checking and report for backtracking fixed fence-post error with onesp stack pointer 1988-05-08 16:08 Vern Paxson * sym.c: RCS header changed "entry" to "sym_entry" to avoid conflict with old keyword 1988-05-08 16:07 Vern Paxson * scan.l: RCS header removed \^ from ESCSEQ 1988-05-08 16:06 Vern Paxson * parse.y: RCS header bug fix due to missing default rule, could have to backtrack when backtrack variables haven't been set up 1988-05-08 16:05 Vern Paxson * nfa.c: RCS ident yy_cp, yy_bp support name shortenings assoc_rule support 1988-05-08 16:04 Vern Paxson * misc.c: RCS header check before malloc()'ing for 16 bit overflow MS_DOS, VMS ifdef's removed commented-out \^ code removed FTLSOURCE code added readable_form() 1988-05-08 16:03 Vern Paxson * main.c: Added RCS header removed revision history misc additions and fixes to globals VMS ifdef's backtracking statistics -p flag name shortenings 1988-05-08 15:59 Vern Paxson * flexdef.h: removed revision history added RCS header added VMS, MS_DOS ifdef's removed DEFAULT_ACTION, changed END_OF_BUFFER_ACTION shortened MAX_XTIONS_FOR_FULL_INTERIOR_FIT to MAX_XTIONS_FULL_INTERIOR_FIT added MAX_ASSOC_RULES added performance_report, assoc_rule gloabls added num_backtracking gloabl shortened allocate_integer_pointer_array, reallocate_integer_pointer_array 1988-05-08 15:53 Vern Paxson * ecs.c: added RCS id added PROCFLG to avoid assumption of signed char's 1988-05-08 15:51 Vern Paxson * dfa.c: added RCS id added check_for_backtracking() added dump_associated_rules() added dump_transitions() shortened reallocate_integer_pointer_array to reallocate_int_ptr_array removed some dfaacc_{state,set} abuses 1988-05-08 15:51 Vern Paxson * ccl.c: Added list_character_set() 1988-05-06 20:06 Vern Paxson * ccl.c: added RCS id 1988-04-10 17:57 Vern Paxson * README: minor tweaks 1988-04-10 17:42 Vern Paxson * README: forgot sh flex.shar 1988-04-10 17:27 Vern Paxson * README: final tweaking 1988-04-10 17:27 Vern Paxson * tblcmp.c: removed minor lint fluff 1988-04-10 17:27 Vern Paxson * NEWS: [no log message] 1988-04-10 16:55 Vern Paxson * NEWS, README: Initial revision 1988-04-10 16:54 Vern Paxson * yylex.c: added identifying comment. changed to include "parse.h" instead of "y.tab.h" 1988-04-10 16:53 Vern Paxson * tblcmp.c: Changed name from flexcmp.c -> tblcmp.c fixed misc. typos made generating ec tables be a routine 1988-04-10 16:52 Vern Paxson * sym.c: changed name from flexsym.c -> sym.c revamped calling sequences, etc., for extended table struct definition which now has both char * and int fields. 1988-04-10 16:51 Vern Paxson * scan.l: Changed name from flexscan.l -> scan.l fixed bug in added block comments between rules. 1988-04-10 16:50 Vern Paxson * parse.y: changed name from flexparse.y -> parse.y added start condition "INITIAL" made a{3} have "variable length" 1988-04-10 16:48 Vern Paxson * nfa.c: changed name from flexnfa.c -> nfa.c corrected some typos. 1988-04-10 16:48 Vern Paxson * misc.c: changed name from flexmisc.c -> misc.c 1988-04-10 16:46 Vern Paxson * main.c: fixed bug causing core dumps if skeleton files could not be opened. Added -cF. Added fullspd to be equivalent to fulltbl for which options is cannot be mixed with. 1988-04-10 16:45 Vern Paxson * flexdef.h: fixed typos, enhanced symbol table definition. 1988-04-10 16:42 Vern Paxson * ecs.c: changed name from flexecs.c to ecs.c 1988-04-10 16:42 Vern Paxson * dfa.c: changed name from flexdfa.c to dfa.c 1988-04-10 16:42 Vern Paxson * ccl.c: changed name from flexccl.c -> ccl.c 1988-02-13 06:00 Vern Paxson * ccl.c, tblcmp.c, dfa.c, ecs.c, main.c, misc.c, nfa.c, sym.c, yylex.c, flexdef.h, parse.y, scan.l: Beta Release. 1987-11-08 17:24 Vern Paxson * ccl.c, tblcmp.c, flexdef.h, dfa.c, ecs.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, yylex.c: Initial revision flex-2.5.35/INSTALL0000644000175000017500000002243210761102722010517 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not support the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Here is a another example: /bin/bash ./configure CONFIG_SHELL=/bin/bash Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent configuration-related scripts to be executed by `/bin/bash'. `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. flex-2.5.35/NEWS0000664000175000017500000003443510761102647010203 00000000000000This is the file NEWS for the flex package. It records user -visible changes between releases of flex. See the file COPYING for copying conditions. * version 2.5.35 released 2008-02-26 ** fixed bug that prevented flex from accepting certain comments in the scanner file (resolves bugs #1849809 and #1849805) ** fix bug that prevented headers for all functions from being generated (resolves bug #1628314) ** change yy_size_t to be size_t (resolves bug #1849812) ** new de, nl, pl, pt_br, vi translations from the translation project * version 2.5.34 released 2007-12-12 ** introduce yylex_init_extra; see the manual for details ** introduce %option extra-type="your_type *" (resolves bug #1744505) ** The flex program now parses multiple short concatenated options (resolves bug #1619820). Thanks to Petr Machata of Red Hat on this issue. ** better checking after yyalloc/yyrealloc (resolves bug #1595967) ** flex now provides for a libfl_pic.a compiled with position independent code. Particularly useful when including a flex scanner in a shared library and with more recent versions of gcc. Thanks to the Debian project for the idea. ** SourceForge feature request #1658379: Expose YY_BUF_SIZE in the header file. ** flex better escapes filenames with special characters in them (resolves bug #1623600) ** a memory leak was plugged(resolves bug #1601111) ** pattern language expanded; see the manual for details on the below highlights *** pattern options added to specify patterns as case-insensitive or case-sensitive *** pattern options to specify whether the "." character should match the newline character *** pattern options added to allow ignoring of whitespace in patterns *** POSIX character classes may be negated in patterns *** patterns may now use set difference, union operators ** the manual now contains an appendix listing various common patterns which may be useful when writing scanners ** some memory leaks were removed from the C++ scanner (but the C++ scanner is still experimental and may change radically without notice) ** c++ scanners can now use yywrap ** added new unit test for c++ and yywrap ** portability fixes to some unit tests ** flex man page and flex manual in pdf now distributed in the flex distribution ** new ca, vi, ga, nl translations from the translation project ** flex no longer comes with an rpm spec file ** flex development now happens with automake 1.9.6 * version 2.5.33 released 2006-2-20 ** all flex resources are now to be found from the website at http://flex.sourceforge.net/ ** there was no release 2.5.32 published ** numerous bug and security fixes ** new nl, vi, sv, ro, po, ga, ca, fr, tr translations from the translation project ** upgrade to use gettext 0.12 (this now makes the "pdf" and "ps" targets in the build system able to be run successfully) * version 2.5.31 released 2003-4-1 ** remove --enable-maintainer-mode configure option; none of the Makefiles were using it and it can be unduely confusing * version 2.5.30 released 2003-4-1 ** yylineno is per-buffer in reentrant scanners ** added %top directive for placing code at the top of the generated scanner; see manual for details ** flex now uses m4 to generate scanners; while this means that scanners are more readable, it means that flex requires m4 to be installed; see manual for details * version 2.5.29 released 2003-3-5 ** Automatic stack management for multiple input buffers in C and C++ scanners ** moved the flex documentation to a new doc/ subdirectory ** cleanups to the yy namespace * version 2.5.28 released 2003-2-12 ** flex is now hosted at sourceforge ** Fixed trailing slash bug in YY_INPUT macro def ** Flex now warns if always-interactive is specified with fast or full * version 2.5.27 released 2003-1-21 ** flex now works with recent bison versions ** new pt_br translation from the translation project * version 2.5.26 released 2003-1-14 ** Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols ** yyleng has proper declarations now; this caused flex to generate unusable scanners for some programs ** the flex distribution now includes a spec file suitable for use with rpm ** some more c++ fixes ** new es translation from the translation project ** slight tweeks to the flex_int*_t types ** flex now warns about pattern ranges that might be ambiguous when generating a case-insensitive scanner * version 2.5.25 released 2002-12-2 ** flex now uses flex_int*_t types. For C99 systems, they are just the int*_t types; for non-C99 systems, we just make some typedefs ** new pt_br translation from the translation project * version 2.5.24 released 2002-11-25 * more portability fixes ** the manual continues to be updated and edited, but it's still got a ways to go ** it is possible to have multiple c++ scanners in the same program again ** new turkish translation from the translation project * version 2.5.23 released 2002-10-21 ** more portability fixes ** the manual includes a title page and a table-of-contents when printed ** the test suite can be run with "make check" from the top-level directory ** configure now accepts the --enable-maintainer-mode option ** gettext functionality is now only available externally ** the constant FLEX_BETA is defined if flex is a beta release ** the script create-test was not included in the distribution and it should have been * version 2.5.22 released 2002-10-10 ** more portability fixes around how we get ahold of the integral types; there is a constant FLEX_NEED_INTEGRAL_TYPE_DEFINITIONS which you should define if you don't have the header file (after you complain to your C vendor for not providing a reasonable C environment) ** more test suite cleanups; in particular, the test suite should run correctly when build from a different directory ** upgraded automake to 1.7 and consequently autoconf to 2.54; this means, among other things, that there is some support for formatting the manual in postscript and pdf in the distributed Makefile.in (and therefore in the Makefile built by configure) ** the flex.1 manpage is generated by help2man; (this has been true for quite a while but was not listed here) ** flex now includes three defined constants to indicate which version of flex generated a scanner (YY_FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION) ** flex tries its best to output only the relevant portions of the skeleton when generating a scanner, thus avoiding as much conditional compilation as possible * version 2.5.21 released 2002-9-17 ** one of the tests in the test suite broke the dist target * version 2.5.20 released 2002-9-16 ** A flex scanner has the ability to save the DFA tables to a file, and load them at runtime when needed; see the manual for details ** Added %option bison-bridge (--bison-bridge) ** Removed %option reentrant-bison/--reentrant-bison/-Rb ** yylineno is present in all scanners; Modified nasty performance penalty warning with yylineno in documentation ** test-table-opts is now run last in the test suite because it's so fat ** flex can, to some extent, diagnose where internal problems occur ** new translations from the translation project: fr, ca, de, ru, sv **Flex generates C99 defs now; see YY_TRADITIONAL_FUNC_DEFS in the manual if that's not a good thing for you * version 2.5.19 released 2002-9-5 ** prevent segfault on input lines which are longer than the allocated space (problem report from Manoj Srivastava ) ** Changed option 'header' to 'header-file' * version 2.5.18 released 2002-9-4 ** portability fixes for integer constants and in the way the test suite reports its results ** the test for bison was reporting bison missing when it was, in fact, found ** if we don't find GNU indent, we're more careful when we're not finding it * version 2.5.17 released 2002-8-29 ** more portability fixes ** updated config.sub and config.guess ** flex is indented by GNU indent (this was done earlier but not explicitly documented) * version 2.5.16 released 2002-8-28 ** c++ scanners compile again ** there is now an indent target in the top-level Makefile; configure checks for GNU indent which is required for proper operation of the indent target ** some more portability fixes were made ** %options and invocation sections of manual merged ** a c++ test was added to the test suite ** we're trying to clean up more files in the test suite's make clean targets * version 2.5.15 released 2002-8-21 ** reject-state buffer is now dynamically allocated and REJECT buffer variables are reentrant-safe ** manual now discusses memory usage ** skeleton now processed by m4 before mkskel.sh; (this only matters if you want to change the skeleton or if you're doing flex development) ** zh_cn translation added from translation project ** a bug that caused a segfault has now been fixed ** the test suite now respects the usual CFLAGS, etc. variables ** removed some warnings which some tests trigggered with the -s option ** the flex-generated header file now tries to be smarter about conditionally including start conditions ** tables code omitted from generated scanner when not used * version 2.5.14 released 2002-8-15 ** the tests using the reentrant c scanner as c++ were reworked slightly to be sure that the c++ was enforced ** de translation now included in the distribution ** various portability fixes regarding nls support, c++ include headers, etc. * version 2.5.13 released 2002-8-15 ** the header file output with %option header is now much smaller ** Fixed type mismatch in printf in scanner skeleton ** yylex_init now reports errors * version 2.5.12 released 2002-8-8 ** updated gettext support to 0.11.5 ** new fr translation from the translation project ** bison is no longer needed to build flex; If you are building flex from a release (i.e., not from a cvs snapshot), then you don't need to have a pre-built lex around either (unless you modify scan.l, of course); (This has been true for some time, but was not mentioned here.) * version 2.5.11 released 2002-7-31 ** Fixed bug where yyless did not consider yylineno ** the yylineno performance hit is now gone ** fixed some typos in the manual and we now include texinfo.tex in the distribution ** traditional prototypes output for C scanners, controlled by a preprocessor symbol; see documentation for details * version 2.5.10 released 2002-7-24 ** yy_globals renamed to yyscanner and yy_globals_t renamed to yy_guts_t ** added dist-bzip2 option to Makefile.am so we now produce a bzip2'd archive in addition to the standard gzip archive * version 2.5.9 ** new tests in test suite: test-mem-{nr,r}, test-posix, test-posixly-correct, test-debug-{nr,r} ** made changes to work with gcc-3.2 development code ** ability to choose which memory functions are used in flex ** new yylex_destroy() function for the non-reentrant scanner ** new handling of POSIXLY_CORRECT environment variable ** the test suite now has its copyrights explicitly described ** new ca, de, fr, ru, sv, tr translations * version 2.5.8 ** a new --posix option generates scanners with posix-style abc{1,3} compatible parsing, see manual for the screwy details * version 2.5.7 ** configure.in now includes a call to AC_PREREQ to enforce the requirement for autoconf at least 2.50 (This only effects you if you're doing flex development.) ** configure now uses autoconf's versioning information and configure --help reports the bug-reporting address for flex ** test suite now only reports success versus failure; reporting skipped is problematic under the current setup ** compilation with --disable-nls now works ** flex can now be built in a separate directory * version 2.5.6 ** gettext support added (from gettext 0.11) *** translations for ca, da, de, es, fr, ko, ru, sv, tr included ** distribution now built under automake 1.6 and autoconf 2.53 ** command-line option parsing happens differently now: *** Added long option parsing *** Options -n and -c, previously deprecated, now simply do nothing *** Options are now parsed left to right ** added a number of new options *** All positive %options are now accessible from the command line *** Added option -D, to define a preprocessor symbol *** Added option --header=FILE to specify a C .h file to generate *** added option --yywrap to call yywrap on EOF *** added option --yylineno to track line count in yylineno *** --yyclass=NAME name of C++ class when generating c++ scanners *** for long option names which are associated with existing short options, see accompanying documentation *** new %option nounistd or command-line --nounistd added to prevent flex from generating #include on systems that don't have that include file ** Support for reentrant C scanners has been added *** Updated the manual with the new reentrant API *** Two new options %option reentrant (-R) and %option reentrant-bison (-Rb) *** All globals optionally placed into struct yyglobals_t *** All access to globals replaced by macro invocations *** All functions optionally take one additional argument, yy_globals *** New style for invoking reentrant scanner: yylex_init(void** scanner ); yylex( scanner ); yylex_destroy( scanner ); *** Added get/set functions for members of struct yy_globals_t e.g., yyget_text, yyget_leng, etc *** Prefix substitution added for new functions *** Macro shortcuts to the lengthy get/set functions provided for use in actions, e.g., yytext, yyleng, etc *** Arbitrary, user-defined data, "yyextra", may be added to scanner ** %option nomain no longer implies %option yywrap But the inverse is still true ** Developer test suite added *** TESTS/ directory has been added. Users can 'make test' in the TESTS directory to execute the test suite ** Support for bison variables yylval and yylloc added ** automake support for the build process ** manual is now in texinfo/info format *** flex.1 removed from distribution ** flex no longer generates C-language scanners with C++-style comments ** flex now generates scanners in c++ which are compatible with recent c++ compilers ** flex input scanner now recognizes '\r' as an EOL character See the file ONEWS for changes in earlier releases. Local Variables: mode: text mode: outline-minor end: flex-2.5.35/README-alpha0000664000175000017500000000013207571147054011440 00000000000000Beta versions and cvs snapshots of flex can be had at ftp://ftp.uncg.edu/people/wlestes/. flex-2.5.35/THANKS0000664000175000017500000000610707327625457010427 00000000000000Vern had the following things to say: Many thanks to the 2.5 beta-testers for finding bugs and helping test and increase portability: Stan Adermann, Scott David Daniels, Charles Elliott, Joe Gayda, Chris Meier, James Nordby, Terrence O'Kane, Karsten Pahnke, Francois Pinard, Pat Rankin, Andreas Scherer, Marc Wiese, Nathan Zelle. Thanks to the many flex beta-testers, feedbackers, and contributors, especially Francois Pinard, Casey Leedom, Robert Abramovitz, Stan Adermann, Terry Allen, David Barker-Plummer, John Basrai, Neal Becker, Nelson H.F. Beebe, benson@odi.com, Karl Berry, Peter A. Bigot, Simon Blanchard, Keith Bostic, Frederic Brehm, Ian Brockbank, Kin Cho, Nick Christopher, Brian Clapper, J.T. Conklin, Jason Coughlin, Bill Cox, Nick Cropper, Dave Curtis, Scott David Daniels, Chris G. Demetriou, Theo Deraadt, Mike Donahue, Chuck Doucette, Tom Epperly, Leo Eskin, Chris Faylor, Chris Flatters, Jon Forrest, Jeffrey Friedl, Joe Gayda, Kaveh R. Ghazi, Wolfgang Glunz, Eric Goldman, Christopher M. Gould, Ulrich Grepel, Peer Griebel, Jan Hajic, Charles Hemphill, NORO Hideo, Jarkko Hietaniemi, Scott Hofmann, Jeff Honig, Dana Hudes, Eric Hughes, John Interrante, Ceriel Jacobs, Michal Jaegermann, Sakari Jalovaara, Jeffrey R. Jones, Henry Juengst, Klaus Kaempf, Jonathan I. Kamens, Terrence O Kane, Amir Katz, ken@ken.hilco.com, Kevin B. Kenny, Steve Kirsch, Winfried Koenig, Marq Kole, Ronald Lamprecht, Greg Lee, Rohan Lenard, Craig Leres, John Levine, Steve Liddle, David Loffredo, Mike Long, Mohamed el Lozy, Brian Madsen, Malte, Joe Marshall, Bengt Martensson, Chris Metcalf, Luke Mewburn, Jim Meyering, R. Alexander Milowski, Erik Naggum, G.T. Nicol, Landon Noll, James Nordby, Marc Nozell, Richard Ohnemus, Karsten Pahnke, Sven Panne, Roland Pesch, Walter Pelissero, Gaumond Pierre, Esmond Pitt, Jef Poskanzer, Joe Rahmeh, Jarmo Raiha, Frederic Raimbault, Pat Rankin, Rick Richardson, Kevin Rodgers, Kai Uwe Rommel, Jim Roskind, Alberto Santini, Andreas Scherer, Darrell Schiebel, Raf Schietekat, Doug Schmidt, Philippe Schnoebelen, Andreas Schwab, Larry Schwimmer, Alex Siegel, Eckehard Stolz, Jan-Erik Strvmquist, Mike Stump, Paul Stuart, Dave Tallman, Ian Lance Taylor, Chris Thewalt, Richard M. Timoney, Jodi Tsai, Paul Tuinenga, Gary Weik, Frank Whaley, Gerhard Wilhelms, Kent Williams, Ken Yap, Ron Zellar, Nathan Zelle, David Zuhn, and those whose names have slipped my marginal mail-archiving skills but whose contributions are appreciated all the same. Thanks to Keith Bostic, Jon Forrest, Noah Friedman, John Gilmore, Craig Leres, John Levine, Bob Mulcahy, G.T. Nicol, Francois Pinard, Rich Salz, and Richard Stallman for help with various distribution headaches. Thanks to Esmond Pitt and Earle Horton for 8-bit character support; to Benson Margulies and Fred Burke for C++ support; to Kent Williams and Tom Epperly for C++ class support; to Ove Ewerlid for support of NUL's; and to Eric Hughes for support of multiple buffers. This work was primarily done when I was with the Real Time Systems Group at the Lawrence Berkeley Laboratory in Berkeley, CA. Many thanks to all there for the support I received. flex-2.5.35/TODO0000664000175000017500000000460307652310074010166 00000000000000* sourceforge migration ** Move CVS to sourceforge (estes) %% ** test the mailing lists (estes) %% ** inform GNU folks about changeover (estes) %% * resolve the items in the to.do directory ** expand the above into individual requests and handle those requests ** transfer to.do/Wishlist contents to top level TODO file * the manual: ** do an end-to-end proofread of the manual (this is under way, but is going slowly) ** pretty up the dvi output; overflows, etc. ** faq *** clean up the faqs section. The information is good; the texinfo could use some touching up. *** index the faq entries *** mention that it's possible to use a variable to scan matching brackets, nested comments etc. *** include something about lexing/parsing fortran ** create a section on flex design, features, etc. * address lex-replacement: document or provide an option through configure for creating lex and libl.a files (but remember this has posix implications) * getext ** make sure all flex modules use gettext translation facilities *subdirectories ** in examples/manual, integrate the Makefile.examples into the Makefile.am * test suite ** integrate the test suite into automake's framework (note that the test suite can be run from the top level directory with "make check". Still, we want to get it completely under automake's control.) ** make test suite more complete * generic coding ** move as much skeleton code as possible out of gen.c and into flex.skl ** figure out whether we want to add the capability to have auto-generated backout rules ** token-type and token buffer support ** check if we still need to #undef macros at the end of a header ** merge yylineno into support for location tracking ** bug where yylineno is not decremented on REJECT ** bug where yylineno is counted in trailing context * C++ ** have a separate skeleton for c++ ** c++ is getting so broken and different from C, that we need to reevaluate the usefuleness of c++ in flex ** revisit the C++ API. We get requests to make it more complete. * distribution ** use bootstrapper ** remove texinfo.tex from the cvs tree; it only needs to be present on the system where the flex release is put together ** use clcommit to manage ChangeLog Legend: *, **, ***: outline depth %% at end of item: must be adressed before next major release Local Variables: Mode: text mode: outline-minor End: flex-2.5.35/compile0000755000175000017500000000717310761102722011051 00000000000000#! /bin/sh # Wrapper for compilers which do not understand `-c -o'. scriptversion=2005-05-14.22 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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. # This file is maintained in Automake, please report # bugs to or send patches to # . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand `-c -o'. Remove `-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file `INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; esac ofile= cfile= eat= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as `compile cc -o foo foo.c'. # So we strip `-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no `-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # `.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` # Create the lock directory. # Note: use `[/.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # 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: flex-2.5.35/config.guess0000755000175000017500000012475310761102722012017 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. timestamp='2005-08-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # 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 Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerppc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; x86:Interix*:[34]*) echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in *86) UNAME_PROCESSOR=i686 ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: flex-2.5.35/config.rpath0000775000175000017500000003521710761102703012004 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2003 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 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. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $CC in icc|ecc) wl='-Wl,' ;; ccc) wl='-Wl,' ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris* | sysv5*) if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi4*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then hardcode_direct=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10* | hpux11*) if test "$with_gnu_ld" = no; then case "$host_cpu" in hppa*64*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=no ;; ia64*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; *) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; sco3.2v5*) ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4.2uw2*) hardcode_direct=yes hardcode_minus_L=no ;; sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) ;; sysv5*) hardcode_libdir_flag_spec= ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi4*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; freebsd*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case "$host_cpu" in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; netbsd*) ;; newsos6) ;; nto-qnx) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; sco3.2v5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) ;; sysv4*MP*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | ms1 \ | msp430 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m32c) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | ms1-* \ | msp430-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; m32c-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: flex-2.5.35/depcomp0000755000175000017500000003710010761102722011041 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2005-07-09.11 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # 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., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, 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 . 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'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; 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 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} 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 # With Tru64 cc, shared objects can also be used to make a # static library. This mecanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done 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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: flex-2.5.35/install-sh0000755000175000017500000002202110761102714011465 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2005-05-14.22 # 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}" chmodcmd="$chmodprog 0755" chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --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 -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; *) # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. test -n "$dir_arg$dstarg" && 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 mkdircmd=: chmodcmd= else mkdircmd=$mkdirprog fi else # Waiting for this to be detected by the "$cpprog $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 if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dst=$dst/`basename "$src"` fi fi # This sed command emulates the dirname command. dstdir=`echo "$dst" | sed -e 's,/*$,,;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 x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` shift IFS=$oIFS pathcomp= while test $# -ne 0 ; do pathcomp=$pathcomp$1 shift if test ! -d "$pathcomp"; then $mkdirprog "$pathcomp" # 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 fi pathcomp=$pathcomp/ done fi if test -n "$dir_arg"; then $doit $mkdircmd "$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 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 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. $doit $cpprog "$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 $cpprog $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 rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # 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 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" } } fi || { (exit 1); exit 1; } done # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit 0 } # 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: flex-2.5.35/missing0000755000175000017500000002540610761102714011072 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2005-06-08.21 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # 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., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, 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. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). case "$1" in lex|yacc) # Not GNU programs, they don't have --version. ;; tar) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # 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: flex-2.5.35/mkinstalldirs0000775000175000017500000000370410761102705012300 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" 1>&2 exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # End: # mkinstalldirs ends here flex-2.5.35/parse.c0000664000175000017500000022072410761102736010757 00000000000000/* A Bison parser, made by GNU Bison 2.1. */ /* Skeleton parser for Yacc-like parsing with Bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* Written by Richard Stallman by simplifying the original so called ``semantic'' parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Using locations. */ #define YYLSP_NEEDED 0 /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { CHAR = 258, NUMBER = 259, SECTEND = 260, SCDECL = 261, XSCDECL = 262, NAME = 263, PREVCCL = 264, EOF_OP = 265, OPTION_OP = 266, OPT_OUTFILE = 267, OPT_PREFIX = 268, OPT_YYCLASS = 269, OPT_HEADER = 270, OPT_EXTRA_TYPE = 271, OPT_TABLES = 272, CCE_ALNUM = 273, CCE_ALPHA = 274, CCE_BLANK = 275, CCE_CNTRL = 276, CCE_DIGIT = 277, CCE_GRAPH = 278, CCE_LOWER = 279, CCE_PRINT = 280, CCE_PUNCT = 281, CCE_SPACE = 282, CCE_UPPER = 283, CCE_XDIGIT = 284, CCE_NEG_ALNUM = 285, CCE_NEG_ALPHA = 286, CCE_NEG_BLANK = 287, CCE_NEG_CNTRL = 288, CCE_NEG_DIGIT = 289, CCE_NEG_GRAPH = 290, CCE_NEG_LOWER = 291, CCE_NEG_PRINT = 292, CCE_NEG_PUNCT = 293, CCE_NEG_SPACE = 294, CCE_NEG_UPPER = 295, CCE_NEG_XDIGIT = 296, CCL_OP_UNION = 297, CCL_OP_DIFF = 298, BEGIN_REPEAT_POSIX = 299, END_REPEAT_POSIX = 300, BEGIN_REPEAT_FLEX = 301, END_REPEAT_FLEX = 302 }; #endif /* Tokens. */ #define CHAR 258 #define NUMBER 259 #define SECTEND 260 #define SCDECL 261 #define XSCDECL 262 #define NAME 263 #define PREVCCL 264 #define EOF_OP 265 #define OPTION_OP 266 #define OPT_OUTFILE 267 #define OPT_PREFIX 268 #define OPT_YYCLASS 269 #define OPT_HEADER 270 #define OPT_EXTRA_TYPE 271 #define OPT_TABLES 272 #define CCE_ALNUM 273 #define CCE_ALPHA 274 #define CCE_BLANK 275 #define CCE_CNTRL 276 #define CCE_DIGIT 277 #define CCE_GRAPH 278 #define CCE_LOWER 279 #define CCE_PRINT 280 #define CCE_PUNCT 281 #define CCE_SPACE 282 #define CCE_UPPER 283 #define CCE_XDIGIT 284 #define CCE_NEG_ALNUM 285 #define CCE_NEG_ALPHA 286 #define CCE_NEG_BLANK 287 #define CCE_NEG_CNTRL 288 #define CCE_NEG_DIGIT 289 #define CCE_NEG_GRAPH 290 #define CCE_NEG_LOWER 291 #define CCE_NEG_PRINT 292 #define CCE_NEG_PUNCT 293 #define CCE_NEG_SPACE 294 #define CCE_NEG_UPPER 295 #define CCE_NEG_XDIGIT 296 #define CCL_OP_UNION 297 #define CCL_OP_DIFF 298 #define BEGIN_REPEAT_POSIX 299 #define END_REPEAT_POSIX 300 #define BEGIN_REPEAT_FLEX 301 #define END_REPEAT_FLEX 302 /* Copy the first part of user declarations. */ #line 34 "parse.y" /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "tables.h" int pat, scnum, eps, headcnt, trailcnt, lastchar, i, rulelen; int trlcontxt, xcluflg, currccl, cclsorted, varlength, variable_trail_rule; int *scon_stk; int scon_stk_ptr; static int madeany = false; /* whether we've made the '.' character class */ static int ccldot, cclany; int previous_continued_action; /* whether the previous rule's action was '|' */ #define format_warn3(fmt, a1, a2) \ do{ \ char fw3_msg[MAXLINE];\ snprintf( fw3_msg, MAXLINE,(fmt), (a1), (a2) );\ warn( fw3_msg );\ }while(0) /* Expand a POSIX character class expression. */ #define CCL_EXPR(func) \ do{ \ int c; \ for ( c = 0; c < csize; ++c ) \ if ( isascii(c) && func(c) ) \ ccladd( currccl, c ); \ }while(0) /* negated class */ #define CCL_NEG_EXPR(func) \ do{ \ int c; \ for ( c = 0; c < csize; ++c ) \ if ( !func(c) ) \ ccladd( currccl, c ); \ }while(0) /* While POSIX defines isblank(), it's not ANSI C. */ #define IS_BLANK(c) ((c) == ' ' || (c) == '\t') /* On some over-ambitious machines, such as DEC Alpha's, the default * token type is "long" instead of "int"; this leads to problems with * declaring yylval in flexdef.h. But so far, all the yacc's I've seen * wrap their definitions of YYSTYPE with "#ifndef YYSTYPE"'s, so the * following should ensure that the default token type is "int". */ #define YYSTYPE int /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) typedef int YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ /* Line 219 of yacc.c. */ #line 273 "parse.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif #if ! defined (YYSIZE_T) && defined (size_t) # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus)) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) # define YYSIZE_T unsigned int #endif #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif #if ! defined (yyoverflow) || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # else # define YYSTACK_ALLOC alloca # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYINCLUDED_STDLIB_H # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1) # endif # ifdef __cplusplus extern "C" { # endif # ifndef YYMALLOC # define YYMALLOC malloc # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \ && (defined (__STDC__) || defined (__cplusplus))) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \ && (defined (__STDC__) || defined (__cplusplus))) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifdef __cplusplus } # endif # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { short int yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined (__GNUC__) && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else typedef short int yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 161 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 69 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 27 /* YYNRULES -- Number of rules. */ #define YYNRULES 97 /* YYNRULES -- Number of states. */ #define YYNSTATES 140 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 302 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const unsigned char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 49, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 63, 2, 57, 2, 2, 2, 64, 65, 55, 60, 56, 68, 62, 59, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 53, 48, 54, 61, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 66, 2, 67, 52, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 58, 51, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const unsigned short int yyprhs[] = { 0, 0, 3, 9, 10, 14, 17, 18, 20, 22, 24, 26, 29, 31, 33, 36, 39, 40, 44, 48, 52, 56, 60, 64, 70, 76, 77, 78, 81, 83, 85, 87, 88, 93, 97, 98, 102, 104, 106, 108, 111, 115, 118, 120, 124, 126, 129, 132, 134, 141, 147, 152, 155, 158, 161, 168, 174, 179, 181, 183, 185, 189, 193, 195, 199, 203, 205, 209, 214, 219, 222, 225, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 277 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { 70, 0, -1, 71, 72, 73, 79, 80, -1, -1, 72, 74, 75, -1, 72, 76, -1, -1, 1, -1, 5, -1, 6, -1, 7, -1, 75, 8, -1, 8, -1, 1, -1, 11, 77, -1, 77, 78, -1, -1, 12, 48, 8, -1, 16, 48, 8, -1, 13, 48, 8, -1, 14, 48, 8, -1, 15, 48, 8, -1, 17, 48, 8, -1, 79, 83, 80, 81, 49, -1, 79, 83, 50, 79, 51, -1, -1, -1, 52, 86, -1, 86, -1, 10, -1, 1, -1, -1, 53, 82, 84, 54, -1, 53, 55, 54, -1, -1, 84, 56, 85, -1, 85, -1, 1, -1, 8, -1, 88, 87, -1, 88, 87, 57, -1, 87, 57, -1, 87, -1, 87, 58, 89, -1, 89, -1, 87, 59, -1, 89, 90, -1, 90, -1, 89, 44, 4, 56, 4, 45, -1, 89, 44, 4, 56, 45, -1, 89, 44, 4, 45, -1, 90, 55, -1, 90, 60, -1, 90, 61, -1, 90, 46, 4, 56, 4, 47, -1, 90, 46, 4, 56, 47, -1, 90, 46, 4, 47, -1, 62, -1, 91, -1, 9, -1, 63, 95, 63, -1, 64, 87, 65, -1, 3, -1, 91, 43, 92, -1, 91, 42, 92, -1, 92, -1, 66, 93, 67, -1, 66, 52, 93, 67, -1, 93, 3, 68, 3, -1, 93, 3, -1, 93, 94, -1, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 29, -1, 28, -1, 30, -1, 31, -1, 32, -1, 33, -1, 34, -1, 35, -1, 37, -1, 38, -1, 39, -1, 41, -1, 36, -1, 40, -1, 95, 3, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { 0, 118, 118, 148, 155, 156, 157, 158, 162, 170, 173, 177, 180, 183, 187, 190, 191, 194, 199, 201, 203, 205, 207, 211, 213, 215, 219, 231, 267, 291, 314, 319, 322, 325, 343, 346, 348, 350, 354, 377, 433, 436, 479, 497, 503, 508, 535, 543, 546, 574, 588, 610, 617, 623, 629, 657, 671, 690, 724, 744, 754, 757, 760, 775, 776, 777, 782, 784, 791, 851, 869, 877, 885, 886, 887, 888, 889, 890, 891, 896, 897, 898, 899, 900, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 922, 930, 946 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "CHAR", "NUMBER", "SECTEND", "SCDECL", "XSCDECL", "NAME", "PREVCCL", "EOF_OP", "OPTION_OP", "OPT_OUTFILE", "OPT_PREFIX", "OPT_YYCLASS", "OPT_HEADER", "OPT_EXTRA_TYPE", "OPT_TABLES", "CCE_ALNUM", "CCE_ALPHA", "CCE_BLANK", "CCE_CNTRL", "CCE_DIGIT", "CCE_GRAPH", "CCE_LOWER", "CCE_PRINT", "CCE_PUNCT", "CCE_SPACE", "CCE_UPPER", "CCE_XDIGIT", "CCE_NEG_ALNUM", "CCE_NEG_ALPHA", "CCE_NEG_BLANK", "CCE_NEG_CNTRL", "CCE_NEG_DIGIT", "CCE_NEG_GRAPH", "CCE_NEG_LOWER", "CCE_NEG_PRINT", "CCE_NEG_PUNCT", "CCE_NEG_SPACE", "CCE_NEG_UPPER", "CCE_NEG_XDIGIT", "CCL_OP_UNION", "CCL_OP_DIFF", "BEGIN_REPEAT_POSIX", "END_REPEAT_POSIX", "BEGIN_REPEAT_FLEX", "END_REPEAT_FLEX", "'='", "'\\n'", "'{'", "'}'", "'^'", "'<'", "'>'", "'*'", "','", "'$'", "'|'", "'/'", "'+'", "'?'", "'.'", "'\"'", "'('", "')'", "'['", "']'", "'-'", "$accept", "goal", "initlex", "sect1", "sect1end", "startconddecl", "namelist1", "options", "optionlist", "option", "sect2", "initforrule", "flexrule", "scon_stk_ptr", "scon", "namelist2", "sconname", "rule", "re", "re2", "series", "singleton", "fullccl", "braceccl", "ccl", "ccl_expr", "string", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const unsigned short int yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 61, 10, 123, 125, 94, 60, 62, 42, 44, 36, 124, 47, 43, 63, 46, 34, 40, 41, 91, 93, 45 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { 0, 69, 70, 71, 72, 72, 72, 72, 73, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 78, 78, 78, 78, 79, 79, 79, 80, 81, 81, 81, 81, 82, 83, 83, 83, 84, 84, 84, 85, 86, 86, 86, 86, 87, 87, 88, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 92, 92, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const unsigned char yyr2[] = { 0, 2, 5, 0, 3, 2, 0, 1, 1, 1, 1, 2, 1, 1, 2, 2, 0, 3, 3, 3, 3, 3, 3, 5, 5, 0, 0, 2, 1, 1, 1, 0, 4, 3, 0, 3, 1, 1, 1, 2, 3, 2, 1, 3, 1, 2, 2, 1, 6, 5, 4, 2, 2, 2, 6, 5, 4, 1, 1, 1, 3, 3, 1, 3, 3, 1, 3, 4, 4, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const unsigned char yydefact[] = { 3, 0, 0, 1, 7, 0, 8, 9, 10, 16, 25, 0, 5, 14, 34, 13, 12, 4, 0, 0, 0, 0, 0, 0, 15, 31, 2, 26, 11, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 17, 19, 20, 21, 18, 22, 33, 37, 38, 0, 36, 34, 30, 62, 59, 29, 0, 57, 97, 0, 71, 0, 28, 42, 0, 44, 47, 58, 65, 32, 0, 24, 27, 0, 0, 71, 0, 23, 41, 0, 45, 39, 0, 46, 0, 51, 52, 53, 0, 0, 35, 96, 60, 61, 0, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 82, 84, 85, 86, 87, 88, 89, 94, 90, 91, 92, 95, 93, 66, 70, 43, 40, 0, 0, 64, 63, 67, 0, 50, 0, 56, 0, 68, 0, 49, 0, 55, 48, 54 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yysigned_char yydefgoto[] = { -1, 1, 2, 5, 10, 11, 17, 12, 13, 24, 14, 26, 60, 36, 27, 48, 49, 61, 62, 63, 64, 65, 66, 67, 75, 120, 72 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -52 static const short int yypact[] = { -52, 17, 103, -52, -52, 113, -52, -52, -52, -52, -52, 48, -52, 114, 6, -52, -52, 42, 7, 12, 58, 77, 88, 89, -52, 43, -52, 73, -52, 130, 131, 132, 133, 134, 135, 90, 91, -52, -1, -52, -52, -52, -52, -52, -52, -52, -52, -52, 40, -52, 44, -52, -52, -52, -52, 39, -52, -52, 39, 93, 97, -52, -12, 39, 49, 61, -31, -52, -52, 139, -52, -52, 1, -51, -52, 0, -52, -52, 39, -52, 75, 144, 61, 145, -52, -52, -52, 84, 84, -52, -52, -52, -52, 50, 83, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 49, -52, -40, 10, -52, -52, -52, 149, -52, 9, -52, -3, -52, 108, -52, 107, -52, -52, -52 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 118, 129, -52, -52, -52, -52, 92, 102, -48, -52, 80, -21, -52, 47, 85, -52, -52 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -27 static const short int yytable[] = { 51, 136, 52, 94, 90, 129, -26, 78, 53, 54, 73, 87, 88, 134, 92, 80, 130, 3, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 52, 82, 137, 77, 78, 79, 53, 15, 28, 55, 52, 94, 135, 29, 16, 131, 53, 25, 30, 56, 57, 58, 91, 59, 132, 119, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 46, 81, 68, 70, 69, 25, 35, 47, 82, 56, 57, 58, 4, 59, 31, 83, -6, -6, -6, 56, 57, 58, -6, 59, 84, 127, 6, 7, 8, 85, 86, 37, 9, 32, 18, 19, 20, 21, 22, 23, 122, 78, 125, 126, 33, 34, 39, 40, 41, 42, 43, 44, 45, 74, 76, 47, 123, 124, 59, 128, 133, 138, 139, 50, 38, 71, 121, 93, 0, 89 }; static const yysigned_char yycheck[] = { 1, 4, 3, 3, 3, 45, 0, 58, 9, 10, 58, 42, 43, 4, 65, 63, 56, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 3, 64, 47, 57, 58, 59, 9, 1, 8, 52, 3, 3, 45, 48, 8, 47, 9, 53, 48, 62, 63, 64, 63, 66, 56, 67, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 1, 44, 54, 51, 56, 53, 55, 8, 121, 62, 63, 64, 1, 66, 48, 46, 5, 6, 7, 62, 63, 64, 11, 66, 55, 67, 5, 6, 7, 60, 61, 50, 11, 48, 12, 13, 14, 15, 16, 17, 57, 58, 87, 88, 48, 48, 8, 8, 8, 8, 8, 8, 54, 52, 49, 8, 4, 4, 66, 68, 3, 45, 47, 37, 27, 55, 78, 74, -1, 69 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { 0, 70, 71, 0, 1, 72, 5, 6, 7, 11, 73, 74, 76, 77, 79, 1, 8, 75, 12, 13, 14, 15, 16, 17, 78, 53, 80, 83, 8, 48, 48, 48, 48, 48, 48, 55, 82, 50, 80, 8, 8, 8, 8, 8, 8, 54, 1, 8, 84, 85, 79, 1, 3, 9, 10, 52, 62, 63, 64, 66, 81, 86, 87, 88, 89, 90, 91, 92, 54, 56, 51, 86, 95, 87, 52, 93, 49, 57, 58, 59, 87, 44, 90, 46, 55, 60, 61, 42, 43, 85, 3, 63, 65, 93, 3, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 67, 94, 89, 57, 4, 4, 92, 92, 67, 68, 45, 56, 47, 56, 3, 4, 45, 4, 47, 45, 47 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (N) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (0) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (YYLEX_PARAM) #else # define YYLEX yylex () #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yy_stack_print (short int *bottom, short int *top) #else static void yy_stack_print (bottom, top) short int *bottom; short int *top; #endif { YYFPRINTF (stderr, "Stack now"); for (/* Nothing. */; bottom <= top; ++bottom) YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yy_reduce_print (int yyrule) #else static void yy_reduce_print (yyrule) int yyrule; #endif { int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ", yyrule - 1, yylno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]); } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (Rule); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T # if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) # else yystrlen (yystr) const char *yystr; # endif { const char *yys = yystr; while (*yys++ != '\0') continue; return yys - yystr - 1; } # endif # endif # ifndef yystpcpy # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * # if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) # else yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; # endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { size_t yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif #endif /* YYERROR_VERBOSE */ #if YYDEBUG /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) #else static void yysymprint (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif switch (yytype) { default: break; } YYFPRINTF (yyoutput, ")"); } #endif /* ! YYDEBUG */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) int yyparse (void *YYPARSE_PARAM); # else int yyparse (); # endif #else /* ! YYPARSE_PARAM */ #if defined (__STDC__) || defined (__cplusplus) int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /* The look-ahead symbol. */ int yychar; /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) int yyparse (void *YYPARSE_PARAM) # else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; # endif #else /* ! YYPARSE_PARAM */ #if defined (__STDC__) || defined (__cplusplus) int yyparse (void) #else int yyparse () ; #endif #endif { int yystate; int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ short int yyssa[YYINITDEPTH]; short int *yyss = yyssa; short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvsp; #define YYPOPSTACK (yyvsp--, yyssp--) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* When reducing, the number of symbols on the RHS of the reduced rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short int *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. */ /* Read a look-ahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a look-ahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: #line 119 "parse.y" { /* add default rule */ int def_rule; pat = cclinit(); cclnegate( pat ); def_rule = mkstate( -pat ); /* Remember the number of the default rule so we * don't generate "can't match" warnings for it. */ default_rule = num_rules; finish_rule( def_rule, false, 0, 0, 0); for ( i = 1; i <= lastsc; ++i ) scset[i] = mkbranch( scset[i], def_rule ); if ( spprdflt ) add_action( "YY_FATAL_ERROR( \"flex scanner jammed\" )" ); else add_action( "ECHO" ); add_action( ";\n\tYY_BREAK\n" ); } break; case 3: #line 148 "parse.y" { /* initialize for processing rules */ /* Create default DFA start condition. */ scinstal( "INITIAL", false ); } break; case 7: #line 159 "parse.y" { synerr( _("unknown error processing section 1") ); } break; case 8: #line 163 "parse.y" { check_options(); scon_stk = allocate_integer_array( lastsc + 1 ); scon_stk_ptr = 0; } break; case 9: #line 171 "parse.y" { xcluflg = false; } break; case 10: #line 174 "parse.y" { xcluflg = true; } break; case 11: #line 178 "parse.y" { scinstal( nmstr, xcluflg ); } break; case 12: #line 181 "parse.y" { scinstal( nmstr, xcluflg ); } break; case 13: #line 184 "parse.y" { synerr( _("bad start condition list") ); } break; case 17: #line 195 "parse.y" { outfilename = copy_string( nmstr ); did_outfilename = 1; } break; case 18: #line 200 "parse.y" { extra_type = copy_string( nmstr ); } break; case 19: #line 202 "parse.y" { prefix = copy_string( nmstr ); } break; case 20: #line 204 "parse.y" { yyclass = copy_string( nmstr ); } break; case 21: #line 206 "parse.y" { headerfilename = copy_string( nmstr ); } break; case 22: #line 208 "parse.y" { tablesext = true; tablesfilename = copy_string( nmstr ); } break; case 23: #line 212 "parse.y" { scon_stk_ptr = (yyvsp[-3]); } break; case 24: #line 214 "parse.y" { scon_stk_ptr = (yyvsp[-3]); } break; case 26: #line 219 "parse.y" { /* Initialize for a parse of one rule. */ trlcontxt = variable_trail_rule = varlength = false; trailcnt = headcnt = rulelen = 0; current_state_type = STATE_NORMAL; previous_continued_action = continued_action; in_rule = true; new_rule(); } break; case 27: #line 232 "parse.y" { pat = (yyvsp[0]); finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); if ( scon_stk_ptr > 0 ) { for ( i = 1; i <= scon_stk_ptr; ++i ) scbol[scon_stk[i]] = mkbranch( scbol[scon_stk[i]], pat ); } else { /* Add to all non-exclusive start conditions, * including the default (0) start condition. */ for ( i = 1; i <= lastsc; ++i ) if ( ! scxclu[i] ) scbol[i] = mkbranch( scbol[i], pat ); } if ( ! bol_needed ) { bol_needed = true; if ( performance_report > 1 ) pinpoint_message( "'^' operator results in sub-optimal performance" ); } } break; case 28: #line 268 "parse.y" { pat = (yyvsp[0]); finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); if ( scon_stk_ptr > 0 ) { for ( i = 1; i <= scon_stk_ptr; ++i ) scset[scon_stk[i]] = mkbranch( scset[scon_stk[i]], pat ); } else { for ( i = 1; i <= lastsc; ++i ) if ( ! scxclu[i] ) scset[i] = mkbranch( scset[i], pat ); } } break; case 29: #line 292 "parse.y" { if ( scon_stk_ptr > 0 ) build_eof_action(); else { /* This EOF applies to all start conditions * which don't already have EOF actions. */ for ( i = 1; i <= lastsc; ++i ) if ( ! sceof[i] ) scon_stk[++scon_stk_ptr] = i; if ( scon_stk_ptr == 0 ) warn( "all start conditions already have <> rules" ); else build_eof_action(); } } break; case 30: #line 315 "parse.y" { synerr( _("unrecognized rule") ); } break; case 31: #line 319 "parse.y" { (yyval) = scon_stk_ptr; } break; case 32: #line 323 "parse.y" { (yyval) = (yyvsp[-2]); } break; case 33: #line 326 "parse.y" { (yyval) = scon_stk_ptr; for ( i = 1; i <= lastsc; ++i ) { int j; for ( j = 1; j <= scon_stk_ptr; ++j ) if ( scon_stk[j] == i ) break; if ( j > scon_stk_ptr ) scon_stk[++scon_stk_ptr] = i; } } break; case 34: #line 343 "parse.y" { (yyval) = scon_stk_ptr; } break; case 37: #line 351 "parse.y" { synerr( _("bad start condition list") ); } break; case 38: #line 355 "parse.y" { if ( (scnum = sclookup( nmstr )) == 0 ) format_pinpoint_message( "undeclared start condition %s", nmstr ); else { for ( i = 1; i <= scon_stk_ptr; ++i ) if ( scon_stk[i] == scnum ) { format_warn( "<%s> specified twice", scname[scnum] ); break; } if ( i > scon_stk_ptr ) scon_stk[++scon_stk_ptr] = scnum; } } break; case 39: #line 378 "parse.y" { if ( transchar[lastst[(yyvsp[0])]] != SYM_EPSILON ) /* Provide final transition \now/ so it * will be marked as a trailing context * state. */ (yyvsp[0]) = link_machines( (yyvsp[0]), mkstate( SYM_EPSILON ) ); mark_beginning_as_normal( (yyvsp[0]) ); current_state_type = STATE_NORMAL; if ( previous_continued_action ) { /* We need to treat this as variable trailing * context so that the backup does not happen * in the action but before the action switch * statement. If the backup happens in the * action, then the rules "falling into" this * one's action will *also* do the backup, * erroneously. */ if ( ! varlength || headcnt != 0 ) warn( "trailing context made variable due to preceding '|' action" ); /* Mark as variable. */ varlength = true; headcnt = 0; } if ( lex_compat || (varlength && headcnt == 0) ) { /* variable trailing context rule */ /* Mark the first part of the rule as the * accepting "head" part of a trailing * context rule. * * By the way, we didn't do this at the * beginning of this production because back * then current_state_type was set up for a * trail rule, and add_accept() can create * a new state ... */ add_accept( (yyvsp[-1]), num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } else trailcnt = rulelen; (yyval) = link_machines( (yyvsp[-1]), (yyvsp[0]) ); } break; case 40: #line 434 "parse.y" { synerr( _("trailing context used twice") ); } break; case 41: #line 437 "parse.y" { headcnt = 0; trailcnt = 1; rulelen = 1; varlength = false; current_state_type = STATE_TRAILING_CONTEXT; if ( trlcontxt ) { synerr( _("trailing context used twice") ); (yyval) = mkstate( SYM_EPSILON ); } else if ( previous_continued_action ) { /* See the comment in the rule for "re2 re" * above. */ warn( "trailing context made variable due to preceding '|' action" ); varlength = true; } if ( lex_compat || varlength ) { /* Again, see the comment in the rule for * "re2 re" above. */ add_accept( (yyvsp[-1]), num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } trlcontxt = true; eps = mkstate( SYM_EPSILON ); (yyval) = link_machines( (yyvsp[-1]), link_machines( eps, mkstate( '\n' ) ) ); } break; case 42: #line 480 "parse.y" { (yyval) = (yyvsp[0]); if ( trlcontxt ) { if ( lex_compat || (varlength && headcnt == 0) ) /* Both head and trail are * variable-length. */ variable_trail_rule = true; else trailcnt = rulelen; } } break; case 43: #line 498 "parse.y" { varlength = true; (yyval) = mkor( (yyvsp[-2]), (yyvsp[0]) ); } break; case 44: #line 504 "parse.y" { (yyval) = (yyvsp[0]); } break; case 45: #line 509 "parse.y" { /* This rule is written separately so the * reduction will occur before the trailing * series is parsed. */ if ( trlcontxt ) synerr( _("trailing context used twice") ); else trlcontxt = true; if ( varlength ) /* We hope the trailing context is * fixed-length. */ varlength = false; else headcnt = rulelen; rulelen = 0; current_state_type = STATE_TRAILING_CONTEXT; (yyval) = (yyvsp[-1]); } break; case 46: #line 536 "parse.y" { /* This is where concatenation of adjacent patterns * gets done. */ (yyval) = link_machines( (yyvsp[-1]), (yyvsp[0]) ); } break; case 47: #line 544 "parse.y" { (yyval) = (yyvsp[0]); } break; case 48: #line 547 "parse.y" { varlength = true; if ( (yyvsp[-3]) > (yyvsp[-1]) || (yyvsp[-3]) < 0 ) { synerr( _("bad iteration values") ); (yyval) = (yyvsp[-5]); } else { if ( (yyvsp[-3]) == 0 ) { if ( (yyvsp[-1]) <= 0 ) { synerr( _("bad iteration values") ); (yyval) = (yyvsp[-5]); } else (yyval) = mkopt( mkrep( (yyvsp[-5]), 1, (yyvsp[-1]) ) ); } else (yyval) = mkrep( (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]) ); } } break; case 49: #line 575 "parse.y" { varlength = true; if ( (yyvsp[-2]) <= 0 ) { synerr( _("iteration value must be positive") ); (yyval) = (yyvsp[-4]); } else (yyval) = mkrep( (yyvsp[-4]), (yyvsp[-2]), INFINITE_REPEAT ); } break; case 50: #line 589 "parse.y" { /* The series could be something like "(foo)", * in which case we have no idea what its length * is, so we punt here. */ varlength = true; if ( (yyvsp[-1]) <= 0 ) { synerr( _("iteration value must be positive") ); (yyval) = (yyvsp[-3]); } else (yyval) = link_machines( (yyvsp[-3]), copysingl( (yyvsp[-3]), (yyvsp[-1]) - 1 ) ); } break; case 51: #line 611 "parse.y" { varlength = true; (yyval) = mkclos( (yyvsp[-1]) ); } break; case 52: #line 618 "parse.y" { varlength = true; (yyval) = mkposcl( (yyvsp[-1]) ); } break; case 53: #line 624 "parse.y" { varlength = true; (yyval) = mkopt( (yyvsp[-1]) ); } break; case 54: #line 630 "parse.y" { varlength = true; if ( (yyvsp[-3]) > (yyvsp[-1]) || (yyvsp[-3]) < 0 ) { synerr( _("bad iteration values") ); (yyval) = (yyvsp[-5]); } else { if ( (yyvsp[-3]) == 0 ) { if ( (yyvsp[-1]) <= 0 ) { synerr( _("bad iteration values") ); (yyval) = (yyvsp[-5]); } else (yyval) = mkopt( mkrep( (yyvsp[-5]), 1, (yyvsp[-1]) ) ); } else (yyval) = mkrep( (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]) ); } } break; case 55: #line 658 "parse.y" { varlength = true; if ( (yyvsp[-2]) <= 0 ) { synerr( _("iteration value must be positive") ); (yyval) = (yyvsp[-4]); } else (yyval) = mkrep( (yyvsp[-4]), (yyvsp[-2]), INFINITE_REPEAT ); } break; case 56: #line 672 "parse.y" { /* The singleton could be something like "(foo)", * in which case we have no idea what its length * is, so we punt here. */ varlength = true; if ( (yyvsp[-1]) <= 0 ) { synerr( _("iteration value must be positive") ); (yyval) = (yyvsp[-3]); } else (yyval) = link_machines( (yyvsp[-3]), copysingl( (yyvsp[-3]), (yyvsp[-1]) - 1 ) ); } break; case 57: #line 691 "parse.y" { if ( ! madeany ) { /* Create the '.' character class. */ ccldot = cclinit(); ccladd( ccldot, '\n' ); cclnegate( ccldot ); if ( useecs ) mkeccl( ccltbl + cclmap[ccldot], ccllen[ccldot], nextecm, ecgroup, csize, csize ); /* Create the (?s:'.') character class. */ cclany = cclinit(); cclnegate( cclany ); if ( useecs ) mkeccl( ccltbl + cclmap[cclany], ccllen[cclany], nextecm, ecgroup, csize, csize ); madeany = true; } ++rulelen; if (sf_dot_all()) (yyval) = mkstate( -cclany ); else (yyval) = mkstate( -ccldot ); } break; case 58: #line 725 "parse.y" { /* Sort characters for fast searching. We * use a shell sort since this list could * be large. */ cshell( ccltbl + cclmap[(yyvsp[0])], ccllen[(yyvsp[0])], true ); if ( useecs ) mkeccl( ccltbl + cclmap[(yyvsp[0])], ccllen[(yyvsp[0])], nextecm, ecgroup, csize, csize ); ++rulelen; if (ccl_has_nl[(yyvsp[0])]) rule_has_nl[num_rules] = true; (yyval) = mkstate( -(yyvsp[0]) ); } break; case 59: #line 745 "parse.y" { ++rulelen; if (ccl_has_nl[(yyvsp[0])]) rule_has_nl[num_rules] = true; (yyval) = mkstate( -(yyvsp[0]) ); } break; case 60: #line 755 "parse.y" { (yyval) = (yyvsp[-1]); } break; case 61: #line 758 "parse.y" { (yyval) = (yyvsp[-1]); } break; case 62: #line 761 "parse.y" { ++rulelen; if ((yyvsp[0]) == nlch) rule_has_nl[num_rules] = true; if (sf_case_ins() && has_case((yyvsp[0]))) /* create an alternation, as in (a|A) */ (yyval) = mkor (mkstate((yyvsp[0])), mkstate(reverse_case((yyvsp[0])))); else (yyval) = mkstate( (yyvsp[0]) ); } break; case 63: #line 775 "parse.y" { (yyval) = ccl_set_diff ((yyvsp[-2]), (yyvsp[0])); } break; case 64: #line 776 "parse.y" { (yyval) = ccl_set_union ((yyvsp[-2]), (yyvsp[0])); } break; case 66: #line 782 "parse.y" { (yyval) = (yyvsp[-1]); } break; case 67: #line 785 "parse.y" { cclnegate( (yyvsp[-1]) ); (yyval) = (yyvsp[-1]); } break; case 68: #line 792 "parse.y" { if (sf_case_ins()) { /* If one end of the range has case and the other * does not, or the cases are different, then we're not * sure what range the user is trying to express. * Examples: [@-z] or [S-t] */ if (has_case ((yyvsp[-2])) != has_case ((yyvsp[0])) || (has_case ((yyvsp[-2])) && (b_islower ((yyvsp[-2])) != b_islower ((yyvsp[0])))) || (has_case ((yyvsp[-2])) && (b_isupper ((yyvsp[-2])) != b_isupper ((yyvsp[0]))))) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), (yyvsp[-2]), (yyvsp[0])); /* If the range spans uppercase characters but not * lowercase (or vice-versa), then should we automatically * include lowercase characters in the range? * Example: [@-_] spans [a-z] but not [A-Z] */ else if (!has_case ((yyvsp[-2])) && !has_case ((yyvsp[0])) && !range_covers_case ((yyvsp[-2]), (yyvsp[0]))) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), (yyvsp[-2]), (yyvsp[0])); } if ( (yyvsp[-2]) > (yyvsp[0]) ) synerr( _("negative range in character class") ); else { for ( i = (yyvsp[-2]); i <= (yyvsp[0]); ++i ) ccladd( (yyvsp[-3]), i ); /* Keep track if this ccl is staying in * alphabetical order. */ cclsorted = cclsorted && ((yyvsp[-2]) > lastchar); lastchar = (yyvsp[0]); /* Do it again for upper/lowercase */ if (sf_case_ins() && has_case((yyvsp[-2])) && has_case((yyvsp[0]))){ (yyvsp[-2]) = reverse_case ((yyvsp[-2])); (yyvsp[0]) = reverse_case ((yyvsp[0])); for ( i = (yyvsp[-2]); i <= (yyvsp[0]); ++i ) ccladd( (yyvsp[-3]), i ); cclsorted = cclsorted && ((yyvsp[-2]) > lastchar); lastchar = (yyvsp[0]); } } (yyval) = (yyvsp[-3]); } break; case 69: #line 852 "parse.y" { ccladd( (yyvsp[-1]), (yyvsp[0]) ); cclsorted = cclsorted && ((yyvsp[0]) > lastchar); lastchar = (yyvsp[0]); /* Do it again for upper/lowercase */ if (sf_case_ins() && has_case((yyvsp[0]))){ (yyvsp[0]) = reverse_case ((yyvsp[0])); ccladd ((yyvsp[-1]), (yyvsp[0])); cclsorted = cclsorted && ((yyvsp[0]) > lastchar); lastchar = (yyvsp[0]); } (yyval) = (yyvsp[-1]); } break; case 70: #line 870 "parse.y" { /* Too hard to properly maintain cclsorted. */ cclsorted = false; (yyval) = (yyvsp[-1]); } break; case 71: #line 877 "parse.y" { cclsorted = true; lastchar = 0; currccl = (yyval) = cclinit(); } break; case 72: #line 885 "parse.y" { CCL_EXPR(isalnum); } break; case 73: #line 886 "parse.y" { CCL_EXPR(isalpha); } break; case 74: #line 887 "parse.y" { CCL_EXPR(IS_BLANK); } break; case 75: #line 888 "parse.y" { CCL_EXPR(iscntrl); } break; case 76: #line 889 "parse.y" { CCL_EXPR(isdigit); } break; case 77: #line 890 "parse.y" { CCL_EXPR(isgraph); } break; case 78: #line 891 "parse.y" { CCL_EXPR(islower); if (sf_case_ins()) CCL_EXPR(isupper); } break; case 79: #line 896 "parse.y" { CCL_EXPR(isprint); } break; case 80: #line 897 "parse.y" { CCL_EXPR(ispunct); } break; case 81: #line 898 "parse.y" { CCL_EXPR(isspace); } break; case 82: #line 899 "parse.y" { CCL_EXPR(isxdigit); } break; case 83: #line 900 "parse.y" { CCL_EXPR(isupper); if (sf_case_ins()) CCL_EXPR(islower); } break; case 84: #line 906 "parse.y" { CCL_NEG_EXPR(isalnum); } break; case 85: #line 907 "parse.y" { CCL_NEG_EXPR(isalpha); } break; case 86: #line 908 "parse.y" { CCL_NEG_EXPR(IS_BLANK); } break; case 87: #line 909 "parse.y" { CCL_NEG_EXPR(iscntrl); } break; case 88: #line 910 "parse.y" { CCL_NEG_EXPR(isdigit); } break; case 89: #line 911 "parse.y" { CCL_NEG_EXPR(isgraph); } break; case 90: #line 912 "parse.y" { CCL_NEG_EXPR(isprint); } break; case 91: #line 913 "parse.y" { CCL_NEG_EXPR(ispunct); } break; case 92: #line 914 "parse.y" { CCL_NEG_EXPR(isspace); } break; case 93: #line 915 "parse.y" { CCL_NEG_EXPR(isxdigit); } break; case 94: #line 916 "parse.y" { if ( sf_case_ins() ) warn(_("[:^lower:] is ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(islower); } break; case 95: #line 922 "parse.y" { if ( sf_case_ins() ) warn(_("[:^upper:] ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(isupper); } break; case 96: #line 931 "parse.y" { if ( (yyvsp[0]) == nlch ) rule_has_nl[num_rules] = true; ++rulelen; if (sf_case_ins() && has_case((yyvsp[0]))) (yyval) = mkor (mkstate((yyvsp[0])), mkstate(reverse_case((yyvsp[0])))); else (yyval) = mkstate ((yyvsp[0])); (yyval) = link_machines( (yyvsp[-1]), (yyval)); } break; case 97: #line 946 "parse.y" { (yyval) = mkstate( SYM_EPSILON ); } break; default: break; } /* Line 1126 of yacc.c. */ #line 2423 "parse.c" yyvsp -= yylen; yyssp -= yylen; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if YYERROR_VERBOSE yyn = yypact[yystate]; if (YYPACT_NINF < yyn && yyn < YYLAST) { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; char *yymsg = 0; # define YYERROR_VERBOSE_ARGS_MAXIMUM 5 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; #if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); #endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= yysize1 < yysize; yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= yysize1 < yysize; yysize = yysize1; if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM) yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yymsg; int yyi = 0; while ((*yyp = *yyf)) { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else { yyerror (YY_("syntax error")); goto yyexhaustedlab; } } else #endif /* YYERROR_VERBOSE */ yyerror (YY_("syntax error")); } if (yyerrstatus == 3) { /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (0) goto yyerrorlab; yyvsp -= yylen; yyssp -= yylen; yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK; yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEOF && yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK; } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; } #line 949 "parse.y" /* build_eof_action - build the "<>" action for the active start * conditions */ void build_eof_action() { register int i; char action_text[MAXLINE]; for ( i = 1; i <= scon_stk_ptr; ++i ) { if ( sceof[scon_stk[i]] ) format_pinpoint_message( "multiple <> rules for start condition %s", scname[scon_stk[i]] ); else { sceof[scon_stk[i]] = true; snprintf( action_text, sizeof(action_text), "case YY_STATE_EOF(%s):\n", scname[scon_stk[i]] ); add_action( action_text ); } } line_directive_out( (FILE *) 0, 1 ); /* This isn't a normal rule after all - don't count it as * such, so we don't have any holes in the rule numbering * (which make generating "rule can never match" warnings * more difficult. */ --num_rules; ++num_eof_rules; } /* format_synerr - write out formatted syntax error */ void format_synerr( msg, arg ) const char *msg, arg[]; { char errmsg[MAXLINE]; (void) snprintf( errmsg, sizeof(errmsg), msg, arg ); synerr( errmsg ); } /* synerr - report a syntax error */ void synerr( str ) const char *str; { syntaxerror = true; pinpoint_message( str ); } /* format_warn - write out formatted warning */ void format_warn( msg, arg ) const char *msg, arg[]; { char warn_msg[MAXLINE]; snprintf( warn_msg, sizeof(warn_msg), msg, arg ); warn( warn_msg ); } /* warn - report a warning, unless -w was given */ void warn( str ) const char *str; { line_warning( str, linenum ); } /* format_pinpoint_message - write out a message formatted with one string, * pinpointing its location */ void format_pinpoint_message( msg, arg ) const char *msg, arg[]; { char errmsg[MAXLINE]; snprintf( errmsg, sizeof(errmsg), msg, arg ); pinpoint_message( errmsg ); } /* pinpoint_message - write out a message, pinpointing its location */ void pinpoint_message( str ) const char *str; { line_pinpoint( str, linenum ); } /* line_warning - report a warning at a given line, unless -w was given */ void line_warning( str, line ) const char *str; int line; { char warning[MAXLINE]; if ( ! nowarn ) { snprintf( warning, sizeof(warning), "warning, %s", str ); line_pinpoint( warning, line ); } } /* line_pinpoint - write out a message, pinpointing it at the given line */ void line_pinpoint( str, line ) const char *str; int line; { fprintf( stderr, "%s:%d: %s\n", infilename, line, str ); } /* yyerror - eat up an error message from the parser; * currently, messages are ignore */ void yyerror( msg ) const char *msg; { } flex-2.5.35/parse.h0000664000175000017500000000721410761102736010761 00000000000000/* A Bison parser, made by GNU Bison 2.1. */ /* Skeleton parser for Yacc-like parsing with Bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { CHAR = 258, NUMBER = 259, SECTEND = 260, SCDECL = 261, XSCDECL = 262, NAME = 263, PREVCCL = 264, EOF_OP = 265, OPTION_OP = 266, OPT_OUTFILE = 267, OPT_PREFIX = 268, OPT_YYCLASS = 269, OPT_HEADER = 270, OPT_EXTRA_TYPE = 271, OPT_TABLES = 272, CCE_ALNUM = 273, CCE_ALPHA = 274, CCE_BLANK = 275, CCE_CNTRL = 276, CCE_DIGIT = 277, CCE_GRAPH = 278, CCE_LOWER = 279, CCE_PRINT = 280, CCE_PUNCT = 281, CCE_SPACE = 282, CCE_UPPER = 283, CCE_XDIGIT = 284, CCE_NEG_ALNUM = 285, CCE_NEG_ALPHA = 286, CCE_NEG_BLANK = 287, CCE_NEG_CNTRL = 288, CCE_NEG_DIGIT = 289, CCE_NEG_GRAPH = 290, CCE_NEG_LOWER = 291, CCE_NEG_PRINT = 292, CCE_NEG_PUNCT = 293, CCE_NEG_SPACE = 294, CCE_NEG_UPPER = 295, CCE_NEG_XDIGIT = 296, CCL_OP_UNION = 297, CCL_OP_DIFF = 298, BEGIN_REPEAT_POSIX = 299, END_REPEAT_POSIX = 300, BEGIN_REPEAT_FLEX = 301, END_REPEAT_FLEX = 302 }; #endif /* Tokens. */ #define CHAR 258 #define NUMBER 259 #define SECTEND 260 #define SCDECL 261 #define XSCDECL 262 #define NAME 263 #define PREVCCL 264 #define EOF_OP 265 #define OPTION_OP 266 #define OPT_OUTFILE 267 #define OPT_PREFIX 268 #define OPT_YYCLASS 269 #define OPT_HEADER 270 #define OPT_EXTRA_TYPE 271 #define OPT_TABLES 272 #define CCE_ALNUM 273 #define CCE_ALPHA 274 #define CCE_BLANK 275 #define CCE_CNTRL 276 #define CCE_DIGIT 277 #define CCE_GRAPH 278 #define CCE_LOWER 279 #define CCE_PRINT 280 #define CCE_PUNCT 281 #define CCE_SPACE 282 #define CCE_UPPER 283 #define CCE_XDIGIT 284 #define CCE_NEG_ALNUM 285 #define CCE_NEG_ALPHA 286 #define CCE_NEG_BLANK 287 #define CCE_NEG_CNTRL 288 #define CCE_NEG_DIGIT 289 #define CCE_NEG_GRAPH 290 #define CCE_NEG_LOWER 291 #define CCE_NEG_PRINT 292 #define CCE_NEG_PUNCT 293 #define CCE_NEG_SPACE 294 #define CCE_NEG_UPPER 295 #define CCE_NEG_XDIGIT 296 #define CCL_OP_UNION 297 #define CCL_OP_DIFF 298 #define BEGIN_REPEAT_POSIX 299 #define END_REPEAT_POSIX 300 #define BEGIN_REPEAT_FLEX 301 #define END_REPEAT_FLEX 302 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) typedef int YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval; flex-2.5.35/scan.c0000664000175000017500000050601510761102737010572 00000000000000 #line 3 "scan.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ #include #include #include #include /* end standard C headers. */ /* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; #endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart(yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 #endif /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". * * Returns the top of the stack, or NULL. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart (FILE *input_file ); void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); void yy_delete_buffer (YY_BUFFER_STATE b ); void yy_flush_buffer (YY_BUFFER_STATE b ); void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); void yypop_buffer_state (void ); static void yyensure_buffer_stack (void ); static void yy_load_buffer_state (void ); static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); void yyfree (void * ); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) /* Begin user sect3 */ typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern int yylineno; int yylineno = 1; extern char *yytext; #define yytext_ptr yytext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ (yytext_ptr) -= (yy_more_len); \ yyleng = (size_t) (yy_cp - (yytext_ptr)); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; #define YY_NUM_RULES 251 #define YY_END_OF_BUFFER 252 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; static yyconst flex_int16_t yy_acclist[1223] = { 0, 248, 248, 252, 250, 251, 9, 250, 251, 20, 250, 251, 250, 251, 18, 250, 251, 1, 9, 250, 251, 19, 20, 250, 251, 250, 251, 250, 251, 250, 251, 250, 251, 17, 18, 250, 251, 164, 250, 251, 149, 164, 250, 251, 150, 250, 251, 164, 250, 251, 142, 164, 250, 251, 164, 250, 251, 161, 163, 164, 250, 251, 162, 163, 164, 250, 251, 163, 164, 250, 251, 163, 164, 250, 251, 164, 250, 251, 164, 250, 251, 164, 250, 251, 163, 164, 250, 251, 148, 149, 164, 250, 251, 138, 150, 250, 251, 164, 250, 251, 164, 250, 251, 140, 164, 250, 251, 141, 164, 250, 251, 136, 250, 251, 137, 250, 251, 136, 250, 251, 135, 136, 250, 251, 134, 136, 250, 251, 135, 136, 250, 251, 248, 249, 250, 251, 248, 249, 250, 251, 249, 250, 251, 249, 250, 251, 41, 250, 251, 42, 250, 251, 41, 250, 251, 41, 250, 251, 41, 250, 251, 41, 250, 251, 41, 250, 251, 41, 250, 251, 50, 250, 251, 49, 250, 251, 51, 250, 251, 250, 251, 170, 250, 251, 170, 250, 251, 165, 250, 251, 170, 250, 251, 166, 170, 250, 251, 167, 170, 250, 251, 169, 170, 250, 251, 171, 250, 251, 219, 250, 251, 220, 250, 251, 219, 250, 251, 217, 219, 250, 251, 216, 219, 250, 251, 218, 219, 250, 251, 172, 250, 251, 174, 250, 251, 172, 250, 251, 173, 250, 251, 172, 250, 251, 186, 250, 251, 186, 250, 251, 186, 250, 251, 186, 250, 251, 188, 190, 250, 251, 190, 250, 251, 188, 190, 250, 251, 188, 190, 250, 251, 188, 190, 250, 251, 188, 190, 250, 251, 189, 190, 250, 251, 233, 239, 250, 251, 238, 250, 251, 233, 239, 250, 251, 237, 239, 250, 251, 239, 250, 251, 239, 250, 251, 235, 239, 250, 251, 235, 239, 250, 251, 235, 239, 250, 251, 234, 239, 250, 251, 234, 239, 250, 251, 229, 239, 250, 251, 230, 239, 250, 251, 250, 251, 131, 250, 251, 250, 251, 25, 250, 251, 26, 250, 251, 25, 250, 251, 22, 250, 251, 25, 250, 251, 25, 250, 251, 240, 244, 250, 251, 242, 250, 251, 240, 244, 250, 251, 243, 244, 250, 251, 244, 250, 251, 227, 250, 251, 227, 250, 251, 228, 250, 251, 227, 250, 251, 227, 250, 251, 227, 250, 251, 227, 250, 251, 227, 250, 251, 227, 250, 251, 227, 250, 251, 130, 250, 251, 53, 130, 250, 251, 52, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 54, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, 37, 250, 251, 34, 250, 251, 37, 250, 251, 35, 37, 250, 251, 48, 250, 251, 45, 250, 251, 250, 251, 48, 250, 251, 48, 250, 251, 44, 250, 251, 43, 250, 251, 176, 250, 251, 175, 250, 251, 177, 250, 251, 178, 250, 251, 179, 250, 251, 180, 250, 251, 181, 250, 251, 182, 250, 251, 183, 250, 251, 32, 250, 251, 33, 250, 251, 32, 250, 251, 31, 250, 251, 29, 250, 251, 30, 250, 251, 29, 250, 251, 28, 250, 251, 9, 20, 18, 1, 9, 19, 20, 16, 10, 16, 4, 16, 5, 2, 17, 18, 149, 150, 144, 160, 158, 154, 154, 245, 245, 245, 143, 148, 149, 138, 150, 140, 141, 153, 139, 137, 135, 134, 134, 132, 135, 133, 135, 248, 248, 246, 247, 42, 39, 40, 50, 49, 51, 165, 165, 168, 169, 220, 216, 174, 184, 185, 190, 187, 233, 238, 236, 222, 235, 235, 235, 231, 232, 131, 26, 21, 23, 24, 240, 242, 241, 228, 221, 225, 226, 53, 52, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 55, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 36, 35, 45, 46, 47, 32, 33, 30, 27, 16, 10, 16, 14, 4, 16, 5, 6, 145, 146, 159, 154, 154, 154, 154, 154, 245, 245, 156, 155, 157, 139, 145, 147, 153, 132, 135, 133, 135, 38, 235, 235, 221, 130, 130, 130, 130, 130, 130, 130, 67, 130, 130, 130, 130, 72, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 14, 15, 4, 8, 16, 5, 154, 154, 154, 154, 154, 154, 154, 245, 157, 235, 235, 56, 57, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 73, 130, 74, 130, 130, 130, 130, 130, 79, 130, 130, 130, 130, 130, 130, 130, 130, 84, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 93, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 15, 8, 16, 8, 16, 8, 16, 154, 154, 154, 154, 154, 154, 154, 215, 235, 235, 58, 130, 130, 130, 60, 130, 130, 64, 130, 130, 130, 130, 130, 70, 130, 130, 130, 130, 75, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 87, 130, 130, 130, 130, 130, 91, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 3, 8, 16, 7, 8, 16, 154, 154, 154, 223, 224, 223, 235, 224, 235, 130, 130, 130, 63, 130, 130, 130, 130, 130, 130, 130, 130, 126, 130, 130, 130, 130, 130, 130, 130, 130, 130, 124, 130, 130, 86, 130, 130, 89, 130, 130, 90, 130, 130, 130, 130, 105, 130, 130, 95, 130, 130, 96, 130, 12, 13, 152, 151, 152, 130, 130, 130, 130, 130, 130, 130, 68, 130, 130, 71, 130, 130, 130, 130, 130, 130, 130, 123, 130, 130, 83, 130, 130, 130, 88, 130, 130, 92, 130, 103, 130, 125, 130, 130, 130, 151, 130, 130, 130, 130, 130, 130, 130, 69, 130, 130, 130, 130, 130, 80, 130, 130, 130, 130, 130, 130, 130, 114, 94, 130, 130, 115, 11, 191, 215, 192, 215, 193, 215, 194, 215, 195, 215, 196, 215, 197, 215, 198, 215, 199, 215, 200, 215, 201, 215, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 85, 130, 130, 130, 116, 104, 130, 117, 202, 215, 203, 215, 204, 215, 205, 215, 206, 215, 207, 215, 208, 215, 209, 215, 210, 215, 211, 215, 212, 215, 213, 215, 130, 130, 130, 130, 130, 130, 130, 122, 130, 130, 130, 77, 130, 130, 130, 130, 130, 130, 110, 120, 118, 111, 121, 119, 214, 215, 130, 130, 130, 130, 130, 130, 130, 126, 130, 76, 130, 130, 82, 130, 130, 127, 130, 130, 106, 108, 107, 109, 130, 130, 130, 65, 130, 130, 130, 130, 130, 78, 130, 130, 112, 113, 98, 99, 130, 130, 130, 130, 130, 130, 130, 128, 130, 97, 101, 130, 130, 130, 130, 130, 68, 130, 130, 100, 102, 130, 130, 62, 130, 66, 130, 130, 130, 130, 61, 130, 69, 130, 130, 130, 81, 130, 59, 130 } ; static yyconst flex_int16_t yy_accept[1108] = { 0, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 6, 9, 12, 14, 17, 21, 25, 27, 29, 31, 33, 37, 40, 44, 47, 50, 54, 57, 62, 67, 71, 75, 78, 81, 84, 88, 93, 97, 100, 103, 107, 111, 114, 117, 120, 124, 128, 132, 136, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 176, 179, 181, 184, 187, 190, 193, 197, 201, 205, 208, 211, 214, 217, 221, 225, 229, 232, 235, 238, 241, 244, 247, 250, 253, 256, 260, 263, 267, 271, 275, 279, 283, 287, 290, 294, 298, 301, 304, 308, 312, 316, 320, 324, 328, 332, 334, 337, 339, 342, 345, 348, 351, 354, 357, 361, 364, 368, 372, 375, 378, 381, 384, 387, 390, 393, 396, 399, 402, 405, 408, 412, 415, 418, 421, 424, 427, 431, 434, 437, 440, 443, 446, 449, 452, 455, 458, 461, 464, 467, 470, 473, 476, 479, 482, 485, 488, 491, 494, 497, 500, 503, 507, 510, 513, 515, 518, 521, 524, 527, 530, 533, 536, 539, 542, 545, 548, 551, 554, 557, 560, 563, 566, 569, 572, 575, 578, 579, 580, 580, 581, 583, 585, 585, 585, 585, 586, 588, 588, 588, 588, 588, 589, 590, 591, 591, 592, 594, 595, 596, 596, 596, 596, 597, 597, 598, 599, 599, 600, 601, 601, 602, 603, 604, 604, 604, 605, 605, 607, 609, 609, 609, 609, 610, 611, 612, 613, 613, 614, 615, 616, 617, 619, 621, 622, 623, 624, 625, 626, 626, 626, 627, 628, 628, 629, 630, 631, 631, 632, 632, 633, 634, 635, 636, 637, 638, 638, 639, 640, 641, 642, 643, 644, 644, 645, 645, 646, 647, 648, 649, 650, 651, 651, 652, 652, 653, 654, 655, 656, 657, 658, 659, 659, 659, 660, 661, 662, 663, 664, 665, 665, 666, 666, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 707, 708, 710, 710, 711, 711, 711, 711, 711, 711, 712, 713, 714, 714, 715, 715, 716, 716, 717, 717, 718, 718, 719, 720, 720, 721, 722, 723, 724, 725, 726, 727, 727, 728, 730, 731, 731, 732, 732, 734, 736, 736, 736, 736, 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, 737, 738, 739, 740, 740, 740, 741, 742, 743, 744, 745, 746, 747, 749, 750, 751, 752, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 788, 788, 788, 788, 790, 790, 790, 790, 790, 790, 790, 791, 793, 794, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 820, 822, 823, 824, 825, 826, 828, 829, 830, 831, 832, 833, 834, 835, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 857, 857, 857, 857, 858, 858, 858, 858, 858, 858, 860, 862, 864, 864, 865, 866, 867, 868, 869, 870, 871, 871, 871, 871, 871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873, 874, 876, 877, 878, 880, 881, 883, 884, 885, 886, 887, 889, 890, 891, 892, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 907, 908, 909, 910, 911, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 923, 923, 923, 923, 924, 924, 924, 924, 926, 927, 929, 929, 930, 931, 932, 932, 932, 933, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, 936, 938, 939, 940, 941, 943, 944, 945, 946, 947, 948, 949, 950, 952, 953, 954, 955, 956, 957, 958, 959, 960, 962, 963, 965, 966, 968, 969, 971, 972, 973, 974, 976, 976, 977, 979, 980, 980, 982, 982, 982, 982, 982, 982, 983, 983, 984, 984, 985, 985, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, 988, 989, 990, 991, 992, 993, 994, 996, 997, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1007, 1008, 1010, 1011, 1012, 1014, 1015, 1017, 1019, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1022, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1033, 1034, 1035, 1036, 1037, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1045, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1048, 1049, 1049, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1051, 1051, 1053, 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1089, 1090, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1092, 1092, 1094, 1094, 1094, 1094, 1094, 1094, 1095, 1095, 1095, 1095, 1095, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1119, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1137, 1137, 1138, 1138, 1139, 1140, 1141, 1141, 1141, 1141, 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1154, 1156, 1157, 1159, 1160, 1162, 1163, 1164, 1165, 1165, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168, 1169, 1170, 1172, 1173, 1174, 1175, 1176, 1178, 1179, 1180, 1181, 1182, 1182, 1182, 1182, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1192, 1193, 1193, 1194, 1194, 1195, 1196, 1197, 1198, 1199, 1201, 1202, 1203, 1204, 1205, 1206, 1208, 1210, 1211, 1212, 1213, 1215, 1217, 1218, 1219, 1221, 1223, 1223 } ; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 6, 7, 8, 9, 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 19, 19, 19, 19, 19, 20, 21, 22, 23, 1, 24, 25, 26, 27, 1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 44, 53, 54, 55, 56, 57, 1, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 44, 74, 75, 76, 77, 78, 79, 80, 81, 44, 82, 83, 84, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst flex_int32_t yy_meta[85] = { 0, 1, 1, 2, 1, 3, 4, 1, 1, 1, 5, 1, 6, 1, 7, 1, 8, 1, 5, 9, 9, 9, 9, 10, 1, 1, 1, 1, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 14, 15, 1, 16, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 5, 1, 17 } ; static yyconst flex_int16_t yy_base[1201] = { 0, 0, 84, 167, 250, 171, 184, 174, 179, 192, 233, 196, 200, 334, 0, 3343, 3340, 203, 416, 206, 211, 187, 216, 276, 417, 500, 0, 210, 223, 421, 427, 436, 440, 583, 588, 669, 0, 277, 299, 584, 751, 579, 580, 576, 732, 279, 305, 310, 444, 3378, 3975, 228, 3975, 3371, 0, 322, 3975, 3358, 423, 827, 3328, 0, 3975, 755, 3975, 3337, 3975, 448, 3312, 3975, 3975, 3323, 3291, 222, 408, 444, 764, 3975, 3311, 230, 3289, 3975, 3975, 3975, 3306, 0, 3306, 164, 3304, 3975, 3236, 3217, 3975, 3975, 3266, 239, 119, 3215, 3212, 3180, 0, 3248, 3975, 3243, 3975, 476, 3227, 3222, 3975, 3168, 0, 3975, 3975, 3975, 3203, 3975, 464, 3975, 3975, 3975, 3186, 3975, 742, 3975, 3161, 751, 180, 3975, 3975, 3171, 0, 3149, 757, 3975, 0, 3975, 3149, 3975, 200, 3138, 0, 429, 241, 3097, 3092, 3975, 3975, 306, 3975, 323, 3975, 3975, 3126, 3108, 3072, 3069, 0, 3975, 3115, 3975, 0, 3975, 446, 3975, 3114, 3031, 3098, 435, 371, 3045, 3026, 3975, 3076, 3975, 3074, 3070, 439, 440, 3975, 578, 751, 586, 562, 735, 752, 0, 572, 577, 588, 786, 749, 396, 809, 727, 582, 747, 753, 764, 769, 580, 3975, 3975, 3067, 588, 3975, 3975, 3053, 3002, 2996, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 0, 3975, 3046, 3975, 3975, 3975, 3018, 2986, 837, 3975, 2998, 0, 847, 3975, 2997, 817, 777, 0, 0, 891, 903, 912, 924, 0, 774, 0, 451, 3975, 0, 858, 3975, 2996, 2914, 472, 3975, 2974, 2953, 3975, 791, 236, 822, 899, 3975, 275, 0, 2873, 2872, 3975, 2871, 949, 3975, 2949, 2850, 2918, 2906, 3975, 0, 3975, 796, 3975, 0, 0, 2925, 0, 0, 2597, 3975, 3975, 3975, 3975, 795, 794, 3975, 3975, 484, 0, 2597, 3975, 877, 2596, 2594, 2594, 3975, 0, 3975, 918, 3975, 1005, 3975, 3975, 3975, 3975, 0, 3975, 611, 3975, 0, 3975, 0, 853, 851, 3975, 3975, 490, 3975, 608, 3975, 3975, 3975, 3975, 0, 3975, 3975, 596, 2510, 3975, 0, 3975, 3975, 2588, 3975, 2581, 3975, 894, 906, 0, 911, 717, 727, 923, 728, 2571, 882, 930, 889, 902, 916, 917, 940, 928, 923, 940, 933, 0, 932, 3975, 935, 939, 951, 956, 1059, 964, 965, 1052, 955, 957, 1099, 2578, 3975, 1078, 3975, 3975, 3975, 0, 3975, 3975, 3975, 987, 0, 0, 1087, 3975, 2576, 1132, 985, 1046, 1058, 0, 1058, 0, 1009, 3975, 1016, 3975, 1057, 3975, 1099, 3975, 1068, 731, 1088, 1095, 1178, 1244, 1280, 988, 0, 3975, 3975, 2492, 1162, 3975, 3975, 1081, 0, 1086, 0, 0, 1098, 1105, 1100, 3975, 1167, 1245, 1246, 1247, 1250, 2539, 1248, 1249, 1258, 1244, 1251, 1259, 1321, 1233, 1224, 0, 1072, 1228, 1243, 1261, 1287, 1298, 1289, 1298, 1287, 0, 1299, 1228, 1308, 0, 1280, 1298, 1307, 1316, 1314, 1316, 2532, 1322, 1337, 1338, 1340, 1342, 1342, 1348, 1353, 1356, 1347, 1357, 1362, 1366, 1358, 1353, 1356, 1377, 1366, 1370, 1371, 1367, 1383, 1384, 1379, 1391, 1392, 1381, 1388, 1397, 1275, 1455, 3975, 1439, 1463, 1444, 1415, 1412, 1415, 0, 1409, 0, 1429, 1492, 1558, 1594, 1524, 2449, 1564, 1639, 3975, 3975, 1537, 1556, 1560, 1407, 2427, 1558, 1563, 1559, 1564, 1572, 1584, 1574, 1562, 1615, 1619, 1609, 1625, 1626, 1643, 1614, 1651, 1662, 1658, 1664, 1665, 1616, 1616, 1637, 3975, 3975, 1638, 1631, 2352, 1634, 1641, 1655, 1650, 1677, 1679, 1671, 1689, 0, 0, 1690, 1677, 1681, 1697, 0, 2348, 1684, 1694, 2274, 1686, 1685, 1695, 0, 1692, 1711, 1704, 1703, 1701, 1713, 1703, 1704, 1712, 0, 1717, 1731, 1731, 1719, 1723, 1722, 1741, 1726, 1742, 1734, 1747, 1741, 2241, 3975, 1464, 1485, 1729, 1743, 1740, 0, 1721, 1591, 2173, 1585, 2139, 1771, 1807, 1417, 962, 1426, 1755, 2049, 1745, 1769, 3975, 1774, 1782, 1789, 1775, 1796, 1791, 1810, 1800, 1820, 1822, 1821, 1823, 1832, 1831, 1838, 1840, 1853, 1856, 1854, 1855, 1863, 1865, 1861, 1846, 1862, 0, 1853, 1864, 0, 1857, 0, 2008, 1866, 1862, 1869, 0, 1874, 1893, 1870, 0, 1888, 1875, 1886, 1882, 1880, 1878, 1897, 1876, 1882, 1889, 1889, 0, 1904, 1895, 1899, 1919, 0, 1907, 1909, 1908, 1923, 1791, 1924, 1925, 1919, 1747, 1917, 1918, 1918, 1938, 1924, 1726, 1599, 1927, 1937, 1970, 3975, 1702, 1652, 1923, 1755, 1941, 1625, 1618, 3975, 3975, 1961, 1977, 1966, 1969, 1956, 1979, 1983, 1986, 1989, 1984, 1992, 1987, 1994, 1990, 1988, 1995, 2007, 2004, 2016, 2022, 1996, 2028, 2018, 2026, 0, 0, 1620, 1990, 2009, 0, 2035, 2020, 2035, 2029, 2024, 2025, 2029, 1589, 2049, 2041, 2052, 2048, 2053, 2054, 2044, 2057, 0, 2064, 0, 2048, 0, 1576, 0, 2064, 2070, 2056, 0, 2096, 2062, 0, 2067, 2108, 0, 1531, 2072, 2078, 1438, 1853, 3975, 2105, 3975, 2068, 3975, 1463, 3975, 1407, 1402, 1348, 1345, 1314, 1307, 1269, 1260, 1256, 1210, 1158, 2106, 2111, 2097, 2118, 2122, 2129, 2125, 2140, 2131, 2136, 2141, 2143, 2156, 2131, 2138, 2147, 2101, 2151, 2138, 2153, 0, 2141, 0, 2144, 2165, 2153, 2159, 2158, 2165, 0, 2165, 0, 2167, 2169, 0, 2178, 0, 0, 0, 2183, 2167, 2179, 2210, 2178, 2189, 2188, 2189, 2202, 2186, 2194, 2218, 2196, 2202, 1119, 1114, 2206, 2118, 3975, 1106, 1100, 1081, 1068, 1065, 1061, 1057, 972, 968, 965, 914, 925, 893, 881, 874, 869, 865, 861, 854, 843, 807, 802, 776, 2235, 2212, 2226, 2221, 2227, 2239, 2238, 2228, 0, 2228, 2239, 2242, 2252, 0, 2238, 2244, 2249, 2244, 2258, 2263, 2269, 2255, 3975, 2263, 2265, 2265, 2281, 2265, 2262, 0, 2285, 2288, 2274, 3975, 2277, 2280, 2295, 2279, 2280, 2283, 2303, 2283, 2330, 3975, 2335, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 735, 612, 608, 598, 441, 374, 261, 245, 202, 152, 149, 137, 165, 2296, 2303, 2304, 2320, 2326, 2316, 2324, 2329, 2324, 2316, 2319, 2335, 2324, 2327, 0, 2332, 2328, 2327, 2332, 2345, 2348, 2352, 2344, 3975, 2338, 0, 2338, 2343, 2357, 2362, 2357, 3975, 2371, 2356, 2359, 2358, 2380, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 128, 2384, 2382, 2373, 2387, 2376, 2378, 2378, 0, 2395, 2396, 0, 2385, 2384, 2405, 2403, 2401, 2405, 2413, 3975, 2401, 3975, 3975, 3975, 2409, 2416, 2404, 3975, 3975, 2400, 2422, 2422, 2414, 2417, 2417, 3975, 2421, 2421, 2418, 2424, 2441, 2442, 2443, 0, 0, 2453, 0, 2436, 0, 2451, 3975, 3975, 2445, 3975, 3975, 2446, 2457, 2445, 2461, 2464, 2462, 2468, 2473, 2466, 2460, 0, 2462, 2459, 2461, 2483, 0, 2463, 3975, 3975, 3975, 2484, 2488, 2476, 2482, 3975, 2495, 2485, 2497, 2495, 2501, 2506, 2493, 0, 3975, 2496, 3975, 2508, 2498, 2506, 2503, 2506, 2505, 0, 2520, 3975, 3975, 2522, 2514, 0, 0, 2529, 2514, 2515, 0, 0, 2533, 2539, 0, 0, 3975, 2601, 2618, 2635, 2652, 2669, 2686, 2703, 2720, 2737, 2754, 2771, 2788, 2805, 2822, 2839, 2856, 2873, 2890, 2907, 2917, 2933, 2942, 2958, 2975, 2986, 3002, 3019, 3036, 3053, 3063, 3079, 3096, 3113, 3127, 3137, 3153, 3170, 3187, 3204, 3215, 2009, 3227, 3244, 3254, 3270, 3287, 3294, 3300, 3316, 3326, 3342, 3359, 3376, 2564, 3386, 3403, 3420, 3437, 3454, 3471, 3488, 3505, 3522, 3532, 3548, 3562, 3572, 3588, 3605, 3622, 3639, 3650, 3662, 3679, 3696, 3713, 3730, 3740, 3749, 3765, 3782, 3799, 2571, 3809, 3826, 3843, 3860, 3877, 3885, 3890, 3906, 3923, 3940, 3957 } ; static yyconst flex_int16_t yy_def[1201] = { 0, 1106, 1106, 1107, 1107, 1108, 1109, 1110, 1110, 1111, 1111, 1112, 1112, 1106, 13, 1113, 1113, 1114, 1114, 1115, 1115, 1116, 1116, 1117, 1117, 1106, 25, 1118, 1118, 1119, 1119, 1120, 1120, 1121, 1121, 1106, 35, 1122, 1122, 1123, 1123, 1113, 1113, 1113, 1113, 1124, 1124, 1125, 1125, 1106, 1106, 1106, 1106, 1106, 1126, 1106, 1106, 1106, 1106, 1127, 1106, 1128, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1129, 1130, 1131, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1132, 1133, 1132, 1134, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1135, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1136, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1130, 1106, 1106, 1130, 1137, 1106, 1106, 1106, 1138, 1106, 1130, 1106, 1139, 1106, 1139, 1106, 1140, 1106, 1141, 1141, 1141, 1106, 1106, 1106, 1106, 1142, 1106, 1142, 1106, 1106, 1106, 1106, 1106, 1106, 1143, 1106, 1143, 1106, 1144, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1145, 1106, 1106, 1106, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1106, 1106, 1148, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1149, 1106, 1149, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1150, 1106, 1106, 1106, 1106, 1106, 1151, 1152, 1106, 1106, 1106, 1106, 1153, 1151, 1154, 1155, 1106, 1156, 1106, 1106, 1106, 1106, 1157, 1106, 1106, 1106, 1106, 1106, 1158, 1158, 1159, 1106, 1106, 1160, 1106, 1106, 1106, 1161, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1162, 1106, 1106, 1106, 1163, 1164, 1164, 1165, 1166, 1167, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1168, 1169, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1170, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1171, 1106, 1172, 1106, 1172, 1106, 1173, 1173, 1173, 1106, 1106, 1174, 1106, 1174, 1106, 1106, 1106, 1106, 1175, 1106, 1106, 1106, 1106, 1106, 1176, 1106, 1106, 1106, 1106, 1177, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1106, 1106, 1106, 1106, 1106, 1180, 1106, 1106, 1106, 1106, 1181, 1182, 1183, 1106, 1106, 1106, 1106, 1106, 1106, 1184, 1181, 1185, 1186, 1106, 1186, 1106, 1187, 1106, 1187, 1106, 1106, 1188, 1188, 1188, 1106, 1188, 1188, 1106, 1189, 1106, 1106, 1190, 1106, 1106, 1106, 1106, 1191, 1106, 1192, 1193, 1106, 1106, 1194, 1106, 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1197, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1183, 1183, 1106, 1183, 1183, 1106, 1106, 1106, 1106, 1184, 1198, 1185, 1106, 1106, 1188, 414, 412, 412, 1188, 414, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1183, 1183, 1106, 1106, 1106, 1198, 1198, 1198, 1106, 511, 511, 1188, 414, 1188, 1188, 1188, 1106, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1199, 1106, 1106, 1198, 1106, 1198, 1106, 1188, 1188, 1188, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1106, 1178, 1106, 1106, 1106, 1106, 1199, 1106, 1199, 1106, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1200, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1200, 1106, 1200, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1195, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 0, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106 } ; static yyconst flex_int16_t yy_nxt[4060] = { 0, 50, 51, 52, 50, 53, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 50, 50, 50, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 50, 50, 50, 50, 55, 56, 50, 57, 50, 58, 50, 59, 50, 50, 50, 50, 50, 50, 50, 50, 60, 50, 50, 50, 50, 50, 50, 50, 50, 50, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 50, 50, 50, 50, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 50, 50, 50, 63, 64, 291, 65, 66, 83, 67, 84, 89, 68, 69, 70, 70, 89, 1027, 70, 71, 86, 83, 992, 84, 50, 72, 991, 87, 70, 93, 309, 94, 101, 102, 291, 103, 101, 102, 990, 103, 113, 989, 114, 119, 315, 120, 121, 148, 119, 149, 120, 121, 115, 50, 73, 74, 116, 116, 116, 116, 148, 90, 149, 91, 228, 229, 90, 230, 91, 309, 93, 95, 94, 276, 124, 125, 99, 126, 96, 97, 283, 98, 284, 75, 70, 70, 76, 77, 316, 78, 66, 988, 67, 79, 122, 68, 69, 70, 70, 122, 95, 70, 71, 124, 125, 290, 126, 96, 80, 260, 261, 70, 95, 128, 201, 129, 221, 202, 222, 96, 97, 117, 98, 410, 411, 223, 130, 320, 415, 415, 203, 203, 203, 203, 987, 290, 201, 73, 74, 202, 81, 95, 221, 324, 222, 325, 277, 225, 96, 226, 986, 223, 203, 203, 203, 203, 320, 227, 232, 233, 324, 234, 325, 131, 132, 133, 75, 70, 70, 104, 105, 106, 104, 107, 104, 104, 104, 104, 104, 104, 104, 108, 104, 108, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 109, 104, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 104, 104, 104, 104, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 104, 104, 104, 113, 128, 114, 129, 291, 151, 235, 152, 263, 263, 985, 151, 115, 152, 130, 153, 116, 116, 116, 116, 157, 153, 158, 159, 157, 366, 158, 159, 225, 333, 226, 254, 254, 291, 255, 401, 334, 402, 227, 265, 264, 266, 319, 236, 267, 267, 267, 267, 290, 343, 344, 131, 132, 133, 366, 154, 405, 155, 406, 298, 299, 154, 300, 155, 305, 305, 305, 305, 431, 264, 432, 160, 319, 236, 324, 160, 325, 984, 290, 343, 344, 117, 134, 134, 135, 134, 136, 137, 134, 134, 134, 138, 134, 134, 134, 134, 134, 134, 134, 139, 134, 134, 134, 134, 134, 134, 134, 134, 134, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 141, 140, 140, 140, 140, 140, 140, 142, 143, 134, 144, 134, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 141, 140, 140, 140, 140, 140, 140, 142, 145, 134, 146, 162, 163, 205, 164, 206, 162, 163, 165, 164, 353, 211, 211, 165, 333, 216, 351, 166, 212, 212, 358, 334, 166, 379, 379, 379, 379, 324, 217, 325, 352, 213, 213, 346, 359, 347, 360, 315, 218, 348, 353, 214, 214, 219, 167, 371, 215, 215, 376, 167, 358, 168, 169, 207, 170, 208, 168, 169, 217, 170, 352, 213, 213, 346, 359, 347, 360, 218, 348, 983, 214, 214, 219, 167, 371, 215, 215, 376, 167, 982, 168, 316, 209, 981, 210, 168, 171, 172, 173, 171, 174, 175, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 176, 177, 171, 171, 171, 178, 171, 171, 179, 180, 181, 182, 183, 184, 185, 186, 187, 185, 185, 188, 189, 190, 191, 192, 185, 193, 194, 195, 196, 197, 198, 185, 199, 171, 171, 171, 171, 171, 179, 180, 181, 182, 183, 184, 185, 186, 187, 185, 185, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 185, 199, 171, 171, 171, 205, 216, 206, 249, 250, 370, 251, 263, 263, 452, 252, 354, 269, 270, 217, 271, 263, 263, 453, 272, 456, 372, 263, 263, 218, 349, 356, 364, 273, 219, 410, 411, 355, 350, 274, 370, 980, 365, 452, 264, 373, 354, 374, 375, 217, 941, 357, 453, 264, 456, 207, 372, 208, 218, 264, 349, 356, 364, 219, 387, 361, 355, 398, 350, 362, 235, 275, 365, 264, 408, 373, 940, 374, 375, 425, 357, 939, 264, 428, 209, 429, 210, 238, 264, 253, 228, 229, 367, 230, 387, 361, 412, 398, 253, 362, 232, 233, 368, 234, 408, 369, 239, 236, 240, 425, 240, 249, 250, 428, 251, 429, 240, 938, 252, 240, 241, 242, 367, 240, 243, 244, 410, 411, 937, 245, 298, 299, 368, 300, 369, 936, 239, 236, 240, 935, 240, 445, 446, 934, 390, 391, 240, 392, 933, 240, 241, 242, 240, 243, 244, 932, 390, 391, 245, 392, 246, 393, 393, 393, 393, 390, 391, 931, 392, 413, 413, 445, 446, 393, 393, 393, 393, 390, 391, 458, 392, 448, 393, 393, 393, 393, 461, 394, 305, 305, 305, 305, 253, 449, 393, 393, 393, 393, 450, 930, 462, 414, 269, 270, 454, 271, 395, 464, 458, 272, 459, 448, 451, 463, 460, 461, 394, 396, 273, 465, 929, 455, 466, 449, 274, 468, 467, 469, 450, 462, 414, 470, 471, 472, 454, 473, 395, 464, 474, 476, 459, 451, 463, 480, 460, 482, 481, 396, 475, 465, 455, 485, 466, 486, 468, 467, 275, 469, 262, 262, 470, 471, 472, 401, 473, 402, 410, 411, 474, 476, 401, 928, 402, 480, 927, 482, 481, 475, 926, 497, 485, 504, 486, 253, 433, 434, 435, 436, 437, 437, 438, 437, 437, 437, 437, 439, 437, 437, 437, 440, 437, 437, 441, 437, 442, 437, 437, 443, 437, 497, 504, 405, 444, 406, 433, 434, 435, 436, 437, 437, 438, 437, 437, 437, 437, 439, 437, 437, 437, 440, 437, 441, 437, 442, 437, 437, 443, 437, 477, 483, 499, 500, 478, 501, 505, 506, 484, 479, 379, 379, 379, 379, 508, 405, 431, 406, 432, 502, 502, 502, 502, 510, 511, 925, 520, 512, 512, 924, 477, 483, 548, 923, 478, 505, 922, 506, 484, 479, 487, 521, 488, 522, 508, 489, 490, 503, 391, 921, 392, 491, 492, 510, 410, 411, 520, 493, 494, 513, 523, 548, 495, 409, 393, 393, 393, 393, 920, 496, 487, 521, 488, 522, 919, 489, 490, 519, 519, 519, 519, 491, 492, 431, 914, 432, 493, 494, 513, 913, 523, 495, 409, 409, 861, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 410, 411, 860, 515, 409, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 409, 409, 409, 516, 516, 546, 547, 524, 524, 524, 524, 524, 524, 524, 524, 549, 558, 550, 599, 859, 600, 524, 524, 858, 525, 526, 528, 533, 527, 551, 535, 530, 857, 529, 534, 546, 547, 410, 411, 517, 517, 517, 517, 531, 549, 558, 532, 550, 517, 517, 517, 517, 517, 517, 525, 526, 528, 533, 527, 551, 535, 530, 529, 552, 534, 560, 553, 554, 555, 556, 856, 557, 531, 410, 411, 532, 559, 855, 517, 517, 517, 517, 517, 517, 1106, 561, 562, 563, 565, 536, 537, 538, 539, 552, 560, 540, 553, 554, 555, 556, 541, 557, 564, 567, 542, 568, 559, 543, 854, 544, 569, 853, 545, 570, 561, 571, 562, 563, 565, 536, 537, 538, 539, 572, 573, 540, 574, 575, 576, 577, 541, 564, 578, 567, 542, 568, 543, 581, 544, 582, 569, 545, 579, 570, 583, 571, 584, 585, 580, 586, 587, 606, 588, 572, 573, 589, 574, 575, 576, 577, 590, 591, 578, 592, 593, 852, 594, 581, 582, 598, 851, 595, 579, 583, 596, 597, 584, 585, 580, 586, 587, 588, 500, 602, 600, 589, 503, 391, 603, 392, 590, 591, 619, 592, 593, 594, 604, 499, 500, 598, 501, 595, 608, 596, 597, 601, 500, 599, 501, 600, 410, 411, 259, 602, 502, 502, 502, 502, 603, 410, 411, 619, 502, 502, 502, 502, 604, 601, 500, 850, 501, 607, 608, 409, 409, 848, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 410, 411, 613, 610, 409, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, 409, 409, 409, 611, 611, 616, 409, 524, 524, 614, 614, 524, 524, 524, 845, 617, 618, 623, 828, 696, 697, 524, 698, 524, 625, 621, 626, 622, 775, 629, 776, 817, 624, 524, 700, 616, 628, 410, 411, 612, 612, 612, 612, 410, 411, 617, 618, 623, 612, 612, 612, 612, 612, 612, 625, 621, 626, 622, 524, 629, 627, 624, 806, 524, 524, 524, 628, 409, 524, 630, 781, 632, 644, 643, 524, 524, 636, 780, 612, 612, 612, 612, 612, 612, 615, 615, 615, 615, 631, 627, 633, 634, 524, 615, 615, 615, 615, 615, 615, 630, 524, 632, 644, 643, 779, 646, 636, 524, 645, 647, 635, 524, 649, 524, 524, 650, 651, 652, 631, 653, 633, 634, 637, 615, 615, 615, 615, 615, 615, 639, 638, 697, 640, 641, 642, 646, 654, 645, 647, 656, 635, 649, 655, 658, 650, 657, 651, 652, 659, 606, 660, 637, 661, 662, 692, 664, 665, 669, 639, 667, 638, 640, 668, 641, 642, 670, 654, 671, 672, 656, 673, 675, 655, 658, 657, 674, 676, 677, 659, 660, 678, 661, 679, 662, 664, 680, 665, 669, 667, 681, 683, 668, 682, 684, 670, 685, 687, 671, 672, 686, 673, 675, 688, 690, 674, 676, 677, 693, 689, 691, 678, 694, 679, 695, 703, 680, 701, 701, 705, 681, 683, 682, 684, 524, 524, 685, 687, 706, 686, 607, 768, 524, 688, 690, 410, 411, 693, 689, 524, 691, 524, 694, 695, 708, 703, 524, 710, 705, 707, 524, 410, 411, 702, 702, 702, 702, 709, 706, 711, 524, 712, 702, 702, 702, 702, 702, 702, 714, 713, 524, 524, 524, 524, 708, 764, 710, 715, 707, 716, 717, 524, 524, 775, 718, 776, 721, 709, 524, 711, 524, 712, 702, 702, 702, 702, 702, 702, 714, 713, 719, 723, 720, 524, 524, 524, 524, 715, 724, 716, 717, 524, 722, 524, 718, 524, 721, 726, 728, 752, 731, 732, 734, 727, 730, 748, 733, 736, 741, 738, 719, 723, 720, 725, 735, 729, 743, 740, 724, 739, 742, 722, 744, 745, 746, 747, 749, 726, 728, 731, 750, 732, 734, 727, 730, 733, 751, 736, 741, 738, 753, 754, 725, 755, 735, 729, 740, 756, 739, 757, 742, 744, 758, 745, 746, 747, 749, 759, 761, 750, 760, 762, 763, 765, 766, 767, 751, 769, 770, 753, 754, 771, 755, 772, 773, 777, 778, 756, 757, 696, 697, 758, 698, 410, 411, 409, 524, 759, 761, 760, 762, 524, 763, 765, 766, 767, 524, 769, 770, 524, 771, 410, 411, 772, 773, 777, 778, 524, 782, 524, 786, 784, 783, 524, 524, 785, 524, 524, 524, 524, 524, 787, 524, 791, 524, 524, 524, 363, 363, 807, 793, 737, 795, 802, 524, 788, 796, 524, 782, 786, 789, 784, 783, 790, 792, 785, 524, 797, 524, 794, 798, 787, 524, 791, 799, 800, 524, 804, 524, 807, 793, 808, 795, 802, 788, 803, 796, 805, 811, 789, 801, 809, 790, 792, 812, 813, 797, 814, 794, 815, 798, 810, 704, 816, 799, 800, 818, 804, 819, 820, 808, 821, 822, 823, 825, 803, 824, 805, 811, 826, 801, 809, 827, 829, 812, 813, 814, 830, 815, 831, 838, 810, 816, 839, 846, 775, 818, 776, 819, 820, 849, 821, 822, 823, 825, 824, 847, 524, 917, 826, 918, 827, 864, 829, 832, 833, 524, 830, 831, 834, 838, 524, 835, 839, 846, 836, 840, 841, 524, 849, 837, 842, 524, 878, 843, 524, 847, 844, 863, 524, 862, 524, 864, 865, 832, 833, 524, 868, 866, 834, 524, 524, 835, 524, 875, 836, 840, 841, 876, 837, 872, 842, 878, 867, 843, 870, 524, 844, 863, 862, 871, 880, 869, 865, 882, 873, 877, 868, 866, 874, 879, 881, 409, 883, 875, 884, 699, 885, 876, 886, 872, 887, 867, 888, 870, 889, 890, 891, 892, 871, 880, 869, 894, 882, 873, 895, 877, 896, 902, 874, 879, 881, 883, 901, 893, 884, 885, 903, 904, 886, 887, 905, 907, 888, 906, 889, 890, 891, 892, 897, 692, 911, 894, 898, 895, 912, 899, 896, 902, 915, 943, 908, 901, 893, 909, 524, 900, 903, 904, 944, 946, 905, 907, 906, 910, 945, 947, 948, 950, 897, 911, 949, 951, 898, 912, 952, 899, 953, 915, 942, 943, 908, 954, 955, 909, 900, 956, 666, 957, 944, 946, 958, 959, 910, 945, 960, 947, 948, 950, 961, 949, 962, 951, 963, 964, 952, 965, 953, 942, 966, 967, 954, 968, 955, 969, 971, 956, 957, 970, 972, 973, 958, 959, 974, 975, 960, 976, 979, 961, 977, 917, 962, 918, 963, 964, 917, 965, 918, 966, 967, 993, 994, 968, 995, 969, 971, 978, 970, 996, 972, 973, 997, 974, 975, 998, 976, 979, 999, 1000, 977, 1001, 663, 1002, 1003, 1004, 648, 1005, 1006, 1007, 993, 1008, 994, 1009, 995, 1010, 978, 1011, 1012, 996, 1013, 1014, 997, 1015, 1016, 998, 1017, 1018, 999, 1000, 1019, 1001, 1002, 1003, 1020, 1004, 1005, 1021, 1006, 1007, 1008, 1022, 1009, 1025, 1010, 1023, 1026, 1011, 1012, 1024, 1013, 1014, 1015, 1016, 1028, 1017, 1029, 1018, 1030, 1031, 1019, 1032, 1033, 1034, 1020, 1035, 1036, 1021, 1037, 1038, 1022, 1039, 1025, 1040, 1023, 1041, 1026, 1042, 1024, 1043, 1044, 1045, 1046, 1047, 1028, 1048, 1029, 1030, 1049, 1031, 1032, 1033, 1034, 1050, 1057, 1035, 1036, 1037, 1038, 1051, 1052, 1039, 1053, 1040, 1054, 1041, 1055, 1042, 1056, 1043, 1044, 1045, 1046, 1047, 1048, 1058, 1059, 1060, 1049, 1061, 620, 1062, 1063, 1050, 1057, 1064, 1065, 1066, 1051, 1052, 1067, 1053, 1068, 1054, 1069, 1055, 1070, 1056, 1071, 1072, 1073, 1074, 1075, 409, 1076, 1058, 1059, 1060, 1077, 1061, 1062, 1078, 1063, 1079, 1080, 1064, 1065, 1066, 1081, 1067, 1082, 1083, 1068, 1084, 1069, 1085, 1070, 1086, 1071, 1072, 1073, 1074, 1075, 1076, 1087, 1088, 1089, 1077, 1090, 1091, 1092, 1078, 1079, 1093, 1080, 1094, 566, 1095, 1081, 1082, 1096, 1083, 1097, 1084, 1098, 1085, 1099, 1086, 1100, 1101, 524, 1102, 1103, 1104, 1087, 1088, 1089, 1090, 1091, 1105, 1092, 416, 1093, 416, 420, 1094, 1095, 391, 518, 1096, 518, 1097, 378, 457, 1098, 342, 1099, 1100, 339, 1101, 1102, 1103, 336, 1104, 301, 299, 301, 296, 286, 1105, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 231, 231, 282, 231, 231, 423, 422, 421, 231, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 248, 248, 270, 248, 248, 420, 418, 417, 248, 259, 407, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 262, 254, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, 268, 268, 268, 403, 268, 268, 250, 233, 229, 268, 280, 386, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 385, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 384, 285, 382, 285, 285, 295, 381, 380, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 303, 303, 378, 303, 303, 342, 340, 339, 303, 308, 338, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 311, 337, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, 317, 311, 311, 312, 336, 312, 335, 331, 312, 312, 312, 312, 312, 329, 328, 327, 312, 314, 326, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 318, 318, 322, 318, 318, 321, 317, 313, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 330, 307, 330, 310, 330, 330, 330, 330, 330, 330, 330, 330, 330, 307, 330, 330, 330, 332, 306, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 341, 304, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 345, 345, 302, 299, 345, 345, 377, 301, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 383, 297, 383, 383, 383, 296, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 231, 231, 294, 231, 231, 293, 292, 289, 231, 388, 288, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 389, 287, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 397, 397, 286, 282, 279, 397, 399, 399, 278, 270, 258, 399, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 248, 248, 257, 248, 248, 256, 250, 247, 248, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 409, 233, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 229, 409, 409, 259, 1106, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 419, 419, 111, 419, 419, 111, 1106, 1106, 419, 419, 424, 1106, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 280, 1106, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 1106, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 426, 1106, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 427, 1106, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 1106, 285, 1106, 285, 285, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 295, 1106, 1106, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, 303, 303, 1106, 303, 303, 1106, 1106, 1106, 303, 312, 1106, 312, 1106, 1106, 312, 312, 312, 312, 312, 1106, 1106, 1106, 312, 314, 1106, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 318, 318, 1106, 318, 318, 1106, 1106, 1106, 318, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 330, 1106, 330, 1106, 330, 330, 330, 330, 330, 330, 330, 330, 330, 1106, 330, 330, 330, 447, 1106, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 341, 1106, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 345, 345, 1106, 1106, 345, 345, 377, 1106, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 383, 1106, 383, 383, 383, 1106, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 388, 1106, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 389, 1106, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 507, 507, 1106, 507, 507, 1106, 1106, 1106, 507, 509, 509, 1106, 509, 509, 1106, 1106, 1106, 509, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 409, 1106, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, 1106, 409, 409, 419, 419, 1106, 419, 419, 1106, 1106, 1106, 419, 419, 424, 1106, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 426, 1106, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, 427, 1106, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 437, 437, 437, 318, 318, 1106, 318, 318, 1106, 1106, 1106, 318, 447, 1106, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 605, 1106, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, 49, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106 } ; static yyconst flex_int16_t yy_chk[4060] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 96, 3, 3, 5, 3, 5, 7, 3, 3, 3, 3, 8, 992, 3, 3, 6, 6, 942, 6, 21, 3, 941, 6, 3, 9, 126, 9, 11, 11, 96, 11, 12, 12, 940, 12, 17, 939, 17, 19, 138, 19, 19, 27, 20, 27, 20, 20, 17, 22, 3, 3, 17, 17, 17, 17, 28, 7, 28, 7, 51, 51, 8, 51, 8, 126, 10, 9, 10, 79, 21, 21, 10, 21, 9, 9, 87, 9, 87, 3, 3, 3, 4, 4, 138, 4, 4, 938, 4, 4, 19, 4, 4, 4, 4, 20, 9, 4, 4, 22, 22, 95, 22, 9, 4, 73, 73, 4, 10, 23, 37, 23, 45, 37, 45, 10, 10, 17, 10, 259, 259, 45, 23, 142, 263, 263, 37, 37, 37, 37, 937, 95, 38, 4, 4, 38, 4, 10, 46, 147, 46, 147, 79, 47, 10, 47, 936, 46, 38, 38, 38, 38, 142, 47, 55, 55, 149, 55, 149, 23, 23, 23, 4, 4, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 18, 24, 18, 24, 168, 29, 58, 29, 74, 74, 935, 30, 18, 30, 24, 29, 18, 18, 18, 18, 31, 30, 31, 31, 32, 191, 32, 32, 48, 162, 48, 67, 67, 168, 67, 246, 162, 246, 48, 75, 74, 75, 141, 58, 75, 75, 75, 75, 167, 176, 177, 24, 24, 24, 191, 29, 253, 29, 253, 105, 105, 30, 105, 30, 116, 116, 116, 116, 294, 74, 294, 31, 141, 58, 323, 32, 323, 934, 167, 176, 177, 18, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 33, 33, 39, 33, 39, 34, 34, 33, 34, 182, 41, 42, 34, 333, 43, 181, 33, 41, 42, 186, 333, 34, 203, 203, 203, 203, 325, 43, 325, 181, 41, 42, 179, 187, 179, 188, 314, 43, 179, 182, 41, 42, 43, 33, 194, 41, 42, 199, 34, 186, 33, 33, 39, 33, 39, 34, 34, 43, 34, 181, 41, 42, 179, 187, 179, 188, 43, 179, 933, 41, 42, 43, 33, 194, 41, 42, 199, 34, 932, 33, 314, 39, 931, 39, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 40, 44, 40, 63, 63, 193, 63, 122, 122, 347, 63, 183, 76, 76, 44, 76, 125, 125, 348, 76, 350, 195, 132, 132, 44, 180, 184, 190, 76, 44, 409, 409, 183, 180, 76, 193, 930, 190, 347, 122, 196, 183, 197, 198, 44, 873, 184, 348, 125, 350, 40, 195, 40, 44, 132, 180, 184, 190, 44, 236, 189, 183, 244, 180, 189, 235, 76, 190, 122, 258, 196, 872, 197, 198, 278, 184, 871, 125, 290, 40, 291, 40, 59, 132, 63, 228, 228, 192, 228, 236, 189, 260, 244, 76, 189, 232, 232, 192, 232, 258, 192, 59, 235, 59, 278, 59, 249, 249, 290, 249, 291, 59, 870, 249, 59, 59, 59, 192, 59, 59, 59, 260, 260, 869, 59, 298, 298, 192, 298, 192, 868, 59, 235, 59, 867, 59, 319, 320, 866, 239, 239, 59, 239, 865, 59, 59, 59, 59, 59, 59, 864, 240, 240, 59, 240, 59, 239, 239, 239, 239, 241, 241, 863, 241, 261, 261, 319, 320, 240, 240, 240, 240, 242, 242, 352, 242, 343, 241, 241, 241, 241, 354, 239, 305, 305, 305, 305, 249, 344, 242, 242, 242, 242, 346, 862, 355, 261, 269, 269, 349, 269, 241, 357, 352, 269, 353, 343, 346, 356, 353, 354, 239, 242, 269, 358, 861, 349, 359, 344, 269, 360, 359, 361, 346, 355, 261, 362, 364, 366, 349, 367, 241, 357, 368, 369, 353, 346, 356, 371, 353, 372, 371, 242, 368, 358, 349, 374, 359, 375, 360, 359, 269, 361, 415, 415, 362, 364, 366, 400, 367, 400, 614, 614, 368, 369, 402, 860, 402, 371, 859, 372, 371, 368, 858, 387, 374, 394, 375, 269, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 387, 394, 404, 307, 404, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 370, 373, 390, 390, 370, 390, 395, 396, 373, 370, 379, 379, 379, 379, 398, 406, 430, 406, 430, 390, 390, 390, 390, 408, 410, 857, 423, 411, 411, 856, 370, 373, 448, 855, 370, 395, 854, 396, 373, 370, 376, 425, 376, 428, 398, 376, 376, 393, 393, 853, 393, 376, 376, 408, 410, 410, 423, 376, 376, 411, 429, 448, 376, 411, 393, 393, 393, 393, 852, 376, 376, 425, 376, 428, 851, 376, 376, 420, 420, 420, 420, 376, 376, 432, 847, 432, 376, 376, 411, 846, 429, 376, 412, 412, 792, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 791, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 413, 413, 445, 446, 441, 433, 434, 435, 438, 439, 436, 442, 449, 459, 450, 498, 790, 498, 440, 443, 789, 433, 434, 436, 441, 435, 451, 443, 439, 788, 438, 442, 445, 446, 413, 413, 414, 414, 414, 414, 440, 449, 459, 440, 450, 414, 414, 414, 414, 414, 414, 433, 434, 436, 441, 435, 451, 443, 439, 438, 452, 442, 462, 453, 454, 455, 456, 787, 458, 440, 414, 414, 440, 460, 786, 414, 414, 414, 414, 414, 414, 444, 463, 464, 465, 467, 444, 444, 444, 444, 452, 462, 444, 453, 454, 455, 456, 444, 458, 466, 469, 444, 470, 460, 444, 785, 444, 471, 784, 444, 472, 463, 473, 464, 465, 467, 444, 444, 444, 444, 474, 475, 444, 476, 477, 478, 479, 444, 466, 480, 469, 444, 470, 444, 482, 444, 483, 471, 444, 481, 472, 484, 473, 485, 486, 481, 487, 488, 508, 489, 474, 475, 490, 476, 477, 478, 479, 491, 492, 480, 493, 494, 783, 495, 482, 483, 497, 782, 496, 481, 484, 496, 496, 485, 486, 481, 487, 488, 489, 501, 504, 501, 490, 503, 503, 505, 503, 491, 492, 523, 493, 494, 495, 506, 499, 499, 497, 499, 496, 510, 496, 496, 502, 502, 600, 502, 600, 613, 613, 613, 504, 499, 499, 499, 499, 505, 615, 615, 523, 502, 502, 502, 502, 506, 601, 601, 780, 601, 508, 510, 511, 511, 773, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 514, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 512, 512, 520, 514, 525, 527, 516, 516, 532, 526, 528, 770, 521, 522, 526, 758, 607, 607, 529, 607, 531, 528, 525, 529, 525, 693, 532, 693, 744, 527, 530, 609, 520, 531, 512, 512, 513, 513, 513, 513, 516, 516, 521, 522, 526, 513, 513, 513, 513, 513, 513, 528, 525, 529, 525, 535, 532, 530, 527, 733, 539, 533, 545, 531, 609, 534, 533, 704, 535, 546, 545, 536, 537, 539, 703, 513, 513, 513, 513, 513, 513, 517, 517, 517, 517, 534, 530, 536, 537, 538, 517, 517, 517, 517, 517, 517, 533, 540, 535, 546, 545, 699, 550, 539, 542, 547, 551, 538, 541, 553, 543, 544, 554, 555, 556, 534, 557, 536, 537, 540, 517, 517, 517, 517, 517, 517, 542, 541, 698, 542, 543, 544, 550, 557, 547, 551, 558, 538, 553, 557, 560, 554, 559, 555, 556, 563, 606, 564, 540, 565, 566, 692, 569, 570, 574, 542, 572, 541, 542, 573, 543, 544, 576, 557, 577, 578, 558, 579, 581, 557, 560, 559, 580, 582, 583, 563, 564, 584, 565, 586, 566, 569, 587, 570, 574, 572, 588, 590, 573, 589, 591, 576, 592, 594, 577, 578, 593, 579, 581, 595, 596, 580, 582, 583, 602, 595, 597, 584, 603, 586, 604, 616, 587, 611, 611, 618, 588, 590, 589, 591, 621, 624, 592, 594, 619, 593, 606, 686, 622, 595, 596, 701, 701, 602, 595, 623, 597, 626, 603, 604, 622, 616, 625, 624, 618, 621, 628, 611, 611, 612, 612, 612, 612, 623, 619, 625, 627, 626, 612, 612, 612, 612, 612, 612, 628, 627, 629, 631, 630, 632, 622, 682, 624, 629, 621, 630, 631, 634, 633, 774, 632, 774, 634, 623, 635, 625, 636, 626, 612, 612, 612, 612, 612, 612, 628, 627, 633, 636, 633, 637, 639, 640, 638, 629, 637, 630, 631, 643, 635, 641, 632, 642, 634, 639, 641, 668, 644, 645, 648, 640, 643, 664, 647, 650, 655, 653, 633, 636, 633, 638, 648, 642, 658, 654, 637, 653, 657, 635, 659, 661, 662, 663, 665, 639, 641, 644, 666, 645, 648, 640, 643, 647, 667, 650, 655, 653, 669, 670, 638, 671, 648, 642, 654, 673, 653, 674, 657, 659, 675, 661, 662, 663, 665, 676, 679, 666, 678, 680, 681, 683, 684, 685, 667, 687, 688, 669, 670, 689, 671, 690, 691, 694, 695, 673, 674, 696, 696, 675, 696, 700, 700, 700, 711, 676, 679, 678, 680, 707, 681, 683, 684, 685, 709, 687, 688, 710, 689, 702, 702, 690, 691, 694, 695, 708, 707, 712, 711, 709, 708, 713, 716, 710, 714, 718, 721, 715, 720, 712, 717, 716, 719, 722, 727, 1147, 1147, 734, 718, 652, 720, 727, 724, 713, 721, 723, 707, 711, 714, 709, 708, 715, 717, 710, 725, 722, 729, 719, 723, 712, 726, 716, 724, 725, 730, 729, 728, 734, 718, 735, 720, 727, 713, 728, 721, 730, 738, 714, 726, 737, 715, 717, 739, 740, 722, 741, 719, 742, 723, 737, 617, 743, 724, 725, 745, 729, 746, 747, 735, 748, 749, 750, 752, 728, 751, 730, 738, 754, 726, 737, 756, 760, 739, 740, 741, 761, 742, 762, 765, 737, 743, 767, 771, 776, 745, 776, 746, 747, 778, 748, 749, 750, 752, 751, 772, 795, 849, 754, 849, 756, 795, 760, 764, 764, 793, 761, 762, 764, 765, 794, 764, 767, 771, 764, 768, 768, 796, 778, 764, 768, 797, 809, 768, 799, 772, 768, 794, 798, 793, 801, 795, 796, 764, 764, 802, 799, 797, 764, 800, 803, 764, 804, 806, 764, 768, 768, 807, 764, 803, 768, 809, 798, 768, 801, 805, 768, 794, 793, 802, 811, 800, 796, 814, 804, 808, 799, 797, 805, 810, 812, 610, 816, 806, 817, 608, 818, 807, 819, 803, 820, 798, 821, 801, 823, 825, 826, 828, 802, 811, 800, 832, 814, 804, 833, 808, 834, 837, 805, 810, 812, 816, 836, 828, 817, 818, 838, 839, 819, 820, 840, 842, 821, 841, 823, 825, 826, 828, 835, 598, 844, 832, 835, 833, 845, 835, 834, 837, 848, 875, 843, 836, 828, 843, 874, 835, 838, 839, 876, 878, 840, 842, 841, 843, 877, 879, 880, 883, 835, 844, 881, 884, 835, 845, 885, 835, 886, 848, 874, 875, 843, 888, 889, 843, 835, 890, 571, 891, 876, 878, 892, 893, 843, 877, 894, 879, 880, 883, 895, 881, 897, 884, 898, 899, 885, 900, 886, 874, 901, 902, 888, 904, 889, 905, 908, 890, 891, 906, 909, 910, 892, 893, 911, 912, 894, 913, 915, 895, 914, 916, 897, 916, 898, 899, 918, 900, 918, 901, 902, 943, 944, 904, 945, 905, 908, 914, 906, 946, 909, 910, 947, 911, 912, 948, 913, 915, 949, 950, 914, 951, 568, 952, 953, 954, 552, 955, 956, 958, 943, 959, 944, 960, 945, 961, 914, 962, 963, 946, 964, 965, 947, 967, 969, 948, 970, 971, 949, 950, 972, 951, 952, 953, 973, 954, 955, 975, 956, 958, 959, 976, 960, 978, 961, 977, 979, 962, 963, 977, 964, 965, 967, 969, 993, 970, 994, 971, 995, 996, 972, 997, 998, 999, 973, 1001, 1002, 975, 1004, 1005, 976, 1006, 978, 1007, 977, 1008, 979, 1009, 977, 1010, 1012, 1016, 1017, 1018, 993, 1021, 994, 995, 1022, 996, 997, 998, 999, 1023, 1031, 1001, 1002, 1004, 1005, 1024, 1025, 1006, 1026, 1007, 1028, 1008, 1029, 1009, 1030, 1010, 1012, 1016, 1017, 1018, 1021, 1032, 1033, 1034, 1022, 1037, 524, 1039, 1041, 1023, 1031, 1044, 1047, 1048, 1024, 1025, 1049, 1026, 1050, 1028, 1051, 1029, 1052, 1030, 1053, 1054, 1055, 1056, 1058, 515, 1059, 1032, 1033, 1034, 1060, 1037, 1039, 1061, 1041, 1063, 1067, 1044, 1047, 1048, 1068, 1049, 1069, 1070, 1050, 1072, 1051, 1073, 1052, 1074, 1053, 1054, 1055, 1056, 1058, 1059, 1075, 1076, 1077, 1060, 1078, 1081, 1083, 1061, 1063, 1084, 1067, 1085, 468, 1086, 1068, 1069, 1087, 1070, 1088, 1072, 1090, 1073, 1093, 1074, 1094, 1097, 437, 1098, 1099, 1102, 1075, 1076, 1077, 1078, 1081, 1103, 1083, 1160, 1084, 1160, 419, 1085, 1086, 392, 1189, 1087, 1189, 1088, 377, 351, 1090, 341, 1093, 1094, 339, 1097, 1098, 1099, 334, 1102, 301, 300, 299, 296, 285, 1103, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126, 282, 1126, 1126, 274, 273, 272, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 271, 1128, 1128, 268, 266, 265, 1128, 1129, 256, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130, 255, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1131, 1131, 1131, 252, 1131, 1131, 251, 234, 230, 1131, 1132, 227, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133, 226, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 222, 1134, 208, 1134, 1134, 1135, 207, 206, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 202, 1136, 1136, 175, 174, 172, 1136, 1137, 170, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 169, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 166, 1138, 1138, 1139, 165, 1139, 164, 158, 1139, 1139, 1139, 1139, 1139, 155, 154, 153, 1139, 1140, 152, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1141, 1141, 144, 1141, 1141, 143, 139, 136, 1141, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1143, 131, 1143, 129, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 124, 1143, 1143, 1143, 1144, 120, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145, 114, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1146, 1146, 109, 107, 1146, 1146, 1148, 106, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1149, 103, 1149, 1149, 1149, 101, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150, 99, 1150, 1150, 98, 97, 94, 1150, 1151, 91, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152, 90, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 88, 86, 84, 1153, 1154, 1154, 80, 78, 72, 1154, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 71, 1156, 1156, 68, 65, 60, 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1158, 57, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 53, 1158, 1158, 1159, 49, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1161, 1161, 16, 1161, 1161, 15, 0, 0, 1161, 1161, 1162, 0, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 0, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 0, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 0, 1167, 0, 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169, 0, 0, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1170, 0, 1170, 1170, 0, 0, 0, 1170, 1171, 0, 1171, 0, 0, 1171, 1171, 1171, 1171, 1171, 0, 0, 0, 1171, 1172, 0, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1173, 1173, 0, 1173, 1173, 0, 0, 0, 1173, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1175, 0, 1175, 0, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 0, 1175, 1175, 1175, 1176, 0, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178, 0, 0, 1178, 1178, 1179, 0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180, 0, 1180, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 0, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 0, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184, 0, 1184, 1184, 0, 0, 0, 1184, 1185, 1185, 0, 1185, 1185, 0, 0, 0, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1188, 0, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 1188, 1190, 1190, 0, 1190, 1190, 0, 0, 0, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1192, 0, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 1195, 1195, 1196, 1196, 0, 1196, 1196, 0, 0, 0, 1196, 1197, 0, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106 } ; extern int yy_flex_debug; int yy_flex_debug = 0; static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; static char *yy_full_match; static int yy_lp; #define REJECT \ { \ *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \ yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ ++(yy_lp); \ goto find_rule; \ } static int yy_more_flag = 0; static int yy_more_len = 0; #define yymore() ((yy_more_flag) = 1) #define YY_MORE_ADJ (yy_more_len) #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "scan.l" /* scan.l - scanner for flex input -*-C-*- */ #line 4 "scan.l" /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "parse.h" extern bool tablesverify, tablesext; extern int trlcontxt; /* Set in parse.y for each rule. */ extern const char *escaped_qstart, *escaped_qend; #define ACTION_ECHO add_action( yytext ) #define ACTION_IFDEF(def, should_define) \ { \ if ( should_define ) \ action_define( def, 1 ); \ } #define ACTION_ECHO_QSTART add_action (escaped_qstart) #define ACTION_ECHO_QEND add_action (escaped_qend) #define ACTION_M4_IFDEF(def, should_define) \ do{ \ if ( should_define ) \ buf_m4_define( &m4defs_buf, def, NULL);\ else \ buf_m4_undefine( &m4defs_buf, def);\ } while(0) #define MARK_END_OF_PROLOG mark_prolog(); #define YY_DECL \ int flexscan() #define RETURNCHAR \ yylval = (unsigned char) yytext[0]; \ return CHAR; #define RETURNNAME \ if(yyleng < MAXLINE) \ { \ strcpy( nmstr, yytext ); \ } \ else \ { \ synerr(_("Input line too long\n")); \ FLEX_EXIT(EXIT_FAILURE); \ } \ return NAME; #define PUT_BACK_STRING(str, start) \ for ( i = strlen( str ) - 1; i >= start; --i ) \ unput((str)[i]) #define CHECK_REJECT(str) \ if ( all_upper( str ) ) \ reject = true; #define CHECK_YYMORE(str) \ if ( all_lower( str ) ) \ yymore_used = true; #define YY_USER_INIT \ if ( getenv("POSIXLY_CORRECT") ) \ posix_compat = true; #line 1977 "scan.c" #define INITIAL 0 #define SECT2 1 #define SECT2PROLOG 2 #define SECT3 3 #define CODEBLOCK 4 #define PICKUPDEF 5 #define SC 6 #define CARETISBOL 7 #define NUM 8 #define QUOTE 9 #define FIRSTCCL 10 #define CCL 11 #define ACTION 12 #define RECOVER 13 #define COMMENT 14 #define ACTION_STRING 15 #define PERCENT_BRACE_ACTION 16 #define OPTION 17 #define LINEDIR 18 #define CODEBLOCK_MATCH_BRACE 19 #define GROUP_WITH_PARAMS 20 #define GROUP_MINUS_PARAMS 21 #define EXTENDED_COMMENT 22 #define COMMENT_DISCARD 23 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ int yylex_destroy (void ); int yyget_debug (void ); void yyset_debug (int debug_flag ); YY_EXTRA_TYPE yyget_extra (void ); void yyset_extra (YY_EXTRA_TYPE user_defined ); FILE *yyget_in (void ); void yyset_in (FILE * in_str ); FILE *yyget_out (void ); void yyset_out (FILE * out_str ); int yyget_leng (void ); char *yyget_text (void ); int yyget_lineno (void ); void yyset_lineno (int line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap (void ); #else extern int yywrap (void ); #endif #endif static void yyunput (int c,char *buf_ptr ); #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void ); #else static int input (void ); #endif #endif static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = NULL; static void yy_push_state (int new_state ); static void yy_pop_state (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(yyin); \ } \ }\ \ #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* end tables serialization structures and prototypes */ /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 extern int yylex (void); #define YY_DECL int yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ if ( yyleng > 0 ) \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ (yytext[yyleng - 1] == '\n'); \ YY_USER_ACTION /** The main scanner function which does all the work. */ YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 131 "scan.l" static int bracelevel, didadef, indented_code; static int doing_rule_action = false; static int option_sense; int doing_codeblock = false; int i, brace_depth=0, brace_start_line=0; Char nmdef[MAXLINE]; #line 2204 "scan.c" if ( !(yy_init) ) { (yy_init) = 1; #ifdef YY_USER_INIT YY_USER_INIT; #endif /* Create the reject buffer large enough to save one state per allowed character. */ if ( ! (yy_state_buf) ) (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE ); if ( ! (yy_state_buf) ) YY_FATAL_ERROR( "out of dynamic memory in yylex()" ); if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { (yy_more_len) = 0; if ( (yy_more_flag) ) { (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); (yy_more_flag) = 0; } yy_cp = (yy_c_buf_p); /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); (yy_state_ptr) = (yy_state_buf); *(yy_state_ptr)++ = yy_current_state; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 1107 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } while ( yy_base[yy_current_state] != 3975 ); yy_find_action: yy_current_state = *--(yy_state_ptr); (yy_lp) = yy_accept[yy_current_state]; find_rule: /* we branch to this label when backing up */ for ( ; ; ) /* until we find what rule we matched */ { if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) { yy_act = yy_acclist[(yy_lp)]; { (yy_full_match) = yy_cp; break; } } --yy_cp; yy_current_state = *--(yy_state_ptr); (yy_lp) = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 1: YY_RULE_SETUP #line 142 "scan.l" indented_code = true; BEGIN(CODEBLOCK); YY_BREAK case 2: YY_RULE_SETUP #line 143 "scan.l" ACTION_ECHO; yy_push_state( COMMENT ); YY_BREAK case 3: YY_RULE_SETUP #line 144 "scan.l" yy_push_state( LINEDIR ); YY_BREAK case 4: YY_RULE_SETUP #line 145 "scan.l" return SCDECL; YY_BREAK case 5: YY_RULE_SETUP #line 146 "scan.l" return XSCDECL; YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP #line 147 "scan.l" { ++linenum; line_directive_out( (FILE *) 0, 1 ); indented_code = false; BEGIN(CODEBLOCK); } YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP #line 153 "scan.l" { brace_start_line = linenum; ++linenum; buf_linedir( &top_buf, infilename?infilename:"", linenum); brace_depth = 1; yy_push_state(CODEBLOCK_MATCH_BRACE); } YY_BREAK case 8: YY_RULE_SETUP #line 161 "scan.l" synerr( _("malformed '%top' directive") ); YY_BREAK case 9: YY_RULE_SETUP #line 163 "scan.l" /* discard */ YY_BREAK case 10: YY_RULE_SETUP #line 165 "scan.l" { sectnum = 2; bracelevel = 0; mark_defs1(); line_directive_out( (FILE *) 0, 1 ); BEGIN(SECT2PROLOG); return SECTEND; } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP #line 174 "scan.l" yytext_is_array = false; ++linenum; YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP #line 175 "scan.l" yytext_is_array = true; ++linenum; YY_BREAK case 13: YY_RULE_SETUP #line 177 "scan.l" BEGIN(OPTION); return OPTION_OP; YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP #line 179 "scan.l" ++linenum; /* ignore */ YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP #line 180 "scan.l" ++linenum; /* ignore */ YY_BREAK /* xgettext: no-c-format */ case 16: /* rule 16 can match eol */ YY_RULE_SETUP #line 183 "scan.l" synerr( _( "unrecognized '%' directive" ) ); YY_BREAK case 17: YY_RULE_SETUP #line 185 "scan.l" { if(yyleng < MAXLINE) { strcpy( nmstr, yytext ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } didadef = false; BEGIN(PICKUPDEF); } YY_BREAK case 18: YY_RULE_SETUP #line 200 "scan.l" RETURNNAME; YY_BREAK case 19: /* rule 19 can match eol */ YY_RULE_SETUP #line 201 "scan.l" ++linenum; /* allows blank lines in section 1 */ YY_BREAK case 20: /* rule 20 can match eol */ YY_RULE_SETUP #line 202 "scan.l" ACTION_ECHO; ++linenum; /* maybe end of comment line */ YY_BREAK case 21: YY_RULE_SETUP #line 207 "scan.l" ACTION_ECHO; yy_pop_state(); YY_BREAK case 22: YY_RULE_SETUP #line 208 "scan.l" ACTION_ECHO; YY_BREAK case 23: YY_RULE_SETUP #line 209 "scan.l" ACTION_ECHO_QSTART; YY_BREAK case 24: YY_RULE_SETUP #line 210 "scan.l" ACTION_ECHO_QEND; YY_BREAK case 25: YY_RULE_SETUP #line 211 "scan.l" ACTION_ECHO; YY_BREAK case 26: /* rule 26 can match eol */ YY_RULE_SETUP #line 212 "scan.l" ++linenum; ACTION_ECHO; YY_BREAK /* This is the same as COMMENT, but is discarded rather than output. */ case 27: YY_RULE_SETUP #line 217 "scan.l" yy_pop_state(); YY_BREAK case 28: YY_RULE_SETUP #line 218 "scan.l" ; YY_BREAK case 29: YY_RULE_SETUP #line 219 "scan.l" ; YY_BREAK case 30: /* rule 30 can match eol */ YY_RULE_SETUP #line 220 "scan.l" ++linenum; YY_BREAK case 31: YY_RULE_SETUP #line 224 "scan.l" yy_pop_state(); YY_BREAK case 32: YY_RULE_SETUP #line 225 "scan.l" ; YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP #line 226 "scan.l" ++linenum; YY_BREAK case 34: /* rule 34 can match eol */ YY_RULE_SETUP #line 230 "scan.l" yy_pop_state(); YY_BREAK case 35: YY_RULE_SETUP #line 231 "scan.l" linenum = myctoi( yytext ); YY_BREAK case 36: YY_RULE_SETUP #line 233 "scan.l" { flex_free( (void *) infilename ); infilename = copy_string( yytext + 1 ); infilename[strlen( infilename ) - 1] = '\0'; } YY_BREAK case 37: YY_RULE_SETUP #line 238 "scan.l" /* ignore spurious characters */ YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP #line 242 "scan.l" ++linenum; BEGIN(INITIAL); YY_BREAK case 39: YY_RULE_SETUP #line 244 "scan.l" ACTION_ECHO_QSTART; YY_BREAK case 40: YY_RULE_SETUP #line 245 "scan.l" ACTION_ECHO_QEND; YY_BREAK case 41: YY_RULE_SETUP #line 246 "scan.l" ACTION_ECHO; YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP #line 248 "scan.l" { ++linenum; ACTION_ECHO; if ( indented_code ) BEGIN(INITIAL); } YY_BREAK case 43: YY_RULE_SETUP #line 257 "scan.l" { if( --brace_depth == 0){ /* TODO: Matched. */ yy_pop_state(); }else buf_strnappend(&top_buf, yytext, yyleng); } YY_BREAK case 44: YY_RULE_SETUP #line 265 "scan.l" { brace_depth++; buf_strnappend(&top_buf, yytext, yyleng); } YY_BREAK case 45: /* rule 45 can match eol */ YY_RULE_SETUP #line 270 "scan.l" { ++linenum; buf_strnappend(&top_buf, yytext, yyleng); } YY_BREAK case 46: YY_RULE_SETUP #line 275 "scan.l" buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart)); YY_BREAK case 47: YY_RULE_SETUP #line 276 "scan.l" buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend)); YY_BREAK case 48: YY_RULE_SETUP #line 278 "scan.l" { buf_strnappend(&top_buf, yytext, yyleng); } YY_BREAK case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE): #line 282 "scan.l" { linenum = brace_start_line; synerr(_("Unmatched '{'")); yyterminate(); } YY_BREAK case 49: YY_RULE_SETUP #line 291 "scan.l" /* separates name and definition */ YY_BREAK case 50: YY_RULE_SETUP #line 293 "scan.l" { if(yyleng < MAXLINE) { strcpy( (char *) nmdef, yytext ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } /* Skip trailing whitespace. */ for ( i = strlen( (char *) nmdef ) - 1; i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t'); --i ) ; nmdef[i + 1] = '\0'; ndinstal( nmstr, nmdef ); didadef = true; } YY_BREAK case 51: /* rule 51 can match eol */ YY_RULE_SETUP #line 315 "scan.l" { if ( ! didadef ) synerr( _( "incomplete name definition" ) ); BEGIN(INITIAL); ++linenum; } YY_BREAK case 52: /* rule 52 can match eol */ YY_RULE_SETUP #line 325 "scan.l" ++linenum; BEGIN(INITIAL); YY_BREAK case 53: YY_RULE_SETUP #line 326 "scan.l" option_sense = true; YY_BREAK case 54: YY_RULE_SETUP #line 328 "scan.l" return '='; YY_BREAK case 55: YY_RULE_SETUP #line 330 "scan.l" option_sense = ! option_sense; YY_BREAK case 56: YY_RULE_SETUP #line 332 "scan.l" csize = option_sense ? 128 : 256; YY_BREAK case 57: YY_RULE_SETUP #line 333 "scan.l" csize = option_sense ? 256 : 128; YY_BREAK case 58: YY_RULE_SETUP #line 335 "scan.l" long_align = option_sense; YY_BREAK case 59: YY_RULE_SETUP #line 336 "scan.l" { ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense ); interactive = option_sense; } YY_BREAK case 60: YY_RULE_SETUP #line 340 "scan.l" yytext_is_array = option_sense; YY_BREAK case 61: YY_RULE_SETUP #line 341 "scan.l" ansi_func_defs = option_sense; YY_BREAK case 62: YY_RULE_SETUP #line 342 "scan.l" ansi_func_protos = option_sense; YY_BREAK case 63: YY_RULE_SETUP #line 343 "scan.l" backing_up_report = option_sense; YY_BREAK case 64: YY_RULE_SETUP #line 344 "scan.l" interactive = ! option_sense; YY_BREAK case 65: YY_RULE_SETUP #line 345 "scan.l" bison_bridge_lval = option_sense; YY_BREAK case 66: YY_RULE_SETUP #line 346 "scan.l" { if((bison_bridge_lloc = option_sense)) bison_bridge_lval = true; } YY_BREAK case 67: YY_RULE_SETUP #line 349 "scan.l" C_plus_plus = option_sense; YY_BREAK case 68: YY_RULE_SETUP #line 350 "scan.l" sf_set_case_ins(!option_sense); YY_BREAK case 69: YY_RULE_SETUP #line 351 "scan.l" sf_set_case_ins(option_sense); YY_BREAK case 70: YY_RULE_SETUP #line 352 "scan.l" ddebug = option_sense; YY_BREAK case 71: YY_RULE_SETUP #line 353 "scan.l" spprdflt = ! option_sense; YY_BREAK case 72: YY_RULE_SETUP #line 354 "scan.l" useecs = option_sense; YY_BREAK case 73: YY_RULE_SETUP #line 355 "scan.l" { useecs = usemecs = false; use_read = fullspd = true; } YY_BREAK case 74: YY_RULE_SETUP #line 359 "scan.l" { useecs = usemecs = false; use_read = fulltbl = true; } YY_BREAK case 75: YY_RULE_SETUP #line 363 "scan.l" ACTION_IFDEF("YY_NO_INPUT", ! option_sense); YY_BREAK case 76: YY_RULE_SETUP #line 364 "scan.l" interactive = option_sense; YY_BREAK case 77: YY_RULE_SETUP #line 365 "scan.l" lex_compat = option_sense; YY_BREAK case 78: YY_RULE_SETUP #line 366 "scan.l" posix_compat = option_sense; YY_BREAK case 79: YY_RULE_SETUP #line 367 "scan.l" { ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense); /* Override yywrap */ if( option_sense == true ) do_yywrap = false; } YY_BREAK case 80: YY_RULE_SETUP #line 373 "scan.l" usemecs = option_sense; YY_BREAK case 81: YY_RULE_SETUP #line 374 "scan.l" { ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense ); interactive = !option_sense; } YY_BREAK case 82: YY_RULE_SETUP #line 378 "scan.l" performance_report += option_sense ? 1 : -1; YY_BREAK case 83: YY_RULE_SETUP #line 379 "scan.l" yytext_is_array = ! option_sense; YY_BREAK case 84: YY_RULE_SETUP #line 380 "scan.l" use_read = option_sense; YY_BREAK case 85: YY_RULE_SETUP #line 381 "scan.l" reentrant = option_sense; YY_BREAK case 86: YY_RULE_SETUP #line 382 "scan.l" reject_really_used = option_sense; YY_BREAK case 87: YY_RULE_SETUP #line 383 "scan.l" ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense ); YY_BREAK case 88: YY_RULE_SETUP #line 384 "scan.l" do_stdinit = option_sense; YY_BREAK case 89: YY_RULE_SETUP #line 385 "scan.l" use_stdout = option_sense; YY_BREAK case 90: YY_RULE_SETUP #line 386 "scan.l" ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense); YY_BREAK case 91: YY_RULE_SETUP #line 387 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense); YY_BREAK case 92: YY_RULE_SETUP #line 388 "scan.l" printstats = option_sense; YY_BREAK case 93: YY_RULE_SETUP #line 389 "scan.l" nowarn = ! option_sense; YY_BREAK case 94: YY_RULE_SETUP #line 390 "scan.l" do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense); YY_BREAK case 95: YY_RULE_SETUP #line 391 "scan.l" yymore_really_used = option_sense; YY_BREAK case 96: YY_RULE_SETUP #line 392 "scan.l" do_yywrap = option_sense; YY_BREAK case 97: YY_RULE_SETUP #line 394 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense); YY_BREAK case 98: YY_RULE_SETUP #line 395 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense); YY_BREAK case 99: YY_RULE_SETUP #line 396 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense); YY_BREAK case 100: YY_RULE_SETUP #line 398 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense); YY_BREAK case 101: YY_RULE_SETUP #line 399 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense); YY_BREAK case 102: YY_RULE_SETUP #line 400 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense); YY_BREAK case 103: YY_RULE_SETUP #line 402 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense); YY_BREAK case 104: YY_RULE_SETUP #line 403 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense); YY_BREAK case 105: YY_RULE_SETUP #line 404 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense); YY_BREAK case 106: YY_RULE_SETUP #line 406 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense); YY_BREAK case 107: YY_RULE_SETUP #line 407 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense); YY_BREAK case 108: YY_RULE_SETUP #line 408 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense); YY_BREAK case 109: YY_RULE_SETUP #line 409 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense); YY_BREAK case 110: YY_RULE_SETUP #line 410 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense); YY_BREAK case 111: YY_RULE_SETUP #line 411 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense); YY_BREAK case 112: YY_RULE_SETUP #line 412 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense); YY_BREAK case 113: YY_RULE_SETUP #line 413 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense); YY_BREAK case 114: YY_RULE_SETUP #line 414 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense); YY_BREAK case 115: YY_RULE_SETUP #line 415 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense); YY_BREAK case 116: YY_RULE_SETUP #line 416 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense); YY_BREAK case 117: YY_RULE_SETUP #line 417 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense); YY_BREAK case 118: YY_RULE_SETUP #line 418 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense); YY_BREAK case 119: YY_RULE_SETUP #line 419 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense); YY_BREAK case 120: YY_RULE_SETUP #line 420 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense); YY_BREAK case 121: YY_RULE_SETUP #line 421 "scan.l" ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense); YY_BREAK case 122: YY_RULE_SETUP #line 423 "scan.l" return OPT_EXTRA_TYPE; YY_BREAK case 123: YY_RULE_SETUP #line 424 "scan.l" return OPT_OUTFILE; YY_BREAK case 124: YY_RULE_SETUP #line 425 "scan.l" return OPT_PREFIX; YY_BREAK case 125: YY_RULE_SETUP #line 426 "scan.l" return OPT_YYCLASS; YY_BREAK case 126: YY_RULE_SETUP #line 427 "scan.l" return OPT_HEADER; YY_BREAK case 127: YY_RULE_SETUP #line 428 "scan.l" return OPT_TABLES; YY_BREAK case 128: YY_RULE_SETUP #line 429 "scan.l" { tablesverify = option_sense; if(!tablesext && option_sense) tablesext = true; } YY_BREAK case 129: YY_RULE_SETUP #line 436 "scan.l" { if(yyleng-1 < MAXLINE) { strcpy( nmstr, yytext + 1 ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } nmstr[strlen( nmstr ) - 1] = '\0'; return NAME; } YY_BREAK case 130: YY_RULE_SETUP #line 450 "scan.l" { format_synerr( _( "unrecognized %%option: %s" ), yytext ); BEGIN(RECOVER); } YY_BREAK case 131: /* rule 131 can match eol */ YY_RULE_SETUP #line 457 "scan.l" ++linenum; BEGIN(INITIAL); YY_BREAK case 132: YY_RULE_SETUP #line 461 "scan.l" ++bracelevel; yyless( 2 ); /* eat only %{ */ YY_BREAK case 133: YY_RULE_SETUP #line 462 "scan.l" --bracelevel; yyless( 2 ); /* eat only %} */ YY_BREAK case 134: YY_RULE_SETUP #line 464 "scan.l" ACTION_ECHO; /* indented code in prolog */ YY_BREAK case 135: YY_RULE_SETUP #line 466 "scan.l" { /* non-indented code */ if ( bracelevel <= 0 ) { /* not in %{ ... %} */ yyless( 0 ); /* put it all back */ yy_set_bol( 1 ); mark_prolog(); BEGIN(SECT2); } else ACTION_ECHO; } YY_BREAK case 136: YY_RULE_SETUP #line 478 "scan.l" ACTION_ECHO; YY_BREAK case 137: /* rule 137 can match eol */ YY_RULE_SETUP #line 479 "scan.l" ++linenum; ACTION_ECHO; YY_BREAK case YY_STATE_EOF(SECT2PROLOG): #line 481 "scan.l" { mark_prolog(); sectnum = 0; yyterminate(); /* to stop the parser */ } YY_BREAK case 138: /* rule 138 can match eol */ YY_RULE_SETUP #line 489 "scan.l" ++linenum; /* allow blank lines in section 2 */ YY_BREAK case 139: YY_RULE_SETUP #line 491 "scan.l" { indented_code = false; doing_codeblock = true; bracelevel = 1; BEGIN(PERCENT_BRACE_ACTION); } YY_BREAK case 140: YY_RULE_SETUP #line 498 "scan.l" { /* Allow "<" to appear in (?x) patterns. */ if (!sf_skip_ws()) BEGIN(SC); return '<'; } YY_BREAK case 141: YY_RULE_SETUP #line 504 "scan.l" return '^'; YY_BREAK case 142: YY_RULE_SETUP #line 505 "scan.l" BEGIN(QUOTE); return '"'; YY_BREAK case 143: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 506 "scan.l" { BEGIN(NUM); if ( lex_compat || posix_compat ) return BEGIN_REPEAT_POSIX; else return BEGIN_REPEAT_FLEX; } YY_BREAK case 144: /* rule 144 can match eol */ *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 513 "scan.l" return '$'; YY_BREAK case 145: YY_RULE_SETUP #line 515 "scan.l" { bracelevel = 1; BEGIN(PERCENT_BRACE_ACTION); if ( in_rule ) { doing_rule_action = true; in_rule = false; return '\n'; } } YY_BREAK case 146: /* rule 146 can match eol */ YY_RULE_SETUP #line 526 "scan.l" { if (sf_skip_ws()){ /* We're in the middle of a (?x: ) pattern. */ /* Push back everything starting at the "|" */ size_t amt; amt = strchr (yytext, '|') - yytext; yyless(amt); } else { continued_action = true; ++linenum; return '\n'; } } YY_BREAK case 147: YY_RULE_SETUP #line 541 "scan.l" { if (sf_skip_ws()){ /* We're in the middle of a (?x: ) pattern. */ yy_push_state(COMMENT_DISCARD); } else{ yyless( yyleng - 2 ); /* put back '/', '*' */ bracelevel = 0; continued_action = false; BEGIN(ACTION); } } YY_BREAK case 148: YY_RULE_SETUP #line 555 "scan.l" /* allow indented rules */ ; YY_BREAK case 149: YY_RULE_SETUP #line 557 "scan.l" { if (sf_skip_ws()){ /* We're in the middle of a (?x: ) pattern. */ } else{ /* This rule is separate from the one below because * otherwise we get variable trailing context, so * we can't build the scanner using -{f,F}. */ bracelevel = 0; continued_action = false; BEGIN(ACTION); if ( in_rule ) { doing_rule_action = true; in_rule = false; return '\n'; } } } YY_BREAK case 150: /* rule 150 can match eol */ YY_RULE_SETUP #line 579 "scan.l" { if (sf_skip_ws()){ /* We're in the middle of a (?x: ) pattern. */ ++linenum; } else{ bracelevel = 0; continued_action = false; BEGIN(ACTION); unput( '\n' ); /* so sees it */ if ( in_rule ) { doing_rule_action = true; in_rule = false; return '\n'; } } } YY_BREAK case 151: #line 600 "scan.l" case 152: YY_RULE_SETUP #line 600 "scan.l" return EOF_OP; YY_BREAK case 153: YY_RULE_SETUP #line 602 "scan.l" { sectnum = 3; BEGIN(SECT3); outn("/* Begin user sect3 */"); yyterminate(); /* to stop the parser */ } YY_BREAK case 154: YY_RULE_SETUP #line 609 "scan.l" { int cclval; if(yyleng < MAXLINE) { strcpy( nmstr, yytext ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } /* Check to see if we've already encountered this * ccl. */ if (0 /* <--- This "0" effectively disables the reuse of a * character class (purely based on its source text). * The reason it was disabled is so yacc/bison can parse * ccl operations, such as ccl difference and union. */ && (cclval = ccllookup( (Char *) nmstr )) != 0 ) { if ( input() != ']' ) synerr( _( "bad character class" ) ); yylval = cclval; ++cclreuse; return PREVCCL; } else { /* We fudge a bit. We know that this ccl will * soon be numbered as lastccl + 1 by cclinit. */ cclinstal( (Char *) nmstr, lastccl + 1 ); /* Push back everything but the leading bracket * so the ccl can be rescanned. */ yyless( 1 ); BEGIN(FIRSTCCL); return '['; } } YY_BREAK case 155: YY_RULE_SETUP #line 655 "scan.l" return CCL_OP_DIFF; YY_BREAK case 156: YY_RULE_SETUP #line 656 "scan.l" return CCL_OP_UNION; YY_BREAK /* Check for :space: at the end of the rule so we don't * wrap the expanded regex in '(' ')' -- breaking trailing * context. */ case 157: /* rule 157 can match eol */ YY_RULE_SETUP #line 663 "scan.l" { register Char *nmdefptr; int end_is_ws, end_ch; end_ch = yytext[yyleng-1]; end_is_ws = end_ch != '}' ? 1 : 0; if(yyleng-1 < MAXLINE) { strcpy( nmstr, yytext + 1 ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ if ( (nmdefptr = ndlookup( nmstr )) == 0 ) format_synerr( _( "undefined definition {%s}" ), nmstr ); else { /* push back name surrounded by ()'s */ int len = strlen( (char *) nmdefptr ); if (end_is_ws) unput(end_ch); if ( lex_compat || nmdefptr[0] == '^' || (len > 0 && nmdefptr[len - 1] == '$') || (end_is_ws && trlcontxt && !sf_skip_ws())) { /* don't use ()'s after all */ PUT_BACK_STRING((char *) nmdefptr, 0); if ( nmdefptr[0] == '^' ) BEGIN(CARETISBOL); } else { unput(')'); PUT_BACK_STRING((char *) nmdefptr, 0); unput('('); } } } YY_BREAK case 158: YY_RULE_SETUP #line 711 "scan.l" { if (sf_skip_ws()) yy_push_state(COMMENT_DISCARD); else{ /* Push back the "*" and return "/" as usual. */ yyless(1); return '/'; } } YY_BREAK case 159: YY_RULE_SETUP #line 721 "scan.l" { if (lex_compat || posix_compat){ /* Push back the "?#" and treat it like a normal parens. */ yyless(1); sf_push(); return '('; } else yy_push_state(EXTENDED_COMMENT); } YY_BREAK case 160: YY_RULE_SETUP #line 731 "scan.l" { sf_push(); if (lex_compat || posix_compat) /* Push back the "?" and treat it like a normal parens. */ yyless(1); else BEGIN(GROUP_WITH_PARAMS); return '('; } YY_BREAK case 161: YY_RULE_SETUP #line 740 "scan.l" sf_push(); return '('; YY_BREAK case 162: YY_RULE_SETUP #line 741 "scan.l" sf_pop(); return ')'; YY_BREAK case 163: YY_RULE_SETUP #line 743 "scan.l" return (unsigned char) yytext[0]; YY_BREAK case 164: YY_RULE_SETUP #line 744 "scan.l" RETURNCHAR; YY_BREAK case 165: /* rule 165 can match eol */ YY_RULE_SETUP #line 749 "scan.l" ++linenum; /* Allow blank lines & continuations */ YY_BREAK case 166: YY_RULE_SETUP #line 750 "scan.l" return (unsigned char) yytext[0]; YY_BREAK case 167: YY_RULE_SETUP #line 751 "scan.l" BEGIN(SECT2); return '>'; YY_BREAK case 168: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 752 "scan.l" BEGIN(CARETISBOL); return '>'; YY_BREAK case 169: YY_RULE_SETUP #line 753 "scan.l" RETURNNAME; YY_BREAK case 170: YY_RULE_SETUP #line 754 "scan.l" { format_synerr( _( "bad : %s" ), yytext ); } YY_BREAK case 171: YY_RULE_SETUP #line 760 "scan.l" BEGIN(SECT2); return '^'; YY_BREAK case 172: YY_RULE_SETUP #line 764 "scan.l" RETURNCHAR; YY_BREAK case 173: YY_RULE_SETUP #line 765 "scan.l" BEGIN(SECT2); return '"'; YY_BREAK case 174: /* rule 174 can match eol */ YY_RULE_SETUP #line 767 "scan.l" { synerr( _( "missing quote" ) ); BEGIN(SECT2); ++linenum; return '"'; } YY_BREAK case 175: YY_RULE_SETUP #line 776 "scan.l" BEGIN(SECT2); YY_BREAK case 176: YY_RULE_SETUP #line 777 "scan.l" BEGIN(GROUP_MINUS_PARAMS); YY_BREAK case 177: YY_RULE_SETUP #line 778 "scan.l" sf_set_case_ins(1); YY_BREAK case 178: YY_RULE_SETUP #line 779 "scan.l" sf_set_dot_all(1); YY_BREAK case 179: YY_RULE_SETUP #line 780 "scan.l" sf_set_skip_ws(1); YY_BREAK case 180: YY_RULE_SETUP #line 783 "scan.l" BEGIN(SECT2); YY_BREAK case 181: YY_RULE_SETUP #line 784 "scan.l" sf_set_case_ins(0); YY_BREAK case 182: YY_RULE_SETUP #line 785 "scan.l" sf_set_dot_all(0); YY_BREAK case 183: YY_RULE_SETUP #line 786 "scan.l" sf_set_skip_ws(0); YY_BREAK case 184: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 790 "scan.l" BEGIN(CCL); return '^'; YY_BREAK case 185: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 791 "scan.l" return '^'; YY_BREAK case 186: YY_RULE_SETUP #line 792 "scan.l" BEGIN(CCL); RETURNCHAR; YY_BREAK case 187: *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP #line 796 "scan.l" return '-'; YY_BREAK case 188: YY_RULE_SETUP #line 797 "scan.l" RETURNCHAR; YY_BREAK case 189: YY_RULE_SETUP #line 798 "scan.l" BEGIN(SECT2); return ']'; YY_BREAK case 190: /* rule 190 can match eol */ YY_RULE_SETUP #line 799 "scan.l" { synerr( _( "bad character class" ) ); BEGIN(SECT2); return ']'; } YY_BREAK case 191: YY_RULE_SETUP #line 807 "scan.l" BEGIN(CCL); return CCE_ALNUM; YY_BREAK case 192: YY_RULE_SETUP #line 808 "scan.l" BEGIN(CCL); return CCE_ALPHA; YY_BREAK case 193: YY_RULE_SETUP #line 809 "scan.l" BEGIN(CCL); return CCE_BLANK; YY_BREAK case 194: YY_RULE_SETUP #line 810 "scan.l" BEGIN(CCL); return CCE_CNTRL; YY_BREAK case 195: YY_RULE_SETUP #line 811 "scan.l" BEGIN(CCL); return CCE_DIGIT; YY_BREAK case 196: YY_RULE_SETUP #line 812 "scan.l" BEGIN(CCL); return CCE_GRAPH; YY_BREAK case 197: YY_RULE_SETUP #line 813 "scan.l" BEGIN(CCL); return CCE_LOWER; YY_BREAK case 198: YY_RULE_SETUP #line 814 "scan.l" BEGIN(CCL); return CCE_PRINT; YY_BREAK case 199: YY_RULE_SETUP #line 815 "scan.l" BEGIN(CCL); return CCE_PUNCT; YY_BREAK case 200: YY_RULE_SETUP #line 816 "scan.l" BEGIN(CCL); return CCE_SPACE; YY_BREAK case 201: YY_RULE_SETUP #line 817 "scan.l" BEGIN(CCL); return CCE_UPPER; YY_BREAK case 202: YY_RULE_SETUP #line 818 "scan.l" BEGIN(CCL); return CCE_XDIGIT; YY_BREAK case 203: YY_RULE_SETUP #line 820 "scan.l" BEGIN(CCL); return CCE_NEG_ALNUM; YY_BREAK case 204: YY_RULE_SETUP #line 821 "scan.l" BEGIN(CCL); return CCE_NEG_ALPHA; YY_BREAK case 205: YY_RULE_SETUP #line 822 "scan.l" BEGIN(CCL); return CCE_NEG_BLANK; YY_BREAK case 206: YY_RULE_SETUP #line 823 "scan.l" BEGIN(CCL); return CCE_NEG_CNTRL; YY_BREAK case 207: YY_RULE_SETUP #line 824 "scan.l" BEGIN(CCL); return CCE_NEG_DIGIT; YY_BREAK case 208: YY_RULE_SETUP #line 825 "scan.l" BEGIN(CCL); return CCE_NEG_GRAPH; YY_BREAK case 209: YY_RULE_SETUP #line 826 "scan.l" BEGIN(CCL); return CCE_NEG_LOWER; YY_BREAK case 210: YY_RULE_SETUP #line 827 "scan.l" BEGIN(CCL); return CCE_NEG_PRINT; YY_BREAK case 211: YY_RULE_SETUP #line 828 "scan.l" BEGIN(CCL); return CCE_NEG_PUNCT; YY_BREAK case 212: YY_RULE_SETUP #line 829 "scan.l" BEGIN(CCL); return CCE_NEG_SPACE; YY_BREAK case 213: YY_RULE_SETUP #line 830 "scan.l" BEGIN(CCL); return CCE_NEG_UPPER; YY_BREAK case 214: YY_RULE_SETUP #line 831 "scan.l" BEGIN(CCL); return CCE_NEG_XDIGIT; YY_BREAK case 215: YY_RULE_SETUP #line 832 "scan.l" { format_synerr( _( "bad character class expression: %s" ), yytext ); BEGIN(CCL); return CCE_ALNUM; } YY_BREAK case 216: YY_RULE_SETUP #line 841 "scan.l" { yylval = myctoi( yytext ); return NUMBER; } YY_BREAK case 217: YY_RULE_SETUP #line 846 "scan.l" return ','; YY_BREAK case 218: YY_RULE_SETUP #line 847 "scan.l" { BEGIN(SECT2); if ( lex_compat || posix_compat ) return END_REPEAT_POSIX; else return END_REPEAT_FLEX; } YY_BREAK case 219: YY_RULE_SETUP #line 855 "scan.l" { synerr( _( "bad character inside {}'s" ) ); BEGIN(SECT2); return '}'; } YY_BREAK case 220: /* rule 220 can match eol */ YY_RULE_SETUP #line 861 "scan.l" { synerr( _( "missing }" ) ); BEGIN(SECT2); ++linenum; return '}'; } YY_BREAK case 221: YY_RULE_SETUP #line 871 "scan.l" bracelevel = 0; YY_BREAK case 222: YY_RULE_SETUP #line 873 "scan.l" ACTION_ECHO; yy_push_state( COMMENT ); YY_BREAK case 223: YY_RULE_SETUP #line 876 "scan.l" { ACTION_ECHO; CHECK_REJECT(yytext); } YY_BREAK case 224: YY_RULE_SETUP #line 880 "scan.l" { ACTION_ECHO; CHECK_YYMORE(yytext); } YY_BREAK case 225: YY_RULE_SETUP #line 886 "scan.l" ACTION_ECHO_QEND; YY_BREAK case 226: YY_RULE_SETUP #line 887 "scan.l" ACTION_ECHO_QEND; YY_BREAK case 227: YY_RULE_SETUP #line 888 "scan.l" ACTION_ECHO; YY_BREAK case 228: /* rule 228 can match eol */ YY_RULE_SETUP #line 889 "scan.l" { ++linenum; ACTION_ECHO; if ( bracelevel == 0 || (doing_codeblock && indented_code) ) { if ( doing_rule_action ) add_action( "\tYY_BREAK\n" ); doing_rule_action = doing_codeblock = false; BEGIN(SECT2); } } YY_BREAK /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */ case 229: YY_RULE_SETUP #line 907 "scan.l" ACTION_ECHO; ++bracelevel; YY_BREAK case 230: YY_RULE_SETUP #line 908 "scan.l" ACTION_ECHO; --bracelevel; YY_BREAK case 231: YY_RULE_SETUP #line 909 "scan.l" ACTION_ECHO_QEND; YY_BREAK case 232: YY_RULE_SETUP #line 910 "scan.l" ACTION_ECHO_QEND; YY_BREAK case 233: YY_RULE_SETUP #line 911 "scan.l" ACTION_ECHO; YY_BREAK case 234: YY_RULE_SETUP #line 912 "scan.l" ACTION_ECHO; YY_BREAK case 235: YY_RULE_SETUP #line 913 "scan.l" ACTION_ECHO; YY_BREAK case 236: YY_RULE_SETUP #line 914 "scan.l" ACTION_ECHO; /* character constant */ YY_BREAK case 237: YY_RULE_SETUP #line 915 "scan.l" ACTION_ECHO; BEGIN(ACTION_STRING); YY_BREAK case 238: /* rule 238 can match eol */ YY_RULE_SETUP #line 916 "scan.l" { ++linenum; ACTION_ECHO; if ( bracelevel == 0 ) { if ( doing_rule_action ) add_action( "\tYY_BREAK\n" ); doing_rule_action = false; BEGIN(SECT2); } } YY_BREAK case 239: YY_RULE_SETUP #line 928 "scan.l" ACTION_ECHO; YY_BREAK case 240: YY_RULE_SETUP #line 932 "scan.l" ACTION_ECHO; YY_BREAK case 241: YY_RULE_SETUP #line 933 "scan.l" ACTION_ECHO; YY_BREAK case 242: /* rule 242 can match eol */ YY_RULE_SETUP #line 934 "scan.l" ++linenum; ACTION_ECHO; BEGIN(ACTION); YY_BREAK case 243: YY_RULE_SETUP #line 935 "scan.l" ACTION_ECHO; BEGIN(ACTION); YY_BREAK case 244: YY_RULE_SETUP #line 936 "scan.l" ACTION_ECHO; YY_BREAK case YY_STATE_EOF(COMMENT): case YY_STATE_EOF(COMMENT_DISCARD): case YY_STATE_EOF(ACTION): case YY_STATE_EOF(ACTION_STRING): #line 939 "scan.l" { synerr( _( "EOF encountered inside an action" ) ); yyterminate(); } YY_BREAK case YY_STATE_EOF(EXTENDED_COMMENT): case YY_STATE_EOF(GROUP_WITH_PARAMS): case YY_STATE_EOF(GROUP_MINUS_PARAMS): #line 944 "scan.l" { synerr( _( "EOF encountered inside pattern" ) ); yyterminate(); } YY_BREAK case 245: YY_RULE_SETUP #line 949 "scan.l" { yylval = myesc( (Char *) yytext ); if ( YY_START == FIRSTCCL ) BEGIN(CCL); return CHAR; } YY_BREAK case 246: YY_RULE_SETUP #line 960 "scan.l" fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout); YY_BREAK case 247: YY_RULE_SETUP #line 961 "scan.l" fwrite (escaped_qend, 1, strlen(escaped_qend), yyout); YY_BREAK case 248: /* rule 248 can match eol */ YY_RULE_SETUP #line 962 "scan.l" ECHO; YY_BREAK case 249: /* rule 249 can match eol */ YY_RULE_SETUP #line 963 "scan.l" ECHO; YY_BREAK case YY_STATE_EOF(SECT3): #line 964 "scan.l" sectnum = 0; yyterminate(); YY_BREAK case 250: /* rule 250 can match eol */ YY_RULE_SETUP #line 967 "scan.l" format_synerr( _( "bad character: %s" ), yytext ); YY_BREAK case 251: YY_RULE_SETUP #line 969 "scan.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 4111 "scan.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(SECT2): case YY_STATE_EOF(CODEBLOCK): case YY_STATE_EOF(PICKUPDEF): case YY_STATE_EOF(SC): case YY_STATE_EOF(CARETISBOL): case YY_STATE_EOF(NUM): case YY_STATE_EOF(QUOTE): case YY_STATE_EOF(FIRSTCCL): case YY_STATE_EOF(CCL): case YY_STATE_EOF(RECOVER): case YY_STATE_EOF(PERCENT_BRACE_ACTION): case YY_STATE_EOF(OPTION): case YY_STATE_EOF(LINEDIR): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = (yy_hold_char); YY_RESTORE_YY_MORE_OFFSET if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) { /* This was really a NUL. */ yy_state_type yy_next_state; (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = (yytext_ptr) + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++(yy_c_buf_p); yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = (yy_c_buf_p); goto yy_find_action; } } else switch ( yy_get_next_buffer( ) ) { case EOB_ACT_END_OF_FILE: { (yy_did_buffer_switch_on_eof) = 0; if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer (void) { register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; register char *source = (yytext_ptr); register int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; else { int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } if ( (yy_n_chars) == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart(yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state (void) { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = (yy_start); yy_current_state += YY_AT_BOL(); (yy_state_ptr) = (yy_state_buf); *(yy_state_ptr)++ = yy_current_state; for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 1107 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *(yy_state_ptr)++ = yy_current_state; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { register int yy_is_jam; register YY_CHAR yy_c = 1; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 1107 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 1106); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; return yy_is_jam ? 0 : yy_current_state; } static void yyunput (int c, register char * yy_bp ) { register char *yy_cp; yy_cp = (yy_c_buf_p); /* undo effects of setting up yytext */ *yy_cp = (yy_hold_char); if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; (yytext_ptr) = yy_bp; (yy_hold_char) = *yy_cp; (yy_c_buf_p) = yy_cp; } #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) #else static int input (void) #endif { int c; *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) /* This was really a NUL. */ *(yy_c_buf_p) = '\0'; else { /* need more input */ int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart(yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + offset; break; } } } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); return c; } #endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. * * @note This function does not reset the start condition to @c INITIAL . */ void yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_init_buffer(YY_CURRENT_BUFFER,input_file ); yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); * yypush_buffer_state(new_buffer); */ yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } YY_CURRENT_BUFFER_LVALUE = new_buffer; yy_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. * * @return the allocated buffer state. */ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer(b,file ); return b; } /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * */ void yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yyfree((void *) b->yy_ch_buf ); yyfree((void *) b ); } #ifndef __cplusplus extern int isatty (int ); #endif /* __cplusplus */ /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a yyrestart() or at EOF. */ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; yy_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ b->yy_bs_lineno = 1; b->yy_bs_column = 0; } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ void yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. * */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; yyensure_buffer_stack(); /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } /* Only push if top exists. Otherwise, replace top. */ if (YY_CURRENT_BUFFER) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from yy_switch_to_buffer. */ yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * */ void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ static void yyensure_buffer_stack (void) { int num_to_alloc; if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ num_to_alloc = 1; (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; } } /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer(b ); return b; } /** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { return yy_scan_bytes(yystr,strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. * @param bytes the byte buffer to scan * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer(buf,n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } static void yy_push_state (int new_state ) { if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) { yy_size_t new_size; (yy_start_stack_depth) += YY_START_STACK_INCR; new_size = (yy_start_stack_depth) * sizeof( int ); if ( ! (yy_start_stack) ) (yy_start_stack) = (int *) yyalloc(new_size ); else (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size ); if ( ! (yy_start_stack) ) YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); } (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; BEGIN(new_state); } static void yy_pop_state (void) { if ( --(yy_start_stack_ptr) < 0 ) YY_FATAL_ERROR( "start-condition stack underflow" ); BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); } #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ yytext[yyleng] = (yy_hold_char); \ (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ yyleng = yyless_macro_arg; \ } \ while ( 0 ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. * */ int yyget_lineno (void) { return yylineno; } /** Get the input stream. * */ FILE *yyget_in (void) { return yyin; } /** Get the output stream. * */ FILE *yyget_out (void) { return yyout; } /** Get the length of the current token. * */ int yyget_leng (void) { return yyleng; } /** Get the current token. * */ char *yyget_text (void) { return yytext; } /** Set the current line number. * @param line_number * */ void yyset_lineno (int line_number ) { yylineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. * * @see yy_switch_to_buffer */ void yyset_in (FILE * in_str ) { yyin = in_str ; } void yyset_out (FILE * out_str ) { yyout = out_str ; } int yyget_debug (void) { return yy_flex_debug; } void yyset_debug (int bdebug ) { yy_flex_debug = bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from yylex_destroy(), so don't allocate here. */ (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; (yy_start_stack_ptr) = 0; (yy_start_stack_depth) = 0; (yy_start_stack) = NULL; (yy_state_buf) = 0; (yy_state_ptr) = 0; (yy_full_match) = 0; (yy_lp) = 0; /* Defined in main.c */ #ifdef YY_STDINIT yyin = stdin; yyout = stdout; #else yyin = (FILE *) 0; yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by * yylex_init() */ return 0; } /* yylex_destroy is for both reentrant and non-reentrant scanners. */ int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; yypop_buffer_state(); } /* Destroy the stack itself. */ yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Destroy the start condition stack. */ yyfree((yy_start_stack) ); (yy_start_stack) = NULL; yyfree ( (yy_state_buf) ); (yy_state_buf) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time * yylex() is called, initialization will occur. */ yy_init_globals( ); return 0; } /* * Internal utility routines. */ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif void *yyalloc (yy_size_t size ) { return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } void yyfree (void * ptr ) { free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" #line 969 "scan.l" int yywrap() { if ( --num_input_files > 0 ) { set_input_file( *++input_files ); return 0; } else return 1; } /* set_input_file - open the given file (if NULL, stdin) for scanning */ void set_input_file( file ) char *file; { if ( file && strcmp( file, "-" ) ) { infilename = copy_string( file ); yyin = fopen( infilename, "r" ); if ( yyin == NULL ) lerrsf( _( "can't open %s" ), file ); } else { yyin = stdin; infilename = copy_string( "" ); } linenum = 1; } /* Wrapper routines for accessing the scanner's malloc routines. */ void *flex_alloc( size ) size_t size; { return (void *) malloc( size ); } void *flex_realloc( ptr, size ) void *ptr; size_t size; { return (void *) realloc( ptr, size ); } void flex_free( ptr ) void *ptr; { if ( ptr ) free( ptr ); } flex-2.5.35/libmain.c0000664000175000017500000000225607532737727011276 00000000000000/* libmain - flex run-time support library "main" function */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ extern int yylex (); int main (argc, argv) int argc; char *argv[]; { while (yylex () != 0) ; return 0; } flex-2.5.35/libyywrap.c0000664000175000017500000000212610374247515011666 00000000000000/* libyywrap - flex run-time support library "yywrap" function */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ int yywrap (void) { return 1; } flex-2.5.35/ccl.c0000664000175000017500000001654410412320317010377 00000000000000/* ccl - routines for character classes */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" /* return true if the chr is in the ccl. Takes negation into account. */ static bool ccl_contains (const int cclp, const int ch) { int ind, len, i; len = ccllen[cclp]; ind = cclmap[cclp]; for (i = 0; i < len; ++i) if (ccltbl[ind + i] == ch) return !cclng[cclp]; return cclng[cclp]; } /* ccladd - add a single character to a ccl */ void ccladd (cclp, ch) int cclp; int ch; { int ind, len, newpos, i; check_char (ch); len = ccllen[cclp]; ind = cclmap[cclp]; /* check to see if the character is already in the ccl */ for (i = 0; i < len; ++i) if (ccltbl[ind + i] == ch) return; /* mark newlines */ if (ch == nlch) ccl_has_nl[cclp] = true; newpos = ind + len; if (newpos >= current_max_ccl_tbl_size) { current_max_ccl_tbl_size += MAX_CCL_TBL_SIZE_INCREMENT; ++num_reallocs; ccltbl = reallocate_Character_array (ccltbl, current_max_ccl_tbl_size); } ccllen[cclp] = len + 1; ccltbl[newpos] = ch; } /* dump_cclp - same thing as list_character_set, but for cclps. */ static void dump_cclp (FILE* file, int cclp) { register int i; putc ('[', file); for (i = 0; i < csize; ++i) { if (ccl_contains(cclp, i)){ register int start_char = i; putc (' ', file); fputs (readable_form (i), file); while (++i < csize && ccl_contains(cclp,i)) ; if (i - 1 > start_char) /* this was a run */ fprintf (file, "-%s", readable_form (i - 1)); putc (' ', file); } } putc (']', file); } /* ccl_set_diff - create a new ccl as the set difference of the two given ccls. */ int ccl_set_diff (int a, int b) { int d, ch; /* create new class */ d = cclinit(); /* In order to handle negation, we spin through all possible chars, * addding each char in a that is not in b. * (This could be O(n^2), but n is small and bounded.) */ for ( ch = 0; ch < csize; ++ch ) if (ccl_contains (a, ch) && !ccl_contains(b, ch)) ccladd (d, ch); /* debug */ if (0){ fprintf(stderr, "ccl_set_diff ("); fprintf(stderr, "\n "); dump_cclp (stderr, a); fprintf(stderr, "\n "); dump_cclp (stderr, b); fprintf(stderr, "\n "); dump_cclp (stderr, d); fprintf(stderr, "\n)\n"); } return d; } /* ccl_set_union - create a new ccl as the set union of the two given ccls. */ int ccl_set_union (int a, int b) { int d, i; /* create new class */ d = cclinit(); /* Add all of a */ for (i = 0; i < ccllen[a]; ++i) ccladd (d, ccltbl[cclmap[a] + i]); /* Add all of b */ for (i = 0; i < ccllen[b]; ++i) ccladd (d, ccltbl[cclmap[b] + i]); /* debug */ if (0){ fprintf(stderr, "ccl_set_union (%d + %d = %d", a, b, d); fprintf(stderr, "\n "); dump_cclp (stderr, a); fprintf(stderr, "\n "); dump_cclp (stderr, b); fprintf(stderr, "\n "); dump_cclp (stderr, d); fprintf(stderr, "\n)\n"); } return d; } /* cclinit - return an empty ccl */ int cclinit () { if (++lastccl >= current_maxccls) { current_maxccls += MAX_CCLS_INCREMENT; ++num_reallocs; cclmap = reallocate_integer_array (cclmap, current_maxccls); ccllen = reallocate_integer_array (ccllen, current_maxccls); cclng = reallocate_integer_array (cclng, current_maxccls); ccl_has_nl = reallocate_bool_array (ccl_has_nl, current_maxccls); } if (lastccl == 1) /* we're making the first ccl */ cclmap[lastccl] = 0; else /* The new pointer is just past the end of the last ccl. * Since the cclmap points to the \first/ character of a * ccl, adding the length of the ccl to the cclmap pointer * will produce a cursor to the first free space. */ cclmap[lastccl] = cclmap[lastccl - 1] + ccllen[lastccl - 1]; ccllen[lastccl] = 0; cclng[lastccl] = 0; /* ccl's start out life un-negated */ ccl_has_nl[lastccl] = false; return lastccl; } /* cclnegate - negate the given ccl */ void cclnegate (cclp) int cclp; { cclng[cclp] = 1; ccl_has_nl[cclp] = !ccl_has_nl[cclp]; } /* list_character_set - list the members of a set of characters in CCL form * * Writes to the given file a character-class representation of those * characters present in the given CCL. A character is present if it * has a non-zero value in the cset array. */ void list_character_set (file, cset) FILE *file; int cset[]; { register int i; putc ('[', file); for (i = 0; i < csize; ++i) { if (cset[i]) { register int start_char = i; putc (' ', file); fputs (readable_form (i), file); while (++i < csize && cset[i]) ; if (i - 1 > start_char) /* this was a run */ fprintf (file, "-%s", readable_form (i - 1)); putc (' ', file); } } putc (']', file); } /** Determines if the range [c1-c2] is unambiguous in a case-insensitive * scanner. Specifically, if a lowercase or uppercase character, x, is in the * range [c1-c2], then we require that UPPERCASE(x) and LOWERCASE(x) must also * be in the range. If not, then this range is ambiguous, and the function * returns false. For example, [@-_] spans [a-z] but not [A-Z]. Beware that * [a-z] will be labeled ambiguous because it does not include [A-Z]. * * @param c1 the lower end of the range * @param c2 the upper end of the range * @return true if [c1-c2] is not ambiguous for a caseless scanner. */ bool range_covers_case (int c1, int c2) { int i, o; for (i = c1; i <= c2; i++) { if (has_case (i)) { o = reverse_case (i); if (o < c1 || c2 < o) return false; } } return true; } /** Reverse the case of a character, if possible. * @return c if case-reversal does not apply. */ int reverse_case (int c) { return isupper (c) ? tolower (c) : (islower (c) ? toupper (c) : c); } /** Return true if c is uppercase or lowercase. */ bool has_case (int c) { return (isupper (c) || islower (c)) ? true : false; } flex-2.5.35/dfa.c0000664000175000017500000006532110412051037010365 00000000000000/* dfa - DFA construction routines */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "tables.h" /* declare functions that have forward references */ void dump_associated_rules PROTO ((FILE *, int)); void dump_transitions PROTO ((FILE *, int[])); void sympartition PROTO ((int[], int, int[], int[])); int symfollowset PROTO ((int[], int, int, int[])); /* check_for_backing_up - check a DFA state for backing up * * synopsis * void check_for_backing_up( int ds, int state[numecs] ); * * ds is the number of the state to check and state[] is its out-transitions, * indexed by equivalence class. */ void check_for_backing_up (ds, state) int ds; int state[]; { if ((reject && !dfaacc[ds].dfaacc_set) || (!reject && !dfaacc[ds].dfaacc_state)) { /* state is non-accepting */ ++num_backing_up; if (backing_up_report) { fprintf (backing_up_file, _("State #%d is non-accepting -\n"), ds); /* identify the state */ dump_associated_rules (backing_up_file, ds); /* Now identify it further using the out- and * jam-transitions. */ dump_transitions (backing_up_file, state); putc ('\n', backing_up_file); } } } /* check_trailing_context - check to see if NFA state set constitutes * "dangerous" trailing context * * synopsis * void check_trailing_context( int nfa_states[num_states+1], int num_states, * int accset[nacc+1], int nacc ); * * NOTES * Trailing context is "dangerous" if both the head and the trailing * part are of variable size \and/ there's a DFA state which contains * both an accepting state for the head part of the rule and NFA states * which occur after the beginning of the trailing context. * * When such a rule is matched, it's impossible to tell if having been * in the DFA state indicates the beginning of the trailing context or * further-along scanning of the pattern. In these cases, a warning * message is issued. * * nfa_states[1 .. num_states] is the list of NFA states in the DFA. * accset[1 .. nacc] is the list of accepting numbers for the DFA state. */ void check_trailing_context (nfa_states, num_states, accset, nacc) int *nfa_states, num_states; int *accset; int nacc; { register int i, j; for (i = 1; i <= num_states; ++i) { int ns = nfa_states[i]; register int type = state_type[ns]; register int ar = assoc_rule[ns]; if (type == STATE_NORMAL || rule_type[ar] != RULE_VARIABLE) { /* do nothing */ } else if (type == STATE_TRAILING_CONTEXT) { /* Potential trouble. Scan set of accepting numbers * for the one marking the end of the "head". We * assume that this looping will be fairly cheap * since it's rare that an accepting number set * is large. */ for (j = 1; j <= nacc; ++j) if (accset[j] & YY_TRAILING_HEAD_MASK) { line_warning (_ ("dangerous trailing context"), rule_linenum[ar]); return; } } } } /* dump_associated_rules - list the rules associated with a DFA state * * Goes through the set of NFA states associated with the DFA and * extracts the first MAX_ASSOC_RULES unique rules, sorts them, * and writes a report to the given file. */ void dump_associated_rules (file, ds) FILE *file; int ds; { register int i, j; register int num_associated_rules = 0; int rule_set[MAX_ASSOC_RULES + 1]; int *dset = dss[ds]; int size = dfasiz[ds]; for (i = 1; i <= size; ++i) { register int rule_num = rule_linenum[assoc_rule[dset[i]]]; for (j = 1; j <= num_associated_rules; ++j) if (rule_num == rule_set[j]) break; if (j > num_associated_rules) { /* new rule */ if (num_associated_rules < MAX_ASSOC_RULES) rule_set[++num_associated_rules] = rule_num; } } bubble (rule_set, num_associated_rules); fprintf (file, _(" associated rule line numbers:")); for (i = 1; i <= num_associated_rules; ++i) { if (i % 8 == 1) putc ('\n', file); fprintf (file, "\t%d", rule_set[i]); } putc ('\n', file); } /* dump_transitions - list the transitions associated with a DFA state * * synopsis * dump_transitions( FILE *file, int state[numecs] ); * * Goes through the set of out-transitions and lists them in human-readable * form (i.e., not as equivalence classes); also lists jam transitions * (i.e., all those which are not out-transitions, plus EOF). The dump * is done to the given file. */ void dump_transitions (file, state) FILE *file; int state[]; { register int i, ec; int out_char_set[CSIZE]; for (i = 0; i < csize; ++i) { ec = ABS (ecgroup[i]); out_char_set[i] = state[ec]; } fprintf (file, _(" out-transitions: ")); list_character_set (file, out_char_set); /* now invert the members of the set to get the jam transitions */ for (i = 0; i < csize; ++i) out_char_set[i] = !out_char_set[i]; fprintf (file, _("\n jam-transitions: EOF ")); list_character_set (file, out_char_set); putc ('\n', file); } /* epsclosure - construct the epsilon closure of a set of ndfa states * * synopsis * int *epsclosure( int t[num_states], int *numstates_addr, * int accset[num_rules+1], int *nacc_addr, * int *hashval_addr ); * * NOTES * The epsilon closure is the set of all states reachable by an arbitrary * number of epsilon transitions, which themselves do not have epsilon * transitions going out, unioned with the set of states which have non-null * accepting numbers. t is an array of size numstates of nfa state numbers. * Upon return, t holds the epsilon closure and *numstates_addr is updated. * accset holds a list of the accepting numbers, and the size of accset is * given by *nacc_addr. t may be subjected to reallocation if it is not * large enough to hold the epsilon closure. * * hashval is the hash value for the dfa corresponding to the state set. */ int *epsclosure (t, ns_addr, accset, nacc_addr, hv_addr) int *t, *ns_addr, accset[], *nacc_addr, *hv_addr; { register int stkpos, ns, tsp; int numstates = *ns_addr, nacc, hashval, transsym, nfaccnum; int stkend, nstate; static int did_stk_init = false, *stk; #define MARK_STATE(state) \ do{ trans1[state] = trans1[state] - MARKER_DIFFERENCE;} while(0) #define IS_MARKED(state) (trans1[state] < 0) #define UNMARK_STATE(state) \ do{ trans1[state] = trans1[state] + MARKER_DIFFERENCE;} while(0) #define CHECK_ACCEPT(state) \ do{ \ nfaccnum = accptnum[state]; \ if ( nfaccnum != NIL ) \ accset[++nacc] = nfaccnum; \ }while(0) #define DO_REALLOCATION() \ do { \ current_max_dfa_size += MAX_DFA_SIZE_INCREMENT; \ ++num_reallocs; \ t = reallocate_integer_array( t, current_max_dfa_size ); \ stk = reallocate_integer_array( stk, current_max_dfa_size ); \ }while(0) \ #define PUT_ON_STACK(state) \ do { \ if ( ++stkend >= current_max_dfa_size ) \ DO_REALLOCATION(); \ stk[stkend] = state; \ MARK_STATE(state); \ }while(0) #define ADD_STATE(state) \ do { \ if ( ++numstates >= current_max_dfa_size ) \ DO_REALLOCATION(); \ t[numstates] = state; \ hashval += state; \ }while(0) #define STACK_STATE(state) \ do { \ PUT_ON_STACK(state); \ CHECK_ACCEPT(state); \ if ( nfaccnum != NIL || transchar[state] != SYM_EPSILON ) \ ADD_STATE(state); \ }while(0) if (!did_stk_init) { stk = allocate_integer_array (current_max_dfa_size); did_stk_init = true; } nacc = stkend = hashval = 0; for (nstate = 1; nstate <= numstates; ++nstate) { ns = t[nstate]; /* The state could be marked if we've already pushed it onto * the stack. */ if (!IS_MARKED (ns)) { PUT_ON_STACK (ns); CHECK_ACCEPT (ns); hashval += ns; } } for (stkpos = 1; stkpos <= stkend; ++stkpos) { ns = stk[stkpos]; transsym = transchar[ns]; if (transsym == SYM_EPSILON) { tsp = trans1[ns] + MARKER_DIFFERENCE; if (tsp != NO_TRANSITION) { if (!IS_MARKED (tsp)) STACK_STATE (tsp); tsp = trans2[ns]; if (tsp != NO_TRANSITION && !IS_MARKED (tsp)) STACK_STATE (tsp); } } } /* Clear out "visit" markers. */ for (stkpos = 1; stkpos <= stkend; ++stkpos) { if (IS_MARKED (stk[stkpos])) UNMARK_STATE (stk[stkpos]); else flexfatal (_ ("consistency check failed in epsclosure()")); } *ns_addr = numstates; *hv_addr = hashval; *nacc_addr = nacc; return t; } /* increase_max_dfas - increase the maximum number of DFAs */ void increase_max_dfas () { current_max_dfas += MAX_DFAS_INCREMENT; ++num_reallocs; base = reallocate_integer_array (base, current_max_dfas); def = reallocate_integer_array (def, current_max_dfas); dfasiz = reallocate_integer_array (dfasiz, current_max_dfas); accsiz = reallocate_integer_array (accsiz, current_max_dfas); dhash = reallocate_integer_array (dhash, current_max_dfas); dss = reallocate_int_ptr_array (dss, current_max_dfas); dfaacc = reallocate_dfaacc_union (dfaacc, current_max_dfas); if (nultrans) nultrans = reallocate_integer_array (nultrans, current_max_dfas); } /* ntod - convert an ndfa to a dfa * * Creates the dfa corresponding to the ndfa we've constructed. The * dfa starts out in state #1. */ void ntod () { int *accset, ds, nacc, newds; int sym, hashval, numstates, dsize; int num_full_table_rows=0; /* used only for -f */ int *nset, *dset; int targptr, totaltrans, i, comstate, comfreq, targ; int symlist[CSIZE + 1]; int num_start_states; int todo_head, todo_next; struct yytbl_data *yynxt_tbl = 0; flex_int32_t *yynxt_data = 0, yynxt_curr = 0; /* Note that the following are indexed by *equivalence classes* * and not by characters. Since equivalence classes are indexed * beginning with 1, even if the scanner accepts NUL's, this * means that (since every character is potentially in its own * equivalence class) these arrays must have room for indices * from 1 to CSIZE, so their size must be CSIZE + 1. */ int duplist[CSIZE + 1], state[CSIZE + 1]; int targfreq[CSIZE + 1], targstate[CSIZE + 1]; /* accset needs to be large enough to hold all of the rules present * in the input, *plus* their YY_TRAILING_HEAD_MASK variants. */ accset = allocate_integer_array ((num_rules + 1) * 2); nset = allocate_integer_array (current_max_dfa_size); /* The "todo" queue is represented by the head, which is the DFA * state currently being processed, and the "next", which is the * next DFA state number available (not in use). We depend on the * fact that snstods() returns DFA's \in increasing order/, and thus * need only know the bounds of the dfas to be processed. */ todo_head = todo_next = 0; for (i = 0; i <= csize; ++i) { duplist[i] = NIL; symlist[i] = false; } for (i = 0; i <= num_rules; ++i) accset[i] = NIL; if (trace) { dumpnfa (scset[1]); fputs (_("\n\nDFA Dump:\n\n"), stderr); } inittbl (); /* Check to see whether we should build a separate table for * transitions on NUL characters. We don't do this for full-speed * (-F) scanners, since for them we don't have a simple state * number lying around with which to index the table. We also * don't bother doing it for scanners unless (1) NUL is in its own * equivalence class (indicated by a positive value of * ecgroup[NUL]), (2) NUL's equivalence class is the last * equivalence class, and (3) the number of equivalence classes is * the same as the number of characters. This latter case comes * about when useecs is false or when it's true but every character * still manages to land in its own class (unlikely, but it's * cheap to check for). If all these things are true then the * character code needed to represent NUL's equivalence class for * indexing the tables is going to take one more bit than the * number of characters, and therefore we won't be assured of * being able to fit it into a YY_CHAR variable. This rules out * storing the transitions in a compressed table, since the code * for interpreting them uses a YY_CHAR variable (perhaps it * should just use an integer, though; this is worth pondering ... * ###). * * Finally, for full tables, we want the number of entries in the * table to be a power of two so the array references go fast (it * will just take a shift to compute the major index). If * encoding NUL's transitions in the table will spoil this, we * give it its own table (note that this will be the case if we're * not using equivalence classes). */ /* Note that the test for ecgroup[0] == numecs below accomplishes * both (1) and (2) above */ if (!fullspd && ecgroup[0] == numecs) { /* NUL is alone in its equivalence class, which is the * last one. */ int use_NUL_table = (numecs == csize); if (fulltbl && !use_NUL_table) { /* We still may want to use the table if numecs * is a power of 2. */ int power_of_two; for (power_of_two = 1; power_of_two <= csize; power_of_two *= 2) if (numecs == power_of_two) { use_NUL_table = true; break; } } if (use_NUL_table) nultrans = allocate_integer_array (current_max_dfas); /* From now on, nultrans != nil indicates that we're * saving null transitions for later, separate encoding. */ } if (fullspd) { for (i = 0; i <= numecs; ++i) state[i] = 0; place_state (state, 0, 0); dfaacc[0].dfaacc_state = 0; } else if (fulltbl) { if (nultrans) /* We won't be including NUL's transitions in the * table, so build it for entries from 0 .. numecs - 1. */ num_full_table_rows = numecs; else /* Take into account the fact that we'll be including * the NUL entries in the transition table. Build it * from 0 .. numecs. */ num_full_table_rows = numecs + 1; /* Begin generating yy_nxt[][] * This spans the entire LONG function. * This table is tricky because we don't know how big it will be. * So we'll have to realloc() on the way... * we'll wait until we can calculate yynxt_tbl->td_hilen. */ yynxt_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yynxt_tbl, YYTD_ID_NXT); yynxt_tbl->td_hilen = 1; yynxt_tbl->td_lolen = num_full_table_rows; yynxt_tbl->td_data = yynxt_data = (flex_int32_t *) calloc (yynxt_tbl->td_lolen * yynxt_tbl->td_hilen, sizeof (flex_int32_t)); yynxt_curr = 0; buf_prints (&yydmap_buf, "\t{YYTD_ID_NXT, (void**)&yy_nxt, sizeof(%s)},\n", long_align ? "flex_int32_t" : "flex_int16_t"); /* Unless -Ca, declare it "short" because it's a real * long-shot that that won't be large enough. */ if (gentables) out_str_dec ("static yyconst %s yy_nxt[][%d] =\n {\n", long_align ? "flex_int32_t" : "flex_int16_t", num_full_table_rows); else { out_dec ("#undef YY_NXT_LOLEN\n#define YY_NXT_LOLEN (%d)\n", num_full_table_rows); out_str ("static yyconst %s *yy_nxt =0;\n", long_align ? "flex_int32_t" : "flex_int16_t"); } if (gentables) outn (" {"); /* Generate 0 entries for state #0. */ for (i = 0; i < num_full_table_rows; ++i) { mk2data (0); yynxt_data[yynxt_curr++] = 0; } dataflush (); if (gentables) outn (" },\n"); } /* Create the first states. */ num_start_states = lastsc * 2; for (i = 1; i <= num_start_states; ++i) { numstates = 1; /* For each start condition, make one state for the case when * we're at the beginning of the line (the '^' operator) and * one for the case when we're not. */ if (i % 2 == 1) nset[numstates] = scset[(i / 2) + 1]; else nset[numstates] = mkbranch (scbol[i / 2], scset[i / 2]); nset = epsclosure (nset, &numstates, accset, &nacc, &hashval); if (snstods (nset, numstates, accset, nacc, hashval, &ds)) { numas += nacc; totnst += numstates; ++todo_next; if (variable_trailing_context_rules && nacc > 0) check_trailing_context (nset, numstates, accset, nacc); } } if (!fullspd) { if (!snstods (nset, 0, accset, 0, 0, &end_of_buffer_state)) flexfatal (_ ("could not create unique end-of-buffer state")); ++numas; ++num_start_states; ++todo_next; } while (todo_head < todo_next) { targptr = 0; totaltrans = 0; for (i = 1; i <= numecs; ++i) state[i] = 0; ds = ++todo_head; dset = dss[ds]; dsize = dfasiz[ds]; if (trace) fprintf (stderr, _("state # %d:\n"), ds); sympartition (dset, dsize, symlist, duplist); for (sym = 1; sym <= numecs; ++sym) { if (symlist[sym]) { symlist[sym] = 0; if (duplist[sym] == NIL) { /* Symbol has unique out-transitions. */ numstates = symfollowset (dset, dsize, sym, nset); nset = epsclosure (nset, &numstates, accset, &nacc, &hashval); if (snstods (nset, numstates, accset, nacc, hashval, &newds)) { totnst = totnst + numstates; ++todo_next; numas += nacc; if (variable_trailing_context_rules && nacc > 0) check_trailing_context (nset, numstates, accset, nacc); } state[sym] = newds; if (trace) fprintf (stderr, "\t%d\t%d\n", sym, newds); targfreq[++targptr] = 1; targstate[targptr] = newds; ++numuniq; } else { /* sym's equivalence class has the same * transitions as duplist(sym)'s * equivalence class. */ targ = state[duplist[sym]]; state[sym] = targ; if (trace) fprintf (stderr, "\t%d\t%d\n", sym, targ); /* Update frequency count for * destination state. */ i = 0; while (targstate[++i] != targ) ; ++targfreq[i]; ++numdup; } ++totaltrans; duplist[sym] = NIL; } } numsnpairs += totaltrans; if (ds > num_start_states) check_for_backing_up (ds, state); if (nultrans) { nultrans[ds] = state[NUL_ec]; state[NUL_ec] = 0; /* remove transition */ } if (fulltbl) { /* Each time we hit here, it's another td_hilen, so we realloc. */ yynxt_tbl->td_hilen++; yynxt_tbl->td_data = yynxt_data = (flex_int32_t *) realloc (yynxt_data, yynxt_tbl->td_hilen * yynxt_tbl->td_lolen * sizeof (flex_int32_t)); if (gentables) outn (" {"); /* Supply array's 0-element. */ if (ds == end_of_buffer_state) { mk2data (-end_of_buffer_state); yynxt_data[yynxt_curr++] = -end_of_buffer_state; } else { mk2data (end_of_buffer_state); yynxt_data[yynxt_curr++] = end_of_buffer_state; } for (i = 1; i < num_full_table_rows; ++i) { /* Jams are marked by negative of state * number. */ mk2data (state[i] ? state[i] : -ds); yynxt_data[yynxt_curr++] = state[i] ? state[i] : -ds; } dataflush (); if (gentables) outn (" },\n"); } else if (fullspd) place_state (state, ds, totaltrans); else if (ds == end_of_buffer_state) /* Special case this state to make sure it does what * it's supposed to, i.e., jam on end-of-buffer. */ stack1 (ds, 0, 0, JAMSTATE); else { /* normal, compressed state */ /* Determine which destination state is the most * common, and how many transitions to it there are. */ comfreq = 0; comstate = 0; for (i = 1; i <= targptr; ++i) if (targfreq[i] > comfreq) { comfreq = targfreq[i]; comstate = targstate[i]; } bldtbl (state, ds, totaltrans, comstate, comfreq); } } if (fulltbl) { dataend (); if (tablesext) { yytbl_data_compress (yynxt_tbl); if (yytbl_data_fwrite (&tableswr, yynxt_tbl) < 0) flexerror (_ ("Could not write yynxt_tbl[][]")); } if (yynxt_tbl) { yytbl_data_destroy (yynxt_tbl); yynxt_tbl = 0; } } else if (!fullspd) { cmptmps (); /* create compressed template entries */ /* Create tables for all the states with only one * out-transition. */ while (onesp > 0) { mk1tbl (onestate[onesp], onesym[onesp], onenext[onesp], onedef[onesp]); --onesp; } mkdeftbl (); } flex_free ((void *) accset); flex_free ((void *) nset); } /* snstods - converts a set of ndfa states into a dfa state * * synopsis * is_new_state = snstods( int sns[numstates], int numstates, * int accset[num_rules+1], int nacc, * int hashval, int *newds_addr ); * * On return, the dfa state number is in newds. */ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) int sns[], numstates, accset[], nacc, hashval, *newds_addr; { int didsort = 0; register int i, j; int newds, *oldsns; for (i = 1; i <= lastdfa; ++i) if (hashval == dhash[i]) { if (numstates == dfasiz[i]) { oldsns = dss[i]; if (!didsort) { /* We sort the states in sns so we * can compare it to oldsns quickly. * We use bubble because there probably * aren't very many states. */ bubble (sns, numstates); didsort = 1; } for (j = 1; j <= numstates; ++j) if (sns[j] != oldsns[j]) break; if (j > numstates) { ++dfaeql; *newds_addr = i; return 0; } ++hshcol; } else ++hshsave; } /* Make a new dfa. */ if (++lastdfa >= current_max_dfas) increase_max_dfas (); newds = lastdfa; dss[newds] = allocate_integer_array (numstates + 1); /* If we haven't already sorted the states in sns, we do so now, * so that future comparisons with it can be made quickly. */ if (!didsort) bubble (sns, numstates); for (i = 1; i <= numstates; ++i) dss[newds][i] = sns[i]; dfasiz[newds] = numstates; dhash[newds] = hashval; if (nacc == 0) { if (reject) dfaacc[newds].dfaacc_set = (int *) 0; else dfaacc[newds].dfaacc_state = 0; accsiz[newds] = 0; } else if (reject) { /* We sort the accepting set in increasing order so the * disambiguating rule that the first rule listed is considered * match in the event of ties will work. We use a bubble * sort since the list is probably quite small. */ bubble (accset, nacc); dfaacc[newds].dfaacc_set = allocate_integer_array (nacc + 1); /* Save the accepting set for later */ for (i = 1; i <= nacc; ++i) { dfaacc[newds].dfaacc_set[i] = accset[i]; if (accset[i] <= num_rules) /* Who knows, perhaps a REJECT can yield * this rule. */ rule_useful[accset[i]] = true; } accsiz[newds] = nacc; } else { /* Find lowest numbered rule so the disambiguating rule * will work. */ j = num_rules + 1; for (i = 1; i <= nacc; ++i) if (accset[i] < j) j = accset[i]; dfaacc[newds].dfaacc_state = j; if (j <= num_rules) rule_useful[j] = true; } *newds_addr = newds; return 1; } /* symfollowset - follow the symbol transitions one step * * synopsis * numstates = symfollowset( int ds[current_max_dfa_size], int dsize, * int transsym, int nset[current_max_dfa_size] ); */ int symfollowset (ds, dsize, transsym, nset) int ds[], dsize, transsym, nset[]; { int ns, tsp, sym, i, j, lenccl, ch, numstates, ccllist; numstates = 0; for (i = 1; i <= dsize; ++i) { /* for each nfa state ns in the state set of ds */ ns = ds[i]; sym = transchar[ns]; tsp = trans1[ns]; if (sym < 0) { /* it's a character class */ sym = -sym; ccllist = cclmap[sym]; lenccl = ccllen[sym]; if (cclng[sym]) { for (j = 0; j < lenccl; ++j) { /* Loop through negated character * class. */ ch = ccltbl[ccllist + j]; if (ch == 0) ch = NUL_ec; if (ch > transsym) /* Transsym isn't in negated * ccl. */ break; else if (ch == transsym) /* next 2 */ goto bottom; } /* Didn't find transsym in ccl. */ nset[++numstates] = tsp; } else for (j = 0; j < lenccl; ++j) { ch = ccltbl[ccllist + j]; if (ch == 0) ch = NUL_ec; if (ch > transsym) break; else if (ch == transsym) { nset[++numstates] = tsp; break; } } } else if (sym == SYM_EPSILON) { /* do nothing */ } else if (ABS (ecgroup[sym]) == transsym) nset[++numstates] = tsp; bottom:; } return numstates; } /* sympartition - partition characters with same out-transitions * * synopsis * sympartition( int ds[current_max_dfa_size], int numstates, * int symlist[numecs], int duplist[numecs] ); */ void sympartition (ds, numstates, symlist, duplist) int ds[], numstates; int symlist[], duplist[]; { int tch, i, j, k, ns, dupfwd[CSIZE + 1], lenccl, cclp, ich; /* Partitioning is done by creating equivalence classes for those * characters which have out-transitions from the given state. Thus * we are really creating equivalence classes of equivalence classes. */ for (i = 1; i <= numecs; ++i) { /* initialize equivalence class list */ duplist[i] = i - 1; dupfwd[i] = i + 1; } duplist[1] = NIL; dupfwd[numecs] = NIL; for (i = 1; i <= numstates; ++i) { ns = ds[i]; tch = transchar[ns]; if (tch != SYM_EPSILON) { if (tch < -lastccl || tch >= csize) { flexfatal (_ ("bad transition character detected in sympartition()")); } if (tch >= 0) { /* character transition */ int ec = ecgroup[tch]; mkechar (ec, dupfwd, duplist); symlist[ec] = 1; } else { /* character class */ tch = -tch; lenccl = ccllen[tch]; cclp = cclmap[tch]; mkeccl (ccltbl + cclp, lenccl, dupfwd, duplist, numecs, NUL_ec); if (cclng[tch]) { j = 0; for (k = 0; k < lenccl; ++k) { ich = ccltbl[cclp + k]; if (ich == 0) ich = NUL_ec; for (++j; j < ich; ++j) symlist[j] = 1; } for (++j; j <= numecs; ++j) symlist[j] = 1; } else for (k = 0; k < lenccl; ++k) { ich = ccltbl[cclp + k]; if (ich == 0) ich = NUL_ec; symlist[ich] = 1; } } } } } flex-2.5.35/ecs.c0000664000175000017500000001302507532737727010431 00000000000000/* ecs - equivalence class routines */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" /* ccl2ecl - convert character classes to set of equivalence classes */ void ccl2ecl () { int i, ich, newlen, cclp, ccls, cclmec; for (i = 1; i <= lastccl; ++i) { /* We loop through each character class, and for each character * in the class, add the character's equivalence class to the * new "character" class we are creating. Thus when we are all * done, character classes will really consist of collections * of equivalence classes */ newlen = 0; cclp = cclmap[i]; for (ccls = 0; ccls < ccllen[i]; ++ccls) { ich = ccltbl[cclp + ccls]; cclmec = ecgroup[ich]; if (cclmec > 0) { ccltbl[cclp + newlen] = cclmec; ++newlen; } } ccllen[i] = newlen; } } /* cre8ecs - associate equivalence class numbers with class members * * fwd is the forward linked-list of equivalence class members. bck * is the backward linked-list, and num is the number of class members. * * Returned is the number of classes. */ int cre8ecs (fwd, bck, num) int fwd[], bck[], num; { int i, j, numcl; numcl = 0; /* Create equivalence class numbers. From now on, ABS( bck(x) ) * is the equivalence class number for object x. If bck(x) * is positive, then x is the representative of its equivalence * class. */ for (i = 1; i <= num; ++i) if (bck[i] == NIL) { bck[i] = ++numcl; for (j = fwd[i]; j != NIL; j = fwd[j]) bck[j] = -numcl; } return numcl; } /* mkeccl - update equivalence classes based on character class xtions * * synopsis * Char ccls[]; * int lenccl, fwd[llsiz], bck[llsiz], llsiz, NUL_mapping; * void mkeccl( Char ccls[], int lenccl, int fwd[llsiz], int bck[llsiz], * int llsiz, int NUL_mapping ); * * ccls contains the elements of the character class, lenccl is the * number of elements in the ccl, fwd is the forward link-list of equivalent * characters, bck is the backward link-list, and llsiz size of the link-list. * * NUL_mapping is the value which NUL (0) should be mapped to. */ void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping) Char ccls[]; int lenccl, fwd[], bck[], llsiz, NUL_mapping; { int cclp, oldec, newec; int cclm, i, j; static unsigned char cclflags[CSIZE]; /* initialized to all '\0' */ /* Note that it doesn't matter whether or not the character class is * negated. The same results will be obtained in either case. */ cclp = 0; while (cclp < lenccl) { cclm = ccls[cclp]; if (NUL_mapping && cclm == 0) cclm = NUL_mapping; oldec = bck[cclm]; newec = cclm; j = cclp + 1; for (i = fwd[cclm]; i != NIL && i <= llsiz; i = fwd[i]) { /* look for the symbol in the character class */ for (; j < lenccl; ++j) { register int ccl_char; if (NUL_mapping && ccls[j] == 0) ccl_char = NUL_mapping; else ccl_char = ccls[j]; if (ccl_char > i) break; if (ccl_char == i && !cclflags[j]) { /* We found an old companion of cclm * in the ccl. Link it into the new * equivalence class and flag it as * having been processed. */ bck[i] = newec; fwd[newec] = i; newec = i; /* Set flag so we don't reprocess. */ cclflags[j] = 1; /* Get next equivalence class member. */ /* continue 2 */ goto next_pt; } } /* Symbol isn't in character class. Put it in the old * equivalence class. */ bck[i] = oldec; if (oldec != NIL) fwd[oldec] = i; oldec = i; next_pt:; } if (bck[cclm] != NIL || oldec != bck[cclm]) { bck[cclm] = NIL; fwd[oldec] = NIL; } fwd[newec] = NIL; /* Find next ccl member to process. */ for (++cclp; cclflags[cclp] && cclp < lenccl; ++cclp) { /* Reset "doesn't need processing" flag. */ cclflags[cclp] = 0; } } } /* mkechar - create equivalence class for single character */ void mkechar (tch, fwd, bck) int tch, fwd[], bck[]; { /* If until now the character has been a proper subset of * an equivalence class, break it away to create a new ec */ if (fwd[tch] != NIL) bck[fwd[tch]] = bck[tch]; if (bck[tch] != NIL) fwd[bck[tch]] = fwd[tch]; fwd[tch] = NIL; bck[tch] = NIL; } flex-2.5.35/scanflags.c0000664000175000017500000000417710412051037011576 00000000000000/* scanflags - flags used by scanning. */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" scanflags_t* _sf_stk = NULL; size_t _sf_top_ix=0, _sf_max=0; void sf_push (void) { if (_sf_top_ix + 1 >= _sf_max) _sf_stk = (scanflags_t*) flex_realloc ( (void*) _sf_stk, sizeof(scanflags_t) * (_sf_max += 32)); // copy the top element _sf_stk[_sf_top_ix + 1] = _sf_stk[_sf_top_ix]; ++_sf_top_ix; } void sf_pop (void) { assert(_sf_top_ix > 0); --_sf_top_ix; } /* one-time initialization. Should be called before any sf_ functions. */ void sf_init (void) { assert(_sf_stk == NULL); _sf_stk = (scanflags_t*) flex_alloc ( sizeof(scanflags_t) * (_sf_max = 32)); _sf_stk[_sf_top_ix] = 0; } /* vim:set expandtab cindent tabstop=4 softtabstop=4 shiftwidth=4 textwidth=0: */ flex-2.5.35/gen.c0000664000175000017500000015466610627464605010440 00000000000000/* gen - actual generation (writing) of flex scanners */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "tables.h" /* declare functions that have forward references */ void gen_next_state PROTO ((int)); void genecs PROTO ((void)); void indent_put2s PROTO ((const char *, const char *)); void indent_puts PROTO ((const char *)); static int indent_level = 0; /* each level is 8 spaces */ #define indent_up() (++indent_level) #define indent_down() (--indent_level) #define set_indent(indent_val) indent_level = indent_val /* Almost everything is done in terms of arrays starting at 1, so provide * a null entry for the zero element of all C arrays. (The exception * to this is that the fast table representation generally uses the * 0 elements of its arrays, too.) */ static const char *get_int16_decl (void) { return (gentables) ? "static yyconst flex_int16_t %s[%d] =\n { 0,\n" : "static yyconst flex_int16_t * %s = 0;\n"; } static const char *get_int32_decl (void) { return (gentables) ? "static yyconst flex_int32_t %s[%d] =\n { 0,\n" : "static yyconst flex_int32_t * %s = 0;\n"; } static const char *get_state_decl (void) { return (gentables) ? "static yyconst yy_state_type %s[%d] =\n { 0,\n" : "static yyconst yy_state_type * %s = 0;\n"; } /* Indent to the current level. */ void do_indent () { register int i = indent_level * 8; while (i >= 8) { outc ('\t'); i -= 8; } while (i > 0) { outc (' '); --i; } } /** Make the table for possible eol matches. * @return the newly allocated rule_can_match_eol table */ static struct yytbl_data *mkeoltbl (void) { int i; flex_int8_t *tdata = 0; struct yytbl_data *tbl; tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_RULE_CAN_MATCH_EOL); tbl->td_flags = YYTD_DATA8; tbl->td_lolen = num_rules + 1; tbl->td_data = tdata = (flex_int8_t *) calloc (tbl->td_lolen, sizeof (flex_int8_t)); for (i = 1; i <= num_rules; i++) tdata[i] = rule_has_nl[i] ? 1 : 0; buf_prints (&yydmap_buf, "\t{YYTD_ID_RULE_CAN_MATCH_EOL, (void**)&yy_rule_can_match_eol, sizeof(%s)},\n", "flex_int32_t"); return tbl; } /* Generate the table for possible eol matches. */ static void geneoltbl () { int i; outn ("m4_ifdef( [[M4_YY_USE_LINENO]],[["); outn ("/* Table of booleans, true if rule could match eol. */"); out_str_dec (get_int32_decl (), "yy_rule_can_match_eol", num_rules + 1); if (gentables) { for (i = 1; i <= num_rules; i++) { out_dec ("%d, ", rule_has_nl[i] ? 1 : 0); /* format nicely, 20 numbers per line. */ if ((i % 20) == 19) out ("\n "); } out (" };\n"); } outn ("]])"); } /* Generate the code to keep backing-up information. */ void gen_backing_up () { if (reject || num_backing_up == 0) return; if (fullspd) indent_puts ("if ( yy_current_state[-1].yy_nxt )"); else indent_puts ("if ( yy_accept[yy_current_state] )"); indent_up (); indent_puts ("{"); indent_puts ("YY_G(yy_last_accepting_state) = yy_current_state;"); indent_puts ("YY_G(yy_last_accepting_cpos) = yy_cp;"); indent_puts ("}"); indent_down (); } /* Generate the code to perform the backing up. */ void gen_bu_action () { if (reject || num_backing_up == 0) return; set_indent (3); indent_puts ("case 0: /* must back up */"); indent_puts ("/* undo the effects of YY_DO_BEFORE_ACTION */"); indent_puts ("*yy_cp = YY_G(yy_hold_char);"); if (fullspd || fulltbl) indent_puts ("yy_cp = YY_G(yy_last_accepting_cpos) + 1;"); else /* Backing-up info for compressed tables is taken \after/ * yy_cp has been incremented for the next state. */ indent_puts ("yy_cp = YY_G(yy_last_accepting_cpos);"); indent_puts ("yy_current_state = YY_G(yy_last_accepting_state);"); indent_puts ("goto yy_find_action;"); outc ('\n'); set_indent (0); } /** mkctbl - make full speed compressed transition table * This is an array of structs; each struct a pair of integers. * You should call mkssltbl() immediately after this. * Then, I think, mkecstbl(). Arrrg. * @return the newly allocated trans table */ static struct yytbl_data *mkctbl (void) { register int i; struct yytbl_data *tbl = 0; flex_int32_t *tdata = 0, curr = 0; int end_of_buffer_action = num_rules + 1; buf_prints (&yydmap_buf, "\t{YYTD_ID_TRANSITION, (void**)&yy_transition, sizeof(%s)},\n", ((tblend + numecs + 1) >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_TRANSITION); tbl->td_flags = YYTD_DATA32 | YYTD_STRUCT; tbl->td_hilen = 0; tbl->td_lolen = tblend + numecs + 1; /* number of structs */ tbl->td_data = tdata = (flex_int32_t *) calloc (tbl->td_lolen * 2, sizeof (flex_int32_t)); /* We want the transition to be represented as the offset to the * next state, not the actual state number, which is what it currently * is. The offset is base[nxt[i]] - (base of current state)]. That's * just the difference between the starting points of the two involved * states (to - from). * * First, though, we need to find some way to put in our end-of-buffer * flags and states. We do this by making a state with absolutely no * transitions. We put it at the end of the table. */ /* We need to have room in nxt/chk for two more slots: One for the * action and one for the end-of-buffer transition. We now *assume* * that we're guaranteed the only character we'll try to index this * nxt/chk pair with is EOB, i.e., 0, so we don't have to make sure * there's room for jam entries for other characters. */ while (tblend + 2 >= current_max_xpairs) expand_nxt_chk (); while (lastdfa + 1 >= current_max_dfas) increase_max_dfas (); base[lastdfa + 1] = tblend + 2; nxt[tblend + 1] = end_of_buffer_action; chk[tblend + 1] = numecs + 1; chk[tblend + 2] = 1; /* anything but EOB */ /* So that "make test" won't show arb. differences. */ nxt[tblend + 2] = 0; /* Make sure every state has an end-of-buffer transition and an * action #. */ for (i = 0; i <= lastdfa; ++i) { int anum = dfaacc[i].dfaacc_state; int offset = base[i]; chk[offset] = EOB_POSITION; chk[offset - 1] = ACTION_POSITION; nxt[offset - 1] = anum; /* action number */ } for (i = 0; i <= tblend; ++i) { if (chk[i] == EOB_POSITION) { tdata[curr++] = 0; tdata[curr++] = base[lastdfa + 1] - i; } else if (chk[i] == ACTION_POSITION) { tdata[curr++] = 0; tdata[curr++] = nxt[i]; } else if (chk[i] > numecs || chk[i] == 0) { tdata[curr++] = 0; tdata[curr++] = 0; } else { /* verify, transition */ tdata[curr++] = chk[i]; tdata[curr++] = base[nxt[i]] - (i - chk[i]); } } /* Here's the final, end-of-buffer state. */ tdata[curr++] = chk[tblend + 1]; tdata[curr++] = nxt[tblend + 1]; tdata[curr++] = chk[tblend + 2]; tdata[curr++] = nxt[tblend + 2]; return tbl; } /** Make start_state_list table. * @return the newly allocated start_state_list table */ static struct yytbl_data *mkssltbl (void) { struct yytbl_data *tbl = 0; flex_int32_t *tdata = 0; flex_int32_t i; tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_START_STATE_LIST); tbl->td_flags = YYTD_DATA32 | YYTD_PTRANS; tbl->td_hilen = 0; tbl->td_lolen = lastsc * 2 + 1; tbl->td_data = tdata = (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t)); for (i = 0; i <= lastsc * 2; ++i) tdata[i] = base[i]; buf_prints (&yydmap_buf, "\t{YYTD_ID_START_STATE_LIST, (void**)&yy_start_state_list, sizeof(%s)},\n", "struct yy_trans_info*"); return tbl; } /* genctbl - generates full speed compressed transition table */ void genctbl () { register int i; int end_of_buffer_action = num_rules + 1; /* Table of verify for transition and offset to next state. */ if (gentables) out_dec ("static yyconst struct yy_trans_info yy_transition[%d] =\n {\n", tblend + numecs + 1); else outn ("static yyconst struct yy_trans_info *yy_transition = 0;"); /* We want the transition to be represented as the offset to the * next state, not the actual state number, which is what it currently * is. The offset is base[nxt[i]] - (base of current state)]. That's * just the difference between the starting points of the two involved * states (to - from). * * First, though, we need to find some way to put in our end-of-buffer * flags and states. We do this by making a state with absolutely no * transitions. We put it at the end of the table. */ /* We need to have room in nxt/chk for two more slots: One for the * action and one for the end-of-buffer transition. We now *assume* * that we're guaranteed the only character we'll try to index this * nxt/chk pair with is EOB, i.e., 0, so we don't have to make sure * there's room for jam entries for other characters. */ while (tblend + 2 >= current_max_xpairs) expand_nxt_chk (); while (lastdfa + 1 >= current_max_dfas) increase_max_dfas (); base[lastdfa + 1] = tblend + 2; nxt[tblend + 1] = end_of_buffer_action; chk[tblend + 1] = numecs + 1; chk[tblend + 2] = 1; /* anything but EOB */ /* So that "make test" won't show arb. differences. */ nxt[tblend + 2] = 0; /* Make sure every state has an end-of-buffer transition and an * action #. */ for (i = 0; i <= lastdfa; ++i) { int anum = dfaacc[i].dfaacc_state; int offset = base[i]; chk[offset] = EOB_POSITION; chk[offset - 1] = ACTION_POSITION; nxt[offset - 1] = anum; /* action number */ } for (i = 0; i <= tblend; ++i) { if (chk[i] == EOB_POSITION) transition_struct_out (0, base[lastdfa + 1] - i); else if (chk[i] == ACTION_POSITION) transition_struct_out (0, nxt[i]); else if (chk[i] > numecs || chk[i] == 0) transition_struct_out (0, 0); /* unused slot */ else /* verify, transition */ transition_struct_out (chk[i], base[nxt[i]] - (i - chk[i])); } /* Here's the final, end-of-buffer state. */ transition_struct_out (chk[tblend + 1], nxt[tblend + 1]); transition_struct_out (chk[tblend + 2], nxt[tblend + 2]); if (gentables) outn (" };\n"); /* Table of pointers to start states. */ if (gentables) out_dec ("static yyconst struct yy_trans_info *yy_start_state_list[%d] =\n", lastsc * 2 + 1); else outn ("static yyconst struct yy_trans_info **yy_start_state_list =0;"); if (gentables) { outn (" {"); for (i = 0; i <= lastsc * 2; ++i) out_dec (" &yy_transition[%d],\n", base[i]); dataend (); } if (useecs) genecs (); } /* mkecstbl - Make equivalence-class tables. */ struct yytbl_data *mkecstbl (void) { register int i; struct yytbl_data *tbl = 0; flex_int32_t *tdata = 0; tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_EC); tbl->td_flags |= YYTD_DATA32; tbl->td_hilen = 0; tbl->td_lolen = csize; tbl->td_data = tdata = (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i < csize; ++i) { ecgroup[i] = ABS (ecgroup[i]); tdata[i] = ecgroup[i]; } buf_prints (&yydmap_buf, "\t{YYTD_ID_EC, (void**)&yy_ec, sizeof(%s)},\n", "flex_int32_t"); return tbl; } /* Generate equivalence-class tables. */ void genecs () { register int i, j; int numrows; out_str_dec (get_int32_decl (), "yy_ec", csize); for (i = 1; i < csize; ++i) { ecgroup[i] = ABS (ecgroup[i]); mkdata (ecgroup[i]); } dataend (); if (trace) { fputs (_("\n\nEquivalence Classes:\n\n"), stderr); numrows = csize / 8; for (j = 0; j < numrows; ++j) { for (i = j; i < csize; i = i + numrows) { fprintf (stderr, "%4s = %-2d", readable_form (i), ecgroup[i]); putc (' ', stderr); } putc ('\n', stderr); } } } /* Generate the code to find the action number. */ void gen_find_action () { if (fullspd) indent_puts ("yy_act = yy_current_state[-1].yy_nxt;"); else if (fulltbl) indent_puts ("yy_act = yy_accept[yy_current_state];"); else if (reject) { indent_puts ("yy_current_state = *--YY_G(yy_state_ptr);"); indent_puts ("YY_G(yy_lp) = yy_accept[yy_current_state];"); outn ("find_rule: /* we branch to this label when backing up */"); indent_puts ("for ( ; ; ) /* until we find what rule we matched */"); indent_up (); indent_puts ("{"); indent_puts ("if ( YY_G(yy_lp) && YY_G(yy_lp) < yy_accept[yy_current_state + 1] )"); indent_up (); indent_puts ("{"); indent_puts ("yy_act = yy_acclist[YY_G(yy_lp)];"); if (variable_trailing_context_rules) { indent_puts ("if ( yy_act & YY_TRAILING_HEAD_MASK ||"); indent_puts (" YY_G(yy_looking_for_trail_begin) )"); indent_up (); indent_puts ("{"); indent_puts ("if ( yy_act == YY_G(yy_looking_for_trail_begin) )"); indent_up (); indent_puts ("{"); indent_puts ("YY_G(yy_looking_for_trail_begin) = 0;"); indent_puts ("yy_act &= ~YY_TRAILING_HEAD_MASK;"); indent_puts ("break;"); indent_puts ("}"); indent_down (); indent_puts ("}"); indent_down (); indent_puts ("else if ( yy_act & YY_TRAILING_MASK )"); indent_up (); indent_puts ("{"); indent_puts ("YY_G(yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;"); indent_puts ("YY_G(yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;"); if (real_reject) { /* Remember matched text in case we back up * due to REJECT. */ indent_puts ("YY_G(yy_full_match) = yy_cp;"); indent_puts ("YY_G(yy_full_state) = YY_G(yy_state_ptr);"); indent_puts ("YY_G(yy_full_lp) = YY_G(yy_lp);"); } indent_puts ("}"); indent_down (); indent_puts ("else"); indent_up (); indent_puts ("{"); indent_puts ("YY_G(yy_full_match) = yy_cp;"); indent_puts ("YY_G(yy_full_state) = YY_G(yy_state_ptr);"); indent_puts ("YY_G(yy_full_lp) = YY_G(yy_lp);"); indent_puts ("break;"); indent_puts ("}"); indent_down (); indent_puts ("++YY_G(yy_lp);"); indent_puts ("goto find_rule;"); } else { /* Remember matched text in case we back up due to * trailing context plus REJECT. */ indent_up (); indent_puts ("{"); indent_puts ("YY_G(yy_full_match) = yy_cp;"); indent_puts ("break;"); indent_puts ("}"); indent_down (); } indent_puts ("}"); indent_down (); indent_puts ("--yy_cp;"); /* We could consolidate the following two lines with those at * the beginning, but at the cost of complaints that we're * branching inside a loop. */ indent_puts ("yy_current_state = *--YY_G(yy_state_ptr);"); indent_puts ("YY_G(yy_lp) = yy_accept[yy_current_state];"); indent_puts ("}"); indent_down (); } else { /* compressed */ indent_puts ("yy_act = yy_accept[yy_current_state];"); if (interactive && !reject) { /* Do the guaranteed-needed backing up to figure out * the match. */ indent_puts ("if ( yy_act == 0 )"); indent_up (); indent_puts ("{ /* have to back up */"); indent_puts ("yy_cp = YY_G(yy_last_accepting_cpos);"); indent_puts ("yy_current_state = YY_G(yy_last_accepting_state);"); indent_puts ("yy_act = yy_accept[yy_current_state];"); indent_puts ("}"); indent_down (); } } } /* mkftbl - make the full table and return the struct . * you should call mkecstbl() after this. */ struct yytbl_data *mkftbl (void) { register int i; int end_of_buffer_action = num_rules + 1; struct yytbl_data *tbl; flex_int32_t *tdata = 0; tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_ACCEPT); tbl->td_flags |= YYTD_DATA32; tbl->td_hilen = 0; /* it's a one-dimensional array */ tbl->td_lolen = lastdfa + 1; tbl->td_data = tdata = (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t)); dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; for (i = 1; i <= lastdfa; ++i) { register int anum = dfaacc[i].dfaacc_state; tdata[i] = anum; if (trace && anum) fprintf (stderr, _("state # %d accepts: [%d]\n"), i, anum); } buf_prints (&yydmap_buf, "\t{YYTD_ID_ACCEPT, (void**)&yy_accept, sizeof(%s)},\n", long_align ? "flex_int32_t" : "flex_int16_t"); return tbl; } /* genftbl - generate full transition table */ void genftbl () { register int i; int end_of_buffer_action = num_rules + 1; out_str_dec (long_align ? get_int32_decl () : get_int16_decl (), "yy_accept", lastdfa + 1); dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; for (i = 1; i <= lastdfa; ++i) { register int anum = dfaacc[i].dfaacc_state; mkdata (anum); if (trace && anum) fprintf (stderr, _("state # %d accepts: [%d]\n"), i, anum); } dataend (); if (useecs) genecs (); /* Don't have to dump the actual full table entries - they were * created on-the-fly. */ } /* Generate the code to find the next compressed-table state. */ void gen_next_compressed_state (char_map) char *char_map; { indent_put2s ("register YY_CHAR yy_c = %s;", char_map); /* Save the backing-up info \before/ computing the next state * because we always compute one more state than needed - we * always proceed until we reach a jam state */ gen_backing_up (); indent_puts ("while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )"); indent_up (); indent_puts ("{"); indent_puts ("yy_current_state = (int) yy_def[yy_current_state];"); if (usemecs) { /* We've arrange it so that templates are never chained * to one another. This means we can afford to make a * very simple test to see if we need to convert to * yy_c's meta-equivalence class without worrying * about erroneously looking up the meta-equivalence * class twice */ do_indent (); /* lastdfa + 2 is the beginning of the templates */ out_dec ("if ( yy_current_state >= %d )\n", lastdfa + 2); indent_up (); indent_puts ("yy_c = yy_meta[(unsigned int) yy_c];"); indent_down (); } indent_puts ("}"); indent_down (); indent_puts ("yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];"); } /* Generate the code to find the next match. */ void gen_next_match () { /* NOTE - changes in here should be reflected in gen_next_state() and * gen_NUL_trans(). */ char *char_map = useecs ? "yy_ec[YY_SC_TO_UI(*yy_cp)] " : "YY_SC_TO_UI(*yy_cp)"; char *char_map_2 = useecs ? "yy_ec[YY_SC_TO_UI(*++yy_cp)] " : "YY_SC_TO_UI(*++yy_cp)"; if (fulltbl) { if (gentables) indent_put2s ("while ( (yy_current_state = yy_nxt[yy_current_state][ %s ]) > 0 )", char_map); else indent_put2s ("while ( (yy_current_state = yy_nxt[yy_current_state*YY_NXT_LOLEN + %s ]) > 0 )", char_map); indent_up (); if (num_backing_up > 0) { indent_puts ("{"); gen_backing_up (); outc ('\n'); } indent_puts ("++yy_cp;"); if (num_backing_up > 0) indent_puts ("}"); indent_down (); outc ('\n'); indent_puts ("yy_current_state = -yy_current_state;"); } else if (fullspd) { indent_puts ("{"); indent_puts ("register yyconst struct yy_trans_info *yy_trans_info;\n"); indent_puts ("register YY_CHAR yy_c;\n"); indent_put2s ("for ( yy_c = %s;", char_map); indent_puts (" (yy_trans_info = &yy_current_state[(unsigned int) yy_c])->"); indent_puts ("yy_verify == yy_c;"); indent_put2s (" yy_c = %s )", char_map_2); indent_up (); if (num_backing_up > 0) indent_puts ("{"); indent_puts ("yy_current_state += yy_trans_info->yy_nxt;"); if (num_backing_up > 0) { outc ('\n'); gen_backing_up (); indent_puts ("}"); } indent_down (); indent_puts ("}"); } else { /* compressed */ indent_puts ("do"); indent_up (); indent_puts ("{"); gen_next_state (false); indent_puts ("++yy_cp;"); indent_puts ("}"); indent_down (); do_indent (); if (interactive) out_dec ("while ( yy_base[yy_current_state] != %d );\n", jambase); else out_dec ("while ( yy_current_state != %d );\n", jamstate); if (!reject && !interactive) { /* Do the guaranteed-needed backing up to figure out * the match. */ indent_puts ("yy_cp = YY_G(yy_last_accepting_cpos);"); indent_puts ("yy_current_state = YY_G(yy_last_accepting_state);"); } } } /* Generate the code to find the next state. */ void gen_next_state (worry_about_NULs) int worry_about_NULs; { /* NOTE - changes in here should be reflected in gen_next_match() */ char char_map[256]; if (worry_about_NULs && !nultrans) { if (useecs) snprintf (char_map, sizeof(char_map), "(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : %d)", NUL_ec); else snprintf (char_map, sizeof(char_map), "(*yy_cp ? YY_SC_TO_UI(*yy_cp) : %d)", NUL_ec); } else strcpy (char_map, useecs ? "yy_ec[YY_SC_TO_UI(*yy_cp)]" : "YY_SC_TO_UI(*yy_cp)"); if (worry_about_NULs && nultrans) { if (!fulltbl && !fullspd) /* Compressed tables back up *before* they match. */ gen_backing_up (); indent_puts ("if ( *yy_cp )"); indent_up (); indent_puts ("{"); } if (fulltbl) { if (gentables) indent_put2s ("yy_current_state = yy_nxt[yy_current_state][%s];", char_map); else indent_put2s ("yy_current_state = yy_nxt[yy_current_state*YY_NXT_LOLEN + %s];", char_map); } else if (fullspd) indent_put2s ("yy_current_state += yy_current_state[%s].yy_nxt;", char_map); else gen_next_compressed_state (char_map); if (worry_about_NULs && nultrans) { indent_puts ("}"); indent_down (); indent_puts ("else"); indent_up (); indent_puts ("yy_current_state = yy_NUL_trans[yy_current_state];"); indent_down (); } if (fullspd || fulltbl) gen_backing_up (); if (reject) indent_puts ("*YY_G(yy_state_ptr)++ = yy_current_state;"); } /* Generate the code to make a NUL transition. */ void gen_NUL_trans () { /* NOTE - changes in here should be reflected in gen_next_match() */ /* Only generate a definition for "yy_cp" if we'll generate code * that uses it. Otherwise lint and the like complain. */ int need_backing_up = (num_backing_up > 0 && !reject); if (need_backing_up && (!nultrans || fullspd || fulltbl)) /* We're going to need yy_cp lying around for the call * below to gen_backing_up(). */ indent_puts ("register char *yy_cp = YY_G(yy_c_buf_p);"); outc ('\n'); if (nultrans) { indent_puts ("yy_current_state = yy_NUL_trans[yy_current_state];"); indent_puts ("yy_is_jam = (yy_current_state == 0);"); } else if (fulltbl) { do_indent (); if (gentables) out_dec ("yy_current_state = yy_nxt[yy_current_state][%d];\n", NUL_ec); else out_dec ("yy_current_state = yy_nxt[yy_current_state*YY_NXT_LOLEN + %d];\n", NUL_ec); indent_puts ("yy_is_jam = (yy_current_state <= 0);"); } else if (fullspd) { do_indent (); out_dec ("register int yy_c = %d;\n", NUL_ec); indent_puts ("register yyconst struct yy_trans_info *yy_trans_info;\n"); indent_puts ("yy_trans_info = &yy_current_state[(unsigned int) yy_c];"); indent_puts ("yy_current_state += yy_trans_info->yy_nxt;"); indent_puts ("yy_is_jam = (yy_trans_info->yy_verify != yy_c);"); } else { char NUL_ec_str[20]; snprintf (NUL_ec_str, sizeof(NUL_ec_str), "%d", NUL_ec); gen_next_compressed_state (NUL_ec_str); do_indent (); out_dec ("yy_is_jam = (yy_current_state == %d);\n", jamstate); if (reject) { /* Only stack this state if it's a transition we * actually make. If we stack it on a jam, then * the state stack and yy_c_buf_p get out of sync. */ indent_puts ("if ( ! yy_is_jam )"); indent_up (); indent_puts ("*YY_G(yy_state_ptr)++ = yy_current_state;"); indent_down (); } } /* If we've entered an accepting state, back up; note that * compressed tables have *already* done such backing up, so * we needn't bother with it again. */ if (need_backing_up && (fullspd || fulltbl)) { outc ('\n'); indent_puts ("if ( ! yy_is_jam )"); indent_up (); indent_puts ("{"); gen_backing_up (); indent_puts ("}"); indent_down (); } } /* Generate the code to find the start state. */ void gen_start_state () { if (fullspd) { if (bol_needed) { indent_puts ("yy_current_state = yy_start_state_list[YY_G(yy_start) + YY_AT_BOL()];"); } else indent_puts ("yy_current_state = yy_start_state_list[YY_G(yy_start)];"); } else { indent_puts ("yy_current_state = YY_G(yy_start);"); if (bol_needed) indent_puts ("yy_current_state += YY_AT_BOL();"); if (reject) { /* Set up for storing up states. */ outn ("m4_ifdef( [[M4_YY_USES_REJECT]],\n[["); indent_puts ("YY_G(yy_state_ptr) = YY_G(yy_state_buf);"); indent_puts ("*YY_G(yy_state_ptr)++ = yy_current_state;"); outn ("]])"); } } } /* gentabs - generate data statements for the transition tables */ void gentabs () { int i, j, k, *accset, nacc, *acc_array, total_states; int end_of_buffer_action = num_rules + 1; struct yytbl_data *yyacc_tbl = 0, *yymeta_tbl = 0, *yybase_tbl = 0, *yydef_tbl = 0, *yynxt_tbl = 0, *yychk_tbl = 0, *yyacclist_tbl=0; flex_int32_t *yyacc_data = 0, *yybase_data = 0, *yydef_data = 0, *yynxt_data = 0, *yychk_data = 0, *yyacclist_data=0; flex_int32_t yybase_curr = 0, yyacclist_curr=0,yyacc_curr=0; acc_array = allocate_integer_array (current_max_dfas); nummt = 0; /* The compressed table format jams by entering the "jam state", * losing information about the previous state in the process. * In order to recover the previous state, we effectively need * to keep backing-up information. */ ++num_backing_up; if (reject) { /* Write out accepting list and pointer list. * First we generate the "yy_acclist" array. In the process, * we compute the indices that will go into the "yy_accept" * array, and save the indices in the dfaacc array. */ int EOB_accepting_list[2]; /* Set up accepting structures for the End Of Buffer state. */ EOB_accepting_list[0] = 0; EOB_accepting_list[1] = end_of_buffer_action; accsiz[end_of_buffer_state] = 1; dfaacc[end_of_buffer_state].dfaacc_set = EOB_accepting_list; out_str_dec (long_align ? get_int32_decl () : get_int16_decl (), "yy_acclist", MAX (numas, 1) + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_ACCLIST, (void**)&yy_acclist, sizeof(%s)},\n", long_align ? "flex_int32_t" : "flex_int16_t"); yyacclist_tbl = (struct yytbl_data*)calloc(1,sizeof(struct yytbl_data)); yytbl_data_init (yyacclist_tbl, YYTD_ID_ACCLIST); yyacclist_tbl->td_lolen = MAX(numas,1) + 1; yyacclist_tbl->td_data = yyacclist_data = (flex_int32_t *) calloc (yyacclist_tbl->td_lolen, sizeof (flex_int32_t)); yyacclist_curr = 1; j = 1; /* index into "yy_acclist" array */ for (i = 1; i <= lastdfa; ++i) { acc_array[i] = j; if (accsiz[i] != 0) { accset = dfaacc[i].dfaacc_set; nacc = accsiz[i]; if (trace) fprintf (stderr, _("state # %d accepts: "), i); for (k = 1; k <= nacc; ++k) { int accnum = accset[k]; ++j; if (variable_trailing_context_rules && !(accnum & YY_TRAILING_HEAD_MASK) && accnum > 0 && accnum <= num_rules && rule_type[accnum] == RULE_VARIABLE) { /* Special hack to flag * accepting number as part * of trailing context rule. */ accnum |= YY_TRAILING_MASK; } mkdata (accnum); yyacclist_data[yyacclist_curr++] = accnum; if (trace) { fprintf (stderr, "[%d]", accset[k]); if (k < nacc) fputs (", ", stderr); else putc ('\n', stderr); } } } } /* add accepting number for the "jam" state */ acc_array[i] = j; dataend (); if (tablesext) { yytbl_data_compress (yyacclist_tbl); if (yytbl_data_fwrite (&tableswr, yyacclist_tbl) < 0) flexerror (_("Could not write yyacclist_tbl")); yytbl_data_destroy (yyacclist_tbl); yyacclist_tbl = NULL; } } else { dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; for (i = 1; i <= lastdfa; ++i) acc_array[i] = dfaacc[i].dfaacc_state; /* add accepting number for jam state */ acc_array[i] = 0; } /* Begin generating yy_accept */ /* Spit out "yy_accept" array. If we're doing "reject", it'll be * pointers into the "yy_acclist" array. Otherwise it's actual * accepting numbers. In either case, we just dump the numbers. */ /* "lastdfa + 2" is the size of "yy_accept"; includes room for C arrays * beginning at 0 and for "jam" state. */ k = lastdfa + 2; if (reject) /* We put a "cap" on the table associating lists of accepting * numbers with state numbers. This is needed because we tell * where the end of an accepting list is by looking at where * the list for the next state starts. */ ++k; out_str_dec (long_align ? get_int32_decl () : get_int16_decl (), "yy_accept", k); buf_prints (&yydmap_buf, "\t{YYTD_ID_ACCEPT, (void**)&yy_accept, sizeof(%s)},\n", long_align ? "flex_int32_t" : "flex_int16_t"); yyacc_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yyacc_tbl, YYTD_ID_ACCEPT); yyacc_tbl->td_lolen = k; yyacc_tbl->td_data = yyacc_data = (flex_int32_t *) calloc (yyacc_tbl->td_lolen, sizeof (flex_int32_t)); yyacc_curr=1; for (i = 1; i <= lastdfa; ++i) { mkdata (acc_array[i]); yyacc_data[yyacc_curr++] = acc_array[i]; if (!reject && trace && acc_array[i]) fprintf (stderr, _("state # %d accepts: [%d]\n"), i, acc_array[i]); } /* Add entry for "jam" state. */ mkdata (acc_array[i]); yyacc_data[yyacc_curr++] = acc_array[i]; if (reject) { /* Add "cap" for the list. */ mkdata (acc_array[i]); yyacc_data[yyacc_curr++] = acc_array[i]; } dataend (); if (tablesext) { yytbl_data_compress (yyacc_tbl); if (yytbl_data_fwrite (&tableswr, yyacc_tbl) < 0) flexerror (_("Could not write yyacc_tbl")); yytbl_data_destroy (yyacc_tbl); yyacc_tbl = NULL; } /* End generating yy_accept */ if (useecs) { genecs (); if (tablesext) { struct yytbl_data *tbl; tbl = mkecstbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_("Could not write ecstbl")); yytbl_data_destroy (tbl); tbl = 0; } } if (usemecs) { /* Begin generating yy_meta */ /* Write out meta-equivalence classes (used to index * templates with). */ flex_int32_t *yymecs_data = 0; yymeta_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yymeta_tbl, YYTD_ID_META); yymeta_tbl->td_lolen = numecs + 1; yymeta_tbl->td_data = yymecs_data = (flex_int32_t *) calloc (yymeta_tbl->td_lolen, sizeof (flex_int32_t)); if (trace) fputs (_("\n\nMeta-Equivalence Classes:\n"), stderr); out_str_dec (get_int32_decl (), "yy_meta", numecs + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_META, (void**)&yy_meta, sizeof(%s)},\n", "flex_int32_t"); for (i = 1; i <= numecs; ++i) { if (trace) fprintf (stderr, "%d = %d\n", i, ABS (tecbck[i])); mkdata (ABS (tecbck[i])); yymecs_data[i] = ABS (tecbck[i]); } dataend (); if (tablesext) { yytbl_data_compress (yymeta_tbl); if (yytbl_data_fwrite (&tableswr, yymeta_tbl) < 0) flexerror (_ ("Could not write yymeta_tbl")); yytbl_data_destroy (yymeta_tbl); yymeta_tbl = NULL; } /* End generating yy_meta */ } total_states = lastdfa + numtemps; /* Begin generating yy_base */ out_str_dec ((tblend >= INT16_MAX || long_align) ? get_int32_decl () : get_int16_decl (), "yy_base", total_states + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_BASE, (void**)&yy_base, sizeof(%s)},\n", (tblend >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); yybase_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yybase_tbl, YYTD_ID_BASE); yybase_tbl->td_lolen = total_states + 1; yybase_tbl->td_data = yybase_data = (flex_int32_t *) calloc (yybase_tbl->td_lolen, sizeof (flex_int32_t)); yybase_curr = 1; for (i = 1; i <= lastdfa; ++i) { register int d = def[i]; if (base[i] == JAMSTATE) base[i] = jambase; if (d == JAMSTATE) def[i] = jamstate; else if (d < 0) { /* Template reference. */ ++tmpuses; def[i] = lastdfa - d + 1; } mkdata (base[i]); yybase_data[yybase_curr++] = base[i]; } /* Generate jam state's base index. */ mkdata (base[i]); yybase_data[yybase_curr++] = base[i]; for (++i /* skip jam state */ ; i <= total_states; ++i) { mkdata (base[i]); yybase_data[yybase_curr++] = base[i]; def[i] = jamstate; } dataend (); if (tablesext) { yytbl_data_compress (yybase_tbl); if (yytbl_data_fwrite (&tableswr, yybase_tbl) < 0) flexerror (_("Could not write yybase_tbl")); yytbl_data_destroy (yybase_tbl); yybase_tbl = NULL; } /* End generating yy_base */ /* Begin generating yy_def */ out_str_dec ((total_states >= INT16_MAX || long_align) ? get_int32_decl () : get_int16_decl (), "yy_def", total_states + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_DEF, (void**)&yy_def, sizeof(%s)},\n", (total_states >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); yydef_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yydef_tbl, YYTD_ID_DEF); yydef_tbl->td_lolen = total_states + 1; yydef_tbl->td_data = yydef_data = (flex_int32_t *) calloc (yydef_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= total_states; ++i) { mkdata (def[i]); yydef_data[i] = def[i]; } dataend (); if (tablesext) { yytbl_data_compress (yydef_tbl); if (yytbl_data_fwrite (&tableswr, yydef_tbl) < 0) flexerror (_("Could not write yydef_tbl")); yytbl_data_destroy (yydef_tbl); yydef_tbl = NULL; } /* End generating yy_def */ /* Begin generating yy_nxt */ out_str_dec ((total_states >= INT16_MAX || long_align) ? get_int32_decl () : get_int16_decl (), "yy_nxt", tblend + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_NXT, (void**)&yy_nxt, sizeof(%s)},\n", (total_states >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); yynxt_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yynxt_tbl, YYTD_ID_NXT); yynxt_tbl->td_lolen = tblend + 1; yynxt_tbl->td_data = yynxt_data = (flex_int32_t *) calloc (yynxt_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= tblend; ++i) { /* Note, the order of the following test is important. * If chk[i] is 0, then nxt[i] is undefined. */ if (chk[i] == 0 || nxt[i] == 0) nxt[i] = jamstate; /* new state is the JAM state */ mkdata (nxt[i]); yynxt_data[i] = nxt[i]; } dataend (); if (tablesext) { yytbl_data_compress (yynxt_tbl); if (yytbl_data_fwrite (&tableswr, yynxt_tbl) < 0) flexerror (_("Could not write yynxt_tbl")); yytbl_data_destroy (yynxt_tbl); yynxt_tbl = NULL; } /* End generating yy_nxt */ /* Begin generating yy_chk */ out_str_dec ((total_states >= INT16_MAX || long_align) ? get_int32_decl () : get_int16_decl (), "yy_chk", tblend + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_CHK, (void**)&yy_chk, sizeof(%s)},\n", (total_states >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); yychk_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yychk_tbl, YYTD_ID_CHK); yychk_tbl->td_lolen = tblend + 1; yychk_tbl->td_data = yychk_data = (flex_int32_t *) calloc (yychk_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= tblend; ++i) { if (chk[i] == 0) ++nummt; mkdata (chk[i]); yychk_data[i] = chk[i]; } dataend (); if (tablesext) { yytbl_data_compress (yychk_tbl); if (yytbl_data_fwrite (&tableswr, yychk_tbl) < 0) flexerror (_("Could not write yychk_tbl")); yytbl_data_destroy (yychk_tbl); yychk_tbl = NULL; } /* End generating yy_chk */ flex_free ((void *) acc_array); } /* Write out a formatted string (with a secondary string argument) at the * current indentation level, adding a final newline. */ void indent_put2s (fmt, arg) const char *fmt, *arg; { do_indent (); out_str (fmt, arg); outn (""); } /* Write out a string at the current indentation level, adding a final * newline. */ void indent_puts (str) const char *str; { do_indent (); outn (str); } /* make_tables - generate transition tables and finishes generating output file */ void make_tables () { register int i; int did_eof_rule = false; struct yytbl_data *yynultrans_tbl; skelout (); /* %% [2.0] - break point in skel */ /* First, take care of YY_DO_BEFORE_ACTION depending on yymore * being used. */ set_indent (1); if (yymore_used && !yytext_is_array) { indent_puts ("YY_G(yytext_ptr) -= YY_G(yy_more_len); \\"); indent_puts ("yyleng = (size_t) (yy_cp - YY_G(yytext_ptr)); \\"); } else indent_puts ("yyleng = (size_t) (yy_cp - yy_bp); \\"); /* Now also deal with copying yytext_ptr to yytext if needed. */ skelout (); /* %% [3.0] - break point in skel */ if (yytext_is_array) { if (yymore_used) indent_puts ("if ( yyleng + YY_G(yy_more_offset) >= YYLMAX ) \\"); else indent_puts ("if ( yyleng >= YYLMAX ) \\"); indent_up (); indent_puts ("YY_FATAL_ERROR( \"token too large, exceeds YYLMAX\" ); \\"); indent_down (); if (yymore_used) { indent_puts ("yy_flex_strncpy( &yytext[YY_G(yy_more_offset)], YY_G(yytext_ptr), yyleng + 1 M4_YY_CALL_LAST_ARG); \\"); indent_puts ("yyleng += YY_G(yy_more_offset); \\"); indent_puts ("YY_G(yy_prev_more_offset) = YY_G(yy_more_offset); \\"); indent_puts ("YY_G(yy_more_offset) = 0; \\"); } else { indent_puts ("yy_flex_strncpy( yytext, YY_G(yytext_ptr), yyleng + 1 M4_YY_CALL_LAST_ARG); \\"); } } set_indent (0); skelout (); /* %% [4.0] - break point in skel */ /* This is where we REALLY begin generating the tables. */ out_dec ("#define YY_NUM_RULES %d\n", num_rules); out_dec ("#define YY_END_OF_BUFFER %d\n", num_rules + 1); if (fullspd) { /* Need to define the transet type as a size large * enough to hold the biggest offset. */ int total_table_size = tblend + numecs + 1; char *trans_offset_type = (total_table_size >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"; set_indent (0); indent_puts ("struct yy_trans_info"); indent_up (); indent_puts ("{"); /* We require that yy_verify and yy_nxt must be of the same size int. */ indent_put2s ("%s yy_verify;", trans_offset_type); /* In cases where its sister yy_verify *is* a "yes, there is * a transition", yy_nxt is the offset (in records) to the * next state. In most cases where there is no transition, * the value of yy_nxt is irrelevant. If yy_nxt is the -1th * record of a state, though, then yy_nxt is the action number * for that state. */ indent_put2s ("%s yy_nxt;", trans_offset_type); indent_puts ("};"); indent_down (); } else { /* We generate a bogus 'struct yy_trans_info' data type * so we can guarantee that it is always declared in the skel. * This is so we can compile "sizeof(struct yy_trans_info)" * in any scanner. */ indent_puts ("/* This struct is not used in this scanner,"); indent_puts (" but its presence is necessary. */"); indent_puts ("struct yy_trans_info"); indent_up (); indent_puts ("{"); indent_puts ("flex_int32_t yy_verify;"); indent_puts ("flex_int32_t yy_nxt;"); indent_puts ("};"); indent_down (); } if (fullspd) { genctbl (); if (tablesext) { struct yytbl_data *tbl; tbl = mkctbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_("Could not write ftbl")); yytbl_data_destroy (tbl); tbl = mkssltbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_("Could not write ssltbl")); yytbl_data_destroy (tbl); tbl = 0; if (useecs) { tbl = mkecstbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_ ("Could not write ecstbl")); yytbl_data_destroy (tbl); tbl = 0; } } } else if (fulltbl) { genftbl (); if (tablesext) { struct yytbl_data *tbl; tbl = mkftbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_("Could not write ftbl")); yytbl_data_destroy (tbl); tbl = 0; if (useecs) { tbl = mkecstbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_ ("Could not write ecstbl")); yytbl_data_destroy (tbl); tbl = 0; } } } else gentabs (); if (do_yylineno) { geneoltbl (); if (tablesext) { struct yytbl_data *tbl; tbl = mkeoltbl (); yytbl_data_compress (tbl); if (yytbl_data_fwrite (&tableswr, tbl) < 0) flexerror (_("Could not write eoltbl")); yytbl_data_destroy (tbl); tbl = 0; } } /* Definitions for backing up. We don't need them if REJECT * is being used because then we use an alternative backin-up * technique instead. */ if (num_backing_up > 0 && !reject) { if (!C_plus_plus && !reentrant) { indent_puts ("static yy_state_type yy_last_accepting_state;"); indent_puts ("static char *yy_last_accepting_cpos;\n"); } } if (nultrans) { flex_int32_t *yynultrans_data = 0; /* Begin generating yy_NUL_trans */ out_str_dec (get_state_decl (), "yy_NUL_trans", lastdfa + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_NUL_TRANS, (void**)&yy_NUL_trans, sizeof(%s)},\n", (fullspd) ? "struct yy_trans_info*" : "flex_int32_t"); yynultrans_tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yynultrans_tbl, YYTD_ID_NUL_TRANS); if (fullspd) yynultrans_tbl->td_flags |= YYTD_PTRANS; yynultrans_tbl->td_lolen = lastdfa + 1; yynultrans_tbl->td_data = yynultrans_data = (flex_int32_t *) calloc (yynultrans_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= lastdfa; ++i) { if (fullspd) { out_dec (" &yy_transition[%d],\n", base[i]); yynultrans_data[i] = base[i]; } else { mkdata (nultrans[i]); yynultrans_data[i] = nultrans[i]; } } dataend (); if (tablesext) { yytbl_data_compress (yynultrans_tbl); if (yytbl_data_fwrite (&tableswr, yynultrans_tbl) < 0) flexerror (_ ("Could not write yynultrans_tbl")); yytbl_data_destroy (yynultrans_tbl); yynultrans_tbl = NULL; } /* End generating yy_NUL_trans */ } if (!C_plus_plus && !reentrant) { indent_puts ("extern int yy_flex_debug;"); indent_put2s ("int yy_flex_debug = %s;\n", ddebug ? "1" : "0"); } if (ddebug) { /* Spit out table mapping rules to line numbers. */ out_str_dec (long_align ? get_int32_decl () : get_int16_decl (), "yy_rule_linenum", num_rules); for (i = 1; i < num_rules; ++i) mkdata (rule_linenum[i]); dataend (); } if (reject) { outn ("m4_ifdef( [[M4_YY_USES_REJECT]],\n[["); /* Declare state buffer variables. */ if (!C_plus_plus && !reentrant) { outn ("static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;"); outn ("static char *yy_full_match;"); outn ("static int yy_lp;"); } if (variable_trailing_context_rules) { if (!C_plus_plus && !reentrant) { outn ("static int yy_looking_for_trail_begin = 0;"); outn ("static int yy_full_lp;"); outn ("static int *yy_full_state;"); } out_hex ("#define YY_TRAILING_MASK 0x%x\n", (unsigned int) YY_TRAILING_MASK); out_hex ("#define YY_TRAILING_HEAD_MASK 0x%x\n", (unsigned int) YY_TRAILING_HEAD_MASK); } outn ("#define REJECT \\"); outn ("{ \\"); outn ("*yy_cp = YY_G(yy_hold_char); /* undo effects of setting up yytext */ \\"); outn ("yy_cp = YY_G(yy_full_match); /* restore poss. backed-over text */ \\"); if (variable_trailing_context_rules) { outn ("YY_G(yy_lp) = YY_G(yy_full_lp); /* restore orig. accepting pos. */ \\"); outn ("YY_G(yy_state_ptr) = YY_G(yy_full_state); /* restore orig. state */ \\"); outn ("yy_current_state = *YY_G(yy_state_ptr); /* restore curr. state */ \\"); } outn ("++YY_G(yy_lp); \\"); outn ("goto find_rule; \\"); outn ("}"); outn ("]])\n"); } else { outn ("/* The intent behind this definition is that it'll catch"); outn (" * any uses of REJECT which flex missed."); outn (" */"); outn ("#define REJECT reject_used_but_not_detected"); } if (yymore_used) { if (!C_plus_plus) { if (yytext_is_array) { if (!reentrant){ indent_puts ("static int yy_more_offset = 0;"); indent_puts ("static int yy_prev_more_offset = 0;"); } } else if (!reentrant) { indent_puts ("static int yy_more_flag = 0;"); indent_puts ("static int yy_more_len = 0;"); } } if (yytext_is_array) { indent_puts ("#define yymore() (YY_G(yy_more_offset) = yy_flex_strlen( yytext M4_YY_CALL_LAST_ARG))"); indent_puts ("#define YY_NEED_STRLEN"); indent_puts ("#define YY_MORE_ADJ 0"); indent_puts ("#define YY_RESTORE_YY_MORE_OFFSET \\"); indent_up (); indent_puts ("{ \\"); indent_puts ("YY_G(yy_more_offset) = YY_G(yy_prev_more_offset); \\"); indent_puts ("yyleng -= YY_G(yy_more_offset); \\"); indent_puts ("}"); indent_down (); } else { indent_puts ("#define yymore() (YY_G(yy_more_flag) = 1)"); indent_puts ("#define YY_MORE_ADJ YY_G(yy_more_len)"); indent_puts ("#define YY_RESTORE_YY_MORE_OFFSET"); } } else { indent_puts ("#define yymore() yymore_used_but_not_detected"); indent_puts ("#define YY_MORE_ADJ 0"); indent_puts ("#define YY_RESTORE_YY_MORE_OFFSET"); } if (!C_plus_plus) { if (yytext_is_array) { outn ("#ifndef YYLMAX"); outn ("#define YYLMAX 8192"); outn ("#endif\n"); if (!reentrant){ outn ("char yytext[YYLMAX];"); outn ("char *yytext_ptr;"); } } else { if(! reentrant) outn ("char *yytext;"); } } out (&action_array[defs1_offset]); line_directive_out (stdout, 0); skelout (); /* %% [5.0] - break point in skel */ if (!C_plus_plus) { if (use_read) { outn ("\terrno=0; \\"); outn ("\twhile ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \\"); outn ("\t{ \\"); outn ("\t\tif( errno != EINTR) \\"); outn ("\t\t{ \\"); outn ("\t\t\tYY_FATAL_ERROR( \"input in flex scanner failed\" ); \\"); outn ("\t\t\tbreak; \\"); outn ("\t\t} \\"); outn ("\t\terrno=0; \\"); outn ("\t\tclearerr(yyin); \\"); outn ("\t}\\"); } else { outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); outn ("\t\t{ \\"); outn ("\t\tint c = '*'; \\"); outn ("\t\tint n; \\"); outn ("\t\tfor ( n = 0; n < max_size && \\"); outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); outn ("\t\t\tbuf[n] = (char) c; \\"); outn ("\t\tif ( c == '\\n' ) \\"); outn ("\t\t\tbuf[n++] = (char) c; \\"); outn ("\t\tif ( c == EOF && ferror( yyin ) ) \\"); outn ("\t\t\tYY_FATAL_ERROR( \"input in flex scanner failed\" ); \\"); outn ("\t\tresult = n; \\"); outn ("\t\t} \\"); outn ("\telse \\"); outn ("\t\t{ \\"); outn ("\t\terrno=0; \\"); outn ("\t\twhile ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \\"); outn ("\t\t\t{ \\"); outn ("\t\t\tif( errno != EINTR) \\"); outn ("\t\t\t\t{ \\"); outn ("\t\t\t\tYY_FATAL_ERROR( \"input in flex scanner failed\" ); \\"); outn ("\t\t\t\tbreak; \\"); outn ("\t\t\t\t} \\"); outn ("\t\t\terrno=0; \\"); outn ("\t\t\tclearerr(yyin); \\"); outn ("\t\t\t} \\"); outn ("\t\t}\\"); } } skelout (); /* %% [6.0] - break point in skel */ indent_puts ("#define YY_RULE_SETUP \\"); indent_up (); if (bol_needed) { indent_puts ("if ( yyleng > 0 ) \\"); indent_up (); indent_puts ("YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \\"); indent_puts ("\t\t(yytext[yyleng - 1] == '\\n'); \\"); indent_down (); } indent_puts ("YY_USER_ACTION"); indent_down (); skelout (); /* %% [7.0] - break point in skel */ /* Copy prolog to output file. */ out (&action_array[prolog_offset]); line_directive_out (stdout, 0); skelout (); /* %% [8.0] - break point in skel */ set_indent (2); if (yymore_used && !yytext_is_array) { indent_puts ("YY_G(yy_more_len) = 0;"); indent_puts ("if ( YY_G(yy_more_flag) )"); indent_up (); indent_puts ("{"); indent_puts ("YY_G(yy_more_len) = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);"); indent_puts ("YY_G(yy_more_flag) = 0;"); indent_puts ("}"); indent_down (); } skelout (); /* %% [9.0] - break point in skel */ gen_start_state (); /* Note, don't use any indentation. */ outn ("yy_match:"); gen_next_match (); skelout (); /* %% [10.0] - break point in skel */ set_indent (2); gen_find_action (); skelout (); /* %% [11.0] - break point in skel */ outn ("m4_ifdef( [[M4_YY_USE_LINENO]],[["); indent_puts ("if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )"); indent_up (); indent_puts ("{"); indent_puts ("int yyl;"); do_indent (); out_str ("for ( yyl = %s; yyl < yyleng; ++yyl )\n", yymore_used ? (yytext_is_array ? "YY_G(yy_prev_more_offset)" : "YY_G(yy_more_len)") : "0"); indent_up (); indent_puts ("if ( yytext[yyl] == '\\n' )"); indent_up (); indent_puts ("M4_YY_INCR_LINENO();"); indent_down (); indent_down (); indent_puts ("}"); indent_down (); outn ("]])"); skelout (); /* %% [12.0] - break point in skel */ if (ddebug) { indent_puts ("if ( yy_flex_debug )"); indent_up (); indent_puts ("{"); indent_puts ("if ( yy_act == 0 )"); indent_up (); indent_puts (C_plus_plus ? "std::cerr << \"--scanner backing up\\n\";" : "fprintf( stderr, \"--scanner backing up\\n\" );"); indent_down (); do_indent (); out_dec ("else if ( yy_act < %d )\n", num_rules); indent_up (); if (C_plus_plus) { indent_puts ("std::cerr << \"--accepting rule at line \" << yy_rule_linenum[yy_act] <<"); indent_puts (" \"(\\\"\" << yytext << \"\\\")\\n\";"); } else { indent_puts ("fprintf( stderr, \"--accepting rule at line %ld (\\\"%s\\\")\\n\","); indent_puts (" (long)yy_rule_linenum[yy_act], yytext );"); } indent_down (); do_indent (); out_dec ("else if ( yy_act == %d )\n", num_rules); indent_up (); if (C_plus_plus) { indent_puts ("std::cerr << \"--accepting default rule (\\\"\" << yytext << \"\\\")\\n\";"); } else { indent_puts ("fprintf( stderr, \"--accepting default rule (\\\"%s\\\")\\n\","); indent_puts (" yytext );"); } indent_down (); do_indent (); out_dec ("else if ( yy_act == %d )\n", num_rules + 1); indent_up (); indent_puts (C_plus_plus ? "std::cerr << \"--(end of buffer or a NUL)\\n\";" : "fprintf( stderr, \"--(end of buffer or a NUL)\\n\" );"); indent_down (); do_indent (); outn ("else"); indent_up (); if (C_plus_plus) { indent_puts ("std::cerr << \"--EOF (start condition \" << YY_START << \")\\n\";"); } else { indent_puts ("fprintf( stderr, \"--EOF (start condition %d)\\n\", YY_START );"); } indent_down (); indent_puts ("}"); indent_down (); } /* Copy actions to output file. */ skelout (); /* %% [13.0] - break point in skel */ indent_up (); gen_bu_action (); out (&action_array[action_offset]); line_directive_out (stdout, 0); /* generate cases for any missing EOF rules */ for (i = 1; i <= lastsc; ++i) if (!sceof[i]) { do_indent (); out_str ("case YY_STATE_EOF(%s):\n", scname[i]); did_eof_rule = true; } if (did_eof_rule) { indent_up (); indent_puts ("yyterminate();"); indent_down (); } /* Generate code for handling NUL's, if needed. */ /* First, deal with backing up and setting up yy_cp if the scanner * finds that it should JAM on the NUL. */ skelout (); /* %% [14.0] - break point in skel */ set_indent (4); if (fullspd || fulltbl) indent_puts ("yy_cp = YY_G(yy_c_buf_p);"); else { /* compressed table */ if (!reject && !interactive) { /* Do the guaranteed-needed backing up to figure * out the match. */ indent_puts ("yy_cp = YY_G(yy_last_accepting_cpos);"); indent_puts ("yy_current_state = YY_G(yy_last_accepting_state);"); } else /* Still need to initialize yy_cp, though * yy_current_state was set up by * yy_get_previous_state(). */ indent_puts ("yy_cp = YY_G(yy_c_buf_p);"); } /* Generate code for yy_get_previous_state(). */ set_indent (1); skelout (); /* %% [15.0] - break point in skel */ gen_start_state (); set_indent (2); skelout (); /* %% [16.0] - break point in skel */ gen_next_state (true); set_indent (1); skelout (); /* %% [17.0] - break point in skel */ gen_NUL_trans (); skelout (); /* %% [18.0] - break point in skel */ skelout (); /* %% [19.0] - break point in skel */ /* Update BOL and yylineno inside of input(). */ if (bol_needed) { indent_puts ("YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\\n');"); if (do_yylineno) { indent_puts ("if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )"); indent_up (); indent_puts ("M4_YY_INCR_LINENO();"); indent_down (); } } else if (do_yylineno) { indent_puts ("if ( c == '\\n' )"); indent_up (); indent_puts ("M4_YY_INCR_LINENO();"); indent_down (); } skelout (); /* Copy remainder of input to output. */ line_directive_out (stdout, 1); if (sectnum == 3) { OUT_BEGIN_CODE (); (void) flexscan (); /* copy remainder of input to output */ OUT_END_CODE (); } } flex-2.5.35/main.c0000664000175000017500000014204710671160502010565 00000000000000/* flex - tool to generate fast lexical analyzers */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "version.h" #include "options.h" #include "tables.h" static char flex_version[] = FLEX_VERSION; /* declare functions that have forward references */ void flexinit PROTO ((int, char **)); void readin PROTO ((void)); void set_up_initial_allocations PROTO ((void)); static char *basename2 PROTO ((char *path, int should_strip_ext)); /* these globals are all defined and commented in flexdef.h */ int printstats, syntaxerror, eofseen, ddebug, trace, nowarn, spprdflt; int interactive, lex_compat, posix_compat, do_yylineno, useecs, fulltbl, usemecs; int fullspd, gen_line_dirs, performance_report, backing_up_report; int C_plus_plus, long_align, use_read, yytext_is_array, do_yywrap, csize; int reentrant, bison_bridge_lval, bison_bridge_lloc; int yymore_used, reject, real_reject, continued_action, in_rule; int yymore_really_used, reject_really_used; int datapos, dataline, linenum, out_linenum; FILE *skelfile = NULL; int skel_ind = 0; char *action_array; int action_size, defs1_offset, prolog_offset, action_offset, action_index; char *infilename = NULL, *outfilename = NULL, *headerfilename = NULL; int did_outfilename; char *prefix, *yyclass, *extra_type = NULL; int do_stdinit, use_stdout; int onestate[ONE_STACK_SIZE], onesym[ONE_STACK_SIZE]; int onenext[ONE_STACK_SIZE], onedef[ONE_STACK_SIZE], onesp; int maximum_mns, current_mns, current_max_rules; int num_rules, num_eof_rules, default_rule, lastnfa; int *firstst, *lastst, *finalst, *transchar, *trans1, *trans2; int *accptnum, *assoc_rule, *state_type; int *rule_type, *rule_linenum, *rule_useful; int current_state_type; int variable_trailing_context_rules; int numtemps, numprots, protprev[MSP], protnext[MSP], prottbl[MSP]; int protcomst[MSP], firstprot, lastprot, protsave[PROT_SAVE_SIZE]; int numecs, nextecm[CSIZE + 1], ecgroup[CSIZE + 1], nummecs, tecfwd[CSIZE + 1]; int tecbck[CSIZE + 1]; int lastsc, *scset, *scbol, *scxclu, *sceof; int current_max_scs; char **scname; int current_max_dfa_size, current_max_xpairs; int current_max_template_xpairs, current_max_dfas; int lastdfa, *nxt, *chk, *tnxt; int *base, *def, *nultrans, NUL_ec, tblend, firstfree, **dss, *dfasiz; union dfaacc_union *dfaacc; int *accsiz, *dhash, numas; int numsnpairs, jambase, jamstate; int lastccl, *cclmap, *ccllen, *cclng, cclreuse; int current_maxccls, current_max_ccl_tbl_size; Char *ccltbl; char nmstr[MAXLINE]; int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs; int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave; int num_backing_up, bol_needed; FILE *backing_up_file; int end_of_buffer_state; char **input_files; int num_input_files; jmp_buf flex_main_jmp_buf; bool *rule_has_nl, *ccl_has_nl; int nlch = '\n'; bool ansi_func_defs, ansi_func_protos; bool tablesext, tablesverify, gentables; char *tablesfilename=0,*tablesname=0; struct yytbl_writer tableswr; /* Make sure program_name is initialized so we don't crash if writing * out an error message before getting the program name from argv[0]. */ char *program_name = "flex"; #ifndef SHORT_FILE_NAMES static char *outfile_template = "lex.%s.%s"; static char *backing_name = "lex.backup"; static char *tablesfile_template = "lex.%s.tables"; #else static char *outfile_template = "lex%s.%s"; static char *backing_name = "lex.bck"; static char *tablesfile_template = "lex%s.tbl"; #endif #ifdef MS_DOS extern unsigned _stklen = 16384; #endif /* From scan.l */ extern FILE* yyout; static char outfile_path[MAXLINE]; static int outfile_created = 0; static char *skelname = NULL; static int _stdout_closed = 0; /* flag to prevent double-fclose() on stdout. */ const char *escaped_qstart = "[[]]M4_YY_NOOP[M4_YY_NOOP[M4_YY_NOOP[[]]"; const char *escaped_qend = "[[]]M4_YY_NOOP]M4_YY_NOOP]M4_YY_NOOP[[]]"; /* For debugging. The max number of filters to apply to skeleton. */ static int preproc_level = 1000; int flex_main PROTO ((int argc, char *argv[])); int main PROTO ((int argc, char *argv[])); int flex_main (argc, argv) int argc; char *argv[]; { int i, exit_status, child_status; /* Set a longjmp target. Yes, I know it's a hack, but it gets worse: The * return value of setjmp, if non-zero, is the desired exit code PLUS ONE. * For example, if you want 'main' to return with code '2', then call * longjmp() with an argument of 3. This is because it is invalid to * specify a value of 0 to longjmp. FLEX_EXIT(n) should be used instead of * exit(n); */ exit_status = setjmp (flex_main_jmp_buf); if (exit_status){ if (stdout && !_stdout_closed && !ferror(stdout)){ fflush(stdout); fclose(stdout); } while (wait(&child_status) > 0){ if (!WIFEXITED (child_status) || WEXITSTATUS (child_status) != 0){ /* report an error of a child */ if( exit_status <= 1 ) exit_status = 2; } } return exit_status - 1; } flexinit (argc, argv); readin (); ntod (); for (i = 1; i <= num_rules; ++i) if (!rule_useful[i] && i != default_rule) line_warning (_("rule cannot be matched"), rule_linenum[i]); if (spprdflt && !reject && rule_useful[default_rule]) line_warning (_ ("-s option given but default rule can be matched"), rule_linenum[default_rule]); /* Generate the C state transition tables from the DFA. */ make_tables (); /* Note, flexend does not return. It exits with its argument * as status. */ flexend (0); return 0; /* keep compilers/lint happy */ } /* Wrapper around flex_main, so flex_main can be built as a library. */ int main (argc, argv) int argc; char *argv[]; { #if ENABLE_NLS #if HAVE_LOCALE_H setlocale (LC_MESSAGES, ""); setlocale (LC_CTYPE, ""); textdomain (PACKAGE); bindtextdomain (PACKAGE, LOCALEDIR); #endif #endif return flex_main (argc, argv); } /* check_options - check user-specified options */ void check_options () { int i; const char * m4 = NULL; if (lex_compat) { if (C_plus_plus) flexerror (_("Can't use -+ with -l option")); if (fulltbl || fullspd) flexerror (_("Can't use -f or -F with -l option")); if (reentrant || bison_bridge_lval) flexerror (_ ("Can't use --reentrant or --bison-bridge with -l option")); /* Don't rely on detecting use of yymore() and REJECT, * just assume they'll be used. */ yymore_really_used = reject_really_used = true; yytext_is_array = true; do_yylineno = true; use_read = false; } #if 0 /* This makes no sense whatsoever. I'm removing it. */ if (do_yylineno) /* This should really be "maintain_backup_tables = true" */ reject_really_used = true; #endif if (csize == unspecified) { if ((fulltbl || fullspd) && !useecs) csize = DEFAULT_CSIZE; else csize = CSIZE; } if (interactive == unspecified) { if (fulltbl || fullspd) interactive = false; else interactive = true; } if (fulltbl || fullspd) { if (usemecs) flexerror (_ ("-Cf/-CF and -Cm don't make sense together")); if (interactive) flexerror (_("-Cf/-CF and -I are incompatible")); if (lex_compat) flexerror (_ ("-Cf/-CF are incompatible with lex-compatibility mode")); if (fulltbl && fullspd) flexerror (_ ("-Cf and -CF are mutually exclusive")); } if (C_plus_plus && fullspd) flexerror (_("Can't use -+ with -CF option")); if (C_plus_plus && yytext_is_array) { warn (_("%array incompatible with -+ option")); yytext_is_array = false; } if (C_plus_plus && (reentrant)) flexerror (_("Options -+ and --reentrant are mutually exclusive.")); if (C_plus_plus && bison_bridge_lval) flexerror (_("bison bridge not supported for the C++ scanner.")); if (useecs) { /* Set up doubly-linked equivalence classes. */ /* We loop all the way up to csize, since ecgroup[csize] is * the position used for NUL characters. */ ecgroup[1] = NIL; for (i = 2; i <= csize; ++i) { ecgroup[i] = i - 1; nextecm[i - 1] = i; } nextecm[csize] = NIL; } else { /* Put everything in its own equivalence class. */ for (i = 1; i <= csize; ++i) { ecgroup[i] = i; nextecm[i] = BAD_SUBSCRIPT; /* to catch errors */ } } if (!ansi_func_defs) buf_m4_define( &m4defs_buf, "M4_YY_NO_ANSI_FUNC_DEFS", NULL); if (!ansi_func_protos) buf_m4_define( &m4defs_buf, "M4_YY_NO_ANSI_FUNC_PROTOS", NULL); if (extra_type) buf_m4_define( &m4defs_buf, "M4_EXTRA_TYPE_DEFS", extra_type); if (!use_stdout) { FILE *prev_stdout; if (!did_outfilename) { char *suffix; if (C_plus_plus) suffix = "cc"; else suffix = "c"; snprintf (outfile_path, sizeof(outfile_path), outfile_template, prefix, suffix); outfilename = outfile_path; } prev_stdout = freopen (outfilename, "w+", stdout); if (prev_stdout == NULL) lerrsf (_("could not create %s"), outfilename); outfile_created = 1; } /* Setup the filter chain. */ output_chain = filter_create_int(NULL, filter_tee_header, headerfilename); if ( !(m4 = getenv("M4"))) m4 = M4; filter_create_ext(output_chain, m4, "-P", 0); filter_create_int(output_chain, filter_fix_linedirs, NULL); /* For debugging, only run the requested number of filters. */ if (preproc_level > 0) { filter_truncate(output_chain, preproc_level); filter_apply_chain(output_chain); } yyout = stdout; /* always generate the tablesverify flag. */ buf_m4_define (&m4defs_buf, "M4_YY_TABLES_VERIFY", tablesverify ? "1" : "0"); if (tablesext) gentables = false; if (tablesverify) /* force generation of C tables. */ gentables = true; if (tablesext) { FILE *tablesout; struct yytbl_hdr hdr; char *pname = 0; int nbytes = 0; buf_m4_define (&m4defs_buf, "M4_YY_TABLES_EXTERNAL", NULL); if (!tablesfilename) { nbytes = strlen (prefix) + strlen (tablesfile_template) + 2; tablesfilename = pname = (char *) calloc (nbytes, 1); snprintf (pname, nbytes, tablesfile_template, prefix); } if ((tablesout = fopen (tablesfilename, "w")) == NULL) lerrsf (_("could not create %s"), tablesfilename); if (pname) free (pname); tablesfilename = 0; yytbl_writer_init (&tableswr, tablesout); nbytes = strlen (prefix) + strlen ("tables") + 2; tablesname = (char *) calloc (nbytes, 1); snprintf (tablesname, nbytes, "%stables", prefix); yytbl_hdr_init (&hdr, flex_version, tablesname); if (yytbl_hdr_fwrite (&tableswr, &hdr) <= 0) flexerror (_("could not write tables header")); } if (skelname && (skelfile = fopen (skelname, "r")) == NULL) lerrsf (_("can't open skeleton file %s"), skelname); if (reentrant) { buf_m4_define (&m4defs_buf, "M4_YY_REENTRANT", NULL); if (yytext_is_array) buf_m4_define (&m4defs_buf, "M4_YY_TEXT_IS_ARRAY", NULL); } if ( bison_bridge_lval) buf_m4_define (&m4defs_buf, "M4_YY_BISON_LVAL", NULL); if ( bison_bridge_lloc) buf_m4_define (&m4defs_buf, "", NULL); buf_m4_define(&m4defs_buf, "M4_YY_PREFIX", prefix); if (did_outfilename) line_directive_out (stdout, 0); if (do_yylineno) buf_m4_define (&m4defs_buf, "M4_YY_USE_LINENO", NULL); /* Create the alignment type. */ buf_strdefine (&userdef_buf, "YY_INT_ALIGNED", long_align ? "long int" : "short int"); /* Define the start condition macros. */ { struct Buf tmpbuf; buf_init(&tmpbuf, sizeof(char)); for (i = 1; i <= lastsc; i++) { char *str, *fmt = "#define %s %d\n"; size_t strsz; str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(scname[i]) + (int)(1 + log10(i)) + 2); snprintf(str, strsz, fmt, scname[i], i - 1); buf_strappend(&tmpbuf, str); free(str); } buf_m4_define(&m4defs_buf, "M4_YY_SC_DEFS", tmpbuf.elts); buf_destroy(&tmpbuf); } /* This is where we begin writing to the file. */ /* Dump the %top code. */ if( top_buf.elts) outn((char*) top_buf.elts); /* Dump the m4 definitions. */ buf_print_strings(&m4defs_buf, stdout); m4defs_buf.nelts = 0; /* memory leak here. */ /* Place a bogus line directive, it will be fixed in the filter. */ outn("#line 0 \"M4_YY_OUTFILE_NAME\"\n"); /* Dump the user defined preproc directives. */ if (userdef_buf.elts) outn ((char *) (userdef_buf.elts)); skelout (); /* %% [1.0] */ } /* flexend - terminate flex * * note * This routine does not return. */ void flexend (exit_status) int exit_status; { static int called_before = -1; /* prevent infinite recursion. */ int tblsiz; if (++called_before) FLEX_EXIT (exit_status); if (skelfile != NULL) { if (ferror (skelfile)) lerrsf (_("input error reading skeleton file %s"), skelname); else if (fclose (skelfile)) lerrsf (_("error closing skeleton file %s"), skelname); } #if 0 fprintf (header_out, "#ifdef YY_HEADER_EXPORT_START_CONDITIONS\n"); fprintf (header_out, "/* Beware! Start conditions are not prefixed. */\n"); /* Special case for "INITIAL" */ fprintf (header_out, "#undef INITIAL\n#define INITIAL 0\n"); for (i = 2; i <= lastsc; i++) fprintf (header_out, "#define %s %d\n", scname[i], i - 1); fprintf (header_out, "#endif /* YY_HEADER_EXPORT_START_CONDITIONS */\n\n"); /* Kill ALL flex-related macros. This is so the user * can #include more than one generated header file. */ fprintf (header_out, "#ifndef YY_HEADER_NO_UNDEFS\n"); fprintf (header_out, "/* Undefine all internal macros, etc., that do no belong in the header. */\n\n"); { const char * undef_list[] = { "BEGIN", "ECHO", "EOB_ACT_CONTINUE_SCAN", "EOB_ACT_END_OF_FILE", "EOB_ACT_LAST_MATCH", "FLEX_SCANNER", "FLEX_STD", "REJECT", "YYFARGS0", "YYFARGS1", "YYFARGS2", "YYFARGS3", "YYLMAX", "YYSTATE", "YY_AT_BOL", "YY_BREAK", "YY_BUFFER_EOF_PENDING", "YY_BUFFER_NEW", "YY_BUFFER_NORMAL", "YY_BUF_SIZE", "M4_YY_CALL_LAST_ARG", "M4_YY_CALL_ONLY_ARG", "YY_CURRENT_BUFFER", "YY_DECL", "M4_YY_DECL_LAST_ARG", "M4_YY_DEF_LAST_ARG", "M4_YY_DEF_ONLY_ARG", "YY_DO_BEFORE_ACTION", "YY_END_OF_BUFFER", "YY_END_OF_BUFFER_CHAR", "YY_EXIT_FAILURE", "YY_EXTRA_TYPE", "YY_FATAL_ERROR", "YY_FLEX_DEFINED_ECHO", "YY_FLEX_LEX_COMPAT", "YY_FLEX_MAJOR_VERSION", "YY_FLEX_MINOR_VERSION", "YY_FLEX_SUBMINOR_VERSION", "YY_FLUSH_BUFFER", "YY_G", "YY_INPUT", "YY_INTERACTIVE", "YY_INT_ALIGNED", "YY_LAST_ARG", "YY_LESS_LINENO", "YY_LEX_ARGS", "YY_LEX_DECLARATION", "YY_LEX_PROTO", "YY_MAIN", "YY_MORE_ADJ", "YY_NEED_STRLEN", "YY_NEW_FILE", "YY_NULL", "YY_NUM_RULES", "YY_ONLY_ARG", "YY_PARAMS", "YY_PROTO", "M4_YY_PROTO_LAST_ARG", "M4_YY_PROTO_ONLY_ARG void", "YY_READ_BUF_SIZE", "YY_REENTRANT", "YY_RESTORE_YY_MORE_OFFSET", "YY_RULE_SETUP", "YY_SC_TO_UI", "YY_SKIP_YYWRAP", "YY_START", "YY_START_STACK_INCR", "YY_STATE_EOF", "YY_STDINIT", "YY_TRAILING_HEAD_MASK", "YY_TRAILING_MASK", "YY_USER_ACTION", "YY_USE_CONST", "YY_USE_PROTOS", "unput", "yyTABLES_NAME", "yy_create_buffer", "yy_delete_buffer", "yy_flex_debug", "yy_flush_buffer", "yy_init_buffer", "yy_load_buffer_state", "yy_new_buffer", "yy_scan_buffer", "yy_scan_bytes", "yy_scan_string", "yy_set_bol", "yy_set_interactive", "yy_switch_to_buffer", "yypush_buffer_state", "yypop_buffer_state", "yyensure_buffer_stack", "yyalloc", "yyconst", "yyextra", "yyfree", "yyget_debug", "yyget_extra", "yyget_in", "yyget_leng", "yyget_lineno", "yyget_lloc", "yyget_lval", "yyget_out", "yyget_text", "yyin", "yyleng", "yyless", "yylex", "yylex_destroy", "yylex_init", "yylex_init_extra", "yylineno", "yylloc", "yylval", "yymore", "yyout", "yyrealloc", "yyrestart", "yyset_debug", "yyset_extra", "yyset_in", "yyset_lineno", "yyset_lloc", "yyset_lval", "yyset_out", "yytables_destroy", "yytables_fload", "yyterminate", "yytext", "yytext_ptr", "yywrap", /* must be null-terminated */ NULL}; for (i=0; undef_list[i] != NULL; i++) fprintf (header_out, "#undef %s\n", undef_list[i]); } /* undef any of the auto-generated symbols. */ for (i = 0; i < defs_buf.nelts; i++) { /* don't undef start conditions */ if (sclookup (((char **) defs_buf.elts)[i]) > 0) continue; fprintf (header_out, "#undef %s\n", ((char **) defs_buf.elts)[i]); } fprintf (header_out, "#endif /* !YY_HEADER_NO_UNDEFS */\n"); fprintf (header_out, "\n"); fprintf (header_out, "#undef %sIN_HEADER\n", prefix); fprintf (header_out, "#endif /* %sHEADER_H */\n", prefix); if (ferror (header_out)) lerrsf (_("error creating header file %s"), headerfilename); fflush (header_out); fclose (header_out); #endif if (exit_status != 0 && outfile_created) { if (ferror (stdout)) lerrsf (_("error writing output file %s"), outfilename); else if ((_stdout_closed = 1) && fclose (stdout)) lerrsf (_("error closing output file %s"), outfilename); else if (unlink (outfilename)) lerrsf (_("error deleting output file %s"), outfilename); } if (backing_up_report && backing_up_file) { if (num_backing_up == 0) fprintf (backing_up_file, _("No backing up.\n")); else if (fullspd || fulltbl) fprintf (backing_up_file, _ ("%d backing up (non-accepting) states.\n"), num_backing_up); else fprintf (backing_up_file, _("Compressed tables always back up.\n")); if (ferror (backing_up_file)) lerrsf (_("error writing backup file %s"), backing_name); else if (fclose (backing_up_file)) lerrsf (_("error closing backup file %s"), backing_name); } if (printstats) { fprintf (stderr, _("%s version %s usage statistics:\n"), program_name, flex_version); fprintf (stderr, _(" scanner options: -")); if (C_plus_plus) putc ('+', stderr); if (backing_up_report) putc ('b', stderr); if (ddebug) putc ('d', stderr); if (sf_case_ins()) putc ('i', stderr); if (lex_compat) putc ('l', stderr); if (posix_compat) putc ('X', stderr); if (performance_report > 0) putc ('p', stderr); if (performance_report > 1) putc ('p', stderr); if (spprdflt) putc ('s', stderr); if (reentrant) fputs ("--reentrant", stderr); if (bison_bridge_lval) fputs ("--bison-bridge", stderr); if (bison_bridge_lloc) fputs ("--bison-locations", stderr); if (use_stdout) putc ('t', stderr); if (printstats) putc ('v', stderr); /* always true! */ if (nowarn) putc ('w', stderr); if (interactive == false) putc ('B', stderr); if (interactive == true) putc ('I', stderr); if (!gen_line_dirs) putc ('L', stderr); if (trace) putc ('T', stderr); if (csize == unspecified) /* We encountered an error fairly early on, so csize * never got specified. Define it now, to prevent * bogus table sizes being written out below. */ csize = 256; if (csize == 128) putc ('7', stderr); else putc ('8', stderr); fprintf (stderr, " -C"); if (long_align) putc ('a', stderr); if (fulltbl) putc ('f', stderr); if (fullspd) putc ('F', stderr); if (useecs) putc ('e', stderr); if (usemecs) putc ('m', stderr); if (use_read) putc ('r', stderr); if (did_outfilename) fprintf (stderr, " -o%s", outfilename); if (skelname) fprintf (stderr, " -S%s", skelname); if (strcmp (prefix, "yy")) fprintf (stderr, " -P%s", prefix); putc ('\n', stderr); fprintf (stderr, _(" %d/%d NFA states\n"), lastnfa, current_mns); fprintf (stderr, _(" %d/%d DFA states (%d words)\n"), lastdfa, current_max_dfas, totnst); fprintf (stderr, _(" %d rules\n"), num_rules + num_eof_rules - 1 /* - 1 for def. rule */ ); if (num_backing_up == 0) fprintf (stderr, _(" No backing up\n")); else if (fullspd || fulltbl) fprintf (stderr, _ (" %d backing-up (non-accepting) states\n"), num_backing_up); else fprintf (stderr, _ (" Compressed tables always back-up\n")); if (bol_needed) fprintf (stderr, _(" Beginning-of-line patterns used\n")); fprintf (stderr, _(" %d/%d start conditions\n"), lastsc, current_max_scs); fprintf (stderr, _ (" %d epsilon states, %d double epsilon states\n"), numeps, eps2); if (lastccl == 0) fprintf (stderr, _(" no character classes\n")); else fprintf (stderr, _ (" %d/%d character classes needed %d/%d words of storage, %d reused\n"), lastccl, current_maxccls, cclmap[lastccl] + ccllen[lastccl], current_max_ccl_tbl_size, cclreuse); fprintf (stderr, _(" %d state/nextstate pairs created\n"), numsnpairs); fprintf (stderr, _(" %d/%d unique/duplicate transitions\n"), numuniq, numdup); if (fulltbl) { tblsiz = lastdfa * numecs; fprintf (stderr, _(" %d table entries\n"), tblsiz); } else { tblsiz = 2 * (lastdfa + numtemps) + 2 * tblend; fprintf (stderr, _(" %d/%d base-def entries created\n"), lastdfa + numtemps, current_max_dfas); fprintf (stderr, _ (" %d/%d (peak %d) nxt-chk entries created\n"), tblend, current_max_xpairs, peakpairs); fprintf (stderr, _ (" %d/%d (peak %d) template nxt-chk entries created\n"), numtemps * nummecs, current_max_template_xpairs, numtemps * numecs); fprintf (stderr, _(" %d empty table entries\n"), nummt); fprintf (stderr, _(" %d protos created\n"), numprots); fprintf (stderr, _(" %d templates created, %d uses\n"), numtemps, tmpuses); } if (useecs) { tblsiz = tblsiz + csize; fprintf (stderr, _ (" %d/%d equivalence classes created\n"), numecs, csize); } if (usemecs) { tblsiz = tblsiz + numecs; fprintf (stderr, _ (" %d/%d meta-equivalence classes created\n"), nummecs, csize); } fprintf (stderr, _ (" %d (%d saved) hash collisions, %d DFAs equal\n"), hshcol, hshsave, dfaeql); fprintf (stderr, _(" %d sets of reallocations needed\n"), num_reallocs); fprintf (stderr, _(" %d total table entries needed\n"), tblsiz); } FLEX_EXIT (exit_status); } /* flexinit - initialize flex */ void flexinit (argc, argv) int argc; char **argv; { int i, sawcmpflag, rv, optind; char *arg; scanopt_t sopt; printstats = syntaxerror = trace = spprdflt = false; lex_compat = posix_compat = C_plus_plus = backing_up_report = ddebug = fulltbl = false; fullspd = long_align = nowarn = yymore_used = continued_action = false; do_yylineno = yytext_is_array = in_rule = reject = do_stdinit = false; yymore_really_used = reject_really_used = unspecified; interactive = csize = unspecified; do_yywrap = gen_line_dirs = usemecs = useecs = true; reentrant = bison_bridge_lval = bison_bridge_lloc = false; performance_report = 0; did_outfilename = 0; prefix = "yy"; yyclass = 0; use_read = use_stdout = false; tablesext = tablesverify = false; gentables = true; tablesfilename = tablesname = NULL; ansi_func_defs = ansi_func_protos = true; sawcmpflag = false; /* Initialize dynamic array for holding the rule actions. */ action_size = 2048; /* default size of action array in bytes */ action_array = allocate_character_array (action_size); defs1_offset = prolog_offset = action_offset = action_index = 0; action_array[0] = '\0'; /* Initialize any buffers. */ buf_init (&userdef_buf, sizeof (char)); /* one long string */ buf_init (&defs_buf, sizeof (char *)); /* list of strings */ buf_init (&yydmap_buf, sizeof (char)); /* one long string */ buf_init (&top_buf, sizeof (char)); /* one long string */ { const char * m4defs_init_str[] = {"m4_changequote\n", "m4_changequote([[, ]])\n"}; buf_init (&m4defs_buf, sizeof (char *)); buf_append (&m4defs_buf, &m4defs_init_str, 2); } sf_init (); /* initialize regex lib */ flex_init_regex(); /* Enable C++ if program name ends with '+'. */ program_name = basename2 (argv[0], 0); if (program_name[0] != '\0' && program_name[strlen (program_name) - 1] == '+') C_plus_plus = true; /* read flags */ sopt = scanopt_init (flexopts, argc, argv, 0); if (!sopt) { /* This will only happen when flexopts array is altered. */ fprintf (stderr, _("Internal error. flexopts are malformed.\n")); FLEX_EXIT (1); } while ((rv = scanopt (sopt, &arg, &optind)) != 0) { if (rv < 0) { /* Scanopt has already printed an option-specific error message. */ fprintf (stderr, _ ("Try `%s --help' for more information.\n"), program_name); FLEX_EXIT (1); } switch ((enum flexopt_flag_t) rv) { case OPT_CPLUSPLUS: C_plus_plus = true; break; case OPT_BATCH: interactive = false; break; case OPT_BACKUP: backing_up_report = true; break; case OPT_DONOTHING: break; case OPT_COMPRESSION: if (!sawcmpflag) { useecs = false; usemecs = false; fulltbl = false; sawcmpflag = true; } for (i = 0; arg && arg[i] != '\0'; i++) switch (arg[i]) { case 'a': long_align = true; break; case 'e': useecs = true; break; case 'F': fullspd = true; break; case 'f': fulltbl = true; break; case 'm': usemecs = true; break; case 'r': use_read = true; break; default: lerrif (_ ("unknown -C option '%c'"), (int) arg[i]); break; } break; case OPT_DEBUG: ddebug = true; break; case OPT_NO_DEBUG: ddebug = false; break; case OPT_FULL: useecs = usemecs = false; use_read = fulltbl = true; break; case OPT_FAST: useecs = usemecs = false; use_read = fullspd = true; break; case OPT_HELP: usage (); FLEX_EXIT (0); case OPT_INTERACTIVE: interactive = true; break; case OPT_CASE_INSENSITIVE: sf_set_case_ins(true); break; case OPT_LEX_COMPAT: lex_compat = true; break; case OPT_POSIX_COMPAT: posix_compat = true; break; case OPT_PREPROC_LEVEL: preproc_level = strtol(arg,NULL,0); break; case OPT_MAIN: buf_strdefine (&userdef_buf, "YY_MAIN", "1"); do_yywrap = false; break; case OPT_NO_MAIN: buf_strdefine (&userdef_buf, "YY_MAIN", "0"); break; case OPT_NO_LINE: gen_line_dirs = false; break; case OPT_OUTFILE: outfilename = arg; did_outfilename = 1; break; case OPT_PREFIX: prefix = arg; break; case OPT_PERF_REPORT: ++performance_report; break; case OPT_BISON_BRIDGE: bison_bridge_lval = true; break; case OPT_BISON_BRIDGE_LOCATIONS: bison_bridge_lval = bison_bridge_lloc = true; break; case OPT_REENTRANT: reentrant = true; break; case OPT_NO_REENTRANT: reentrant = false; break; case OPT_SKEL: skelname = arg; break; case OPT_DEFAULT: spprdflt = false; break; case OPT_NO_DEFAULT: spprdflt = true; break; case OPT_STDOUT: use_stdout = true; break; case OPT_NO_UNISTD_H: //buf_strdefine (&userdef_buf, "YY_NO_UNISTD_H", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_UNISTD_H",0); break; case OPT_TABLES_FILE: tablesext = true; tablesfilename = arg; break; case OPT_TABLES_VERIFY: tablesverify = true; break; case OPT_TRACE: trace = true; break; case OPT_VERBOSE: printstats = true; break; case OPT_VERSION: printf (_("%s %s\n"), program_name, flex_version); FLEX_EXIT (0); case OPT_WARN: nowarn = false; break; case OPT_NO_WARN: nowarn = true; break; case OPT_7BIT: csize = 128; break; case OPT_8BIT: csize = CSIZE; break; case OPT_ALIGN: long_align = true; break; case OPT_NO_ALIGN: long_align = false; break; case OPT_ALWAYS_INTERACTIVE: buf_m4_define (&m4defs_buf, "M4_YY_ALWAYS_INTERACTIVE", 0); break; case OPT_NEVER_INTERACTIVE: buf_m4_define( &m4defs_buf, "M4_YY_NEVER_INTERACTIVE", 0); break; case OPT_ARRAY: yytext_is_array = true; break; case OPT_POINTER: yytext_is_array = false; break; case OPT_ECS: useecs = true; break; case OPT_NO_ECS: useecs = false; break; case OPT_HEADER_FILE: headerfilename = arg; break; case OPT_META_ECS: usemecs = true; break; case OPT_NO_META_ECS: usemecs = false; break; case OPT_PREPROCDEFINE: { /* arg is "symbol" or "symbol=definition". */ char *def; for (def = arg; *def != '\0' && *def != '='; ++def) ; buf_strappend (&userdef_buf, "#define "); if (*def == '\0') { buf_strappend (&userdef_buf, arg); buf_strappend (&userdef_buf, " 1\n"); } else { buf_strnappend (&userdef_buf, arg, def - arg); buf_strappend (&userdef_buf, " "); buf_strappend (&userdef_buf, def + 1); buf_strappend (&userdef_buf, "\n"); } } break; case OPT_READ: use_read = true; break; case OPT_STACK: //buf_strdefine (&userdef_buf, "YY_STACK_USED", "1"); buf_m4_define( &m4defs_buf, "M4_YY_STACK_USED",0); break; case OPT_STDINIT: do_stdinit = true; break; case OPT_NO_STDINIT: do_stdinit = false; break; case OPT_YYCLASS: yyclass = arg; break; case OPT_YYLINENO: do_yylineno = true; break; case OPT_NO_YYLINENO: do_yylineno = false; break; case OPT_YYWRAP: do_yywrap = true; break; case OPT_NO_YYWRAP: do_yywrap = false; break; case OPT_YYMORE: yymore_really_used = true; break; case OPT_NO_YYMORE: yymore_really_used = false; break; case OPT_REJECT: reject_really_used = true; break; case OPT_NO_REJECT: reject_really_used = false; break; case OPT_NO_ANSI_FUNC_DEFS: ansi_func_defs = false; break; case OPT_NO_ANSI_FUNC_PROTOS: ansi_func_protos = false; break; case OPT_NO_YY_PUSH_STATE: //buf_strdefine (&userdef_buf, "YY_NO_PUSH_STATE", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_PUSH_STATE",0); break; case OPT_NO_YY_POP_STATE: //buf_strdefine (&userdef_buf, "YY_NO_POP_STATE", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_POP_STATE",0); break; case OPT_NO_YY_TOP_STATE: //buf_strdefine (&userdef_buf, "YY_NO_TOP_STATE", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_TOP_STATE",0); break; case OPT_NO_UNPUT: //buf_strdefine (&userdef_buf, "YY_NO_UNPUT", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_UNPUT",0); break; case OPT_NO_YY_SCAN_BUFFER: //buf_strdefine (&userdef_buf, "YY_NO_SCAN_BUFFER", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SCAN_BUFFER",0); break; case OPT_NO_YY_SCAN_BYTES: //buf_strdefine (&userdef_buf, "YY_NO_SCAN_BYTES", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SCAN_BYTES",0); break; case OPT_NO_YY_SCAN_STRING: //buf_strdefine (&userdef_buf, "YY_NO_SCAN_STRING", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SCAN_STRING",0); break; case OPT_NO_YYGET_EXTRA: //buf_strdefine (&userdef_buf, "YY_NO_GET_EXTRA", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_EXTRA",0); break; case OPT_NO_YYSET_EXTRA: //buf_strdefine (&userdef_buf, "YY_NO_SET_EXTRA", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_EXTRA",0); break; case OPT_NO_YYGET_LENG: //buf_strdefine (&userdef_buf, "YY_NO_GET_LENG", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LENG",0); break; case OPT_NO_YYGET_TEXT: //buf_strdefine (&userdef_buf, "YY_NO_GET_TEXT", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_TEXT",0); break; case OPT_NO_YYGET_LINENO: //buf_strdefine (&userdef_buf, "YY_NO_GET_LINENO", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LINENO",0); break; case OPT_NO_YYSET_LINENO: //buf_strdefine (&userdef_buf, "YY_NO_SET_LINENO", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LINENO",0); break; case OPT_NO_YYGET_IN: //buf_strdefine (&userdef_buf, "YY_NO_GET_IN", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_IN",0); break; case OPT_NO_YYSET_IN: //buf_strdefine (&userdef_buf, "YY_NO_SET_IN", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_IN",0); break; case OPT_NO_YYGET_OUT: //buf_strdefine (&userdef_buf, "YY_NO_GET_OUT", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_OUT",0); break; case OPT_NO_YYSET_OUT: //buf_strdefine (&userdef_buf, "YY_NO_SET_OUT", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_OUT",0); break; case OPT_NO_YYGET_LVAL: //buf_strdefine (&userdef_buf, "YY_NO_GET_LVAL", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LVAL",0); break; case OPT_NO_YYSET_LVAL: //buf_strdefine (&userdef_buf, "YY_NO_SET_LVAL", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LVAL",0); break; case OPT_NO_YYGET_LLOC: //buf_strdefine (&userdef_buf, "YY_NO_GET_LLOC", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LLOC",0); break; case OPT_NO_YYSET_LLOC: //buf_strdefine (&userdef_buf, "YY_NO_SET_LLOC", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LLOC",0); break; } /* switch */ } /* while scanopt() */ scanopt_destroy (sopt); num_input_files = argc - optind; input_files = argv + optind; set_input_file (num_input_files > 0 ? input_files[0] : NULL); lastccl = lastsc = lastdfa = lastnfa = 0; num_rules = num_eof_rules = default_rule = 0; numas = numsnpairs = tmpuses = 0; numecs = numeps = eps2 = num_reallocs = hshcol = dfaeql = totnst = 0; numuniq = numdup = hshsave = eofseen = datapos = dataline = 0; num_backing_up = onesp = numprots = 0; variable_trailing_context_rules = bol_needed = false; out_linenum = linenum = sectnum = 1; firstprot = NIL; /* Used in mkprot() so that the first proto goes in slot 1 * of the proto queue. */ lastprot = 1; set_up_initial_allocations (); } /* readin - read in the rules section of the input file(s) */ void readin () { static char yy_stdinit[] = "FILE *yyin = stdin, *yyout = stdout;"; static char yy_nostdinit[] = "FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;"; line_directive_out ((FILE *) 0, 1); if (yyparse ()) { pinpoint_message (_("fatal parse error")); flexend (1); } if (syntaxerror) flexend (1); /* If the user explicitly requested posix compatibility by specifing the * posix-compat option, then we check for conflicting options. However, if * the POSIXLY_CORRECT variable is set, then we quietly make flex as * posix-compatible as possible. This is the recommended behavior * according to the GNU Coding Standards. * * Note: The posix option was added to flex to provide the posix behavior * of the repeat operator in regular expressions, e.g., `ab{3}' */ if (posix_compat) { /* TODO: This is where we try to make flex behave according to * posiz, AND check for conflicting options. How far should we go * with this? Should we disable all the neat-o flex features? */ /* Update: Estes says no, since other flex features don't violate posix. */ } if (getenv ("POSIXLY_CORRECT")) { posix_compat = true; } if (backing_up_report) { backing_up_file = fopen (backing_name, "w"); if (backing_up_file == NULL) lerrsf (_ ("could not create backing-up info file %s"), backing_name); } else backing_up_file = NULL; if (yymore_really_used == true) yymore_used = true; else if (yymore_really_used == false) yymore_used = false; if (reject_really_used == true) reject = true; else if (reject_really_used == false) reject = false; if (performance_report > 0) { if (lex_compat) { fprintf (stderr, _ ("-l AT&T lex compatibility option entails a large performance penalty\n")); fprintf (stderr, _ (" and may be the actual source of other reported performance penalties\n")); } else if (do_yylineno) { fprintf (stderr, _ ("%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n")); } if (performance_report > 1) { if (interactive) fprintf (stderr, _ ("-I (interactive) entails a minor performance penalty\n")); if (yymore_used) fprintf (stderr, _ ("yymore() entails a minor performance penalty\n")); } if (reject) fprintf (stderr, _ ("REJECT entails a large performance penalty\n")); if (variable_trailing_context_rules) fprintf (stderr, _ ("Variable trailing context rules entail a large performance penalty\n")); } if (reject) real_reject = true; if (variable_trailing_context_rules) reject = true; if ((fulltbl || fullspd) && reject) { if (real_reject) flexerror (_ ("REJECT cannot be used with -f or -F")); else if (do_yylineno) flexerror (_ ("%option yylineno cannot be used with REJECT")); else flexerror (_ ("variable trailing context rules cannot be used with -f or -F")); } if (reject){ out_m4_define( "M4_YY_USES_REJECT", NULL); //outn ("\n#define YY_USES_REJECT"); } if (!do_yywrap) { if (!C_plus_plus) { outn ("\n#define yywrap(n) 1"); } outn ("#define YY_SKIP_YYWRAP"); } if (ddebug) outn ("\n#define FLEX_DEBUG"); OUT_BEGIN_CODE (); if (csize == 256) outn ("typedef unsigned char YY_CHAR;"); else outn ("typedef char YY_CHAR;"); OUT_END_CODE (); if (C_plus_plus) { outn ("#define yytext_ptr yytext"); if (interactive) outn ("#define YY_INTERACTIVE"); } else { OUT_BEGIN_CODE (); /* In reentrant scanner, stdinit is handled in flex.skl. */ if (do_stdinit) { if (reentrant){ outn ("#ifdef VMS"); outn ("#ifdef __VMS_POSIX"); outn ("#define YY_STDINIT"); outn ("#endif"); outn ("#else"); outn ("#define YY_STDINIT"); outn ("#endif"); } outn ("#ifdef VMS"); outn ("#ifndef __VMS_POSIX"); outn (yy_nostdinit); outn ("#else"); outn (yy_stdinit); outn ("#endif"); outn ("#else"); outn (yy_stdinit); outn ("#endif"); } else { if(!reentrant) outn (yy_nostdinit); } OUT_END_CODE (); } OUT_BEGIN_CODE (); if (fullspd) outn ("typedef yyconst struct yy_trans_info *yy_state_type;"); else if (!C_plus_plus) outn ("typedef int yy_state_type;"); OUT_END_CODE (); if (lex_compat) outn ("#define YY_FLEX_LEX_COMPAT"); if (!C_plus_plus && !reentrant) { outn ("extern int yylineno;"); OUT_BEGIN_CODE (); outn ("int yylineno = 1;"); OUT_END_CODE (); } if (C_plus_plus) { outn ("\n#include "); if (!do_yywrap) { outn("\nint yyFlexLexer::yywrap() { return 1; }"); } if (yyclass) { outn ("int yyFlexLexer::yylex()"); outn ("\t{"); outn ("\tLexerError( \"yyFlexLexer::yylex invoked but %option yyclass used\" );"); outn ("\treturn 0;"); outn ("\t}"); out_str ("\n#define YY_DECL int %s::yylex()\n", yyclass); } } else { /* Watch out: yytext_ptr is a variable when yytext is an array, * but it's a macro when yytext is a pointer. */ if (yytext_is_array) { if (!reentrant) outn ("extern char yytext[];\n"); } else { if (reentrant) { outn ("#define yytext_ptr yytext_r"); } else { outn ("extern char *yytext;"); outn ("#define yytext_ptr yytext"); } } if (yyclass) flexerror (_ ("%option yyclass only meaningful for C++ scanners")); } if (useecs) numecs = cre8ecs (nextecm, ecgroup, csize); else numecs = csize; /* Now map the equivalence class for NUL to its expected place. */ ecgroup[0] = ecgroup[csize]; NUL_ec = ABS (ecgroup[0]); if (useecs) ccl2ecl (); } /* set_up_initial_allocations - allocate memory for internal tables */ void set_up_initial_allocations () { maximum_mns = (long_align ? MAXIMUM_MNS_LONG : MAXIMUM_MNS); current_mns = INITIAL_MNS; firstst = allocate_integer_array (current_mns); lastst = allocate_integer_array (current_mns); finalst = allocate_integer_array (current_mns); transchar = allocate_integer_array (current_mns); trans1 = allocate_integer_array (current_mns); trans2 = allocate_integer_array (current_mns); accptnum = allocate_integer_array (current_mns); assoc_rule = allocate_integer_array (current_mns); state_type = allocate_integer_array (current_mns); current_max_rules = INITIAL_MAX_RULES; rule_type = allocate_integer_array (current_max_rules); rule_linenum = allocate_integer_array (current_max_rules); rule_useful = allocate_integer_array (current_max_rules); rule_has_nl = allocate_bool_array (current_max_rules); current_max_scs = INITIAL_MAX_SCS; scset = allocate_integer_array (current_max_scs); scbol = allocate_integer_array (current_max_scs); scxclu = allocate_integer_array (current_max_scs); sceof = allocate_integer_array (current_max_scs); scname = allocate_char_ptr_array (current_max_scs); current_maxccls = INITIAL_MAX_CCLS; cclmap = allocate_integer_array (current_maxccls); ccllen = allocate_integer_array (current_maxccls); cclng = allocate_integer_array (current_maxccls); ccl_has_nl = allocate_bool_array (current_maxccls); current_max_ccl_tbl_size = INITIAL_MAX_CCL_TBL_SIZE; ccltbl = allocate_Character_array (current_max_ccl_tbl_size); current_max_dfa_size = INITIAL_MAX_DFA_SIZE; current_max_xpairs = INITIAL_MAX_XPAIRS; nxt = allocate_integer_array (current_max_xpairs); chk = allocate_integer_array (current_max_xpairs); current_max_template_xpairs = INITIAL_MAX_TEMPLATE_XPAIRS; tnxt = allocate_integer_array (current_max_template_xpairs); current_max_dfas = INITIAL_MAX_DFAS; base = allocate_integer_array (current_max_dfas); def = allocate_integer_array (current_max_dfas); dfasiz = allocate_integer_array (current_max_dfas); accsiz = allocate_integer_array (current_max_dfas); dhash = allocate_integer_array (current_max_dfas); dss = allocate_int_ptr_array (current_max_dfas); dfaacc = allocate_dfaacc_union (current_max_dfas); nultrans = (int *) 0; } /* extracts basename from path, optionally stripping the extension "\.*" * (same concept as /bin/sh `basename`, but different handling of extension). */ static char *basename2 (path, strip_ext) char *path; int strip_ext; /* boolean */ { char *b, *e = 0; b = path; for (b = path; *path; path++) if (*path == '/') b = path + 1; else if (*path == '.') e = path; if (strip_ext && e && e > b) *e = '\0'; return b; } void usage () { FILE *f = stdout; if (!did_outfilename) { snprintf (outfile_path, sizeof(outfile_path), outfile_template, prefix, C_plus_plus ? "cc" : "c"); outfilename = outfile_path; } fprintf (f, _("Usage: %s [OPTIONS] [FILE]...\n"), program_name); fprintf (f, _ ("Generates programs that perform pattern-matching on text.\n" "\n" "Table Compression:\n" " -Ca, --align trade off larger tables for better memory alignment\n" " -Ce, --ecs construct equivalence classes\n" " -Cf do not compress tables; use -f representation\n" " -CF do not compress tables; use -F representation\n" " -Cm, --meta-ecs construct meta-equivalence classes\n" " -Cr, --read use read() instead of stdio for scanner input\n" " -f, --full generate fast, large scanner. Same as -Cfr\n" " -F, --fast use alternate table representation. Same as -CFr\n" " -Cem default compression (same as --ecs --meta-ecs)\n" "\n" "Debugging:\n" " -d, --debug enable debug mode in scanner\n" " -b, --backup write backing-up information to %s\n" " -p, --perf-report write performance report to stderr\n" " -s, --nodefault suppress default rule to ECHO unmatched text\n" " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" " -t, --stdout write scanner on stdout instead of %s\n" " --yyclass=NAME name of C++ class\n" " --header-file=FILE create a C header file in addition to the scanner\n" " --tables-file[=FILE] write tables to FILE\n" "\n" "Scanner behavior:\n" " -7, --7bit generate 7-bit scanner\n" " -8, --8bit generate 8-bit scanner\n" " -B, --batch generate batch scanner (opposite of -I)\n" " -i, --case-insensitive ignore case in patterns\n" " -l, --lex-compat maximal compatibility with original lex\n" " -X, --posix-compat maximal compatibility with POSIX lex\n" " -I, --interactive generate interactive scanner (opposite of -B)\n" " --yylineno track line count in yylineno\n" "\n" "Generated code:\n" " -+, --c++ generate C++ scanner class\n" " -Dmacro[=defn] #define macro defn (default defn is '1')\n" " -L, --noline suppress #line directives in scanner\n" " -P, --prefix=STRING use STRING as prefix instead of \"yy\"\n" " -R, --reentrant generate a reentrant C scanner\n" " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" " --noansi-definitions old-style function definitions\n" " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" " -c do-nothing POSIX option\n" " -n do-nothing POSIX option\n" " -?\n" " -h, --help produce this help message\n" " -V, --version report %s version\n"), backing_name, program_name, outfile_path, program_name); } flex-2.5.35/misc.c0000664000175000017500000005432610410243745010600 00000000000000/* misc - miscellaneous flex routines */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "tables.h" #define CMD_IF_TABLES_SER "%if-tables-serialization" #define CMD_TABLES_YYDMAP "%tables-yydmap" #define CMD_DEFINE_YYTABLES "%define-yytables" #define CMD_IF_CPP_ONLY "%if-c++-only" #define CMD_IF_C_ONLY "%if-c-only" #define CMD_IF_C_OR_CPP "%if-c-or-c++" #define CMD_NOT_FOR_HEADER "%not-for-header" #define CMD_OK_FOR_HEADER "%ok-for-header" #define CMD_PUSH "%push" #define CMD_POP "%pop" #define CMD_IF_REENTRANT "%if-reentrant" #define CMD_IF_NOT_REENTRANT "%if-not-reentrant" #define CMD_IF_BISON_BRIDGE "%if-bison-bridge" #define CMD_IF_NOT_BISON_BRIDGE "%if-not-bison-bridge" #define CMD_ENDIF "%endif" /* we allow the skeleton to push and pop. */ struct sko_state { bool dc; /**< do_copy */ }; static struct sko_state *sko_stack=0; static int sko_len=0,sko_sz=0; static void sko_push(bool dc) { if(!sko_stack){ sko_sz = 1; sko_stack = (struct sko_state*)flex_alloc(sizeof(struct sko_state)*sko_sz); sko_len = 0; } if(sko_len >= sko_sz){ sko_sz *= 2; sko_stack = (struct sko_state*)flex_realloc(sko_stack,sizeof(struct sko_state)*sko_sz); } /* initialize to zero and push */ sko_stack[sko_len].dc = dc; sko_len++; } static void sko_peek(bool *dc) { if(sko_len <= 0) flex_die("peek attempt when sko stack is empty"); if(dc) *dc = sko_stack[sko_len-1].dc; } static void sko_pop(bool* dc) { sko_peek(dc); sko_len--; if(sko_len < 0) flex_die("popped too many times in skeleton."); } /* Append "#define defname value\n" to the running buffer. */ void action_define (defname, value) const char *defname; int value; { char buf[MAXLINE]; char *cpy; if ((int) strlen (defname) > MAXLINE / 2) { format_pinpoint_message (_ ("name \"%s\" ridiculously long"), defname); return; } snprintf (buf, sizeof(buf), "#define %s %d\n", defname, value); add_action (buf); /* track #defines so we can undef them when we're done. */ cpy = copy_string (defname); buf_append (&defs_buf, &cpy, 1); } /** Append "m4_define([[defname]],[[value]])m4_dnl\n" to the running buffer. * @param defname The macro name. * @param value The macro value, can be NULL, which is the same as the empty string. */ void action_m4_define (const char *defname, const char * value) { char buf[MAXLINE]; flexfatal ("DO NOT USE THIS FUNCTION!"); if ((int) strlen (defname) > MAXLINE / 2) { format_pinpoint_message (_ ("name \"%s\" ridiculously long"), defname); return; } snprintf (buf, sizeof(buf), "m4_define([[%s]],[[%s]])m4_dnl\n", defname, value?value:""); add_action (buf); } /* Append "new_text" to the running buffer. */ void add_action (new_text) const char *new_text; { int len = strlen (new_text); while (len + action_index >= action_size - 10 /* slop */ ) { int new_size = action_size * 2; if (new_size <= 0) /* Increase just a little, to try to avoid overflow * on 16-bit machines. */ action_size += action_size / 8; else action_size = new_size; action_array = reallocate_character_array (action_array, action_size); } strcpy (&action_array[action_index], new_text); action_index += len; } /* allocate_array - allocate memory for an integer array of the given size */ void *allocate_array (size, element_size) int size; size_t element_size; { register void *mem; size_t num_bytes = element_size * size; mem = flex_alloc (num_bytes); if (!mem) flexfatal (_ ("memory allocation failed in allocate_array()")); return mem; } /* all_lower - true if a string is all lower-case */ int all_lower (str) register char *str; { while (*str) { if (!isascii ((Char) * str) || !islower (*str)) return 0; ++str; } return 1; } /* all_upper - true if a string is all upper-case */ int all_upper (str) register char *str; { while (*str) { if (!isascii ((Char) * str) || !isupper (*str)) return 0; ++str; } return 1; } /* bubble - bubble sort an integer array in increasing order * * synopsis * int v[n], n; * void bubble( v, n ); * * description * sorts the first n elements of array v and replaces them in * increasing order. * * passed * v - the array to be sorted * n - the number of elements of 'v' to be sorted */ void bubble (v, n) int v[], n; { register int i, j, k; for (i = n; i > 1; --i) for (j = 1; j < i; ++j) if (v[j] > v[j + 1]) { /* compare */ k = v[j]; /* exchange */ v[j] = v[j + 1]; v[j + 1] = k; } } /* check_char - checks a character to make sure it's within the range * we're expecting. If not, generates fatal error message * and exits. */ void check_char (c) int c; { if (c >= CSIZE) lerrsf (_("bad character '%s' detected in check_char()"), readable_form (c)); if (c >= csize) lerrsf (_ ("scanner requires -8 flag to use the character %s"), readable_form (c)); } /* clower - replace upper-case letter to lower-case */ Char clower (c) register int c; { return (Char) ((isascii (c) && isupper (c)) ? tolower (c) : c); } /* copy_string - returns a dynamically allocated copy of a string */ char *copy_string (str) register const char *str; { register const char *c1; register char *c2; char *copy; unsigned int size; /* find length */ for (c1 = str; *c1; ++c1) ; size = (c1 - str + 1) * sizeof (char); copy = (char *) flex_alloc (size); if (copy == NULL) flexfatal (_("dynamic memory failure in copy_string()")); for (c2 = copy; (*c2++ = *str++) != 0;) ; return copy; } /* copy_unsigned_string - * returns a dynamically allocated copy of a (potentially) unsigned string */ Char *copy_unsigned_string (str) register Char *str; { register Char *c; Char *copy; /* find length */ for (c = str; *c; ++c) ; copy = allocate_Character_array (c - str + 1); for (c = copy; (*c++ = *str++) != 0;) ; return copy; } /* cshell - shell sort a character array in increasing order * * synopsis * * Char v[n]; * int n, special_case_0; * cshell( v, n, special_case_0 ); * * description * Does a shell sort of the first n elements of array v. * If special_case_0 is true, then any element equal to 0 * is instead assumed to have infinite weight. * * passed * v - array to be sorted * n - number of elements of v to be sorted */ void cshell (v, n, special_case_0) Char v[]; int n, special_case_0; { int gap, i, j, jg; Char k; for (gap = n / 2; gap > 0; gap = gap / 2) for (i = gap; i < n; ++i) for (j = i - gap; j >= 0; j = j - gap) { jg = j + gap; if (special_case_0) { if (v[jg] == 0) break; else if (v[j] != 0 && v[j] <= v[jg]) break; } else if (v[j] <= v[jg]) break; k = v[j]; v[j] = v[jg]; v[jg] = k; } } /* dataend - finish up a block of data declarations */ void dataend () { /* short circuit any output */ if (gentables) { if (datapos > 0) dataflush (); /* add terminator for initialization; { for vi */ outn (" } ;\n"); } dataline = 0; datapos = 0; } /* dataflush - flush generated data statements */ void dataflush () { /* short circuit any output */ if (!gentables) return; outc ('\n'); if (++dataline >= NUMDATALINES) { /* Put out a blank line so that the table is grouped into * large blocks that enable the user to find elements easily. */ outc ('\n'); dataline = 0; } /* Reset the number of characters written on the current line. */ datapos = 0; } /* flexerror - report an error message and terminate */ void flexerror (msg) const char *msg; { fprintf (stderr, "%s: %s\n", program_name, msg); flexend (1); } /* flexfatal - report a fatal error message and terminate */ void flexfatal (msg) const char *msg; { fprintf (stderr, _("%s: fatal internal error, %s\n"), program_name, msg); FLEX_EXIT (1); } /* htoi - convert a hexadecimal digit string to an integer value */ int htoi (str) Char str[]; { unsigned int result; (void) sscanf ((char *) str, "%x", &result); return result; } /* lerrif - report an error message formatted with one integer argument */ void lerrif (msg, arg) const char *msg; int arg; { char errmsg[MAXLINE]; snprintf (errmsg, sizeof(errmsg), msg, arg); flexerror (errmsg); } /* lerrsf - report an error message formatted with one string argument */ void lerrsf (msg, arg) const char *msg, arg[]; { char errmsg[MAXLINE]; snprintf (errmsg, sizeof(errmsg), msg, arg); flexerror (errmsg); } /* line_directive_out - spit out a "#line" statement */ void line_directive_out (output_file, do_infile) FILE *output_file; int do_infile; { char directive[MAXLINE], filename[MAXLINE]; char *s1, *s2, *s3; static const char *line_fmt = "#line %d \"%s\"\n"; if (!gen_line_dirs) return; s1 = do_infile ? infilename : "M4_YY_OUTFILE_NAME"; if (do_infile && !s1) s1 = ""; s2 = filename; s3 = &filename[sizeof (filename) - 2]; while (s2 < s3 && *s1) { if (*s1 == '\\') /* Escape the '\' */ *s2++ = '\\'; *s2++ = *s1++; } *s2 = '\0'; if (do_infile) snprintf (directive, sizeof(directive), line_fmt, linenum, filename); else { if (output_file == stdout) /* Account for the line directive itself. */ ++out_linenum; snprintf (directive, sizeof(directive), line_fmt, out_linenum, filename); } /* If output_file is nil then we should put the directive in * the accumulated actions. */ if (output_file) { fputs (directive, output_file); } else add_action (directive); } /* mark_defs1 - mark the current position in the action array as * representing where the user's section 1 definitions end * and the prolog begins */ void mark_defs1 () { defs1_offset = 0; action_array[action_index++] = '\0'; action_offset = prolog_offset = action_index; action_array[action_index] = '\0'; } /* mark_prolog - mark the current position in the action array as * representing the end of the action prolog */ void mark_prolog () { action_array[action_index++] = '\0'; action_offset = action_index; action_array[action_index] = '\0'; } /* mk2data - generate a data statement for a two-dimensional array * * Generates a data statement initializing the current 2-D array to "value". */ void mk2data (value) int value; { /* short circuit any output */ if (!gentables) return; if (datapos >= NUMDATAITEMS) { outc (','); dataflush (); } if (datapos == 0) /* Indent. */ out (" "); else outc (','); ++datapos; out_dec ("%5d", value); } /* mkdata - generate a data statement * * Generates a data statement initializing the current array element to * "value". */ void mkdata (value) int value; { /* short circuit any output */ if (!gentables) return; if (datapos >= NUMDATAITEMS) { outc (','); dataflush (); } if (datapos == 0) /* Indent. */ out (" "); else outc (','); ++datapos; out_dec ("%5d", value); } /* myctoi - return the integer represented by a string of digits */ int myctoi (array) const char *array; { int val = 0; (void) sscanf (array, "%d", &val); return val; } /* myesc - return character corresponding to escape sequence */ Char myesc (array) Char array[]; { Char c, esc_char; switch (array[1]) { case 'b': return '\b'; case 'f': return '\f'; case 'n': return '\n'; case 'r': return '\r'; case 't': return '\t'; #if defined (__STDC__) case 'a': return '\a'; case 'v': return '\v'; #else case 'a': return '\007'; case 'v': return '\013'; #endif case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': { /* \ */ int sptr = 1; while (isascii (array[sptr]) && isdigit (array[sptr])) /* Don't increment inside loop control * because if isdigit() is a macro it might * expand into multiple increments ... */ ++sptr; c = array[sptr]; array[sptr] = '\0'; esc_char = otoi (array + 1); array[sptr] = c; return esc_char; } case 'x': { /* \x */ int sptr = 2; while (isascii (array[sptr]) && isxdigit ((char) array[sptr])) /* Don't increment inside loop control * because if isdigit() is a macro it might * expand into multiple increments ... */ ++sptr; c = array[sptr]; array[sptr] = '\0'; esc_char = htoi (array + 2); array[sptr] = c; return esc_char; } default: return array[1]; } } /* otoi - convert an octal digit string to an integer value */ int otoi (str) Char str[]; { unsigned int result; (void) sscanf ((char *) str, "%o", &result); return result; } /* out - various flavors of outputing a (possibly formatted) string for the * generated scanner, keeping track of the line count. */ void out (str) const char *str; { fputs (str, stdout); out_line_count (str); } void out_dec (fmt, n) const char *fmt; int n; { fprintf (stdout, fmt, n); out_line_count (fmt); } void out_dec2 (fmt, n1, n2) const char *fmt; int n1, n2; { fprintf (stdout, fmt, n1, n2); out_line_count (fmt); } void out_hex (fmt, x) const char *fmt; unsigned int x; { fprintf (stdout, fmt, x); out_line_count (fmt); } void out_line_count (str) const char *str; { register int i; for (i = 0; str[i]; ++i) if (str[i] == '\n') ++out_linenum; } void out_str (fmt, str) const char *fmt, str[]; { fprintf (stdout,fmt, str); out_line_count (fmt); out_line_count (str); } void out_str3 (fmt, s1, s2, s3) const char *fmt, s1[], s2[], s3[]; { fprintf (stdout,fmt, s1, s2, s3); out_line_count (fmt); out_line_count (s1); out_line_count (s2); out_line_count (s3); } void out_str_dec (fmt, str, n) const char *fmt, str[]; int n; { fprintf (stdout,fmt, str, n); out_line_count (fmt); out_line_count (str); } void outc (c) int c; { fputc (c, stdout); if (c == '\n') ++out_linenum; } void outn (str) const char *str; { fputs (str,stdout); fputc('\n',stdout); out_line_count (str); ++out_linenum; } /** Print "m4_define( [[def]], [[val]])m4_dnl\n". * @param def The m4 symbol to define. * @param val The definition; may be NULL. * @return buf */ void out_m4_define (const char* def, const char* val) { const char * fmt = "m4_define( [[%s]], [[%s]])m4_dnl\n"; fprintf(stdout, fmt, def, val?val:""); } /* readable_form - return the the human-readable form of a character * * The returned string is in static storage. */ char *readable_form (c) register int c; { static char rform[10]; if ((c >= 0 && c < 32) || c >= 127) { switch (c) { case '\b': return "\\b"; case '\f': return "\\f"; case '\n': return "\\n"; case '\r': return "\\r"; case '\t': return "\\t"; #if defined (__STDC__) case '\a': return "\\a"; case '\v': return "\\v"; #endif default: snprintf (rform, sizeof(rform), "\\%.3o", (unsigned int) c); return rform; } } else if (c == ' ') return "' '"; else { rform[0] = c; rform[1] = '\0'; return rform; } } /* reallocate_array - increase the size of a dynamic array */ void *reallocate_array (array, size, element_size) void *array; int size; size_t element_size; { register void *new_array; size_t num_bytes = element_size * size; new_array = flex_realloc (array, num_bytes); if (!new_array) flexfatal (_("attempt to increase array size failed")); return new_array; } /* skelout - write out one section of the skeleton file * * Description * Copies skelfile or skel array to stdout until a line beginning with * "%%" or EOF is found. */ void skelout () { char buf_storage[MAXLINE]; char *buf = buf_storage; bool do_copy = true; /* "reset" the state by clearing the buffer and pushing a '1' */ if(sko_len > 0) sko_peek(&do_copy); sko_len = 0; sko_push(do_copy=true); /* Loop pulling lines either from the skelfile, if we're using * one, or from the skel[] array. */ while (skelfile ? (fgets (buf, MAXLINE, skelfile) != NULL) : ((buf = (char *) skel[skel_ind++]) != 0)) { if (skelfile) chomp (buf); /* copy from skel array */ if (buf[0] == '%') { /* control line */ /* print the control line as a comment. */ if (ddebug && buf[1] != '#') { if (buf[strlen (buf) - 1] == '\\') out_str ("/* %s */\\\n", buf); else out_str ("/* %s */\n", buf); } /* We've been accused of using cryptic markers in the skel. * So we'll use emacs-style-hyphenated-commands. * We might consider a hash if this if-else-if-else * chain gets too large. */ #define cmd_match(s) (strncmp(buf,(s),strlen(s))==0) if (buf[1] == '%') { /* %% is a break point for skelout() */ return; } else if (cmd_match (CMD_PUSH)){ sko_push(do_copy); if(ddebug){ out_str("/*(state = (%s) */",do_copy?"true":"false"); } out_str("%s\n", buf[strlen (buf) - 1] =='\\' ? "\\" : ""); } else if (cmd_match (CMD_POP)){ sko_pop(&do_copy); if(ddebug){ out_str("/*(state = (%s) */",do_copy?"true":"false"); } out_str("%s\n", buf[strlen (buf) - 1] =='\\' ? "\\" : ""); } else if (cmd_match (CMD_IF_REENTRANT)){ sko_push(do_copy); do_copy = reentrant && do_copy; } else if (cmd_match (CMD_IF_NOT_REENTRANT)){ sko_push(do_copy); do_copy = !reentrant && do_copy; } else if (cmd_match(CMD_IF_BISON_BRIDGE)){ sko_push(do_copy); do_copy = bison_bridge_lval && do_copy; } else if (cmd_match(CMD_IF_NOT_BISON_BRIDGE)){ sko_push(do_copy); do_copy = !bison_bridge_lval && do_copy; } else if (cmd_match (CMD_ENDIF)){ sko_pop(&do_copy); } else if (cmd_match (CMD_IF_TABLES_SER)) { do_copy = do_copy && tablesext; } else if (cmd_match (CMD_TABLES_YYDMAP)) { if (tablesext && yydmap_buf.elts) outn ((char *) (yydmap_buf.elts)); } else if (cmd_match (CMD_DEFINE_YYTABLES)) { out_str("#define YYTABLES_NAME \"%s\"\n", tablesname?tablesname:"yytables"); } else if (cmd_match (CMD_IF_CPP_ONLY)) { /* only for C++ */ sko_push(do_copy); do_copy = C_plus_plus; } else if (cmd_match (CMD_IF_C_ONLY)) { /* %- only for C */ sko_push(do_copy); do_copy = !C_plus_plus; } else if (cmd_match (CMD_IF_C_OR_CPP)) { /* %* for C and C++ */ sko_push(do_copy); do_copy = true; } else if (cmd_match (CMD_NOT_FOR_HEADER)) { /* %c begin linkage-only (non-header) code. */ OUT_BEGIN_CODE (); } else if (cmd_match (CMD_OK_FOR_HEADER)) { /* %e end linkage-only code. */ OUT_END_CODE (); } else if (buf[1] == '#') { /* %# a comment in the skel. ignore. */ } else { flexfatal (_("bad line in skeleton file")); } } else if (do_copy) outn (buf); } /* end while */ } /* transition_struct_out - output a yy_trans_info structure * * outputs the yy_trans_info structure with the two elements, element_v and * element_n. Formats the output with spaces and carriage returns. */ void transition_struct_out (element_v, element_n) int element_v, element_n; { /* short circuit any output */ if (!gentables) return; out_dec2 (" {%4d,%4d },", element_v, element_n); datapos += TRANS_STRUCT_PRINT_LENGTH; if (datapos >= 79 - TRANS_STRUCT_PRINT_LENGTH) { outc ('\n'); if (++dataline % 10 == 0) outc ('\n'); datapos = 0; } } /* The following is only needed when building flex's parser using certain * broken versions of bison. */ void *yy_flex_xmalloc (size) int size; { void *result = flex_alloc ((size_t) size); if (!result) flexfatal (_ ("memory allocation failed in yy_flex_xmalloc()")); return result; } /* zero_out - set a region of memory to 0 * * Sets region_ptr[0] through region_ptr[size_in_bytes - 1] to zero. */ void zero_out (region_ptr, size_in_bytes) char *region_ptr; size_t size_in_bytes; { register char *rp, *rp_end; rp = region_ptr; rp_end = region_ptr + size_in_bytes; while (rp < rp_end) *rp++ = 0; } /* Remove all '\n' and '\r' characters, if any, from the end of str. * str can be any null-terminated string, or NULL. * returns str. */ char *chomp (str) char *str; { char *p = str; if (!str || !*str) /* s is null or empty string */ return str; /* find end of string minus one */ while (*p) ++p; --p; /* eat newlines */ while (p >= str && (*p == '\r' || *p == '\n')) *p-- = 0; return str; } flex-2.5.35/nfa.c0000664000175000017500000004274410410243745010412 00000000000000/* nfa - NFA construction routines */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" /* declare functions that have forward references */ int dupmachine PROTO ((int)); void mkxtion PROTO ((int, int)); /* add_accept - add an accepting state to a machine * * accepting_number becomes mach's accepting number. */ void add_accept (mach, accepting_number) int mach, accepting_number; { /* Hang the accepting number off an epsilon state. if it is associated * with a state that has a non-epsilon out-transition, then the state * will accept BEFORE it makes that transition, i.e., one character * too soon. */ if (transchar[finalst[mach]] == SYM_EPSILON) accptnum[finalst[mach]] = accepting_number; else { int astate = mkstate (SYM_EPSILON); accptnum[astate] = accepting_number; (void) link_machines (mach, astate); } } /* copysingl - make a given number of copies of a singleton machine * * synopsis * * newsng = copysingl( singl, num ); * * newsng - a new singleton composed of num copies of singl * singl - a singleton machine * num - the number of copies of singl to be present in newsng */ int copysingl (singl, num) int singl, num; { int copy, i; copy = mkstate (SYM_EPSILON); for (i = 1; i <= num; ++i) copy = link_machines (copy, dupmachine (singl)); return copy; } /* dumpnfa - debugging routine to write out an nfa */ void dumpnfa (state1) int state1; { int sym, tsp1, tsp2, anum, ns; fprintf (stderr, _ ("\n\n********** beginning dump of nfa with start state %d\n"), state1); /* We probably should loop starting at firstst[state1] and going to * lastst[state1], but they're not maintained properly when we "or" * all of the rules together. So we use our knowledge that the machine * starts at state 1 and ends at lastnfa. */ /* for ( ns = firstst[state1]; ns <= lastst[state1]; ++ns ) */ for (ns = 1; ns <= lastnfa; ++ns) { fprintf (stderr, _("state # %4d\t"), ns); sym = transchar[ns]; tsp1 = trans1[ns]; tsp2 = trans2[ns]; anum = accptnum[ns]; fprintf (stderr, "%3d: %4d, %4d", sym, tsp1, tsp2); if (anum != NIL) fprintf (stderr, " [%d]", anum); fprintf (stderr, "\n"); } fprintf (stderr, _("********** end of dump\n")); } /* dupmachine - make a duplicate of a given machine * * synopsis * * copy = dupmachine( mach ); * * copy - holds duplicate of mach * mach - machine to be duplicated * * note that the copy of mach is NOT an exact duplicate; rather, all the * transition states values are adjusted so that the copy is self-contained, * as the original should have been. * * also note that the original MUST be contiguous, with its low and high * states accessible by the arrays firstst and lastst */ int dupmachine (mach) int mach; { int i, init, state_offset; int state = 0; int last = lastst[mach]; for (i = firstst[mach]; i <= last; ++i) { state = mkstate (transchar[i]); if (trans1[i] != NO_TRANSITION) { mkxtion (finalst[state], trans1[i] + state - i); if (transchar[i] == SYM_EPSILON && trans2[i] != NO_TRANSITION) mkxtion (finalst[state], trans2[i] + state - i); } accptnum[state] = accptnum[i]; } if (state == 0) flexfatal (_("empty machine in dupmachine()")); state_offset = state - i + 1; init = mach + state_offset; firstst[init] = firstst[mach] + state_offset; finalst[init] = finalst[mach] + state_offset; lastst[init] = lastst[mach] + state_offset; return init; } /* finish_rule - finish up the processing for a rule * * An accepting number is added to the given machine. If variable_trail_rule * is true then the rule has trailing context and both the head and trail * are variable size. Otherwise if headcnt or trailcnt is non-zero then * the machine recognizes a pattern with trailing context and headcnt is * the number of characters in the matched part of the pattern, or zero * if the matched part has variable length. trailcnt is the number of * trailing context characters in the pattern, or zero if the trailing * context has variable length. */ void finish_rule (mach, variable_trail_rule, headcnt, trailcnt, pcont_act) int mach, variable_trail_rule, headcnt, trailcnt, pcont_act; { char action_text[MAXLINE]; add_accept (mach, num_rules); /* We did this in new_rule(), but it often gets the wrong * number because we do it before we start parsing the current rule. */ rule_linenum[num_rules] = linenum; /* If this is a continued action, then the line-number has already * been updated, giving us the wrong number. */ if (continued_action) --rule_linenum[num_rules]; /* If the previous rule was continued action, then we inherit the * previous newline flag, possibly overriding the current one. */ if (pcont_act && rule_has_nl[num_rules - 1]) rule_has_nl[num_rules] = true; snprintf (action_text, sizeof(action_text), "case %d:\n", num_rules); add_action (action_text); if (rule_has_nl[num_rules]) { snprintf (action_text, sizeof(action_text), "/* rule %d can match eol */\n", num_rules); add_action (action_text); } if (variable_trail_rule) { rule_type[num_rules] = RULE_VARIABLE; if (performance_report > 0) fprintf (stderr, _ ("Variable trailing context rule at line %d\n"), rule_linenum[num_rules]); variable_trailing_context_rules = true; } else { rule_type[num_rules] = RULE_NORMAL; if (headcnt > 0 || trailcnt > 0) { /* Do trailing context magic to not match the trailing * characters. */ char *scanner_cp = "YY_G(yy_c_buf_p) = yy_cp"; char *scanner_bp = "yy_bp"; add_action ("*yy_cp = YY_G(yy_hold_char); /* undo effects of setting up yytext */\n"); if (headcnt > 0) { snprintf (action_text, sizeof(action_text), "%s = %s + %d;\n", scanner_cp, scanner_bp, headcnt); add_action (action_text); } else { snprintf (action_text, sizeof(action_text), "%s -= %d;\n", scanner_cp, trailcnt); add_action (action_text); } add_action ("YY_DO_BEFORE_ACTION; /* set up yytext again */\n"); } } /* Okay, in the action code at this point yytext and yyleng have * their proper final values for this rule, so here's the point * to do any user action. But don't do it for continued actions, * as that'll result in multiple YY_RULE_SETUP's. */ if (!continued_action) add_action ("YY_RULE_SETUP\n"); line_directive_out ((FILE *) 0, 1); } /* link_machines - connect two machines together * * synopsis * * new = link_machines( first, last ); * * new - a machine constructed by connecting first to last * first - the machine whose successor is to be last * last - the machine whose predecessor is to be first * * note: this routine concatenates the machine first with the machine * last to produce a machine new which will pattern-match first first * and then last, and will fail if either of the sub-patterns fails. * FIRST is set to new by the operation. last is unmolested. */ int link_machines (first, last) int first, last; { if (first == NIL) return last; else if (last == NIL) return first; else { mkxtion (finalst[first], last); finalst[first] = finalst[last]; lastst[first] = MAX (lastst[first], lastst[last]); firstst[first] = MIN (firstst[first], firstst[last]); return first; } } /* mark_beginning_as_normal - mark each "beginning" state in a machine * as being a "normal" (i.e., not trailing context- * associated) states * * The "beginning" states are the epsilon closure of the first state */ void mark_beginning_as_normal (mach) register int mach; { switch (state_type[mach]) { case STATE_NORMAL: /* Oh, we've already visited here. */ return; case STATE_TRAILING_CONTEXT: state_type[mach] = STATE_NORMAL; if (transchar[mach] == SYM_EPSILON) { if (trans1[mach] != NO_TRANSITION) mark_beginning_as_normal (trans1[mach]); if (trans2[mach] != NO_TRANSITION) mark_beginning_as_normal (trans2[mach]); } break; default: flexerror (_ ("bad state type in mark_beginning_as_normal()")); break; } } /* mkbranch - make a machine that branches to two machines * * synopsis * * branch = mkbranch( first, second ); * * branch - a machine which matches either first's pattern or second's * first, second - machines whose patterns are to be or'ed (the | operator) * * Note that first and second are NEITHER destroyed by the operation. Also, * the resulting machine CANNOT be used with any other "mk" operation except * more mkbranch's. Compare with mkor() */ int mkbranch (first, second) int first, second; { int eps; if (first == NO_TRANSITION) return second; else if (second == NO_TRANSITION) return first; eps = mkstate (SYM_EPSILON); mkxtion (eps, first); mkxtion (eps, second); return eps; } /* mkclos - convert a machine into a closure * * synopsis * new = mkclos( state ); * * new - a new state which matches the closure of "state" */ int mkclos (state) int state; { return mkopt (mkposcl (state)); } /* mkopt - make a machine optional * * synopsis * * new = mkopt( mach ); * * new - a machine which optionally matches whatever mach matched * mach - the machine to make optional * * notes: * 1. mach must be the last machine created * 2. mach is destroyed by the call */ int mkopt (mach) int mach; { int eps; if (!SUPER_FREE_EPSILON (finalst[mach])) { eps = mkstate (SYM_EPSILON); mach = link_machines (mach, eps); } /* Can't skimp on the following if FREE_EPSILON(mach) is true because * some state interior to "mach" might point back to the beginning * for a closure. */ eps = mkstate (SYM_EPSILON); mach = link_machines (eps, mach); mkxtion (mach, finalst[mach]); return mach; } /* mkor - make a machine that matches either one of two machines * * synopsis * * new = mkor( first, second ); * * new - a machine which matches either first's pattern or second's * first, second - machines whose patterns are to be or'ed (the | operator) * * note that first and second are both destroyed by the operation * the code is rather convoluted because an attempt is made to minimize * the number of epsilon states needed */ int mkor (first, second) int first, second; { int eps, orend; if (first == NIL) return second; else if (second == NIL) return first; else { /* See comment in mkopt() about why we can't use the first * state of "first" or "second" if they satisfy "FREE_EPSILON". */ eps = mkstate (SYM_EPSILON); first = link_machines (eps, first); mkxtion (first, second); if (SUPER_FREE_EPSILON (finalst[first]) && accptnum[finalst[first]] == NIL) { orend = finalst[first]; mkxtion (finalst[second], orend); } else if (SUPER_FREE_EPSILON (finalst[second]) && accptnum[finalst[second]] == NIL) { orend = finalst[second]; mkxtion (finalst[first], orend); } else { eps = mkstate (SYM_EPSILON); first = link_machines (first, eps); orend = finalst[first]; mkxtion (finalst[second], orend); } } finalst[first] = orend; return first; } /* mkposcl - convert a machine into a positive closure * * synopsis * new = mkposcl( state ); * * new - a machine matching the positive closure of "state" */ int mkposcl (state) int state; { int eps; if (SUPER_FREE_EPSILON (finalst[state])) { mkxtion (finalst[state], state); return state; } else { eps = mkstate (SYM_EPSILON); mkxtion (eps, state); return link_machines (state, eps); } } /* mkrep - make a replicated machine * * synopsis * new = mkrep( mach, lb, ub ); * * new - a machine that matches whatever "mach" matched from "lb" * number of times to "ub" number of times * * note * if "ub" is INFINITE_REPEAT then "new" matches "lb" or more occurrences of "mach" */ int mkrep (mach, lb, ub) int mach, lb, ub; { int base_mach, tail, copy, i; base_mach = copysingl (mach, lb - 1); if (ub == INFINITE_REPEAT) { copy = dupmachine (mach); mach = link_machines (mach, link_machines (base_mach, mkclos (copy))); } else { tail = mkstate (SYM_EPSILON); for (i = lb; i < ub; ++i) { copy = dupmachine (mach); tail = mkopt (link_machines (copy, tail)); } mach = link_machines (mach, link_machines (base_mach, tail)); } return mach; } /* mkstate - create a state with a transition on a given symbol * * synopsis * * state = mkstate( sym ); * * state - a new state matching sym * sym - the symbol the new state is to have an out-transition on * * note that this routine makes new states in ascending order through the * state array (and increments LASTNFA accordingly). The routine DUPMACHINE * relies on machines being made in ascending order and that they are * CONTIGUOUS. Change it and you will have to rewrite DUPMACHINE (kludge * that it admittedly is) */ int mkstate (sym) int sym; { if (++lastnfa >= current_mns) { if ((current_mns += MNS_INCREMENT) >= maximum_mns) lerrif (_ ("input rules are too complicated (>= %d NFA states)"), current_mns); ++num_reallocs; firstst = reallocate_integer_array (firstst, current_mns); lastst = reallocate_integer_array (lastst, current_mns); finalst = reallocate_integer_array (finalst, current_mns); transchar = reallocate_integer_array (transchar, current_mns); trans1 = reallocate_integer_array (trans1, current_mns); trans2 = reallocate_integer_array (trans2, current_mns); accptnum = reallocate_integer_array (accptnum, current_mns); assoc_rule = reallocate_integer_array (assoc_rule, current_mns); state_type = reallocate_integer_array (state_type, current_mns); } firstst[lastnfa] = lastnfa; finalst[lastnfa] = lastnfa; lastst[lastnfa] = lastnfa; transchar[lastnfa] = sym; trans1[lastnfa] = NO_TRANSITION; trans2[lastnfa] = NO_TRANSITION; accptnum[lastnfa] = NIL; assoc_rule[lastnfa] = num_rules; state_type[lastnfa] = current_state_type; /* Fix up equivalence classes base on this transition. Note that any * character which has its own transition gets its own equivalence * class. Thus only characters which are only in character classes * have a chance at being in the same equivalence class. E.g. "a|b" * puts 'a' and 'b' into two different equivalence classes. "[ab]" * puts them in the same equivalence class (barring other differences * elsewhere in the input). */ if (sym < 0) { /* We don't have to update the equivalence classes since * that was already done when the ccl was created for the * first time. */ } else if (sym == SYM_EPSILON) ++numeps; else { check_char (sym); if (useecs) /* Map NUL's to csize. */ mkechar (sym ? sym : csize, nextecm, ecgroup); } return lastnfa; } /* mkxtion - make a transition from one state to another * * synopsis * * mkxtion( statefrom, stateto ); * * statefrom - the state from which the transition is to be made * stateto - the state to which the transition is to be made */ void mkxtion (statefrom, stateto) int statefrom, stateto; { if (trans1[statefrom] == NO_TRANSITION) trans1[statefrom] = stateto; else if ((transchar[statefrom] != SYM_EPSILON) || (trans2[statefrom] != NO_TRANSITION)) flexfatal (_("found too many transitions in mkxtion()")); else { /* second out-transition for an epsilon state */ ++eps2; trans2[statefrom] = stateto; } } /* new_rule - initialize for a new rule */ void new_rule () { if (++num_rules >= current_max_rules) { ++num_reallocs; current_max_rules += MAX_RULES_INCREMENT; rule_type = reallocate_integer_array (rule_type, current_max_rules); rule_linenum = reallocate_integer_array (rule_linenum, current_max_rules); rule_useful = reallocate_integer_array (rule_useful, current_max_rules); rule_has_nl = reallocate_bool_array (rule_has_nl, current_max_rules); } if (num_rules > MAX_RULE) lerrif (_("too many rules (> %d)!"), MAX_RULE); rule_linenum[num_rules] = linenum; rule_useful[num_rules] = false; rule_has_nl[num_rules] = false; } flex-2.5.35/parse.y0000664000175000017500000005627110755303617011015 00000000000000/* parse.y - parser for flex input */ %token CHAR NUMBER SECTEND SCDECL XSCDECL NAME PREVCCL EOF_OP %token OPTION_OP OPT_OUTFILE OPT_PREFIX OPT_YYCLASS OPT_HEADER OPT_EXTRA_TYPE %token OPT_TABLES %token CCE_ALNUM CCE_ALPHA CCE_BLANK CCE_CNTRL CCE_DIGIT CCE_GRAPH %token CCE_LOWER CCE_PRINT CCE_PUNCT CCE_SPACE CCE_UPPER CCE_XDIGIT %token CCE_NEG_ALNUM CCE_NEG_ALPHA CCE_NEG_BLANK CCE_NEG_CNTRL CCE_NEG_DIGIT CCE_NEG_GRAPH %token CCE_NEG_LOWER CCE_NEG_PRINT CCE_NEG_PUNCT CCE_NEG_SPACE CCE_NEG_UPPER CCE_NEG_XDIGIT %left CCL_OP_DIFF CCL_OP_UNION /* *POSIX and AT&T lex place the * precedence of the repeat operator, {}, below that of concatenation. * Thus, ab{3} is ababab. Most other POSIX utilities use an Extended * Regular Expression (ERE) precedence that has the repeat operator * higher than concatenation. This causes ab{3} to yield abbb. * * In order to support the POSIX and AT&T precedence and the flex * precedence we define two token sets for the begin and end tokens of * the repeat operator, '{' and '}'. The lexical scanner chooses * which tokens to return based on whether posix_compat or lex_compat * are specified. Specifying either posix_compat or lex_compat will * cause flex to parse scanner files as per the AT&T and * POSIX-mandated behavior. */ %token BEGIN_REPEAT_POSIX END_REPEAT_POSIX BEGIN_REPEAT_FLEX END_REPEAT_FLEX %{ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "tables.h" int pat, scnum, eps, headcnt, trailcnt, lastchar, i, rulelen; int trlcontxt, xcluflg, currccl, cclsorted, varlength, variable_trail_rule; int *scon_stk; int scon_stk_ptr; static int madeany = false; /* whether we've made the '.' character class */ static int ccldot, cclany; int previous_continued_action; /* whether the previous rule's action was '|' */ #define format_warn3(fmt, a1, a2) \ do{ \ char fw3_msg[MAXLINE];\ snprintf( fw3_msg, MAXLINE,(fmt), (a1), (a2) );\ warn( fw3_msg );\ }while(0) /* Expand a POSIX character class expression. */ #define CCL_EXPR(func) \ do{ \ int c; \ for ( c = 0; c < csize; ++c ) \ if ( isascii(c) && func(c) ) \ ccladd( currccl, c ); \ }while(0) /* negated class */ #define CCL_NEG_EXPR(func) \ do{ \ int c; \ for ( c = 0; c < csize; ++c ) \ if ( !func(c) ) \ ccladd( currccl, c ); \ }while(0) /* While POSIX defines isblank(), it's not ANSI C. */ #define IS_BLANK(c) ((c) == ' ' || (c) == '\t') /* On some over-ambitious machines, such as DEC Alpha's, the default * token type is "long" instead of "int"; this leads to problems with * declaring yylval in flexdef.h. But so far, all the yacc's I've seen * wrap their definitions of YYSTYPE with "#ifndef YYSTYPE"'s, so the * following should ensure that the default token type is "int". */ #define YYSTYPE int %} %% goal : initlex sect1 sect1end sect2 initforrule { /* add default rule */ int def_rule; pat = cclinit(); cclnegate( pat ); def_rule = mkstate( -pat ); /* Remember the number of the default rule so we * don't generate "can't match" warnings for it. */ default_rule = num_rules; finish_rule( def_rule, false, 0, 0, 0); for ( i = 1; i <= lastsc; ++i ) scset[i] = mkbranch( scset[i], def_rule ); if ( spprdflt ) add_action( "YY_FATAL_ERROR( \"flex scanner jammed\" )" ); else add_action( "ECHO" ); add_action( ";\n\tYY_BREAK\n" ); } ; initlex : { /* initialize for processing rules */ /* Create default DFA start condition. */ scinstal( "INITIAL", false ); } ; sect1 : sect1 startconddecl namelist1 | sect1 options | | error { synerr( _("unknown error processing section 1") ); } ; sect1end : SECTEND { check_options(); scon_stk = allocate_integer_array( lastsc + 1 ); scon_stk_ptr = 0; } ; startconddecl : SCDECL { xcluflg = false; } | XSCDECL { xcluflg = true; } ; namelist1 : namelist1 NAME { scinstal( nmstr, xcluflg ); } | NAME { scinstal( nmstr, xcluflg ); } | error { synerr( _("bad start condition list") ); } ; options : OPTION_OP optionlist ; optionlist : optionlist option | ; option : OPT_OUTFILE '=' NAME { outfilename = copy_string( nmstr ); did_outfilename = 1; } | OPT_EXTRA_TYPE '=' NAME { extra_type = copy_string( nmstr ); } | OPT_PREFIX '=' NAME { prefix = copy_string( nmstr ); } | OPT_YYCLASS '=' NAME { yyclass = copy_string( nmstr ); } | OPT_HEADER '=' NAME { headerfilename = copy_string( nmstr ); } | OPT_TABLES '=' NAME { tablesext = true; tablesfilename = copy_string( nmstr ); } ; sect2 : sect2 scon initforrule flexrule '\n' { scon_stk_ptr = $2; } | sect2 scon '{' sect2 '}' { scon_stk_ptr = $2; } | ; initforrule : { /* Initialize for a parse of one rule. */ trlcontxt = variable_trail_rule = varlength = false; trailcnt = headcnt = rulelen = 0; current_state_type = STATE_NORMAL; previous_continued_action = continued_action; in_rule = true; new_rule(); } ; flexrule : '^' rule { pat = $2; finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); if ( scon_stk_ptr > 0 ) { for ( i = 1; i <= scon_stk_ptr; ++i ) scbol[scon_stk[i]] = mkbranch( scbol[scon_stk[i]], pat ); } else { /* Add to all non-exclusive start conditions, * including the default (0) start condition. */ for ( i = 1; i <= lastsc; ++i ) if ( ! scxclu[i] ) scbol[i] = mkbranch( scbol[i], pat ); } if ( ! bol_needed ) { bol_needed = true; if ( performance_report > 1 ) pinpoint_message( "'^' operator results in sub-optimal performance" ); } } | rule { pat = $1; finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); if ( scon_stk_ptr > 0 ) { for ( i = 1; i <= scon_stk_ptr; ++i ) scset[scon_stk[i]] = mkbranch( scset[scon_stk[i]], pat ); } else { for ( i = 1; i <= lastsc; ++i ) if ( ! scxclu[i] ) scset[i] = mkbranch( scset[i], pat ); } } | EOF_OP { if ( scon_stk_ptr > 0 ) build_eof_action(); else { /* This EOF applies to all start conditions * which don't already have EOF actions. */ for ( i = 1; i <= lastsc; ++i ) if ( ! sceof[i] ) scon_stk[++scon_stk_ptr] = i; if ( scon_stk_ptr == 0 ) warn( "all start conditions already have <> rules" ); else build_eof_action(); } } | error { synerr( _("unrecognized rule") ); } ; scon_stk_ptr : { $$ = scon_stk_ptr; } ; scon : '<' scon_stk_ptr namelist2 '>' { $$ = $2; } | '<' '*' '>' { $$ = scon_stk_ptr; for ( i = 1; i <= lastsc; ++i ) { int j; for ( j = 1; j <= scon_stk_ptr; ++j ) if ( scon_stk[j] == i ) break; if ( j > scon_stk_ptr ) scon_stk[++scon_stk_ptr] = i; } } | { $$ = scon_stk_ptr; } ; namelist2 : namelist2 ',' sconname | sconname | error { synerr( _("bad start condition list") ); } ; sconname : NAME { if ( (scnum = sclookup( nmstr )) == 0 ) format_pinpoint_message( "undeclared start condition %s", nmstr ); else { for ( i = 1; i <= scon_stk_ptr; ++i ) if ( scon_stk[i] == scnum ) { format_warn( "<%s> specified twice", scname[scnum] ); break; } if ( i > scon_stk_ptr ) scon_stk[++scon_stk_ptr] = scnum; } } ; rule : re2 re { if ( transchar[lastst[$2]] != SYM_EPSILON ) /* Provide final transition \now/ so it * will be marked as a trailing context * state. */ $2 = link_machines( $2, mkstate( SYM_EPSILON ) ); mark_beginning_as_normal( $2 ); current_state_type = STATE_NORMAL; if ( previous_continued_action ) { /* We need to treat this as variable trailing * context so that the backup does not happen * in the action but before the action switch * statement. If the backup happens in the * action, then the rules "falling into" this * one's action will *also* do the backup, * erroneously. */ if ( ! varlength || headcnt != 0 ) warn( "trailing context made variable due to preceding '|' action" ); /* Mark as variable. */ varlength = true; headcnt = 0; } if ( lex_compat || (varlength && headcnt == 0) ) { /* variable trailing context rule */ /* Mark the first part of the rule as the * accepting "head" part of a trailing * context rule. * * By the way, we didn't do this at the * beginning of this production because back * then current_state_type was set up for a * trail rule, and add_accept() can create * a new state ... */ add_accept( $1, num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } else trailcnt = rulelen; $$ = link_machines( $1, $2 ); } | re2 re '$' { synerr( _("trailing context used twice") ); } | re '$' { headcnt = 0; trailcnt = 1; rulelen = 1; varlength = false; current_state_type = STATE_TRAILING_CONTEXT; if ( trlcontxt ) { synerr( _("trailing context used twice") ); $$ = mkstate( SYM_EPSILON ); } else if ( previous_continued_action ) { /* See the comment in the rule for "re2 re" * above. */ warn( "trailing context made variable due to preceding '|' action" ); varlength = true; } if ( lex_compat || varlength ) { /* Again, see the comment in the rule for * "re2 re" above. */ add_accept( $1, num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } trlcontxt = true; eps = mkstate( SYM_EPSILON ); $$ = link_machines( $1, link_machines( eps, mkstate( '\n' ) ) ); } | re { $$ = $1; if ( trlcontxt ) { if ( lex_compat || (varlength && headcnt == 0) ) /* Both head and trail are * variable-length. */ variable_trail_rule = true; else trailcnt = rulelen; } } ; re : re '|' series { varlength = true; $$ = mkor( $1, $3 ); } | series { $$ = $1; } ; re2 : re '/' { /* This rule is written separately so the * reduction will occur before the trailing * series is parsed. */ if ( trlcontxt ) synerr( _("trailing context used twice") ); else trlcontxt = true; if ( varlength ) /* We hope the trailing context is * fixed-length. */ varlength = false; else headcnt = rulelen; rulelen = 0; current_state_type = STATE_TRAILING_CONTEXT; $$ = $1; } ; series : series singleton { /* This is where concatenation of adjacent patterns * gets done. */ $$ = link_machines( $1, $2 ); } | singleton { $$ = $1; } | series BEGIN_REPEAT_POSIX NUMBER ',' NUMBER END_REPEAT_POSIX { varlength = true; if ( $3 > $5 || $3 < 0 ) { synerr( _("bad iteration values") ); $$ = $1; } else { if ( $3 == 0 ) { if ( $5 <= 0 ) { synerr( _("bad iteration values") ); $$ = $1; } else $$ = mkopt( mkrep( $1, 1, $5 ) ); } else $$ = mkrep( $1, $3, $5 ); } } | series BEGIN_REPEAT_POSIX NUMBER ',' END_REPEAT_POSIX { varlength = true; if ( $3 <= 0 ) { synerr( _("iteration value must be positive") ); $$ = $1; } else $$ = mkrep( $1, $3, INFINITE_REPEAT ); } | series BEGIN_REPEAT_POSIX NUMBER END_REPEAT_POSIX { /* The series could be something like "(foo)", * in which case we have no idea what its length * is, so we punt here. */ varlength = true; if ( $3 <= 0 ) { synerr( _("iteration value must be positive") ); $$ = $1; } else $$ = link_machines( $1, copysingl( $1, $3 - 1 ) ); } ; singleton : singleton '*' { varlength = true; $$ = mkclos( $1 ); } | singleton '+' { varlength = true; $$ = mkposcl( $1 ); } | singleton '?' { varlength = true; $$ = mkopt( $1 ); } | singleton BEGIN_REPEAT_FLEX NUMBER ',' NUMBER END_REPEAT_FLEX { varlength = true; if ( $3 > $5 || $3 < 0 ) { synerr( _("bad iteration values") ); $$ = $1; } else { if ( $3 == 0 ) { if ( $5 <= 0 ) { synerr( _("bad iteration values") ); $$ = $1; } else $$ = mkopt( mkrep( $1, 1, $5 ) ); } else $$ = mkrep( $1, $3, $5 ); } } | singleton BEGIN_REPEAT_FLEX NUMBER ',' END_REPEAT_FLEX { varlength = true; if ( $3 <= 0 ) { synerr( _("iteration value must be positive") ); $$ = $1; } else $$ = mkrep( $1, $3, INFINITE_REPEAT ); } | singleton BEGIN_REPEAT_FLEX NUMBER END_REPEAT_FLEX { /* The singleton could be something like "(foo)", * in which case we have no idea what its length * is, so we punt here. */ varlength = true; if ( $3 <= 0 ) { synerr( _("iteration value must be positive") ); $$ = $1; } else $$ = link_machines( $1, copysingl( $1, $3 - 1 ) ); } | '.' { if ( ! madeany ) { /* Create the '.' character class. */ ccldot = cclinit(); ccladd( ccldot, '\n' ); cclnegate( ccldot ); if ( useecs ) mkeccl( ccltbl + cclmap[ccldot], ccllen[ccldot], nextecm, ecgroup, csize, csize ); /* Create the (?s:'.') character class. */ cclany = cclinit(); cclnegate( cclany ); if ( useecs ) mkeccl( ccltbl + cclmap[cclany], ccllen[cclany], nextecm, ecgroup, csize, csize ); madeany = true; } ++rulelen; if (sf_dot_all()) $$ = mkstate( -cclany ); else $$ = mkstate( -ccldot ); } | fullccl { /* Sort characters for fast searching. We * use a shell sort since this list could * be large. */ cshell( ccltbl + cclmap[$1], ccllen[$1], true ); if ( useecs ) mkeccl( ccltbl + cclmap[$1], ccllen[$1], nextecm, ecgroup, csize, csize ); ++rulelen; if (ccl_has_nl[$1]) rule_has_nl[num_rules] = true; $$ = mkstate( -$1 ); } | PREVCCL { ++rulelen; if (ccl_has_nl[$1]) rule_has_nl[num_rules] = true; $$ = mkstate( -$1 ); } | '"' string '"' { $$ = $2; } | '(' re ')' { $$ = $2; } | CHAR { ++rulelen; if ($1 == nlch) rule_has_nl[num_rules] = true; if (sf_case_ins() && has_case($1)) /* create an alternation, as in (a|A) */ $$ = mkor (mkstate($1), mkstate(reverse_case($1))); else $$ = mkstate( $1 ); } ; fullccl: fullccl CCL_OP_DIFF braceccl { $$ = ccl_set_diff ($1, $3); } | fullccl CCL_OP_UNION braceccl { $$ = ccl_set_union ($1, $3); } | braceccl ; braceccl: '[' ccl ']' { $$ = $2; } | '[' '^' ccl ']' { cclnegate( $3 ); $$ = $3; } ; ccl : ccl CHAR '-' CHAR { if (sf_case_ins()) { /* If one end of the range has case and the other * does not, or the cases are different, then we're not * sure what range the user is trying to express. * Examples: [@-z] or [S-t] */ if (has_case ($2) != has_case ($4) || (has_case ($2) && (b_islower ($2) != b_islower ($4))) || (has_case ($2) && (b_isupper ($2) != b_isupper ($4)))) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), $2, $4); /* If the range spans uppercase characters but not * lowercase (or vice-versa), then should we automatically * include lowercase characters in the range? * Example: [@-_] spans [a-z] but not [A-Z] */ else if (!has_case ($2) && !has_case ($4) && !range_covers_case ($2, $4)) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), $2, $4); } if ( $2 > $4 ) synerr( _("negative range in character class") ); else { for ( i = $2; i <= $4; ++i ) ccladd( $1, i ); /* Keep track if this ccl is staying in * alphabetical order. */ cclsorted = cclsorted && ($2 > lastchar); lastchar = $4; /* Do it again for upper/lowercase */ if (sf_case_ins() && has_case($2) && has_case($4)){ $2 = reverse_case ($2); $4 = reverse_case ($4); for ( i = $2; i <= $4; ++i ) ccladd( $1, i ); cclsorted = cclsorted && ($2 > lastchar); lastchar = $4; } } $$ = $1; } | ccl CHAR { ccladd( $1, $2 ); cclsorted = cclsorted && ($2 > lastchar); lastchar = $2; /* Do it again for upper/lowercase */ if (sf_case_ins() && has_case($2)){ $2 = reverse_case ($2); ccladd ($1, $2); cclsorted = cclsorted && ($2 > lastchar); lastchar = $2; } $$ = $1; } | ccl ccl_expr { /* Too hard to properly maintain cclsorted. */ cclsorted = false; $$ = $1; } | { cclsorted = true; lastchar = 0; currccl = $$ = cclinit(); } ; ccl_expr: CCE_ALNUM { CCL_EXPR(isalnum); } | CCE_ALPHA { CCL_EXPR(isalpha); } | CCE_BLANK { CCL_EXPR(IS_BLANK); } | CCE_CNTRL { CCL_EXPR(iscntrl); } | CCE_DIGIT { CCL_EXPR(isdigit); } | CCE_GRAPH { CCL_EXPR(isgraph); } | CCE_LOWER { CCL_EXPR(islower); if (sf_case_ins()) CCL_EXPR(isupper); } | CCE_PRINT { CCL_EXPR(isprint); } | CCE_PUNCT { CCL_EXPR(ispunct); } | CCE_SPACE { CCL_EXPR(isspace); } | CCE_XDIGIT { CCL_EXPR(isxdigit); } | CCE_UPPER { CCL_EXPR(isupper); if (sf_case_ins()) CCL_EXPR(islower); } | CCE_NEG_ALNUM { CCL_NEG_EXPR(isalnum); } | CCE_NEG_ALPHA { CCL_NEG_EXPR(isalpha); } | CCE_NEG_BLANK { CCL_NEG_EXPR(IS_BLANK); } | CCE_NEG_CNTRL { CCL_NEG_EXPR(iscntrl); } | CCE_NEG_DIGIT { CCL_NEG_EXPR(isdigit); } | CCE_NEG_GRAPH { CCL_NEG_EXPR(isgraph); } | CCE_NEG_PRINT { CCL_NEG_EXPR(isprint); } | CCE_NEG_PUNCT { CCL_NEG_EXPR(ispunct); } | CCE_NEG_SPACE { CCL_NEG_EXPR(isspace); } | CCE_NEG_XDIGIT { CCL_NEG_EXPR(isxdigit); } | CCE_NEG_LOWER { if ( sf_case_ins() ) warn(_("[:^lower:] is ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(islower); } | CCE_NEG_UPPER { if ( sf_case_ins() ) warn(_("[:^upper:] ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(isupper); } ; string : string CHAR { if ( $2 == nlch ) rule_has_nl[num_rules] = true; ++rulelen; if (sf_case_ins() && has_case($2)) $$ = mkor (mkstate($2), mkstate(reverse_case($2))); else $$ = mkstate ($2); $$ = link_machines( $1, $$); } | { $$ = mkstate( SYM_EPSILON ); } ; %% /* build_eof_action - build the "<>" action for the active start * conditions */ void build_eof_action() { register int i; char action_text[MAXLINE]; for ( i = 1; i <= scon_stk_ptr; ++i ) { if ( sceof[scon_stk[i]] ) format_pinpoint_message( "multiple <> rules for start condition %s", scname[scon_stk[i]] ); else { sceof[scon_stk[i]] = true; snprintf( action_text, sizeof(action_text), "case YY_STATE_EOF(%s):\n", scname[scon_stk[i]] ); add_action( action_text ); } } line_directive_out( (FILE *) 0, 1 ); /* This isn't a normal rule after all - don't count it as * such, so we don't have any holes in the rule numbering * (which make generating "rule can never match" warnings * more difficult. */ --num_rules; ++num_eof_rules; } /* format_synerr - write out formatted syntax error */ void format_synerr( msg, arg ) const char *msg, arg[]; { char errmsg[MAXLINE]; (void) snprintf( errmsg, sizeof(errmsg), msg, arg ); synerr( errmsg ); } /* synerr - report a syntax error */ void synerr( str ) const char *str; { syntaxerror = true; pinpoint_message( str ); } /* format_warn - write out formatted warning */ void format_warn( msg, arg ) const char *msg, arg[]; { char warn_msg[MAXLINE]; snprintf( warn_msg, sizeof(warn_msg), msg, arg ); warn( warn_msg ); } /* warn - report a warning, unless -w was given */ void warn( str ) const char *str; { line_warning( str, linenum ); } /* format_pinpoint_message - write out a message formatted with one string, * pinpointing its location */ void format_pinpoint_message( msg, arg ) const char *msg, arg[]; { char errmsg[MAXLINE]; snprintf( errmsg, sizeof(errmsg), msg, arg ); pinpoint_message( errmsg ); } /* pinpoint_message - write out a message, pinpointing its location */ void pinpoint_message( str ) const char *str; { line_pinpoint( str, linenum ); } /* line_warning - report a warning at a given line, unless -w was given */ void line_warning( str, line ) const char *str; int line; { char warning[MAXLINE]; if ( ! nowarn ) { snprintf( warning, sizeof(warning), "warning, %s", str ); line_pinpoint( warning, line ); } } /* line_pinpoint - write out a message, pinpointing it at the given line */ void line_pinpoint( str, line ) const char *str; int line; { fprintf( stderr, "%s:%d: %s\n", infilename, line, str ); } /* yyerror - eat up an error message from the parser; * currently, messages are ignore */ void yyerror( msg ) const char *msg; { } flex-2.5.35/scan.l0000664000175000017500000006323610671160502010600 00000000000000/* scan.l - scanner for flex input -*-C-*- */ %{ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ /* This code is derived from software contributed to Berkeley by */ /* Vern Paxson. */ /* The United States Government has rights in this work pursuant */ /* to contract no. DE-AC03-76SF00098 between the United States */ /* Department of Energy and the University of California. */ /* This file is part of flex. */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* 1. Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* 2. Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in the */ /* documentation and/or other materials provided with the distribution. */ /* Neither the name of the University nor the names of its contributors */ /* may be used to endorse or promote products derived from this software */ /* without specific prior written permission. */ /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ #include "flexdef.h" #include "parse.h" extern bool tablesverify, tablesext; extern int trlcontxt; /* Set in parse.y for each rule. */ extern const char *escaped_qstart, *escaped_qend; #define ACTION_ECHO add_action( yytext ) #define ACTION_IFDEF(def, should_define) \ { \ if ( should_define ) \ action_define( def, 1 ); \ } #define ACTION_ECHO_QSTART add_action (escaped_qstart) #define ACTION_ECHO_QEND add_action (escaped_qend) #define ACTION_M4_IFDEF(def, should_define) \ do{ \ if ( should_define ) \ buf_m4_define( &m4defs_buf, def, NULL);\ else \ buf_m4_undefine( &m4defs_buf, def);\ } while(0) #define MARK_END_OF_PROLOG mark_prolog(); #define YY_DECL \ int flexscan() #define RETURNCHAR \ yylval = (unsigned char) yytext[0]; \ return CHAR; #define RETURNNAME \ if(yyleng < MAXLINE) \ { \ strcpy( nmstr, yytext ); \ } \ else \ { \ synerr(_("Input line too long\n")); \ FLEX_EXIT(EXIT_FAILURE); \ } \ return NAME; #define PUT_BACK_STRING(str, start) \ for ( i = strlen( str ) - 1; i >= start; --i ) \ unput((str)[i]) #define CHECK_REJECT(str) \ if ( all_upper( str ) ) \ reject = true; #define CHECK_YYMORE(str) \ if ( all_lower( str ) ) \ yymore_used = true; #define YY_USER_INIT \ if ( getenv("POSIXLY_CORRECT") ) \ posix_compat = true; %} %option caseless nodefault stack noyy_top_state %option nostdinit %x SECT2 SECT2PROLOG SECT3 CODEBLOCK PICKUPDEF SC CARETISBOL NUM QUOTE %x FIRSTCCL CCL ACTION RECOVER COMMENT ACTION_STRING PERCENT_BRACE_ACTION %x OPTION LINEDIR CODEBLOCK_MATCH_BRACE %x GROUP_WITH_PARAMS %x GROUP_MINUS_PARAMS %x EXTENDED_COMMENT %x COMMENT_DISCARD WS [[:blank:]]+ OPTWS [[:blank:]]* NOT_WS [^[:blank:]\r\n] NL \r?\n NAME ([[:alpha:]_][[:alnum:]_-]*) NOT_NAME [^[:alpha:]_*\n]+ SCNAME {NAME} ESCSEQ (\\([^\n]|[0-7]{1,3}|x[[:xdigit:]]{1,2})) FIRST_CCL_CHAR ([^\\\n]|{ESCSEQ}) CCL_CHAR ([^\\\n\]]|{ESCSEQ}) CCL_EXPR ("[:"^?[[:alpha:]]+":]") LEXOPT [aceknopr] M4QSTART "[[" M4QEND "]]" %% static int bracelevel, didadef, indented_code; static int doing_rule_action = false; static int option_sense; int doing_codeblock = false; int i, brace_depth=0, brace_start_line=0; Char nmdef[MAXLINE]; { ^{WS} indented_code = true; BEGIN(CODEBLOCK); ^"/*" ACTION_ECHO; yy_push_state( COMMENT ); ^#{OPTWS}line{WS} yy_push_state( LINEDIR ); ^"%s"{NAME}? return SCDECL; ^"%x"{NAME}? return XSCDECL; ^"%{".*{NL} { ++linenum; line_directive_out( (FILE *) 0, 1 ); indented_code = false; BEGIN(CODEBLOCK); } ^"%top"[[:blank:]]*"{"[[:blank:]]*{NL} { brace_start_line = linenum; ++linenum; buf_linedir( &top_buf, infilename?infilename:"", linenum); brace_depth = 1; yy_push_state(CODEBLOCK_MATCH_BRACE); } ^"%top".* synerr( _("malformed '%top' directive") ); {WS} /* discard */ ^"%%".* { sectnum = 2; bracelevel = 0; mark_defs1(); line_directive_out( (FILE *) 0, 1 ); BEGIN(SECT2PROLOG); return SECTEND; } ^"%pointer".*{NL} yytext_is_array = false; ++linenum; ^"%array".*{NL} yytext_is_array = true; ++linenum; ^"%option" BEGIN(OPTION); return OPTION_OP; ^"%"{LEXOPT}{OPTWS}[[:digit:]]*{OPTWS}{NL} ++linenum; /* ignore */ ^"%"{LEXOPT}{WS}.*{NL} ++linenum; /* ignore */ /* xgettext: no-c-format */ ^"%"[^sxaceknopr{}].* synerr( _( "unrecognized '%' directive" ) ); ^{NAME} { if(yyleng < MAXLINE) { strcpy( nmstr, yytext ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } didadef = false; BEGIN(PICKUPDEF); } {SCNAME} RETURNNAME; ^{OPTWS}{NL} ++linenum; /* allows blank lines in section 1 */ {OPTWS}{NL} ACTION_ECHO; ++linenum; /* maybe end of comment line */ } { "*/" ACTION_ECHO; yy_pop_state(); "*" ACTION_ECHO; {M4QSTART} ACTION_ECHO_QSTART; {M4QEND} ACTION_ECHO_QEND; [^*\n] ACTION_ECHO; {NL} ++linenum; ACTION_ECHO; } { /* This is the same as COMMENT, but is discarded rather than output. */ "*/" yy_pop_state(); "*" ; [^*\n] ; {NL} ++linenum; } { ")" yy_pop_state(); [^\n\)]+ ; {NL} ++linenum; } { \n yy_pop_state(); [[:digit:]]+ linenum = myctoi( yytext ); \"[^"\n]*\" { flex_free( (void *) infilename ); infilename = copy_string( yytext + 1 ); infilename[strlen( infilename ) - 1] = '\0'; } . /* ignore spurious characters */ } { ^"%}".*{NL} ++linenum; BEGIN(INITIAL); {M4QSTART} ACTION_ECHO_QSTART; {M4QEND} ACTION_ECHO_QEND; . ACTION_ECHO; {NL} { ++linenum; ACTION_ECHO; if ( indented_code ) BEGIN(INITIAL); } } { "}" { if( --brace_depth == 0){ /* TODO: Matched. */ yy_pop_state(); }else buf_strnappend(&top_buf, yytext, yyleng); } "{" { brace_depth++; buf_strnappend(&top_buf, yytext, yyleng); } {NL} { ++linenum; buf_strnappend(&top_buf, yytext, yyleng); } {M4QSTART} buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart)); {M4QEND} buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend)); [^{}\r\n] { buf_strnappend(&top_buf, yytext, yyleng); } <> { linenum = brace_start_line; synerr(_("Unmatched '{'")); yyterminate(); } } { {WS} /* separates name and definition */ {NOT_WS}[^\r\n]* { if(yyleng < MAXLINE) { strcpy( (char *) nmdef, yytext ); } else { synerr( _("Input line too long\n")); FLEX_EXIT(EXIT_FAILURE); } /* Skip trailing whitespace. */ for ( i = strlen( (char *) nmdef ) - 1; i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t'); --i ) ; nmdef[i + 1] = '\0'; ndinstal( nmstr, nmdef ); didadef = true; } {NL} { if ( ! didadef ) synerr( _( "incomplete name definition" ) ); BEGIN(INITIAL); ++linenum; } }