From: derui Date: Fri, 5 Jun 2009 16:57:24 +0000 (+0900) Subject: -- utakata::utf8_string::is_ascii_charを追加。 X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=131e88103659e78a1ce2a58fcb6770f772764957;p=simplecms%2Futakata.git -- utakata::utf8_string::is_ascii_charを追加。 -- lexer::parse関数をlexer::lexにリネーム --- diff --git a/.gitignore b/.gitignore index c26af84..1ddeba5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,11 +12,7 @@ /autom4te.cache/traces.1 /autom4te.cache/traces.2 /autoscan-2.63.log -/config.h -/config.h.in /config.h.in~ -/config.log -/config.status /cpu.o /depcomp /gpath @@ -26,7 +22,6 @@ /main.cpp.bak /main.o /missing -/mkinstalldirs /operand.o /stamp-h1 /utakata @@ -51,3 +46,4 @@ /test/utf8_test.o /utf8_string.o /.deps/TextArrayFormat.Po +/config.h diff --git a/GPATH b/GPATH index 0caddac..dcc4a56 100644 Binary files a/GPATH and b/GPATH differ diff --git a/GRTAGS b/GRTAGS index adcb410..ccb0cef 100644 Binary files a/GRTAGS and b/GRTAGS differ diff --git a/GSYMS b/GSYMS index 05b325f..1b37d12 100644 Binary files a/GSYMS and b/GSYMS differ diff --git a/GTAGS b/GTAGS index 2a77e9a..e29228a 100644 Binary files a/GTAGS and b/GTAGS differ diff --git a/common/GRTAGS b/common/GRTAGS index 82f00a2..349fa6d 100644 Binary files a/common/GRTAGS and b/common/GRTAGS differ diff --git a/common/GSYMS b/common/GSYMS index cdd0a51..9e734fe 100644 Binary files a/common/GSYMS and b/common/GSYMS differ diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..ac1816c --- /dev/null +++ b/config.h.in @@ -0,0 +1,61 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if stdbool.h conforms to C99. */ +#undef HAVE_STDBOOL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if the system has the type `_Bool'. */ +#undef HAVE__BOOL + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `unsigned int' if does not define. */ +#undef size_t diff --git a/config.log b/config.log new file mode 100644 index 0000000..c05673d --- /dev/null +++ b/config.log @@ -0,0 +1,633 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by utakata configure 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = localhost +uname -m = i686 +uname -r = 2.6.28-gentoo-r5 +uname -s = Linux +uname -v = #2 SMP Sun May 24 20:35:46 JST 2009 + +/usr/bin/uname -p = Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz +/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/local/sbin +PATH: /usr/sbin +PATH: /sbin +PATH: /bin +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /usr/local/X11R6/bin +PATH: /usr/X11R6/bin + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1883: checking for a BSD-compatible install +configure:1951: result: /usr/bin/install -c +configure:1962: checking whether build environment is sane +configure:2005: result: yes +configure:2030: checking for a thread-safe mkdir -p +configure:2069: result: /bin/mkdir -p +configure:2082: checking for gawk +configure:2098: found /bin/gawk +configure:2109: result: gawk +configure:2120: checking whether make sets $(MAKE) +configure:2142: result: yes +configure:2377: checking for g++ +configure:2393: found /usr/bin/g++ +configure:2404: result: g++ +configure:2431: checking for C++ compiler version +configure:2439: g++ --version >&5 +g++ (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2) +Copyright (C) 2006 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:2443: $? = 0 +configure:2450: g++ -v >&5 +Using built-in specs. +Target: i686-pc-linux-gnu +Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu +Thread model: posix +gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2) +configure:2454: $? = 0 +configure:2461: g++ -V >&5 +g++: '-V' option must have argument +configure:2465: $? = 1 +configure:2488: checking for C++ compiler default output file name +configure:2510: g++ conftest.cpp >&5 +configure:2514: $? = 0 +configure:2552: result: a.out +configure:2571: checking whether the C++ compiler works +configure:2581: ./a.out +configure:2585: $? = 0 +configure:2604: result: yes +configure:2611: checking whether we are cross compiling +configure:2613: result: no +configure:2616: checking for suffix of executables +configure:2623: g++ -o conftest conftest.cpp >&5 +configure:2627: $? = 0 +configure:2653: result: +configure:2659: checking for suffix of object files +configure:2685: g++ -c conftest.cpp >&5 +configure:2689: $? = 0 +configure:2714: result: o +configure:2718: checking whether we are using the GNU C++ compiler +configure:2747: g++ -c conftest.cpp >&5 +configure:2754: $? = 0 +configure:2771: result: yes +configure:2780: checking whether g++ accepts -g +configure:2810: g++ -c -g conftest.cpp >&5 +configure:2817: $? = 0 +configure:2918: result: yes +configure:2952: checking for style of include used by make +configure:2980: result: GNU +configure:3005: checking dependency style of g++ +configure:3096: result: gcc3 +configure:3159: checking for gcc +configure:3175: found /usr/bin/gcc +configure:3186: result: gcc +configure:3418: checking for C compiler version +configure:3426: gcc --version >&5 +gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2) +Copyright (C) 2006 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:3430: $? = 0 +configure:3437: gcc -v >&5 +Using built-in specs. +Target: i686-pc-linux-gnu +Configured with: /var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu +Thread model: posix +gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2) +configure:3441: $? = 0 +configure:3448: gcc -V >&5 +gcc: '-V' option must have argument +configure:3452: $? = 1 +configure:3455: checking whether we are using the GNU C compiler +configure:3484: gcc -c conftest.c >&5 +configure:3491: $? = 0 +configure:3508: result: yes +configure:3517: checking whether gcc accepts -g +configure:3547: gcc -c -g conftest.c >&5 +configure:3554: $? = 0 +configure:3655: result: yes +configure:3672: checking for gcc option to accept ISO C89 +configure:3746: gcc -c -g -O2 conftest.c >&5 +configure:3753: $? = 0 +configure:3776: result: none needed +configure:3796: checking dependency style of gcc +configure:3887: result: gcc3 +configure:3914: checking how to run the C preprocessor +configure:3954: gcc -E conftest.c +configure:3961: $? = 0 +configure:3992: gcc -E conftest.c +conftest.c:8:28: error: ac_nonexistent.h: No such file or directory +configure:3999: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "utakata" +| #define PACKAGE_TARNAME "utakata" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "utakata 0.0.1" +| #define PACKAGE_BUGREPORT "BUG-REPORT-ADDRESS" +| /* end confdefs.h. */ +| #include +configure:4032: result: gcc -E +configure:4061: gcc -E conftest.c +configure:4068: $? = 0 +configure:4099: gcc -E conftest.c +conftest.c:8:28: error: ac_nonexistent.h: No such file or directory +configure:4106: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "utakata" +| #define PACKAGE_TARNAME "utakata" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "utakata 0.0.1" +| #define PACKAGE_BUGREPORT "BUG-REPORT-ADDRESS" +| /* end confdefs.h. */ +| #include +configure:4146: checking for grep that handles long lines and -e +configure:4206: result: /bin/grep +configure:4211: checking for egrep +configure:4275: result: /bin/grep -E +configure:4280: checking for ANSI C header files +configure:4310: gcc -c -g -O2 conftest.c >&5 +configure:4317: $? = 0 +configure:4416: gcc -o conftest -g -O2 conftest.c >&5 +configure:4420: $? = 0 +configure:4426: ./conftest +configure:4430: $? = 0 +configure:4448: result: yes +configure:4472: checking for sys/types.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for sys/stat.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for stdlib.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for string.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for memory.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for strings.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for inttypes.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for stdint.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4472: checking for unistd.h +configure:4493: gcc -c -g -O2 conftest.c >&5 +configure:4500: $? = 0 +configure:4517: result: yes +configure:4531: checking for stdbool.h that conforms to C99 +configure:4626: gcc -c -g -O2 conftest.c >&5 +configure:4633: $? = 0 +configure:4648: result: yes +configure:4650: checking for _Bool +configure:4678: gcc -c -g -O2 conftest.c >&5 +configure:4685: $? = 0 +configure:4712: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:54: error: expected expression before ')' token +configure:4719: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "utakata" +| #define PACKAGE_TARNAME "utakata" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "utakata 0.0.1" +| #define PACKAGE_BUGREPORT "BUG-REPORT-ADDRESS" +| #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 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((_Bool))) +| return 0; +| ; +| return 0; +| } +configure:4742: result: yes +configure:4761: checking for inline +configure:4787: gcc -c -g -O2 conftest.c >&5 +configure:4794: $? = 0 +configure:4812: result: inline +configure:4831: checking for size_t +configure:4859: gcc -c -g -O2 conftest.c >&5 +configure:4866: $? = 0 +configure:4893: gcc -c -g -O2 conftest.c >&5 +conftest.c: In function 'main': +conftest.c:56: error: expected expression before ')' token +configure:4900: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| #define PACKAGE_NAME "utakata" +| #define PACKAGE_TARNAME "utakata" +| #define PACKAGE_VERSION "0.0.1" +| #define PACKAGE_STRING "utakata 0.0.1" +| #define PACKAGE_BUGREPORT "BUG-REPORT-ADDRESS" +| #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__BOOL 1 +| #define HAVE_STDBOOL_H 1 +| /* end confdefs.h. */ +| #include +| #ifdef HAVE_SYS_TYPES_H +| # include +| #endif +| #ifdef HAVE_SYS_STAT_H +| # include +| #endif +| #ifdef STDC_HEADERS +| # include +| # include +| #else +| # ifdef HAVE_STDLIB_H +| # include +| # endif +| #endif +| #ifdef HAVE_STRING_H +| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #ifdef HAVE_STRINGS_H +| # include +| #endif +| #ifdef HAVE_INTTYPES_H +| # include +| #endif +| #ifdef HAVE_STDINT_H +| # include +| #endif +| #ifdef HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if (sizeof ((size_t))) +| return 0; +| ; +| return 0; +| } +configure:4923: result: yes +configure:5063: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by utakata config.status 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on localhost + +config.status:776: creating Makefile +config.status:776: creating test/Makefile +config.status:776: creating config.h +config.status:998: config.h is unchanged +config.status:1050: executing depfiles commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_c_compiler_gnu=yes +ac_cv_c_inline=inline +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CCC_set= +ac_cv_env_CCC_value= +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_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_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_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_header_inttypes_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdbool_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_objext=o +ac_cv_path_EGREP='/bin/grep -E' +ac_cv_path_GREP=/bin/grep +ac_cv_path_install='/usr/bin/install -c' +ac_cv_path_mkdir=/bin/mkdir +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_cc_c89= +ac_cv_prog_cc_g=yes +ac_cv_prog_cxx_g=yes +ac_cv_prog_make_make_set=yes +ac_cv_type__Bool=yes +ac_cv_type_size_t=yes +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/derui/develop/sdl/missing --run aclocal-1.10' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/derui/develop/sdl/missing --run tar' +AUTOCONF='${SHELL} /home/derui/develop/sdl/missing --run autoconf' +AUTOHEADER='${SHELL} /home/derui/develop/sdl/missing --run autoheader' +AUTOMAKE='${SHELL} /home/derui/develop/sdl/missing --run automake-1.10' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='-g -O2' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/bin/grep -E' +EXEEXT='' +GREP='/bin/grep' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' +LDFLAGS='' +LIBOBJS='' +LIBS='' +LTLIBOBJS='' +MAKEINFO='${SHELL} /home/derui/develop/sdl/missing --run makeinfo' +MKDIR_P='/bin/mkdir -p' +OBJEXT='o' +PACKAGE='utakata' +PACKAGE_BUGREPORT='BUG-REPORT-ADDRESS' +PACKAGE_NAME='utakata' +PACKAGE_STRING='utakata 0.0.1' +PACKAGE_TARNAME='utakata' +PACKAGE_VERSION='0.0.1' +PATH_SEPARATOR=':' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='' +VERSION='0.0.1' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__isrc='' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build_alias='' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +dvidir='${docdir}' +exec_prefix='${prefix}' +host_alias='' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +install_sh='$(SHELL) /home/derui/develop/sdl/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +mkdir_p='/bin/mkdir -p' +oldincludedir='/usr/include' +pdfdir='${docdir}' +prefix='/usr/local' +program_transform_name='s,x,x,' +psdir='${docdir}' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_NAME "utakata" +#define PACKAGE_TARNAME "utakata" +#define PACKAGE_VERSION "0.0.1" +#define PACKAGE_STRING "utakata 0.0.1" +#define PACKAGE_BUGREPORT "BUG-REPORT-ADDRESS" +#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__BOOL 1 +#define HAVE_STDBOOL_H 1 + +configure: exit 0 + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by utakata config.status 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status test/Makefile depfiles + +on localhost + +config.status:776: creating test/Makefile +config.status:1050: executing depfiles commands + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by utakata config.status 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status test/Makefile depfiles + +on localhost + +config.status:776: creating test/Makefile +config.status:1050: executing depfiles commands + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by utakata config.status 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status test/Makefile depfiles + +on localhost + +config.status:776: creating test/Makefile +config.status:1050: executing depfiles commands + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by utakata config.status 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status Makefile depfiles + +on localhost + +config.status:776: creating Makefile +config.status:1050: executing depfiles commands diff --git a/config.status b/config.status new file mode 100755 index 0000000..9e6c64c --- /dev/null +++ b/config.status @@ -0,0 +1,1195 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by utakata $as_me 0.0.1, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_files=" Makefile test/Makefile" +config_headers=" config.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTION]... [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +ac_cs_version="\ +utakata config.status 0.0.1 +configured by ./configure, generated by GNU Autoconf 2.63, + with options \"\" + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/home/derui/develop/sdl' +srcdir='.' +INSTALL='/usr/bin/install -c' +MKDIR_P='/bin/mkdir -p' +AWK='gawk' +test -n "$AWK" || AWK=awk +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { $as_echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + set X '/bin/sh' './configure' $ac_configure_extra_args --no-create --no-recursion + shift + $as_echo "running CONFIG_SHELL=/bin/sh $*" >&6 + CONFIG_SHELL='/bin/sh' + export CONFIG_SHELL + exec "$@" +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# +AMDEP_TRUE="" ac_aux_dir="." + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; + + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +cat >>"$tmp/subs1.awk" <<\_ACAWK && +S["LTLIBOBJS"]="" +S["LIBOBJS"]="" +S["EGREP"]="/bin/grep -E" +S["GREP"]="/bin/grep" +S["CPP"]="gcc -E" +S["am__fastdepCC_FALSE"]="#" +S["am__fastdepCC_TRUE"]="" +S["CCDEPMODE"]="depmode=gcc3" +S["ac_ct_CC"]="gcc" +S["CFLAGS"]="-g -O2" +S["CC"]="gcc" +S["am__fastdepCXX_FALSE"]="#" +S["am__fastdepCXX_TRUE"]="" +S["CXXDEPMODE"]="depmode=gcc3" +S["AMDEPBACKSLASH"]="\\" +S["AMDEP_FALSE"]="#" +S["AMDEP_TRUE"]="" +S["am__quote"]="" +S["am__include"]="include" +S["DEPDIR"]=".deps" +S["OBJEXT"]="o" +S["EXEEXT"]="" +S["ac_ct_CXX"]="g++" +S["CPPFLAGS"]="" +S["LDFLAGS"]="" +S["CXXFLAGS"]="-g -O2" +S["CXX"]="g++" +S["am__untar"]="${AMTAR} xf -" +S["am__tar"]="${AMTAR} chof - \"$$tardir\"" +S["AMTAR"]="${SHELL} /home/derui/develop/sdl/missing --run tar" +S["am__leading_dot"]="." +S["SET_MAKE"]="" +S["AWK"]="gawk" +S["mkdir_p"]="/bin/mkdir -p" +S["MKDIR_P"]="/bin/mkdir -p" +S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" +S["STRIP"]="" +S["install_sh"]="$(SHELL) /home/derui/develop/sdl/install-sh" +S["MAKEINFO"]="${SHELL} /home/derui/develop/sdl/missing --run makeinfo" +S["AUTOHEADER"]="${SHELL} /home/derui/develop/sdl/missing --run autoheader" +S["AUTOMAKE"]="${SHELL} /home/derui/develop/sdl/missing --run automake-1.10" +S["AUTOCONF"]="${SHELL} /home/derui/develop/sdl/missing --run autoconf" +S["ACLOCAL"]="${SHELL} /home/derui/develop/sdl/missing --run aclocal-1.10" +S["VERSION"]="0.0.1" +S["PACKAGE"]="utakata" +S["CYGPATH_W"]="echo" +S["am__isrc"]="" +S["INSTALL_DATA"]="${INSTALL} -m 644" +S["INSTALL_SCRIPT"]="${INSTALL}" +S["INSTALL_PROGRAM"]="${INSTALL}" +S["target_alias"]="" +S["host_alias"]="" +S["build_alias"]="" +S["LIBS"]="" +S["ECHO_T"]="" +S["ECHO_N"]="-n" +S["ECHO_C"]="" +S["DEFS"]="-DHAVE_CONFIG_H" +S["mandir"]="${datarootdir}/man" +S["localedir"]="${datarootdir}/locale" +S["libdir"]="${exec_prefix}/lib" +S["psdir"]="${docdir}" +S["pdfdir"]="${docdir}" +S["dvidir"]="${docdir}" +S["htmldir"]="${docdir}" +S["infodir"]="${datarootdir}/info" +S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" +S["oldincludedir"]="/usr/include" +S["includedir"]="${prefix}/include" +S["localstatedir"]="${prefix}/var" +S["sharedstatedir"]="${prefix}/com" +S["sysconfdir"]="${prefix}/etc" +S["datadir"]="${datarootdir}" +S["datarootdir"]="${prefix}/share" +S["libexecdir"]="${exec_prefix}/libexec" +S["sbindir"]="${exec_prefix}/sbin" +S["bindir"]="${exec_prefix}/bin" +S["program_transform_name"]="s,x,x," +S["prefix"]="/usr/local" +S["exec_prefix"]="${prefix}" +S["PACKAGE_BUGREPORT"]="BUG-REPORT-ADDRESS" +S["PACKAGE_STRING"]="utakata 0.0.1" +S["PACKAGE_VERSION"]="0.0.1" +S["PACKAGE_TARNAME"]="utakata" +S["PACKAGE_NAME"]="utakata" +S["PATH_SEPARATOR"]=":" +S["SHELL"]="/bin/sh" +_ACAWK +cat >>"$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { +D["PACKAGE_NAME"]=" \"utakata\"" +D["PACKAGE_TARNAME"]=" \"utakata\"" +D["PACKAGE_VERSION"]=" \"0.0.1\"" +D["PACKAGE_STRING"]=" \"utakata 0.0.1\"" +D["PACKAGE_BUGREPORT"]=" \"BUG-REPORT-ADDRESS\"" +D["STDC_HEADERS"]=" 1" +D["HAVE_SYS_TYPES_H"]=" 1" +D["HAVE_SYS_STAT_H"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_STRING_H"]=" 1" +D["HAVE_MEMORY_H"]=" 1" +D["HAVE_STRINGS_H"]=" 1" +D["HAVE_INTTYPES_H"]=" 1" +D["HAVE_STDINT_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["HAVE__BOOL"]=" 1" +D["HAVE_STDBOOL_H"]=" 1" + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { + line = $ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK + { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 +$as_echo "$as_me: error: could not setup config headers machinery" >&2;} + { (exit 1); exit 1; }; } +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + ac_file_inputs="$ac_file_inputs '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac +ac_sed_extra="/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 +$as_echo "$as_me: error: could not create -" >&2;} + { (exit 1); exit 1; }; } + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files +# are listed without --file. Let's play safe and only enable the eval +# if we detect the quoting. +case $CONFIG_FILES in +*\'*) eval set x "$CONFIG_FILES" ;; +*) set x $CONFIG_FILES ;; +esac +shift +for mf +do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } diff --git a/lexeme.h b/lexeme.h new file mode 100644 index 0000000..c8dbab9 --- /dev/null +++ b/lexeme.h @@ -0,0 +1,449 @@ +#ifndef _LEXEME_H_ +#define _LEXEME_H_ + +#include "smart_ptr.h" + +namespace utakata { + + namespace lexeme { + + class utakata::utf8_string::CUTF8InputStream; + class utakata::utf8_string::CUTF8String; + class CLexeme; + + // lexer名前空間で使用されるそれぞれの終端記号と + // それらを解析するための関数オブジェクトを定義する。 + + struct CIdentityLexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + + - * + | + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CInitialLexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + + - | + | + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CConstituentLexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + + - + | 〈any character whose Unicode scalar value is greater than + 127, and whose category is Lu, Ll, Lt, Lm, Lo, Mn, + Nl, No, Pd, Pc, Po, Sc, Sm, Sk, So, or Co〉 + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CLetterlexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + + - a | b | c | ... | z + | A | B | C | ... | Z + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CSpecialInitialLexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + - ! | $ | % | & | * | / | : | < | = + | > | ? | ^ | _ | ~ + + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CDigitlexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + - 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CHexDigitLexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + - + | a | A | b | B | c | C | d | D | e | E | f + | F + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CSpecialSubsequentLexer + { + /* + を解釈するためのfunctor。 + は次のBNF構文で定義される。 + → + | - | . | @ + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CInlineHexEscapeLexer + { + /* + を解釈するためのfunctor + は次のBNF構文で定義される。 + - \x; + */ + smart_ptr operator()(smart_ptr& stream); + }; + + struct CHexScalarValueLexer + { + //を解釈するためのfunctor。 + //は次のBNF構文で定義される。 + // - + + smart_ptr operator()(smart_ptr& stream); + }; + + struct CBooleanLexer + { + // を解釈するためのfunctor。 + // は次のBNF構文で定義される。 + // - #t | #T | #f | #F + smart_ptr operator()(smart_ptr& stream); + }; + + struct CCharactorLexer + { + // を解釈するためのfunctor。 + // は次のBNF構文で定義される。 + // - #\ + // | #\ + // | #\x + smart_ptr operator()(smart_ptr& stream); + }; + + struct CCharactorNameLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - nul | alarm | backspace | tab +// | linefeed | newline | vtab | page | return +// | esc | space | delete + + smart_ptr operator()(smart_ptr& stream); + }; + + struct CStringlexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - " * " + smart_ptr operator()(smart_ptr& stream); + }; + + struct CStringElementLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// | \a | \b | \t | \n | \v | \f | \r +// | \" | \\ +// | \* +// * +// | + smart_ptr operator()(smart_ptr& stream); + }; + + struct CIntralineWhitespaceLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// | + smart_ptr operator()(smart_ptr& stream); + }; + + struct CDelimiterlexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - ( | ) | [ | ] | " | ; | # +// | + smart_ptr operator()(smart_ptr& stream); + }; + + struct CWhitespaceLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// | | |
+// | | +// | + smart_ptr operator()(smart_ptr& stream); + }; + + struct CLineEndingLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - | +// | | +// | | + smart_ptr operator()(smart_ptr& stream); + }; + + struct CCommentLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - ; 〈all subsequent characters up to a +// or 〉 +// | +// | #; +// | #!r6rs + smart_ptr operator()(smart_ptr& stream); + }; + + struct CNestedCommentLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - #| +// * |# + smart_ptr operator()(smart_ptr& stream); + }; + + struct CCommentTextLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - 〈character sequence not containing +// #| or |#〉 + smart_ptr operator()(smart_ptr& stream); + }; + + struct CCommentContLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - + smart_ptr operator()(smart_ptr& stream); + }; + + + struct CNumberLexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - | +// | | + smart_ptr operator()(smart_ptr& stream); + }; + + struct CNum2Lexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// - | @ +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// - +// | + | - +// - nan.0 | inf.0 +// - +// | / +// | +// - +// | . + +// | + . * +// - + +// - +// | + +// - +// | + +// - e | E | s | S | f | F +// | d | D | l | L +// - +// | | + +// - | + | - +// - +// | #i| #I | #e| #E +// - #b| #B +// - 0 | 1 + smart_ptr operator()(smart_ptr& stream); + }; + + struct CNum8Lexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// - | @ +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// - +// | + | - +// - nan.0 | inf.0 +// - +// | / +// | +// - +// | . + +// | + . * +// - + +// - +// | + +// - +// | + +// - e | E | s | S | f | F +// | d | D | l | L +// - +// | | + +// - | + | - +// - +// | #i| #I | #e| #E +// - #b| #B +// - 0 | 1 + smart_ptr operator()(smart_ptr& stream); + }; + + struct CNum10Lexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// - | @ +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// - +// | + | - +// - nan.0 | inf.0 +// - +// | / +// | +// - +// | . + +// | + . * +// - + +// - +// | + +// - +// | + +// - e | E | s | S | f | F +// | d | D | l | L +// - +// | | + +// - | + | - +// - +// | #i| #I | #e| #E +// - #b| #B +// - 0 | 1 + smart_ptr operator()(smart_ptr& stream); + }; + + struct CNum16Lexer + { +// を解釈するためのfunctor。 +// は次のBNF構文で定義される。 +// - +// - | @ +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// | + i | - i +// - +// | + | - +// - nan.0 | inf.0 +// - +// | / +// | +// - +// | . + +// | + . * +// - + +// - +// | + +// - +// | + +// - e | E | s | S | f | F +// | d | D | l | L +// - +// | | + +// - | + | - +// - +// | #i| #I | #e| #E +// - #b| #B +// - 0 | 1 + smart_ptr operator()(smart_ptr& stream); + }; + + //====================================================================== + + class CLexeme + { + // 非終端記号、及び終端記号を表す。 + // とりあえず最もシンプルな形を取るよ。 + public: + ILexeme(const utakata::utf8_string::CUTF8String& str, int id); + virtual ~ILexeme(){} + + // 終端記号、非終端記号のIDを取得する。 + int getID() const; + + // そのものを表す文字列を返す。 + const utakata::utf8_string::CUTF8String& getString() const; + + private: + + // pimplイディオムを使用する。 + struct Impl; + smart_ptr pimpl_; + }; + + }; + +}; + +#endif /* _LEXEME_H_ */ diff --git a/lexer.h b/lexer.h index adb5a9e..1135618 100755 --- a/lexer.h +++ b/lexer.h @@ -5,52 +5,50 @@ namespace utakata { - class CLexer - { - /** - scheme構文の字句解析器。 - 単純な字句解析器として働く。ストリームから文字列を読みだし、 - BNF構文に基づいたそれぞれのオブジェクトに変換される。 - Schemeの構文解析処理は、どちらかというとこの字句解析が大半を占める。 - それぞれの字句解析は、該当するオブジェクトに変換される。 - 処理としてはそれほど難しくはない、と思いたい。 - */ - public: - CLexer(); - virtual ~CLexer(); - - /** - 渡されたUTF8を解釈するstreamから、データを解釈して、結果を返す。 - 結果は、smart_ptrで返される。 - */ - smart_ptr parse(smart_ptr& stream); - - private: - - // CLexerは、それぞれの非終端記号に該当するfunctorによって解釈される。 - // 一つのfunctorは、それぞれの非終端記号、もしくは終端記号を解釈することで、 - // 実際の解釈が行われる。 - + namespace lexer { + + class CLexer + { + /** + scheme構文の字句解析器。 + 単純な字句解析器として働く。ストリームから文字列を読みだし、 + BNF構文に基づいたそれぞれのオブジェクトに変換される。 + Schemeの構文解析処理は、どちらかというとこの字句解析が大半を占める。 + それぞれの字句解析は、該当するオブジェクトに変換される。 + 処理としてはそれほど難しくはない、と思いたい。 + + 基本方針としては、シンプル->リファクタリングを繰り返すことを基本とする。 + なので、最初はlex関数一つしか無いが、状況に応じて随時メンバ関数を増やしたりfunctor + として分離させたりする。 + でも基本的にこれひとつで済むようにした方が楽かもしんない。 + */ + public: + CLexer(); + virtual ~CLexer(); + + /** + 渡されたUTF8を解釈するstreamから、データを解釈して、結果を返す。 + 結果は、smart_ptrで返される。 + */ + smart_ptr lex(smart_ptr& stream); + + private: - }; + }; + + class ILexeme + { + // 非終端記号、及び終端記号を表すベースクラス。 + public: + ILexeme(); + virtual ~ILexeme(){} + + // 終端記号、非終端記号のIDを取得する。 + virtual int getID() const = 0; - struct CLexemeLexer - { - /** - を解釈するfunctor。 - は以下のBNF構文で構成される。 - 以下の内、さらに別の非終端記号で表現されている構文は、さらに別のfunctorが - 内部から呼びだされる。 - 多重再帰になってしまうが、基本的にループするような構文ではないため、 - LALRでなくとも特に問題ない。 - - | | - | | - | ( | ) | [ | ] | #( | #vu8( | ’ | ‘ | , | ,@ | . - | #’ | #‘ | #, | #,@ - - */ - - smart_ptr operator()(smart_ptr& stream); + // そのものを表す文字列を返す。 + virtual const CUTF8String getString() const = 0; + }; }; diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 0000000..ef7e16f --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,161 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2006-05-11.19 + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" +errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp=$pathcomp/ + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/test/GPATH b/test/GPATH index 4b8dbcd..3786bbc 100644 Binary files a/test/GPATH and b/test/GPATH differ diff --git a/test/GRTAGS b/test/GRTAGS index cac14c4..855dc45 100644 Binary files a/test/GRTAGS and b/test/GRTAGS differ diff --git a/test/GSYMS b/test/GSYMS index 5c6aa5f..f2225c6 100644 Binary files a/test/GSYMS and b/test/GSYMS differ diff --git a/test/GTAGS b/test/GTAGS index 5064b07..f3711c1 100644 Binary files a/test/GTAGS and b/test/GTAGS differ diff --git a/test/utf8_string_test b/test/utf8_string_test index 4e983ff..6917983 100755 Binary files a/test/utf8_string_test and b/test/utf8_string_test differ diff --git a/test/utf8_string_test.cpp b/test/utf8_string_test.cpp index 06af97a..c6f0c48 100644 --- a/test/utf8_string_test.cpp +++ b/test/utf8_string_test.cpp @@ -87,11 +87,18 @@ bool utf8_string_util_test(smart_ptr asserter) utakata::utf8_string::CUTF8String str(stream.read(5)); utakata::utf8_string::CUTF8String str2(stream.read(3)); + utakata::utf8_string::CUTF8String str3 = str; // 挿入してみる。 str.insert(str.begin(), str2.begin(), str2.end()); asserter->check(str.toStr(), "ssおあいうえs"); + str3.insert(str3.begin() + 1, str2.begin(), str2.begin() + 1); + asserter->check(str3.toStr(), "あsいうえs"); + + str3.insert(str3.end(), str2.begin(), str2.end()); + asserter->check(str3.toStr(), "あsいうえsssお"); + return asserter->isOk(); } diff --git a/utf8_string.h b/utf8_string.h index 9d56335..63d51ef 100644 --- a/utf8_string.h +++ b/utf8_string.h @@ -89,6 +89,10 @@ namespace utakata { long utf16_code_; }; + // 渡されたCUTF8Charがasciiコードの範囲内に収まっているかどうかを返す。 + bool is_ascii_char(const CUTF8Char& ch); + + //================================================================================ class CUTF8String { @@ -122,6 +126,7 @@ namespace utakata { const_utf8iterator begin() const {return chars_.begin();} utf8iterator begin() {return chars_.begin();} + // 末尾のイテレータを取得する。 const_utf8iterator end() const {return chars_.end();} utf8iterator end() {return chars_.end();} diff --git a/utf8_string_test.cpp b/utf8_string_test.cpp new file mode 100644 index 0000000..518241a --- /dev/null +++ b/utf8_string_test.cpp @@ -0,0 +1,118 @@ +#include +#include +#include +#include + + +#include "../simpletest.h" + +#include "../utf8.h" + +#include "../utf8_string.h" +#include "../TextArrayFormat.h" + +bool utf8_multichar_test(smart_ptr asserter) +{ + + std::string tmp("あいuえお"); + // マルチバイト文字列を正しく読みだせるかどうかのチェックを + // 含めたテスト + smart_ptr ss(new std::stringstream(tmp)); + + utakata::utf8::CUTF8InputStream stream(ss); + + // 単独のreadを試す。 + utakata::utf8_string::CUTF8Char ch(stream.read()); + asserter->check(ch.toUTF16Code(), utakata::utf8::generateUTF8Code("あ")); + // peekが問題なく働いていることのテスト + utakata::utf8_string::CUTF8Char ch2(stream.peek()); + asserter->check(ch2.toUTF16Code(), utakata::utf8::generateUTF8Code("い")); + utakata::utf8_string::CUTF8Char ch3(stream.read()); + asserter->check(ch3.toUTF16Code(), utakata::utf8::generateUTF8Code("い")); + + // asciiだとしても問題無く読みだせるはず。 + utakata::utf8_string::CUTF8Char ch4(stream.peek()); + asserter->check(ch4.toUTF16Code(), 'u'); + + // ascii文字の範囲であるかどうかを判定する関数のテスト。 + asserter->check(utakata::utf8_string::is_ascii_char(ch4), true); + asserter->check(utakata::utf8_string::is_ascii_char(ch), false); + + // 同一コードなので比較して同じになるはず。 + asserter->check(ch == ch2, false, "chとch2が異なる"); + asserter->check(ch < ch2, true , "chよりch2が大きいはず"); + + // 文字として直接返せる。ただし比較はstd::stringでしか行えない。 + asserter->check(ch2.toStr(), "い"); + + return asserter->isOk(); +} + +bool utf8_string_test(smart_ptr asserter) +{ + // マルチバイトとascii文字の混在文字も正しく扱うことのできる + // CUTF8Stringのテスト + + std::string tmp("あいうえsssお"); + + smart_ptr ss(new std::stringstream(tmp)); + utakata::utf8::CUTF8InputStream stream(ss); + + utakata::utf8_string::CUTF8String str(stream.read(5)); + asserter->check(str.begin()->toStr(), "あ"); + asserter->check(str.size(), 5); + + // 自分自身との加算でも問題ないことを確認する。 + str += str; + asserter->check(str[5].toStr(), "あ"); + + // 本当に基本的なもの以外は、同一の名前空間内に関数が用意されている。 + // utf8_stringから返されるのは、UTF8のバイト列を設定した文字列であると + // する。 + asserter->check(utakata::utf8_string::substring(str,0,2), "あい"); + asserter->check(utakata::utf8_string::substring(str,1,2), "いう"); + asserter->check(utakata::utf8_string::substring(str, 2), "うえsあいうえs"); + + // 文字列とするのは自身の関数だけで可能。 + asserter->check(str.toStr(), "あいうえsあいうえs"); + + return asserter->isOk(); +} + +bool utf8_string_util_test(smart_ptr asserter) +{ + // CUTF8Stringと共に利用するためのユーティリティ関数の操作を + // 行う。 + + std::string tmp("あいうえsssお"); + + smart_ptr ss(new std::stringstream(tmp)); + utakata::utf8::CUTF8InputStream stream(ss); + + utakata::utf8_string::CUTF8String str(stream.read(5)); + utakata::utf8_string::CUTF8String str2(stream.read(3)); + utakata::utf8_string::CUTF8String str3 = str; + + // 挿入してみる。 + str.insert(str.begin(), str2.begin(), str2.end()); + asserter->check(str.toStr(), "ssおあいうえs"); + + str3.insert(str3.begin() + 1, str2.begin(), str2.begin() + 1); + asserter->check(str3.toStr(), "あsいうえs"); + + str3.insert(str3.end(), str2.begin(), str2.end()); + asserter->check(str3.toStr(), "あsいうえsssお"); + + return asserter->isOk(); +} + + +int main(int argc, char *argv[]) +{ + simpletest::CSimpleTestSuite suite("UTF-8 文字列テスト"); + suite.addTester(sfcr::screate(utf8_multichar_test, suite.getAsserter())); + suite.addTester(sfcr::screate(utf8_string_test, suite.getAsserter())); + suite.addTester(sfcr::screate(utf8_string_util_test, suite.getAsserter())); + suite.run(); + return 0; +}