Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
- It was created by GNU Hurd configure 0.9, which was
- generated by GNU Autoconf 2.69. Invocation command line was
- $ ../configure --prefix=
- ## --------- ##
- ## Platform. ##
- ## --------- ##
- hostname = debian
- uname -m = i686-AT386
- uname -r = 0.9
- uname -s = GNU
- uname -v = GNU-Mach 1.8+git20190109-486/Hurd-0.9
- /usr/bin/uname -p = unknown
- /bin/uname -X = unknown
- /bin/arch = unknown
- /usr/bin/arch -k = unknown
- /usr/convex/getsysinfo = unknown
- /usr/bin/hostinfo = unknown
- /bin/machine = unknown
- /usr/bin/oslevel = unknown
- /bin/universe = unknown
- PATH: /usr/local/bin
- PATH: /usr/bin
- PATH: /bin
- PATH: /usr/local/games
- PATH: /usr/games
- ## ----------- ##
- ## Core tests. ##
- ## ----------- ##
- configure:2330: checking build system type
- configure:2344: result: i686-unknown-gnu0.9
- configure:2364: checking host system type
- configure:2377: result: i686-unknown-gnu0.9
- configure:2487: checking for a BSD-compatible install
- configure:2555: result: /bin/bash /home/pruebas/hurd/install-sh -c -C
- configure:2570: checking for gawk
- configure:2586: found /usr/bin/gawk
- configure:2597: result: gawk
- configure:2608: checking for a sed that does not truncate output
- configure:2672: result: /bin/sed
- configure:2734: checking for gcc
- configure:2750: found /usr/bin/gcc
- configure:2761: result: gcc
- configure:2990: checking for C compiler version
- configure:2999: gcc --version >&5
- gcc (Debian 9.2.1-12) 9.2.1 20191022
- Copyright (C) 2019 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.
- configure:3010: $? = 0
- configure:2999: gcc -v >&5
- Using built-in specs.
- COLLECT_GCC=gcc
- COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-gnu/9/lto-wrapper
- Target: i686-gnu
- Configured with: ../src/configure -v --with-pkgversion='Debian 9.2.1-12' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=i686-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --disable-libitm --disable-libsanitizer --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --disable-werror --with-arch=i586 --with-tune=generic --enable-checking=release --build=i686-gnu --host=i686-gnu --target=i686-gnu
- Thread model: posix
- gcc version 9.2.1 20191022 (Debian 9.2.1-12)
- configure:3010: $? = 0
- configure:2999: gcc -V >&5
- gcc: error: unrecognized command line option '-V'
- gcc: fatal error: no input files
- compilation terminated.
- configure:3010: $? = 1
- configure:2999: gcc -qversion >&5
- gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
- gcc: fatal error: no input files
- compilation terminated.
- configure:3010: $? = 1
- configure:3030: gcc -o conftest conftest.c >&5
- configure:3034: $? = 0
- configure:3053: checking whether the C compiler works
- configure:3075: gcc conftest.c >&5
- configure:3079: $? = 0
- configure:3127: result: yes
- configure:3130: checking for C compiler default output file name
- configure:3132: result: a.out
- configure:3138: checking for suffix of executables
- configure:3145: gcc -o conftest conftest.c >&5
- configure:3149: $? = 0
- configure:3171: result:
- configure:3193: checking whether we are cross compiling
- configure:3201: gcc -o conftest conftest.c >&5
- configure:3205: $? = 0
- configure:3212: ./conftest
- configure:3216: $? = 0
- configure:3231: result: no
- configure:3204: checking for suffix of object files
- configure:3226: gcc -c conftest.c >&5
- configure:3230: $? = 0
- configure:3251: result: o
- configure:3255: checking whether we are using the GNU C compiler
- configure:3274: gcc -c conftest.c >&5
- configure:3274: $? = 0
- configure:3283: result: yes
- configure:3292: checking whether gcc accepts -g
- configure:3312: gcc -c -g conftest.c >&5
- configure:3312: $? = 0
- configure:3353: result: yes
- configure:3370: checking for gcc option to accept ISO C89
- configure:3433: gcc -c -g -O2 conftest.c >&5
- configure:3433: $? = 0
- configure:3446: result: none needed
- configure:3514: checking for ld
- configure:3530: found /usr/bin/ld
- configure:3541: result: ld
- configure:3606: checking for objcopy
- configure:3622: found /usr/bin/objcopy
- configure:3633: result: objcopy
- configure:3698: checking for ar
- configure:3714: found /usr/bin/ar
- configure:3725: result: ar
- configure:3790: checking for ranlib
- configure:3806: found /usr/bin/ranlib
- configure:3817: result: ranlib
- configure:3882: checking for mig
- configure:3898: found /usr/bin/mig
- configure:3909: result: mig
- configure:3943: checking whether mig supports the retcode keyword
- configure:3959: CC=gcc mig -n conftest.defs 1>&5
- configure:3962: $? = 0
- configure:3970: result: yes
- configure:3978: checking for ld --version-script
- configure:3997: eval $CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5 1>&5
- configure:4000: $? = 0
- configure:4006: gcc -g -O2 -shared -o conftest.so conftest.o
- -nostartfiles -nostdlib
- -Wl,--version-script,conftest.map
- 1>&5
- configure:4009: $? = 0
- configure:4017: result: yes
- configure:4021: checking for libio
- configure:4041: gcc -c -g -O2 conftest.c >&5
- conftest.c:12:3: error: #error No libio found.
- 12 | # error No libio found.
- | ^~~~~
- configure:4041: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | /* end confdefs.h. */
- | #include <stdio.h>
- | #ifndef _STDIO_USES_IOSTREAM
- | # error No libio found.
- | #endif
- | int
- | main ()
- | {
- |
- | ;
- | return 0;
- | }
- configure:4048: result: no
- configure:4066: checking for file_exec_paths
- configure:4066: gcc -o conftest -g -O2 conftest.c >&5
- configure:4066: $? = 0
- configure:4066: result: yes
- configure:4066: checking for exec_exec_paths
- configure:4066: gcc -o conftest -g -O2 conftest.c >&5
- configure:4066: $? = 0
- configure:4066: result: yes
- configure:4066: checking for _hurd_exec_paths
- configure:4066: gcc -o conftest -g -O2 conftest.c >&5
- configure:4066: $? = 0
- configure:4066: result: yes
- configure:4079: checking for file_futimens
- configure:4079: gcc -o conftest -g -O2 conftest.c >&5
- /usr/bin/ld: /tmp/cc8DLRo1.o: in function `main':
- /home/pruebas/hurd/build/conftest.c:47: undefined reference to `file_futimens'
- collect2: error: ld returned 1 exit status
- configure:4079: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | /* end confdefs.h. */
- | /* Define file_futimens to an innocuous variant, in case <limits.h> declares file_futimens.
- | For example, HP-UX 11i <limits.h> declares gettimeofday. */
- | #define file_futimens innocuous_file_futimens
- |
- | /* System header to define __stub macros and hopefully few prototypes,
- | which can conflict with char file_futimens (); below.
- | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- | <limits.h> exists even on freestanding compilers. */
- |
- | #ifdef __STDC__
- | # include <limits.h>
- | #else
- | # include <assert.h>
- | #endif
- |
- | #undef file_futimens
- |
- | /* Override any GCC internal prototype to avoid an error.
- | Use char because int might match the return type of a GCC
- | builtin and then its argument prototype would still apply. */
- | #ifdef __cplusplus
- | extern "C"
- | #endif
- | char file_futimens ();
- | /* 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_file_futimens || defined __stub___file_futimens
- | choke me
- | #endif
- |
- | int
- | main ()
- | {
- | return file_futimens ();
- | ;
- | return 0;
- | }
- configure:4079: result: no
- configure:4093: checking for crypt in -lcrypt
- configure:4121: gcc -o conftest -g -O2 conftest.c -lcrypt >&5
- configure:4121: $? = 0
- configure:4130: result: yes
- configure:4143: checking for -fgnu89-inline
- configure:4158: gcc -g -O2 -S -std=gnu99 -fgnu89-inline
- -o conftest.s conftest.c 1>&5
- conftest.c:3:1: warning: return type defaults to 'int' [-Wimplicit-int]
- 3 | main () { return 0;}
- | ^~~~
- configure:4161: $? = 0
- configure:4170: result: yes
- configure:4197: checking how to run the C preprocessor
- configure:4228: gcc -E conftest.c
- configure:4228: $? = 0
- configure:4242: gcc -E conftest.c
- conftest.c:16:10: fatal error: ac_nonexistent.h: No such file or directory
- 16 | #include <ac_nonexistent.h>
- | ^~~~~~~~~~~~~~~~~~
- compilation terminated.
- configure:4242: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | /* end confdefs.h. */
- | #include <ac_nonexistent.h>
- configure:4267: result: gcc -E
- configure:4287: gcc -E conftest.c
- configure:4287: $? = 0
- configure:4301: gcc -E conftest.c
- conftest.c:16:10: fatal error: ac_nonexistent.h: No such file or directory
- 16 | #include <ac_nonexistent.h>
- | ^~~~~~~~~~~~~~~~~~
- compilation terminated.
- configure:4301: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | /* end confdefs.h. */
- | #include <ac_nonexistent.h>
- configure:4330: checking for grep that handles long lines and -e
- configure:4388: result: /bin/grep
- configure:4393: checking for egrep
- configure:4455: result: /bin/grep -E
- configure:4460: checking for ANSI C header files
- configure:4480: gcc -c -g -O2 conftest.c >&5
- configure:4480: $? = 0
- configure:4553: gcc -o conftest -g -O2 conftest.c >&5
- configure:4553: $? = 0
- configure:4553: ./conftest
- configure:4553: $? = 0
- configure:4564: result: yes
- configure:4577: checking for sys/types.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for sys/stat.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for stdlib.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for string.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for memory.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for strings.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for inttypes.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for stdint.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4577: checking for unistd.h
- configure:4577: gcc -c -g -O2 conftest.c >&5
- configure:4577: $? = 0
- configure:4577: result: yes
- configure:4591: checking parted/parted.h usability
- configure:4591: gcc -c -g -O2 conftest.c >&5
- configure:4591: $? = 0
- configure:4591: result: yes
- configure:4591: checking parted/parted.h presence
- configure:4591: gcc -E conftest.c
- configure:4591: $? = 0
- configure:4591: result: yes
- configure:4591: checking for parted/parted.h
- configure:4591: result: yes
- configure:4605: checking for ped_device_read in -lparted
- configure:4633: gcc -o conftest -g -O2 conftest.c -lparted >&5
- configure:4633: $? = 0
- configure:4642: result: yes
- configure:4660: checking for uuid_generate in -luuid
- configure:4688: gcc -o conftest -g -O2 conftest.c -luuid -lparted >&5
- configure:4688: $? = 0
- configure:4697: result: yes
- configure:4715: checking for dlopen in -ldl
- configure:4743: gcc -o conftest -g -O2 conftest.c -ldl -luuid -lparted >&5
- configure:4743: $? = 0
- configure:4752: result: yes
- configure:4786: checking for BZ2_bzCompress in -lbz2
- configure:4814: gcc -o conftest -g -O2 conftest.c -lbz2 -ldl -luuid -lparted >&5
- configure:4814: $? = 0
- configure:4823: result: yes
- configure:4846: checking for deflate in -lz
- configure:4874: gcc -o conftest -g -O2 conftest.c -lz -ldl -luuid -lparted >&5
- configure:4874: $? = 0
- configure:4883: result: yes
- configure:4910: checking boot store types
- configure:4912: result: device remap part bunzip2 gunzip
- configure:4925: checking for initscr in -lncursesw
- configure:4953: gcc -o conftest -g -O2 conftest.c -lncursesw -ldl -luuid -lparted >&5
- configure:4953: $? = 0
- configure:4962: result: yes
- configure:4986: checking for ncursesw include dir
- configure:5000: result: /usr/include/ncursesw
- configure:5017: checking for flex
- configure:5033: found /usr/bin/flex
- configure:5044: result: flex
- configure:5082: flex conftest.l
- configure:5086: $? = 0
- configure:5088: checking lex output file root
- configure:5102: result: lex.yy
- configure:5107: checking lex library
- configure:5124: gcc -o conftest -g -O2 conftest.c -ldl -luuid -lparted >&5
- /usr/bin/ld: /tmp/cceIPdTn.o: in function `input':
- /home/pruebas/hurd/build/lex.yy.c:1180: undefined reference to `yywrap'
- /usr/bin/ld: /tmp/cceIPdTn.o: in function `yylex':
- /home/pruebas/hurd/build/lex.yy.c:871: undefined reference to `yywrap'
- /usr/bin/ld: /tmp/cceIPdTn.o: in function `main':
- /home/pruebas/hurd/build/conftest.l:17: undefined reference to `yywrap'
- collect2: error: ld returned 1 exit status
- configure:5124: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | #define STDC_HEADERS 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_PARTED_PARTED_H 1
- | #define HAVE_LIBPARTED 1
- | #define HAVE_LIBUUID 1
- | #define HAVE_LIBDL 1
- | /* end confdefs.h. */
- |
- | #line 3 "lex.yy.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 6
- | #define YY_FLEX_SUBMINOR_VERSION 4
- | #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 <stdio.h>
- | #include <string.h>
- | #include <errno.h>
- | #include <stdlib.h>
- |
- | /* end standard C headers. */
- |
- | /* flex integer type definitions */
- |
- | #ifndef FLEXINT_H
- | #define FLEXINT_H
- |
- | /* C99 systems have <inttypes.h>. 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 <inttypes.h>
- | 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;
- |
- | /* 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
- |
- | #ifndef SIZE_MAX
- | #define SIZE_MAX (~(size_t)0)
- | #endif
- |
- | #endif /* ! C99 */
- |
- | #endif /* ! FLEXINT_H */
- |
- | /* begin standard C++ headers. */
- |
- | /* TODO: this is always defined, so inline it */
- | #define yyconst const
- |
- | #if defined(__GNUC__) && __GNUC__ >= 3
- | #define yynoreturn __attribute__((__noreturn__))
- | #else
- | #define yynoreturn
- | #endif
- |
- | /* Returned upon end-of-file. */
- | #define YY_NULL 0
- |
- | /* Promotes a possibly negative, possibly signed char to an
- | * integer in range [0..255] for use as an array index.
- | */
- | #define YY_SC_TO_UI(c) ((YY_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
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k.
- | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- | * Ditto for the __ia64__ case accordingly.
- | */
- | #define YY_BUF_SIZE 32768
- | #else
- | #define YY_BUF_SIZE 16384
- | #endif /* __ia64__ */
- | #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
- |
- | #ifndef YY_TYPEDEF_YY_SIZE_T
- | #define YY_TYPEDEF_YY_SIZE_T
- | typedef size_t yy_size_t;
- | #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)
- | #define YY_LINENO_REWIND_TO(ptr)
- |
- | /* 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_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.
- | */
- | int 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 = NULL; /**< 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 = NULL;
- | 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 ( const char *yy_str );
- | YY_BUFFER_STATE yy_scan_bytes ( const 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 flex_uint8_t YY_CHAR;
- |
- | FILE *yyin = NULL, *yyout = NULL;
- |
- | typedef int yy_state_type;
- |
- | extern int yylineno;
- | int yylineno = 1;
- |
- | extern char *yytext;
- | #ifdef yytext_ptr
- | #undef yytext_ptr
- | #endif
- | #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 yynoreturn yy_fatal_error ( const 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 = (int) (yy_cp - (yytext_ptr)); \
- | (yy_hold_char) = *yy_cp; \
- | *yy_cp = '\0'; \
- | (yy_c_buf_p) = yy_cp;
- | #define YY_NUM_RULES 8
- | #define YY_END_OF_BUFFER 9
- | /* 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 const flex_int16_t yy_acclist[23] =
- | { 0,
- | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
- | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
- | 7, 8
- | } ;
- |
- | static const flex_int16_t yy_accept[14] =
- | { 0,
- | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
- | 20, 23, 23
- | } ;
- |
- | static const YY_CHAR yy_ec[256] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- | 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, 3, 4, 5, 6,
- |
- | 7, 8, 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, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1
- | } ;
- |
- | static const YY_CHAR yy_meta[9] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1
- | } ;
- |
- | static const flex_int16_t yy_base[13] =
- | { 0,
- | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
- | 10, 10
- | } ;
- |
- | static const flex_int16_t yy_def[13] =
- | { 0,
- | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
- | 12, 0
- | } ;
- |
- | static const flex_int16_t yy_nxt[19] =
- | { 0,
- | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | static const flex_int16_t yy_chk[19] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | 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 "conftest.l"
- | #line 460 "lex.yy.c"
- |
- | #define INITIAL 0
- |
- | #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 <unistd.h>
- | #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
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput ( int c, char *buf_ptr );
- |
- | #endif
- |
- | #ifndef yytext_ptr
- | static void yy_flex_strncpy ( char *, const char *, int );
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen ( const char * );
- | #endif
- |
- | #ifndef YY_NO_INPUT
- | #ifdef __cplusplus
- | static int yyinput ( void );
- | #else
- | static int input ( void );
- | #endif
- |
- | #endif
- |
- | /* Amount of stuff to slurp up with each read. */
- | #ifndef YY_READ_BUF_SIZE
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k */
- | #define YY_READ_BUF_SIZE 16384
- | #else
- | #define YY_READ_BUF_SIZE 8192
- | #endif /* __ia64__ */
- | #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 do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
- | #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 = (int) fread(buf, 1, (yy_size_t) 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 /*LINTED*/break;
- | #endif
- |
- | #define YY_RULE_SETUP \
- | YY_USER_ACTION
- |
- | /** The main scanner function which does all the work.
- | */
- | YY_DECL
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp, *yy_bp;
- | int yy_act;
- |
- | 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( );
- | }
- |
- | {
- | #line 1 "conftest.l"
- |
- | #line 685 "lex.yy.c"
- |
- | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
- | {
- | (yy_more_len) = 0;
- | if ( (yy_more_flag) )
- | {
- | (yy_more_len) = (int) ((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_state_ptr) = (yy_state_buf);
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | yy_match:
- | do
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | *(yy_state_ptr)++ = yy_current_state;
- | ++yy_cp;
- | }
- | while ( yy_base[yy_current_state] != 10 );
- |
- | 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 2 "conftest.l"
- | { ECHO; }
- | YY_BREAK
- | case 2:
- | YY_RULE_SETUP
- | #line 3 "conftest.l"
- | { REJECT; }
- | YY_BREAK
- | case 3:
- | YY_RULE_SETUP
- | #line 4 "conftest.l"
- | { yymore (); }
- | YY_BREAK
- | case 4:
- | YY_RULE_SETUP
- | #line 5 "conftest.l"
- | { yyless (1); }
- | YY_BREAK
- | case 5:
- | YY_RULE_SETUP
- | #line 6 "conftest.l"
- | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
- | yyless ((input () != 0)); }
- | YY_BREAK
- | case 6:
- | YY_RULE_SETUP
- | #line 8 "conftest.l"
- | { unput (yytext[0]); }
- | YY_BREAK
- | case 7:
- | YY_RULE_SETUP
- | #line 9 "conftest.l"
- | { BEGIN INITIAL; }
- | YY_BREAK
- | case 8:
- | YY_RULE_SETUP
- | #line 10 "conftest.l"
- | ECHO;
- | YY_BREAK
- | #line 794 "lex.yy.c"
- | case YY_STATE_EOF(INITIAL):
- | 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 user's declarations */
- | } /* 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)
- | {
- | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- | char *source = (yytext_ptr);
- | 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), 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_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
- | /* Extend the array by 50%, plus the number we really need. */
- | int 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, (yy_size_t) new_size );
- | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
- | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
- | /* "- 2" to take care of EOB's */
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
- | }
- |
- | (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)
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp;
- |
- | yy_current_state = (yy_start);
- |
- | (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 )
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + 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 )
- | {
- | int yy_is_jam;
- |
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | yy_is_jam = (yy_current_state == 12);
- | if ( ! yy_is_jam )
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | return yy_is_jam ? 0 : yy_current_state;
- | }
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput (int c, char * yy_bp )
- | {
- | 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. */
- | int number_to_move = (yy_n_chars) + 2;
- | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
- | 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) = (int) 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;
- | }
- |
- | #endif
- |
- | #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 = (int) ((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 0;
- |
- | 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);
- |
- | 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( (yy_size_t) (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 );
- | }
- |
- | /* 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)
- | {
- | yy_size_t 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; /* After all that talk, this was set to 1 anyways... */
- | (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. */
- | yy_size_t 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 NULL;
- |
- | 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 = (int) (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 = NULL;
- | 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 (const char * yystr )
- | {
- |
- | return yy_scan_bytes( yystr, (int) 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 yybytes the byte buffer to scan
- | * @param _yybytes_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 (const 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 = (yy_size_t) (_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;
- | }
- |
- | #ifndef YY_EXIT_FAILURE
- | #define YY_EXIT_FAILURE 2
- | #endif
- |
- | static void yynoreturn yy_fatal_error (const char* msg )
- | {
- | 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 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) = NULL;
- | (yy_buffer_stack_top) = 0;
- | (yy_buffer_stack_max) = 0;
- | (yy_c_buf_p) = NULL;
- | (yy_init) = 0;
- | (yy_start) = 0;
- |
- | (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 = NULL;
- | yyout = NULL;
- | #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;
- |
- | 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, const char * s2, int n )
- | {
- |
- | int i;
- | for ( i = 0; i < n; ++i )
- | s1[i] = s2[i];
- | }
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen (const char * s )
- | {
- | int n;
- | for ( n = 0; s[n]; ++n )
- | ;
- |
- | return n;
- | }
- | #endif
- |
- | void *yyalloc (yy_size_t size )
- | {
- | return 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 realloc(ptr, size);
- | }
- |
- | void yyfree (void * ptr )
- | {
- | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
- | }
- |
- | #define YYTABLES_NAME "yytables"
- |
- | #line 10 "conftest.l"
- |
- | #ifdef YYTEXT_POINTER
- | extern char *yytext;
- | #endif
- | int
- | main (void)
- | {
- | return ! yylex () + ! yywrap ();
- | }
- configure:5124: gcc -o conftest -g -O2 conftest.c -lfl -ldl -luuid -lparted >&5
- /usr/bin/ld: cannot find -lfl
- collect2: error: ld returned 1 exit status
- configure:5124: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | #define STDC_HEADERS 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_PARTED_PARTED_H 1
- | #define HAVE_LIBPARTED 1
- | #define HAVE_LIBUUID 1
- | #define HAVE_LIBDL 1
- | /* end confdefs.h. */
- |
- | #line 3 "lex.yy.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 6
- | #define YY_FLEX_SUBMINOR_VERSION 4
- | #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 <stdio.h>
- | #include <string.h>
- | #include <errno.h>
- | #include <stdlib.h>
- |
- | /* end standard C headers. */
- |
- | /* flex integer type definitions */
- |
- | #ifndef FLEXINT_H
- | #define FLEXINT_H
- |
- | /* C99 systems have <inttypes.h>. 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 <inttypes.h>
- | 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;
- |
- | /* 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
- |
- | #ifndef SIZE_MAX
- | #define SIZE_MAX (~(size_t)0)
- | #endif
- |
- | #endif /* ! C99 */
- |
- | #endif /* ! FLEXINT_H */
- |
- | /* begin standard C++ headers. */
- |
- | /* TODO: this is always defined, so inline it */
- | #define yyconst const
- |
- | #if defined(__GNUC__) && __GNUC__ >= 3
- | #define yynoreturn __attribute__((__noreturn__))
- | #else
- | #define yynoreturn
- | #endif
- |
- | /* Returned upon end-of-file. */
- | #define YY_NULL 0
- |
- | /* Promotes a possibly negative, possibly signed char to an
- | * integer in range [0..255] for use as an array index.
- | */
- | #define YY_SC_TO_UI(c) ((YY_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
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k.
- | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- | * Ditto for the __ia64__ case accordingly.
- | */
- | #define YY_BUF_SIZE 32768
- | #else
- | #define YY_BUF_SIZE 16384
- | #endif /* __ia64__ */
- | #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
- |
- | #ifndef YY_TYPEDEF_YY_SIZE_T
- | #define YY_TYPEDEF_YY_SIZE_T
- | typedef size_t yy_size_t;
- | #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)
- | #define YY_LINENO_REWIND_TO(ptr)
- |
- | /* 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_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.
- | */
- | int 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 = NULL; /**< 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 = NULL;
- | 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 ( const char *yy_str );
- | YY_BUFFER_STATE yy_scan_bytes ( const 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 flex_uint8_t YY_CHAR;
- |
- | FILE *yyin = NULL, *yyout = NULL;
- |
- | typedef int yy_state_type;
- |
- | extern int yylineno;
- | int yylineno = 1;
- |
- | extern char *yytext;
- | #ifdef yytext_ptr
- | #undef yytext_ptr
- | #endif
- | #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 yynoreturn yy_fatal_error ( const 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 = (int) (yy_cp - (yytext_ptr)); \
- | (yy_hold_char) = *yy_cp; \
- | *yy_cp = '\0'; \
- | (yy_c_buf_p) = yy_cp;
- | #define YY_NUM_RULES 8
- | #define YY_END_OF_BUFFER 9
- | /* 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 const flex_int16_t yy_acclist[23] =
- | { 0,
- | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
- | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
- | 7, 8
- | } ;
- |
- | static const flex_int16_t yy_accept[14] =
- | { 0,
- | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
- | 20, 23, 23
- | } ;
- |
- | static const YY_CHAR yy_ec[256] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- | 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, 3, 4, 5, 6,
- |
- | 7, 8, 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, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1
- | } ;
- |
- | static const YY_CHAR yy_meta[9] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1
- | } ;
- |
- | static const flex_int16_t yy_base[13] =
- | { 0,
- | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
- | 10, 10
- | } ;
- |
- | static const flex_int16_t yy_def[13] =
- | { 0,
- | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
- | 12, 0
- | } ;
- |
- | static const flex_int16_t yy_nxt[19] =
- | { 0,
- | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | static const flex_int16_t yy_chk[19] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | 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 "conftest.l"
- | #line 460 "lex.yy.c"
- |
- | #define INITIAL 0
- |
- | #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 <unistd.h>
- | #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
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput ( int c, char *buf_ptr );
- |
- | #endif
- |
- | #ifndef yytext_ptr
- | static void yy_flex_strncpy ( char *, const char *, int );
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen ( const char * );
- | #endif
- |
- | #ifndef YY_NO_INPUT
- | #ifdef __cplusplus
- | static int yyinput ( void );
- | #else
- | static int input ( void );
- | #endif
- |
- | #endif
- |
- | /* Amount of stuff to slurp up with each read. */
- | #ifndef YY_READ_BUF_SIZE
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k */
- | #define YY_READ_BUF_SIZE 16384
- | #else
- | #define YY_READ_BUF_SIZE 8192
- | #endif /* __ia64__ */
- | #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 do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
- | #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 = (int) fread(buf, 1, (yy_size_t) 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 /*LINTED*/break;
- | #endif
- |
- | #define YY_RULE_SETUP \
- | YY_USER_ACTION
- |
- | /** The main scanner function which does all the work.
- | */
- | YY_DECL
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp, *yy_bp;
- | int yy_act;
- |
- | 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( );
- | }
- |
- | {
- | #line 1 "conftest.l"
- |
- | #line 685 "lex.yy.c"
- |
- | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
- | {
- | (yy_more_len) = 0;
- | if ( (yy_more_flag) )
- | {
- | (yy_more_len) = (int) ((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_state_ptr) = (yy_state_buf);
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | yy_match:
- | do
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | *(yy_state_ptr)++ = yy_current_state;
- | ++yy_cp;
- | }
- | while ( yy_base[yy_current_state] != 10 );
- |
- | 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 2 "conftest.l"
- | { ECHO; }
- | YY_BREAK
- | case 2:
- | YY_RULE_SETUP
- | #line 3 "conftest.l"
- | { REJECT; }
- | YY_BREAK
- | case 3:
- | YY_RULE_SETUP
- | #line 4 "conftest.l"
- | { yymore (); }
- | YY_BREAK
- | case 4:
- | YY_RULE_SETUP
- | #line 5 "conftest.l"
- | { yyless (1); }
- | YY_BREAK
- | case 5:
- | YY_RULE_SETUP
- | #line 6 "conftest.l"
- | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
- | yyless ((input () != 0)); }
- | YY_BREAK
- | case 6:
- | YY_RULE_SETUP
- | #line 8 "conftest.l"
- | { unput (yytext[0]); }
- | YY_BREAK
- | case 7:
- | YY_RULE_SETUP
- | #line 9 "conftest.l"
- | { BEGIN INITIAL; }
- | YY_BREAK
- | case 8:
- | YY_RULE_SETUP
- | #line 10 "conftest.l"
- | ECHO;
- | YY_BREAK
- | #line 794 "lex.yy.c"
- | case YY_STATE_EOF(INITIAL):
- | 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 user's declarations */
- | } /* 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)
- | {
- | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- | char *source = (yytext_ptr);
- | 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), 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_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
- | /* Extend the array by 50%, plus the number we really need. */
- | int 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, (yy_size_t) new_size );
- | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
- | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
- | /* "- 2" to take care of EOB's */
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
- | }
- |
- | (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)
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp;
- |
- | yy_current_state = (yy_start);
- |
- | (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 )
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + 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 )
- | {
- | int yy_is_jam;
- |
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | yy_is_jam = (yy_current_state == 12);
- | if ( ! yy_is_jam )
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | return yy_is_jam ? 0 : yy_current_state;
- | }
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput (int c, char * yy_bp )
- | {
- | 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. */
- | int number_to_move = (yy_n_chars) + 2;
- | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
- | 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) = (int) 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;
- | }
- |
- | #endif
- |
- | #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 = (int) ((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 0;
- |
- | 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);
- |
- | 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( (yy_size_t) (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 );
- | }
- |
- | /* 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)
- | {
- | yy_size_t 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; /* After all that talk, this was set to 1 anyways... */
- | (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. */
- | yy_size_t 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 NULL;
- |
- | 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 = (int) (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 = NULL;
- | 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 (const char * yystr )
- | {
- |
- | return yy_scan_bytes( yystr, (int) 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 yybytes the byte buffer to scan
- | * @param _yybytes_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 (const 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 = (yy_size_t) (_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;
- | }
- |
- | #ifndef YY_EXIT_FAILURE
- | #define YY_EXIT_FAILURE 2
- | #endif
- |
- | static void yynoreturn yy_fatal_error (const char* msg )
- | {
- | 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 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) = NULL;
- | (yy_buffer_stack_top) = 0;
- | (yy_buffer_stack_max) = 0;
- | (yy_c_buf_p) = NULL;
- | (yy_init) = 0;
- | (yy_start) = 0;
- |
- | (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 = NULL;
- | yyout = NULL;
- | #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;
- |
- | 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, const char * s2, int n )
- | {
- |
- | int i;
- | for ( i = 0; i < n; ++i )
- | s1[i] = s2[i];
- | }
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen (const char * s )
- | {
- | int n;
- | for ( n = 0; s[n]; ++n )
- | ;
- |
- | return n;
- | }
- | #endif
- |
- | void *yyalloc (yy_size_t size )
- | {
- | return 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 realloc(ptr, size);
- | }
- |
- | void yyfree (void * ptr )
- | {
- | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
- | }
- |
- | #define YYTABLES_NAME "yytables"
- |
- | #line 10 "conftest.l"
- |
- | #ifdef YYTEXT_POINTER
- | extern char *yytext;
- | #endif
- | int
- | main (void)
- | {
- | return ! yylex () + ! yywrap ();
- | }
- configure:5124: gcc -o conftest -g -O2 conftest.c -ll -ldl -luuid -lparted >&5
- /usr/bin/ld: cannot find -ll
- collect2: error: ld returned 1 exit status
- configure:5124: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | #define STDC_HEADERS 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_PARTED_PARTED_H 1
- | #define HAVE_LIBPARTED 1
- | #define HAVE_LIBUUID 1
- | #define HAVE_LIBDL 1
- | /* end confdefs.h. */
- |
- | #line 3 "lex.yy.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 6
- | #define YY_FLEX_SUBMINOR_VERSION 4
- | #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 <stdio.h>
- | #include <string.h>
- | #include <errno.h>
- | #include <stdlib.h>
- |
- | /* end standard C headers. */
- |
- | /* flex integer type definitions */
- |
- | #ifndef FLEXINT_H
- | #define FLEXINT_H
- |
- | /* C99 systems have <inttypes.h>. 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 <inttypes.h>
- | 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;
- |
- | /* 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
- |
- | #ifndef SIZE_MAX
- | #define SIZE_MAX (~(size_t)0)
- | #endif
- |
- | #endif /* ! C99 */
- |
- | #endif /* ! FLEXINT_H */
- |
- | /* begin standard C++ headers. */
- |
- | /* TODO: this is always defined, so inline it */
- | #define yyconst const
- |
- | #if defined(__GNUC__) && __GNUC__ >= 3
- | #define yynoreturn __attribute__((__noreturn__))
- | #else
- | #define yynoreturn
- | #endif
- |
- | /* Returned upon end-of-file. */
- | #define YY_NULL 0
- |
- | /* Promotes a possibly negative, possibly signed char to an
- | * integer in range [0..255] for use as an array index.
- | */
- | #define YY_SC_TO_UI(c) ((YY_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
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k.
- | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- | * Ditto for the __ia64__ case accordingly.
- | */
- | #define YY_BUF_SIZE 32768
- | #else
- | #define YY_BUF_SIZE 16384
- | #endif /* __ia64__ */
- | #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
- |
- | #ifndef YY_TYPEDEF_YY_SIZE_T
- | #define YY_TYPEDEF_YY_SIZE_T
- | typedef size_t yy_size_t;
- | #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)
- | #define YY_LINENO_REWIND_TO(ptr)
- |
- | /* 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_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.
- | */
- | int 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 = NULL; /**< 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 = NULL;
- | 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 ( const char *yy_str );
- | YY_BUFFER_STATE yy_scan_bytes ( const 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 flex_uint8_t YY_CHAR;
- |
- | FILE *yyin = NULL, *yyout = NULL;
- |
- | typedef int yy_state_type;
- |
- | extern int yylineno;
- | int yylineno = 1;
- |
- | extern char *yytext;
- | #ifdef yytext_ptr
- | #undef yytext_ptr
- | #endif
- | #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 yynoreturn yy_fatal_error ( const 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 = (int) (yy_cp - (yytext_ptr)); \
- | (yy_hold_char) = *yy_cp; \
- | *yy_cp = '\0'; \
- | (yy_c_buf_p) = yy_cp;
- | #define YY_NUM_RULES 8
- | #define YY_END_OF_BUFFER 9
- | /* 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 const flex_int16_t yy_acclist[23] =
- | { 0,
- | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
- | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
- | 7, 8
- | } ;
- |
- | static const flex_int16_t yy_accept[14] =
- | { 0,
- | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
- | 20, 23, 23
- | } ;
- |
- | static const YY_CHAR yy_ec[256] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- | 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, 3, 4, 5, 6,
- |
- | 7, 8, 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, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1
- | } ;
- |
- | static const YY_CHAR yy_meta[9] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1
- | } ;
- |
- | static const flex_int16_t yy_base[13] =
- | { 0,
- | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
- | 10, 10
- | } ;
- |
- | static const flex_int16_t yy_def[13] =
- | { 0,
- | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
- | 12, 0
- | } ;
- |
- | static const flex_int16_t yy_nxt[19] =
- | { 0,
- | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | static const flex_int16_t yy_chk[19] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | 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 "conftest.l"
- | #line 460 "lex.yy.c"
- |
- | #define INITIAL 0
- |
- | #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 <unistd.h>
- | #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
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput ( int c, char *buf_ptr );
- |
- | #endif
- |
- | #ifndef yytext_ptr
- | static void yy_flex_strncpy ( char *, const char *, int );
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen ( const char * );
- | #endif
- |
- | #ifndef YY_NO_INPUT
- | #ifdef __cplusplus
- | static int yyinput ( void );
- | #else
- | static int input ( void );
- | #endif
- |
- | #endif
- |
- | /* Amount of stuff to slurp up with each read. */
- | #ifndef YY_READ_BUF_SIZE
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k */
- | #define YY_READ_BUF_SIZE 16384
- | #else
- | #define YY_READ_BUF_SIZE 8192
- | #endif /* __ia64__ */
- | #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 do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
- | #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 = (int) fread(buf, 1, (yy_size_t) 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 /*LINTED*/break;
- | #endif
- |
- | #define YY_RULE_SETUP \
- | YY_USER_ACTION
- |
- | /** The main scanner function which does all the work.
- | */
- | YY_DECL
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp, *yy_bp;
- | int yy_act;
- |
- | 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( );
- | }
- |
- | {
- | #line 1 "conftest.l"
- |
- | #line 685 "lex.yy.c"
- |
- | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
- | {
- | (yy_more_len) = 0;
- | if ( (yy_more_flag) )
- | {
- | (yy_more_len) = (int) ((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_state_ptr) = (yy_state_buf);
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | yy_match:
- | do
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | *(yy_state_ptr)++ = yy_current_state;
- | ++yy_cp;
- | }
- | while ( yy_base[yy_current_state] != 10 );
- |
- | 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 2 "conftest.l"
- | { ECHO; }
- | YY_BREAK
- | case 2:
- | YY_RULE_SETUP
- | #line 3 "conftest.l"
- | { REJECT; }
- | YY_BREAK
- | case 3:
- | YY_RULE_SETUP
- | #line 4 "conftest.l"
- | { yymore (); }
- | YY_BREAK
- | case 4:
- | YY_RULE_SETUP
- | #line 5 "conftest.l"
- | { yyless (1); }
- | YY_BREAK
- | case 5:
- | YY_RULE_SETUP
- | #line 6 "conftest.l"
- | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
- | yyless ((input () != 0)); }
- | YY_BREAK
- | case 6:
- | YY_RULE_SETUP
- | #line 8 "conftest.l"
- | { unput (yytext[0]); }
- | YY_BREAK
- | case 7:
- | YY_RULE_SETUP
- | #line 9 "conftest.l"
- | { BEGIN INITIAL; }
- | YY_BREAK
- | case 8:
- | YY_RULE_SETUP
- | #line 10 "conftest.l"
- | ECHO;
- | YY_BREAK
- | #line 794 "lex.yy.c"
- | case YY_STATE_EOF(INITIAL):
- | 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 user's declarations */
- | } /* 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)
- | {
- | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- | char *source = (yytext_ptr);
- | 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), 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_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
- | /* Extend the array by 50%, plus the number we really need. */
- | int 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, (yy_size_t) new_size );
- | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
- | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
- | /* "- 2" to take care of EOB's */
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
- | }
- |
- | (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)
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp;
- |
- | yy_current_state = (yy_start);
- |
- | (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 )
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + 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 )
- | {
- | int yy_is_jam;
- |
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | yy_is_jam = (yy_current_state == 12);
- | if ( ! yy_is_jam )
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | return yy_is_jam ? 0 : yy_current_state;
- | }
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput (int c, char * yy_bp )
- | {
- | 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. */
- | int number_to_move = (yy_n_chars) + 2;
- | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
- | 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) = (int) 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;
- | }
- |
- | #endif
- |
- | #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 = (int) ((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 0;
- |
- | 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);
- |
- | 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( (yy_size_t) (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 );
- | }
- |
- | /* 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)
- | {
- | yy_size_t 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; /* After all that talk, this was set to 1 anyways... */
- | (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. */
- | yy_size_t 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 NULL;
- |
- | 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 = (int) (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 = NULL;
- | 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 (const char * yystr )
- | {
- |
- | return yy_scan_bytes( yystr, (int) 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 yybytes the byte buffer to scan
- | * @param _yybytes_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 (const 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 = (yy_size_t) (_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;
- | }
- |
- | #ifndef YY_EXIT_FAILURE
- | #define YY_EXIT_FAILURE 2
- | #endif
- |
- | static void yynoreturn yy_fatal_error (const char* msg )
- | {
- | 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 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) = NULL;
- | (yy_buffer_stack_top) = 0;
- | (yy_buffer_stack_max) = 0;
- | (yy_c_buf_p) = NULL;
- | (yy_init) = 0;
- | (yy_start) = 0;
- |
- | (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 = NULL;
- | yyout = NULL;
- | #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;
- |
- | 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, const char * s2, int n )
- | {
- |
- | int i;
- | for ( i = 0; i < n; ++i )
- | s1[i] = s2[i];
- | }
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen (const char * s )
- | {
- | int n;
- | for ( n = 0; s[n]; ++n )
- | ;
- |
- | return n;
- | }
- | #endif
- |
- | void *yyalloc (yy_size_t size )
- | {
- | return 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 realloc(ptr, size);
- | }
- |
- | void yyfree (void * ptr )
- | {
- | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
- | }
- |
- | #define YYTABLES_NAME "yytables"
- |
- | #line 10 "conftest.l"
- |
- | #ifdef YYTEXT_POINTER
- | extern char *yytext;
- | #endif
- | int
- | main (void)
- | {
- | return ! yylex () + ! yywrap ();
- | }
- configure:5134: result: none needed
- configure:5140: checking whether yytext is a pointer
- configure:5160: gcc -o conftest -g -O2 conftest.c -ldl -luuid -lparted >&5
- /usr/bin/ld: /tmp/ccuOsVeU.o: in function `input':
- /home/pruebas/hurd/build/lex.yy.c:1180: undefined reference to `yywrap'
- /usr/bin/ld: /tmp/ccuOsVeU.o: in function `yylex':
- /home/pruebas/hurd/build/lex.yy.c:871: undefined reference to `yywrap'
- /usr/bin/ld: /tmp/ccuOsVeU.o: in function `main':
- /home/pruebas/hurd/build/conftest.l:17: undefined reference to `yywrap'
- collect2: error: ld returned 1 exit status
- configure:5160: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | #define STDC_HEADERS 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_PARTED_PARTED_H 1
- | #define HAVE_LIBPARTED 1
- | #define HAVE_LIBUUID 1
- | #define HAVE_LIBDL 1
- | /* end confdefs.h. */
- |
- | #define YYTEXT_POINTER 1
- |
- | #line 3 "lex.yy.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 6
- | #define YY_FLEX_SUBMINOR_VERSION 4
- | #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 <stdio.h>
- | #include <string.h>
- | #include <errno.h>
- | #include <stdlib.h>
- |
- | /* end standard C headers. */
- |
- | /* flex integer type definitions */
- |
- | #ifndef FLEXINT_H
- | #define FLEXINT_H
- |
- | /* C99 systems have <inttypes.h>. 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 <inttypes.h>
- | 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;
- |
- | /* 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
- |
- | #ifndef SIZE_MAX
- | #define SIZE_MAX (~(size_t)0)
- | #endif
- |
- | #endif /* ! C99 */
- |
- | #endif /* ! FLEXINT_H */
- |
- | /* begin standard C++ headers. */
- |
- | /* TODO: this is always defined, so inline it */
- | #define yyconst const
- |
- | #if defined(__GNUC__) && __GNUC__ >= 3
- | #define yynoreturn __attribute__((__noreturn__))
- | #else
- | #define yynoreturn
- | #endif
- |
- | /* Returned upon end-of-file. */
- | #define YY_NULL 0
- |
- | /* Promotes a possibly negative, possibly signed char to an
- | * integer in range [0..255] for use as an array index.
- | */
- | #define YY_SC_TO_UI(c) ((YY_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
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k.
- | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- | * Ditto for the __ia64__ case accordingly.
- | */
- | #define YY_BUF_SIZE 32768
- | #else
- | #define YY_BUF_SIZE 16384
- | #endif /* __ia64__ */
- | #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
- |
- | #ifndef YY_TYPEDEF_YY_SIZE_T
- | #define YY_TYPEDEF_YY_SIZE_T
- | typedef size_t yy_size_t;
- | #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)
- | #define YY_LINENO_REWIND_TO(ptr)
- |
- | /* 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_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.
- | */
- | int 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 = NULL; /**< 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 = NULL;
- | 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 ( const char *yy_str );
- | YY_BUFFER_STATE yy_scan_bytes ( const 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 flex_uint8_t YY_CHAR;
- |
- | FILE *yyin = NULL, *yyout = NULL;
- |
- | typedef int yy_state_type;
- |
- | extern int yylineno;
- | int yylineno = 1;
- |
- | extern char *yytext;
- | #ifdef yytext_ptr
- | #undef yytext_ptr
- | #endif
- | #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 yynoreturn yy_fatal_error ( const 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 = (int) (yy_cp - (yytext_ptr)); \
- | (yy_hold_char) = *yy_cp; \
- | *yy_cp = '\0'; \
- | (yy_c_buf_p) = yy_cp;
- | #define YY_NUM_RULES 8
- | #define YY_END_OF_BUFFER 9
- | /* 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 const flex_int16_t yy_acclist[23] =
- | { 0,
- | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
- | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
- | 7, 8
- | } ;
- |
- | static const flex_int16_t yy_accept[14] =
- | { 0,
- | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
- | 20, 23, 23
- | } ;
- |
- | static const YY_CHAR yy_ec[256] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- | 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, 3, 4, 5, 6,
- |
- | 7, 8, 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, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- | 1, 1, 1, 1, 1
- | } ;
- |
- | static const YY_CHAR yy_meta[9] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1
- | } ;
- |
- | static const flex_int16_t yy_base[13] =
- | { 0,
- | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
- | 10, 10
- | } ;
- |
- | static const flex_int16_t yy_def[13] =
- | { 0,
- | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
- | 12, 0
- | } ;
- |
- | static const flex_int16_t yy_nxt[19] =
- | { 0,
- | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | static const flex_int16_t yy_chk[19] =
- | { 0,
- | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
- | 12, 12, 12, 12, 12, 12, 12, 12
- | } ;
- |
- | 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 "conftest.l"
- | #line 460 "lex.yy.c"
- |
- | #define INITIAL 0
- |
- | #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 <unistd.h>
- | #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
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput ( int c, char *buf_ptr );
- |
- | #endif
- |
- | #ifndef yytext_ptr
- | static void yy_flex_strncpy ( char *, const char *, int );
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen ( const char * );
- | #endif
- |
- | #ifndef YY_NO_INPUT
- | #ifdef __cplusplus
- | static int yyinput ( void );
- | #else
- | static int input ( void );
- | #endif
- |
- | #endif
- |
- | /* Amount of stuff to slurp up with each read. */
- | #ifndef YY_READ_BUF_SIZE
- | #ifdef __ia64__
- | /* On IA-64, the buffer size is 16k, not 8k */
- | #define YY_READ_BUF_SIZE 16384
- | #else
- | #define YY_READ_BUF_SIZE 8192
- | #endif /* __ia64__ */
- | #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 do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
- | #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 = (int) fread(buf, 1, (yy_size_t) 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 /*LINTED*/break;
- | #endif
- |
- | #define YY_RULE_SETUP \
- | YY_USER_ACTION
- |
- | /** The main scanner function which does all the work.
- | */
- | YY_DECL
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp, *yy_bp;
- | int yy_act;
- |
- | 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( );
- | }
- |
- | {
- | #line 1 "conftest.l"
- |
- | #line 685 "lex.yy.c"
- |
- | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
- | {
- | (yy_more_len) = 0;
- | if ( (yy_more_flag) )
- | {
- | (yy_more_len) = (int) ((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_state_ptr) = (yy_state_buf);
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | yy_match:
- | do
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | *(yy_state_ptr)++ = yy_current_state;
- | ++yy_cp;
- | }
- | while ( yy_base[yy_current_state] != 10 );
- |
- | 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 2 "conftest.l"
- | { ECHO; }
- | YY_BREAK
- | case 2:
- | YY_RULE_SETUP
- | #line 3 "conftest.l"
- | { REJECT; }
- | YY_BREAK
- | case 3:
- | YY_RULE_SETUP
- | #line 4 "conftest.l"
- | { yymore (); }
- | YY_BREAK
- | case 4:
- | YY_RULE_SETUP
- | #line 5 "conftest.l"
- | { yyless (1); }
- | YY_BREAK
- | case 5:
- | YY_RULE_SETUP
- | #line 6 "conftest.l"
- | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
- | yyless ((input () != 0)); }
- | YY_BREAK
- | case 6:
- | YY_RULE_SETUP
- | #line 8 "conftest.l"
- | { unput (yytext[0]); }
- | YY_BREAK
- | case 7:
- | YY_RULE_SETUP
- | #line 9 "conftest.l"
- | { BEGIN INITIAL; }
- | YY_BREAK
- | case 8:
- | YY_RULE_SETUP
- | #line 10 "conftest.l"
- | ECHO;
- | YY_BREAK
- | #line 794 "lex.yy.c"
- | case YY_STATE_EOF(INITIAL):
- | 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 user's declarations */
- | } /* 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)
- | {
- | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- | char *source = (yytext_ptr);
- | 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), 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_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
- | /* Extend the array by 50%, plus the number we really need. */
- | int 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, (yy_size_t) new_size );
- | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
- | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
- | /* "- 2" to take care of EOB's */
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
- | }
- |
- | (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)
- | {
- | yy_state_type yy_current_state;
- | char *yy_cp;
- |
- | yy_current_state = (yy_start);
- |
- | (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 )
- | {
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + 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 )
- | {
- | int yy_is_jam;
- |
- | 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 >= 13 )
- | yy_c = yy_meta[yy_c];
- | }
- | yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- | yy_is_jam = (yy_current_state == 12);
- | if ( ! yy_is_jam )
- | *(yy_state_ptr)++ = yy_current_state;
- |
- | return yy_is_jam ? 0 : yy_current_state;
- | }
- |
- | #ifndef YY_NO_UNPUT
- |
- | static void yyunput (int c, char * yy_bp )
- | {
- | 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. */
- | int number_to_move = (yy_n_chars) + 2;
- | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
- | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
- | 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) = (int) 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;
- | }
- |
- | #endif
- |
- | #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 = (int) ((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 0;
- |
- | 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);
- |
- | 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( (yy_size_t) (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 );
- | }
- |
- | /* 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)
- | {
- | yy_size_t 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; /* After all that talk, this was set to 1 anyways... */
- | (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. */
- | yy_size_t 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 NULL;
- |
- | 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 = (int) (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 = NULL;
- | 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 (const char * yystr )
- | {
- |
- | return yy_scan_bytes( yystr, (int) 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 yybytes the byte buffer to scan
- | * @param _yybytes_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 (const 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 = (yy_size_t) (_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;
- | }
- |
- | #ifndef YY_EXIT_FAILURE
- | #define YY_EXIT_FAILURE 2
- | #endif
- |
- | static void yynoreturn yy_fatal_error (const char* msg )
- | {
- | 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 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) = NULL;
- | (yy_buffer_stack_top) = 0;
- | (yy_buffer_stack_max) = 0;
- | (yy_c_buf_p) = NULL;
- | (yy_init) = 0;
- | (yy_start) = 0;
- |
- | (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 = NULL;
- | yyout = NULL;
- | #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;
- |
- | 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, const char * s2, int n )
- | {
- |
- | int i;
- | for ( i = 0; i < n; ++i )
- | s1[i] = s2[i];
- | }
- | #endif
- |
- | #ifdef YY_NEED_STRLEN
- | static int yy_flex_strlen (const char * s )
- | {
- | int n;
- | for ( n = 0; s[n]; ++n )
- | ;
- |
- | return n;
- | }
- | #endif
- |
- | void *yyalloc (yy_size_t size )
- | {
- | return 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 realloc(ptr, size);
- | }
- |
- | void yyfree (void * ptr )
- | {
- | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
- | }
- |
- | #define YYTABLES_NAME "yytables"
- |
- | #line 10 "conftest.l"
- |
- | #ifdef YYTEXT_POINTER
- | extern char *yytext;
- | #endif
- | int
- | main (void)
- | {
- | return ! yylex () + ! yywrap ();
- | }
- configure:5168: result: no
- configure:5089: checking for bison
- configure:5105: found /usr/bin/bison
- configure:5116: result: bison -y
- configure:5182: checking for pkg-config
- configure:5200: found /usr/bin/pkg-config
- configure:5212: result: /usr/bin/pkg-config
- configure:5237: checking pkg-config is at least version 0.9.0
- configure:5240: result: yes
- configure:5259: checking for X11
- configure:5266: $PKG_CONFIG --exists --print-errors "x11 xproto"
- configure:5269: $? = 0
- configure:5283: $PKG_CONFIG --exists --print-errors "x11 xproto"
- configure:5286: $? = 0
- configure:5324: result: yes
- configure:5328: checking for xkb base
- configure:5334: $PKG_CONFIG --exists --print-errors "xkeyboard-config"
- configure:5337: $? = 0
- configure:5349: result: /usr/share/X11/xkb
- configure:5357: checking for X11 prefix
- configure:5363: $PKG_CONFIG --exists --print-errors "x11"
- configure:5366: $? = 0
- configure:5378: result: /usr
- configure:5387: checking X11/keysymdef.h usability
- configure:5387: gcc -c -g -O2 conftest.c >&5
- configure:5387: $? = 0
- configure:5387: result: yes
- configure:5387: checking X11/keysymdef.h presence
- configure:5387: gcc -E conftest.c
- configure:5387: $? = 0
- configure:5387: result: yes
- configure:5387: checking for X11/keysymdef.h
- configure:5387: result: yes
- configure:5389: checking for X11/keysymdef.h absolute location
- configure:5395: gcc -E conftest.c
- configure:5395: $? = 0
- configure:5408: result: /usr/include/X11/keysymdef.h
- configure:5425: checking whether AWK is usable
- configure:5428: result: yes
- configure:5446: checking rpc/types.h usability
- configure:5446: gcc -c -g -O2 conftest.c >&5
- configure:5446: $? = 0
- configure:5446: result: yes
- configure:5446: checking rpc/types.h presence
- configure:5446: gcc -E conftest.c
- configure:5446: $? = 0
- configure:5446: result: yes
- configure:5446: checking for rpc/types.h
- configure:5446: result: yes
- configure:5454: checking for library containing clnt_create
- configure:5488: gcc -o conftest -g -O2 conftest.c -ldl -luuid -lparted >&5
- configure:5488: $? = 0
- configure:5505: result: none required
- configure:5542: checking for libdaemon
- configure:5549: $PKG_CONFIG --exists --print-errors "libdaemon"
- configure:5552: $? = 0
- configure:5566: $PKG_CONFIG --exists --print-errors "libdaemon"
- configure:5569: $? = 0
- configure:5607: result: yes
- configure:5619: checking for struct thread_sched_info.last_processor
- configure:5619: gcc -c -g -O2 conftest.c >&5
- conftest.c: In function 'main':
- conftest.c:38:12: error: 'struct thread_sched_info' has no member named 'last_processor'
- 38 | if (ac_aggr.last_processor)
- | ^
- configure:5619: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | #define STDC_HEADERS 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_PARTED_PARTED_H 1
- | #define HAVE_LIBPARTED 1
- | #define HAVE_LIBUUID 1
- | #define HAVE_LIBDL 1
- | #define X11_PREFIX "/usr"
- | #define HAVE_DAEMON 1
- | /* end confdefs.h. */
- | #include <mach/thread_info.h>
- |
- | int
- | main ()
- | {
- | static struct thread_sched_info ac_aggr;
- | if (ac_aggr.last_processor)
- | return 0;
- | ;
- | return 0;
- | }
- configure:5619: gcc -c -g -O2 conftest.c >&5
- conftest.c: In function 'main':
- conftest.c:38:19: error: 'struct thread_sched_info' has no member named 'last_processor'
- 38 | if (sizeof ac_aggr.last_processor)
- | ^
- configure:5619: $? = 1
- configure: failed program was:
- | /* confdefs.h */
- | #define PACKAGE_NAME "GNU Hurd"
- | #define PACKAGE_TARNAME "hurd"
- | #define PACKAGE_VERSION "0.9"
- | #define PACKAGE_STRING "GNU Hurd 0.9"
- | #define PACKAGE_BUGREPORT "[email protected]"
- | #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- | #define HAVE_MIG_RETCODE 1
- | #define HAVE_FILE_EXEC_PATHS 1
- | #define HAVE_EXEC_EXEC_PATHS 1
- | #define HAVE__HURD_EXEC_PATHS 1
- | #define UTIME_NOW -1
- | #define UTIME_OMIT -2
- | #define HAVE_LIBCRYPT 1
- | #define STDC_HEADERS 1
- | #define HAVE_SYS_TYPES_H 1
- | #define HAVE_SYS_STAT_H 1
- | #define HAVE_STDLIB_H 1
- | #define HAVE_STRING_H 1
- | #define HAVE_MEMORY_H 1
- | #define HAVE_STRINGS_H 1
- | #define HAVE_INTTYPES_H 1
- | #define HAVE_STDINT_H 1
- | #define HAVE_UNISTD_H 1
- | #define HAVE_PARTED_PARTED_H 1
- | #define HAVE_LIBPARTED 1
- | #define HAVE_LIBUUID 1
- | #define HAVE_LIBDL 1
- | #define X11_PREFIX "/usr"
- | #define HAVE_DAEMON 1
- | /* end confdefs.h. */
- | #include <mach/thread_info.h>
- |
- | int
- | main ()
- | {
- | static struct thread_sched_info ac_aggr;
- | if (sizeof ac_aggr.last_processor)
- | return 0;
- | ;
- | return 0;
- | }
- configure:5619: result: no
- configure:5633: checking for libblkid
- configure:5640: $PKG_CONFIG --exists --print-errors "blkid"
- configure:5643: $? = 0
- configure:5657: $PKG_CONFIG --exists --print-errors "blkid"
- configure:5660: $? = 0
- configure:5698: result: yes
- configure:5738: checking for libgcrypt-config
- configure:5756: found /usr/bin/libgcrypt-config
- configure:5769: result: /usr/bin/libgcrypt-config
- configure:5786: checking for LIBGCRYPT - version >= 1.6.0
- configure:5820: result: yes (1.8.5)
- configure:5832: checking LIBGCRYPT API version
- configure:5835: result: okay
- configure:5859: WARNING:
- ***
- *** The config script /usr/bin/libgcrypt-config was
- *** built for i686-pc-gnu and thus may not match the
- *** used host i686-unknown-gnu0.9.
- *** You may want to use the configure option --with-libgcrypt-prefix
- *** to specify a matching config script or use $SYSROOT.
- ***
- configure:5883: checking for liblwip
- configure:5890: $PKG_CONFIG --exists --print-errors "lwip"
- configure:5893: $? = 0
- configure:5907: $PKG_CONFIG --exists --print-errors "lwip"
- configure:5910: $? = 0
- configure:5948: result: yes
- configure:6100: creating ./config.status
- ## ---------------------- ##
- ## Running config.status. ##
- ## ---------------------- ##
- This file was extended by GNU Hurd config.status 0.9, which was
- generated by GNU Autoconf 2.69. Invocation command line was
- CONFIG_FILES =
- CONFIG_HEADERS =
- CONFIG_LINKS =
- CONFIG_COMMANDS =
- $ ./config.status
- on debian
- config.status:782: creating config.make
- config.status:782: creating Makeconf
- config.status:782: creating Makefile
- config.status:782: creating acpi/Makefile
- config.status:782: creating auth/Makefile
- config.status:782: creating benchmarks/Makefile
- config.status:782: creating boot/Makefile
- config.status:782: creating build/Makefile
- config.status:782: creating config/Makefile
- config.status:782: creating console-client/Makefile
- config.status:782: creating console/Makefile
- config.status:782: creating daemons/Makefile
- config.status:782: creating defpager/Makefile
- config.status:782: creating devnode/Makefile
- config.status:782: creating doc/Makefile
- config.status:782: creating eth-multiplexer/Makefile
- config.status:782: creating exec/Makefile
- config.status:782: creating ext2fs/Makefile
- config.status:782: creating fatfs/Makefile
- config.status:782: creating fstests/Makefile
- config.status:782: creating ftpfs/Makefile
- config.status:782: creating hostmux/Makefile
- config.status:782: creating hurd/Makefile
- config.status:782: creating include/Makefile
- config.status:782: creating init/Makefile
- config.status:782: creating isofs/Makefile
- config.status:782: creating libbpf/Makefile
- config.status:782: creating libcons/Makefile
- config.status:782: creating libdirmgt/Makefile
- config.status:782: creating libdiskfs/Makefile
- config.status:782: creating libfshelp-tests/Makefile
- config.status:782: creating libfshelp/Makefile
- config.status:782: creating libftpconn/Makefile
- config.status:782: creating libhurd-slab/Makefile
- config.status:782: creating libhurdbugaddr/Makefile
- config.status:782: creating libihash/Makefile
- config.status:782: creating libiohelp/Makefile
- config.status:782: creating libnetfs/Makefile
- config.status:782: creating libpager/Makefile
- config.status:782: creating libpipe/Makefile
- config.status:782: creating libports/Makefile
- config.status:782: creating libps/Makefile
- config.status:782: creating libshouldbeinlibc/Makefile
- config.status:782: creating libstore/Makefile
- config.status:782: creating libthreads/Makefile
- config.status:782: creating libtreefs/Makefile
- config.status:782: creating libtrivfs/Makefile
- config.status:782: creating login/Makefile
- config.status:782: creating lwip/Makefile
- config.status:782: creating mach-defpager/Makefile
- config.status:782: creating nfs/Makefile
- config.status:782: creating nfsd/Makefile
- config.status:782: creating pci-arbiter/Makefile
- config.status:782: creating pfinet/Makefile
- config.status:782: creating pflocal/Makefile
- config.status:782: creating proc/Makefile
- config.status:782: creating procfs/Makefile
- config.status:782: creating release/Makefile
- config.status:782: creating shutdown/Makefile
- config.status:782: creating startup/Makefile
- config.status:782: creating storeio/Makefile
- config.status:782: creating sutils/Makefile
- config.status:782: creating term/Makefile
- config.status:782: creating tmpfs/Makefile
- config.status:782: creating trans/Makefile
- config.status:782: creating usermux/Makefile
- config.status:782: creating utils/Makefile
- ## ---------------- ##
- ## Cache variables. ##
- ## ---------------- ##
- ac_cv_build=i686-unknown-gnu0.9
- ac_cv_c_compiler_gnu=yes
- ac_cv_env_CC_set=
- ac_cv_env_CC_value=
- ac_cv_env_CFLAGS_set=
- ac_cv_env_CFLAGS_value=
- ac_cv_env_CPPFLAGS_set=
- ac_cv_env_CPPFLAGS_value=
- ac_cv_env_CPP_set=
- ac_cv_env_CPP_value=
- ac_cv_env_LDFLAGS_set=
- ac_cv_env_LDFLAGS_value=
- ac_cv_env_LIBS_set=
- ac_cv_env_LIBS_value=
- ac_cv_env_PKG_CONFIG_LIBDIR_set=
- ac_cv_env_PKG_CONFIG_LIBDIR_value=
- ac_cv_env_PKG_CONFIG_PATH_set=
- ac_cv_env_PKG_CONFIG_PATH_value=
- ac_cv_env_PKG_CONFIG_set=
- ac_cv_env_PKG_CONFIG_value=
- ac_cv_env_X11_CFLAGS_set=
- ac_cv_env_X11_CFLAGS_value=
- ac_cv_env_X11_LIBS_set=
- ac_cv_env_X11_LIBS_value=
- ac_cv_env_YACC_set=
- ac_cv_env_YACC_value=
- ac_cv_env_YFLAGS_set=
- ac_cv_env_YFLAGS_value=
- ac_cv_env_build_alias_set=
- ac_cv_env_build_alias_value=
- ac_cv_env_host_alias_set=
- ac_cv_env_host_alias_value=
- ac_cv_env_libblkid_CFLAGS_set=
- ac_cv_env_libblkid_CFLAGS_value=
- ac_cv_env_libblkid_LIBS_set=
- ac_cv_env_libblkid_LIBS_value=
- ac_cv_env_libdaemon_CFLAGS_set=
- ac_cv_env_libdaemon_CFLAGS_value=
- ac_cv_env_libdaemon_LIBS_set=
- ac_cv_env_libdaemon_LIBS_value=
- ac_cv_env_liblwip_CFLAGS_set=
- ac_cv_env_liblwip_CFLAGS_value=
- ac_cv_env_liblwip_LIBS_set=
- ac_cv_env_liblwip_LIBS_value=
- ac_cv_env_target_alias_set=
- ac_cv_env_target_alias_value=
- ac_cv_func__hurd_exec_paths=yes
- ac_cv_func_exec_exec_paths=yes
- ac_cv_func_file_exec_paths=yes
- ac_cv_func_file_futimens=no
- ac_cv_header_X11_keysymdef_h=yes
- ac_cv_header_inttypes_h=yes
- ac_cv_header_memory_h=yes
- ac_cv_header_parted_parted_h=yes
- ac_cv_header_rpc_types_h=yes
- ac_cv_header_stdc=yes
- ac_cv_header_stdint_h=yes
- ac_cv_header_stdlib_h=yes
- ac_cv_header_string_h=yes
- ac_cv_header_strings_h=yes
- ac_cv_header_sys_stat_h=yes
- ac_cv_header_sys_types_h=yes
- ac_cv_header_unistd_h=yes
- ac_cv_host=i686-unknown-gnu0.9
- ac_cv_lib_bz2_BZ2_bzCompress=yes
- ac_cv_lib_crypt_crypt=yes
- ac_cv_lib_dl_dlopen=yes
- ac_cv_lib_lex='none needed'
- ac_cv_lib_ncursesw_initscr=yes
- ac_cv_lib_parted_ped_device_read=yes
- ac_cv_lib_uuid_uuid_generate=yes
- ac_cv_lib_z_deflate=yes
- ac_cv_member_struct_thread_sched_info_last_processor=no
- ac_cv_objext=o
- ac_cv_path_EGREP='/bin/grep -E'
- ac_cv_path_GREP=/bin/grep
- ac_cv_path_LIBGCRYPT_CONFIG=/usr/bin/libgcrypt-config
- ac_cv_path_SED=/bin/sed
- ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
- ac_cv_prog_AWK=gawk
- ac_cv_prog_CPP='gcc -E'
- ac_cv_prog_LEX=flex
- ac_cv_prog_YACC='bison -y'
- ac_cv_prog_ac_ct_AR=ar
- ac_cv_prog_ac_ct_CC=gcc
- ac_cv_prog_ac_ct_LD=ld
- ac_cv_prog_ac_ct_MIG=mig
- ac_cv_prog_ac_ct_OBJCOPY=objcopy
- ac_cv_prog_ac_ct_RANLIB=ranlib
- ac_cv_prog_cc_c89=
- ac_cv_prog_cc_g=yes
- ac_cv_prog_lex_root=lex.yy
- ac_cv_prog_lex_yytext_pointer=no
- ac_cv_search_clnt_create='none required'
- hurd_cv_includedir_ncursesw=/usr/include/ncursesw
- hurd_cv_ld_version_script_option=yes
- hurd_cv_libio=no
- hurd_cv_mig_retcode=yes
- libc_cv_gnu89_inline=-fgnu89-inline
- pkg_cv_X11_CFLAGS=
- pkg_cv_X11_LIBS=-lX11
- pkg_cv_X11_PREFIX=/usr
- pkg_cv_XKB_BASE=/usr/share/X11/xkb
- pkg_cv_libblkid_CFLAGS=-I/usr/include/blkid
- pkg_cv_libblkid_LIBS=-lblkid
- pkg_cv_libdaemon_CFLAGS=-D_REENTRANT
- pkg_cv_libdaemon_LIBS=-ldaemon
- pkg_cv_liblwip_CFLAGS=-I/usr/include/lwip
- pkg_cv_liblwip_LIBS=-llwip
- ## ----------------- ##
- ## Output variables. ##
- ## ----------------- ##
- AR='ar'
- AWK='gawk'
- CC='gcc'
- CFLAGS='-g -O2'
- CPP='gcc -E'
- CPPFLAGS=''
- DEFS='-DPACKAGE_NAME=\"GNU\ Hurd\" -DPACKAGE_TARNAME=\"hurd\" -DPACKAGE_VERSION=\"0.9\" -DPACKAGE_STRING=\"GNU\ Hurd\ 0.9\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"http://www.gnu.org/software/hurd/\" -DHAVE_MIG_RETCODE=1 -DHAVE_FILE_EXEC_PATHS=1 -DHAVE_EXEC_EXEC_PATHS=1 -DHAVE__HURD_EXEC_PATHS=1 -DUTIME_NOW=-1 -DUTIME_OMIT=-2 -DHAVE_LIBCRYPT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_PARTED_PARTED_H=1 -DHAVE_LIBPARTED=1 -DHAVE_LIBUUID=1 -DHAVE_LIBDL=1 -DX11_PREFIX=\"/usr\" -DHAVE_DAEMON=1 -DHAVE_BLKID=1'
- ECHO_C=''
- ECHO_N='-n'
- ECHO_T=''
- EGREP='/bin/grep -E'
- EXEEXT=''
- GREP='/bin/grep'
- HAVE_LIBBZ2='1'
- HAVE_LIBCRYPT='1'
- HAVE_LIBGCRYPT='yes'
- HAVE_LIBLWIP='yes'
- HAVE_LIBZ='1'
- HAVE_SUN_RPC='yes'
- INSTALL_DATA='${INSTALL} -m 644'
- INSTALL_PROGRAM='${INSTALL}'
- INSTALL_SCRIPT='${INSTALL}'
- LD='ld'
- LDFLAGS=''
- LEX='flex'
- LEXLIB=''
- LEX_OUTPUT_ROOT='lex.yy'
- LIBGCRYPT_CFLAGS=''
- LIBGCRYPT_CONFIG='/usr/bin/libgcrypt-config'
- LIBGCRYPT_LIBS='-lgcrypt'
- LIBNCURSESW='-lncursesw'
- LIBOBJS=''
- LIBS='-ldl -luuid -lparted '
- LTLIBOBJS=''
- MIG='mig'
- NCURSESW_INCLUDE='-I/usr/include/ncursesw'
- OBJCOPY='objcopy'
- OBJEXT='o'
- PACKAGE_BUGREPORT='[email protected]'
- PACKAGE_NAME='GNU Hurd'
- PACKAGE_STRING='GNU Hurd 0.9'
- PACKAGE_TARNAME='hurd'
- PACKAGE_URL='http://www.gnu.org/software/hurd/'
- PACKAGE_VERSION='0.9'
- PARTED_LIBS='-lparted -luuid -ldl'
- PATH_SEPARATOR=':'
- PKG_CONFIG='/usr/bin/pkg-config'
- PKG_CONFIG_LIBDIR=''
- PKG_CONFIG_PATH=''
- RANLIB='ranlib'
- SED='/bin/sed'
- SHELL='/bin/bash'
- VERSIONING='no'
- X11_CFLAGS=''
- X11_KEYSYMDEF_H='/usr/include/X11/keysymdef.h'
- X11_LIBS='-lX11'
- XKB_BASE='/usr/share/X11/xkb'
- YACC='bison -y'
- YFLAGS=''
- ac_ct_CC='gcc'
- asm_syntax='i386'
- bindir='${exec_prefix}/bin'
- boot_store_types='device remap part bunzip2 gunzip'
- build='i686-unknown-gnu0.9'
- build_alias=''
- build_cpu='i686'
- build_os='gnu0.9'
- build_vendor='unknown'
- datadir='${datarootdir}'
- datarootdir='${prefix}/share'
- docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
- dvidir='${docdir}'
- enable_profile=''
- enable_static_progs='ext2fs'
- exec_prefix='${prefix}'
- have_x11='yes'
- host='i686-unknown-gnu0.9'
- host_alias=''
- host_cpu='i686'
- host_os='gnu0.9'
- host_vendor='unknown'
- htmldir='${docdir}'
- includedir='${prefix}/include'
- infodir='${datarootdir}/info'
- libblkid_CFLAGS='-I/usr/include/blkid'
- libblkid_LIBS='-lblkid'
- libc_cv_gnu89_inline='-fgnu89-inline'
- libdaemon_CFLAGS='-D_REENTRANT'
- libdaemon_LIBS='-ldaemon'
- libdir='${exec_prefix}/lib'
- libexecdir='${exec_prefix}/libexec'
- liblwip_CFLAGS='-I/usr/include/lwip'
- liblwip_LIBS='-llwip'
- localedir='${datarootdir}/locale'
- localstatedir='${prefix}/var'
- mandir='${datarootdir}/man'
- oldincludedir='/usr/include'
- pdfdir='${docdir}'
- prefix=''
- program_transform_name='s,x,x,'
- psdir='${docdir}'
- runstatedir='${localstatedir}/run'
- sbindir='${exec_prefix}/sbin'
- sharedstatedir='${prefix}/com'
- sysconfdir='${prefix}/etc'
- target_alias=''
- ## ----------- ##
- ## confdefs.h. ##
- ## ----------- ##
- /* confdefs.h */
- #define PACKAGE_NAME "GNU Hurd"
- #define PACKAGE_TARNAME "hurd"
- #define PACKAGE_VERSION "0.9"
- #define PACKAGE_STRING "GNU Hurd 0.9"
- #define PACKAGE_BUGREPORT "[email protected]"
- #define PACKAGE_URL "http://www.gnu.org/software/hurd/"
- #define HAVE_MIG_RETCODE 1
- #define HAVE_FILE_EXEC_PATHS 1
- #define HAVE_EXEC_EXEC_PATHS 1
- #define HAVE__HURD_EXEC_PATHS 1
- #define UTIME_NOW -1
- #define UTIME_OMIT -2
- #define HAVE_LIBCRYPT 1
- #define STDC_HEADERS 1
- #define HAVE_SYS_TYPES_H 1
- #define HAVE_SYS_STAT_H 1
- #define HAVE_STDLIB_H 1
- #define HAVE_STRING_H 1
- #define HAVE_MEMORY_H 1
- #define HAVE_STRINGS_H 1
- #define HAVE_INTTYPES_H 1
- #define HAVE_STDINT_H 1
- #define HAVE_UNISTD_H 1
- #define HAVE_PARTED_PARTED_H 1
- #define HAVE_LIBPARTED 1
- #define HAVE_LIBUUID 1
- #define HAVE_LIBDL 1
- #define X11_PREFIX "/usr"
- #define HAVE_DAEMON 1
- #define HAVE_BLKID 1
- configure: exit 0
Add Comment
Please, Sign In to add comment