enhanced regular expression handler
This commit is contained in:
parent
b2e41d43f2
commit
b0a03e0b4d
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -304,7 +304,7 @@ distclean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -329,7 +329,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -493,7 +493,8 @@ distdir: $(DISTFILES)
|
||||
fi; \
|
||||
done
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
@ -537,17 +538,17 @@ dist dist-all: distdir
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lzma*) \
|
||||
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
|
||||
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
|
10
qse/aclocal.m4
vendored
10
qse/aclocal.m4
vendored
@ -1,4 +1,4 @@
|
||||
# generated automatically by aclocal 1.11 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
@ -13,8 +13,8 @@
|
||||
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
|
||||
[m4_warning([this file was generated for autoconf 2.64.
|
||||
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
|
||||
[m4_warning([this file was generated for autoconf 2.65.
|
||||
You have another version of autoconf. It may work, but is not guaranteed to.
|
||||
If you have problems, you may need to regenerate the build system entirely.
|
||||
To do so, use the procedure documented by the package, typically `autoreconf'.])])
|
||||
@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||
[am__api_version='1.11'
|
||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||
dnl require some minimum version. Point them to the right macro.
|
||||
m4_if([$1], [1.11], [],
|
||||
m4_if([$1], [1.11.1], [],
|
||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||
])
|
||||
|
||||
@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.11])dnl
|
||||
[AM_AUTOMAKE_VERSION([1.11.1])dnl
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -277,7 +277,7 @@ clean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -302,7 +302,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
233
qse/configure
vendored
233
qse/configure
vendored
@ -1,12 +1,14 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.64 for qse 0.5.4.
|
||||
# Generated by GNU Autoconf 2.65 for qse 0.5.4.
|
||||
#
|
||||
# Report bugs to <Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)>.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
|
||||
# Foundation, Inc.
|
||||
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
#
|
||||
#
|
||||
# This configure script is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy, distribute and modify it.
|
||||
@ -676,7 +678,8 @@ fi
|
||||
|
||||
|
||||
|
||||
exec 7<&0 </dev/null 6>&1
|
||||
test -n "$DJDIR" || exec 7<&0 </dev/null
|
||||
exec 6>&1
|
||||
|
||||
# Name of the host.
|
||||
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
|
||||
@ -1568,7 +1571,7 @@ Some influential environment variables:
|
||||
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
|
||||
nonstandard directory <lib dir>
|
||||
LIBS libraries to pass to the linker, e.g. -l<library>
|
||||
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
|
||||
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
|
||||
you have headers in a nonstandard directory <include dir>
|
||||
CXX C++ compiler command
|
||||
CXXFLAGS C++ compiler flags
|
||||
@ -1645,7 +1648,7 @@ test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
qse configure 0.5.4
|
||||
generated by GNU Autoconf 2.64
|
||||
generated by GNU Autoconf 2.65
|
||||
|
||||
Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
This configure script is free software; the Free Software Foundation
|
||||
@ -1692,7 +1695,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_compile
|
||||
|
||||
@ -1730,7 +1733,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_cxx_try_compile
|
||||
|
||||
@ -1768,7 +1771,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_objc_try_compile
|
||||
|
||||
@ -1814,7 +1817,7 @@ fi
|
||||
# left behind by Apple's compiler. We do this before executing the actions.
|
||||
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_link
|
||||
|
||||
@ -1882,7 +1885,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_cpp
|
||||
|
||||
@ -1924,7 +1927,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
||||
fi
|
||||
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_run
|
||||
|
||||
@ -2028,7 +2031,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_cxx_try_cpp
|
||||
|
||||
@ -2074,7 +2077,7 @@ fi
|
||||
# left behind by Apple's compiler. We do this before executing the actions.
|
||||
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_cxx_try_link
|
||||
|
||||
@ -2399,7 +2402,7 @@ rm -f conftest.val
|
||||
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
return $ac_retval
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_compute_int
|
||||
cat >config.log <<_ACEOF
|
||||
@ -2407,7 +2410,7 @@ This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by qse $as_me 0.5.4, which was
|
||||
generated by GNU Autoconf 2.64. Invocation command line was
|
||||
generated by GNU Autoconf 2.65. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
||||
@ -2660,7 +2663,7 @@ fi
|
||||
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
|
||||
do
|
||||
test "x$ac_site_file" = xNONE && continue
|
||||
if test -r "$ac_site_file"; then
|
||||
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
|
||||
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
|
||||
sed 's/^/| /' "$ac_site_file" >&5
|
||||
@ -2669,9 +2672,9 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
|
||||
done
|
||||
|
||||
if test -r "$cache_file"; then
|
||||
# Some versions of bash will fail to source /dev/null (special
|
||||
# files actually), so we avoid doing that.
|
||||
if test -f "$cache_file"; then
|
||||
# Some versions of bash will fail to source /dev/null (special files
|
||||
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
|
||||
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
|
||||
$as_echo "$as_me: loading cache $cache_file" >&6;}
|
||||
case $cache_file in
|
||||
@ -3101,6 +3104,7 @@ IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
|
||||
test -d ./--version && rmdir ./--version
|
||||
if test "${ac_cv_path_mkdir+set}" = set; then
|
||||
MKDIR_P="$ac_cv_path_mkdir -p"
|
||||
else
|
||||
@ -3108,7 +3112,6 @@ fi
|
||||
# value for MKDIR_P within a source directory, because that will
|
||||
# break other packages using the cache if that directory is
|
||||
# removed, or if the value is a relative name.
|
||||
test -d ./--version && rmdir ./--version
|
||||
MKDIR_P="$ac_install_sh -d"
|
||||
fi
|
||||
fi
|
||||
@ -3588,32 +3591,30 @@ $as_echo "$ac_try_echo"; } >&5
|
||||
... rest of stderr output deleted ...
|
||||
10q' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
rm -f conftest.er1 conftest.err
|
||||
fi
|
||||
rm -f conftest.er1 conftest.err
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }
|
||||
done
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
FILE *f = fopen ("conftest.out", "w");
|
||||
return ferror (f) || fclose (f) != 0;
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
ac_clean_files_save=$ac_clean_files
|
||||
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
|
||||
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
|
||||
# Try to create an executable without -o first, disregard a.out.
|
||||
# It will help us diagnose broken compilers, and finding out an intuition
|
||||
# of exeext.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
|
||||
$as_echo_n "checking for C compiler default output file name... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
|
||||
$as_echo_n "checking whether the C compiler works... " >&6; }
|
||||
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
|
||||
|
||||
# The possible output files:
|
||||
@ -3675,10 +3676,10 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
|
||||
else
|
||||
ac_file=''
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
|
||||
$as_echo "$ac_file" >&6; }
|
||||
if test -z "$ac_file"; then :
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
@ -3686,51 +3687,18 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
{ as_fn_set_status 77
|
||||
as_fn_error "C compiler cannot create executables
|
||||
See \`config.log' for more details." "$LINENO" 5; }; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
|
||||
$as_echo_n "checking for C compiler default output file name... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
|
||||
$as_echo "$ac_file" >&6; }
|
||||
ac_exeext=$ac_cv_exeext
|
||||
|
||||
# Check that the compiler produces executables we can run. If not, either
|
||||
# the compiler is broken, or we cross compile.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
|
||||
$as_echo_n "checking whether the C compiler works... " >&6; }
|
||||
# If not cross compiling, check that we can run a simple program.
|
||||
if test "$cross_compiling" != yes; then
|
||||
if { ac_try='./$ac_file'
|
||||
{ { case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_try") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then
|
||||
cross_compiling=no
|
||||
else
|
||||
if test "$cross_compiling" = maybe; then
|
||||
cross_compiling=yes
|
||||
else
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "cannot run C compiled programs.
|
||||
If you meant to cross compile, use \`--host'.
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
|
||||
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
|
||||
ac_clean_files=$ac_clean_files_save
|
||||
# Check that the compiler produces executables we can run. If not, either
|
||||
# the compiler is broken, or we cross compile.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
|
||||
$as_echo_n "checking whether we are cross compiling... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
|
||||
$as_echo "$cross_compiling" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
|
||||
$as_echo_n "checking for suffix of executables... " >&6; }
|
||||
if { { ac_try="$ac_link"
|
||||
@ -3763,13 +3731,72 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "cannot compute suffix of executables: cannot compile and link
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
rm -f conftest$ac_cv_exeext
|
||||
rm -f conftest conftest$ac_cv_exeext
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
|
||||
$as_echo "$ac_cv_exeext" >&6; }
|
||||
|
||||
rm -f conftest.$ac_ext
|
||||
EXEEXT=$ac_cv_exeext
|
||||
ac_exeext=$EXEEXT
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdio.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
FILE *f = fopen ("conftest.out", "w");
|
||||
return ferror (f) || fclose (f) != 0;
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
ac_clean_files="$ac_clean_files conftest.out"
|
||||
# Check that the compiler produces executables we can run. If not, either
|
||||
# the compiler is broken, or we cross compile.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
|
||||
$as_echo_n "checking whether we are cross compiling... " >&6; }
|
||||
if test "$cross_compiling" != yes; then
|
||||
{ { ac_try="$ac_link"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_link") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }
|
||||
if { ac_try='./conftest$ac_cv_exeext'
|
||||
{ { case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_try") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }; then
|
||||
cross_compiling=no
|
||||
else
|
||||
if test "$cross_compiling" = maybe; then
|
||||
cross_compiling=yes
|
||||
else
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error "cannot run C compiled programs.
|
||||
If you meant to cross compile, use \`--host'.
|
||||
See \`config.log' for more details." "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
|
||||
$as_echo "$cross_compiling" >&6; }
|
||||
|
||||
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
|
||||
ac_clean_files=$ac_clean_files_save
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
|
||||
$as_echo_n "checking for suffix of object files... " >&6; }
|
||||
if test "${ac_cv_objext+set}" = set; then :
|
||||
@ -4353,8 +4380,8 @@ $as_echo "$ac_try_echo"; } >&5
|
||||
... rest of stderr output deleted ...
|
||||
10q' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
rm -f conftest.er1 conftest.err
|
||||
fi
|
||||
rm -f conftest.er1 conftest.err
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }
|
||||
done
|
||||
@ -4732,8 +4759,8 @@ $as_echo "$ac_try_echo"; } >&5
|
||||
... rest of stderr output deleted ...
|
||||
10q' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
rm -f conftest.er1 conftest.err
|
||||
fi
|
||||
rm -f conftest.er1 conftest.err
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }
|
||||
done
|
||||
@ -6574,13 +6601,13 @@ if test "${lt_cv_nm_interface+set}" = set; then :
|
||||
else
|
||||
lt_cv_nm_interface="BSD nm"
|
||||
echo "int some_variable = 0;" > conftest.$ac_ext
|
||||
(eval echo "\"\$as_me:6577: $ac_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:6604: $ac_compile\"" >&5)
|
||||
(eval "$ac_compile" 2>conftest.err)
|
||||
cat conftest.err >&5
|
||||
(eval echo "\"\$as_me:6580: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
|
||||
(eval echo "\"\$as_me:6607: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
|
||||
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
|
||||
cat conftest.err >&5
|
||||
(eval echo "\"\$as_me:6583: output\"" >&5)
|
||||
(eval echo "\"\$as_me:6610: output\"" >&5)
|
||||
cat conftest.out >&5
|
||||
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
|
||||
lt_cv_nm_interface="MS dumpbin"
|
||||
@ -7786,7 +7813,7 @@ ia64-*-hpux*)
|
||||
;;
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '#line 7789 "configure"' > conftest.$ac_ext
|
||||
echo '#line 7816 "configure"' > conftest.$ac_ext
|
||||
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
@ -8946,8 +8973,8 @@ $as_echo "$ac_try_echo"; } >&5
|
||||
... rest of stderr output deleted ...
|
||||
10q' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
rm -f conftest.er1 conftest.err
|
||||
fi
|
||||
rm -f conftest.er1 conftest.err
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }
|
||||
done
|
||||
@ -9843,11 +9870,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:9846: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:9873: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:9850: \$? = $ac_status" >&5
|
||||
echo "$as_me:9877: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@ -10182,11 +10209,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:10185: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:10212: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:10189: \$? = $ac_status" >&5
|
||||
echo "$as_me:10216: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@ -10287,11 +10314,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:10290: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:10317: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:10294: \$? = $ac_status" >&5
|
||||
echo "$as_me:10321: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -10342,11 +10369,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:10345: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:10372: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:10349: \$? = $ac_status" >&5
|
||||
echo "$as_me:10376: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -12725,7 +12752,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12728 "configure"
|
||||
#line 12755 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12821,7 +12848,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 12824 "configure"
|
||||
#line 12851 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -14777,11 +14804,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:14780: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:14807: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:14784: \$? = $ac_status" >&5
|
||||
echo "$as_me:14811: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings other than the usual output.
|
||||
@ -14876,11 +14903,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:14879: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:14906: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:14883: \$? = $ac_status" >&5
|
||||
echo "$as_me:14910: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -14928,11 +14955,11 @@ else
|
||||
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:14931: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:14958: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:14935: \$? = $ac_status" >&5
|
||||
echo "$as_me:14962: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -18007,7 +18034,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by qse $as_me 0.5.4, which was
|
||||
generated by GNU Autoconf 2.64. Invocation command line was
|
||||
generated by GNU Autoconf 2.65. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||
@ -18047,6 +18074,7 @@ Usage: $0 [OPTION]... [TAG]...
|
||||
|
||||
-h, --help print this help, then exit
|
||||
-V, --version print version number and configuration settings, then exit
|
||||
--config print configuration, then exit
|
||||
-q, --quiet, --silent
|
||||
do not print progress messages
|
||||
-d, --debug don't remove temporary files
|
||||
@ -18070,10 +18098,11 @@ qse home page: <http://qse.googlecode.com>."
|
||||
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
qse config.status 0.5.4
|
||||
configured by $0, generated by GNU Autoconf 2.64,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
configured by $0, generated by GNU Autoconf 2.65,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
This config.status script is free software; the Free Software Foundation
|
||||
@ -18111,6 +18140,8 @@ do
|
||||
ac_cs_recheck=: ;;
|
||||
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
|
||||
$as_echo "$ac_cs_version"; exit ;;
|
||||
--config | --confi | --conf | --con | --co | --c )
|
||||
$as_echo "$ac_cs_config"; exit ;;
|
||||
--debug | --debu | --deb | --de | --d | -d )
|
||||
debug=: ;;
|
||||
--file | --fil | --fi | --f )
|
||||
@ -18682,7 +18713,7 @@ s/'"$ac_delim"'$//
|
||||
t delim
|
||||
:nl
|
||||
h
|
||||
s/\(.\{148\}\).*/\1/
|
||||
s/\(.\{148\}\)..*/\1/
|
||||
t more1
|
||||
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
|
||||
p
|
||||
@ -18696,7 +18727,7 @@ s/.\{148\}//
|
||||
t nl
|
||||
:delim
|
||||
h
|
||||
s/\(.\{148\}\).*/\1/
|
||||
s/\(.\{148\}\)..*/\1/
|
||||
t more2
|
||||
s/["\\]/\\&/g; s/^/"/; s/$/"/
|
||||
p
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -284,7 +284,7 @@ clean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -309,7 +309,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -279,7 +279,7 @@ clean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -304,7 +304,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -347,7 +347,7 @@ uninstall-pkgincludeHEADERS:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -372,7 +372,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: rex.h 312 2009-12-10 13:03:54Z hyunghwan.chung $
|
||||
* $Id: rex.h 326 2010-05-09 13:44:39Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
This file is part of QSE.
|
||||
@ -59,10 +59,9 @@
|
||||
* NOP -@ CHAR(b) -@ CHAR(c) -@ GROUPEND
|
||||
*
|
||||
* ab|cd
|
||||
* +--@ CHAR(a) --@ CHAR(b) --+
|
||||
* | <= u.b.left |
|
||||
* START --@ NOP --@ BRANCH --+ +--@ END
|
||||
* | <= u.b.right |
|
||||
* START --@ NOP --@ BRANCH --+--@ CHAR(a) --@ CHAR(b) --+--@ END
|
||||
* | |
|
||||
* | <= u.b.alter |
|
||||
* +--@ CHAR(c) --@ CHAR(d) --+
|
||||
* @endcode
|
||||
*
|
||||
@ -145,19 +144,20 @@ struct qse_rex_node_t
|
||||
|
||||
struct
|
||||
{
|
||||
qse_rex_node_t* left;
|
||||
qse_rex_node_t* right;
|
||||
qse_rex_node_t* alter;
|
||||
} b;
|
||||
|
||||
struct
|
||||
{
|
||||
qse_rex_node_t* head;
|
||||
qse_rex_node_t* end;
|
||||
int pseudo;
|
||||
} g;
|
||||
|
||||
struct
|
||||
{
|
||||
qse_rex_node_t* group;
|
||||
int pseudo;
|
||||
} ge;
|
||||
} u;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -277,7 +277,7 @@ clean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -302,7 +302,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: rex.c 312 2009-12-10 13:03:54Z hyunghwan.chung $
|
||||
* $Id: rex.c 326 2010-05-09 13:44:39Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
This file is part of QSE.
|
||||
@ -26,6 +26,8 @@
|
||||
|
||||
#define OCC_MAX QSE_TYPE_MAX(qse_size_t)
|
||||
|
||||
/*#define XTRA_DEBUG*/
|
||||
|
||||
typedef struct comp_t comp_t;
|
||||
struct comp_t
|
||||
{
|
||||
@ -171,9 +173,8 @@ static void freeallnodes (qse_rex_node_t* start)
|
||||
x = start->u.s.link;
|
||||
while (x != QSE_NULL)
|
||||
{
|
||||
y = x->link;
|
||||
freenode (x, mmgr);
|
||||
x = y;
|
||||
y = x; x = x->link;
|
||||
freenode (y, mmgr);
|
||||
}
|
||||
|
||||
QSE_MMGR_FREE (mmgr, start);
|
||||
@ -310,13 +311,14 @@ static qse_rex_node_t* newcharnode (comp_t* c, qse_char_t ch)
|
||||
}
|
||||
|
||||
static qse_rex_node_t* newbranchnode (
|
||||
comp_t* c, qse_rex_node_t* left, qse_rex_node_t* right)
|
||||
comp_t* c, qse_rex_node_t* left, qse_rex_node_t* alter)
|
||||
{
|
||||
qse_rex_node_t* n = newnode (c, QSE_REX_NODE_BRANCH);
|
||||
if (n != QSE_NULL)
|
||||
{
|
||||
n->u.b.left = left;
|
||||
n->u.b.right = right;
|
||||
/*n->u.b.left = left; */
|
||||
n->next = left;
|
||||
n->u.b.alter = alter;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
@ -363,7 +365,6 @@ static int getc (comp_t* com, int noesc)
|
||||
|
||||
if (noesc || com->c.value != QSE_T('\\')) return 0;
|
||||
|
||||
|
||||
CHECK_END (com);
|
||||
c = *com->ptr++;
|
||||
|
||||
@ -755,74 +756,119 @@ static int occbound (comp_t* com, qse_rex_node_t* n)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static qse_rex_node_t* comp0 (comp_t* com, qse_rex_node_t* ge);
|
||||
static qse_rex_node_t* comp_branches (comp_t* com, qse_rex_node_t* ge);
|
||||
|
||||
static qse_rex_node_t* comp2 (comp_t* com)
|
||||
static qse_rex_node_t* comp_group (comp_t* com)
|
||||
{
|
||||
qse_rex_node_t* n;
|
||||
/* enter a subgroup */
|
||||
qse_rex_node_t* body, *g, * ge;
|
||||
|
||||
g = newgroupnode (com);
|
||||
if (g == QSE_NULL) return QSE_NULL;
|
||||
|
||||
ge = newgroupendnode (com, g);
|
||||
if (ge == QSE_NULL) return QSE_NULL;
|
||||
|
||||
/* skip '(' */
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
|
||||
com->gdepth++;
|
||||
|
||||
/* pass the GROUPEND node so that the
|
||||
* last node in the subgroup links to
|
||||
* this GROUPEND node. */
|
||||
body = comp_branches (com, ge);
|
||||
if (body == QSE_NULL) return QSE_NULL;
|
||||
|
||||
if (!IS_SPE(com,QSE_T(')')))
|
||||
{
|
||||
com->rex->errnum = QSE_REX_ERPAREN;
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
com->gdepth--;
|
||||
|
||||
/* skip ')' */
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
|
||||
g->u.g.head = body;
|
||||
g->u.g.end = ge;
|
||||
|
||||
return g;
|
||||
}
|
||||
|
||||
static qse_rex_node_t* comp_occ (comp_t* com, qse_rex_node_t* atom)
|
||||
{
|
||||
switch (com->c.value)
|
||||
{
|
||||
case QSE_T('?'):
|
||||
atom->occ.min = 0;
|
||||
atom->occ.max = 1;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('*'):
|
||||
atom->occ.min = 0;
|
||||
atom->occ.max = OCC_MAX;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('+'):
|
||||
atom->occ.min = 1;
|
||||
atom->occ.max = OCC_MAX;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('{'):
|
||||
if (!(com->rex->option & QSE_REX_NOBOUND))
|
||||
{
|
||||
if (getc_noesc(com) <= -1)
|
||||
return QSE_NULL;
|
||||
if (occbound(com,atom) <= -1)
|
||||
return QSE_NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return atom;
|
||||
}
|
||||
|
||||
static qse_rex_node_t* comp_atom (comp_t* com)
|
||||
{
|
||||
qse_rex_node_t* atom;
|
||||
|
||||
if (!IS_ESC(com))
|
||||
{
|
||||
switch (com->c.value)
|
||||
{
|
||||
case QSE_T('('):
|
||||
{
|
||||
/* enter a subgroup */
|
||||
|
||||
qse_rex_node_t* x, * ge;
|
||||
|
||||
n = newgroupnode (com);
|
||||
if (n == QSE_NULL) return QSE_NULL;
|
||||
|
||||
ge = newgroupendnode (com, n);
|
||||
if (ge == QSE_NULL) return QSE_NULL;
|
||||
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
|
||||
com->gdepth++;
|
||||
/* pass the GROUPEND node so that the
|
||||
* last node in the subgroup links to
|
||||
* this GROUPEND node. */
|
||||
x = comp0 (com, ge);
|
||||
if (x == QSE_NULL) return QSE_NULL;
|
||||
|
||||
if (!IS_SPE(com,QSE_T(')')))
|
||||
{
|
||||
com->rex->errnum = QSE_REX_ERPAREN;
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
com->gdepth--;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
|
||||
n->u.g.head = x;
|
||||
n->u.g.end = ge;
|
||||
atom = comp_group (com);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
case QSE_T('.'):
|
||||
n = newnode (com, QSE_REX_NODE_ANY);
|
||||
if (n == QSE_NULL) return QSE_NULL;
|
||||
atom = newnode (com, QSE_REX_NODE_ANY);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('^'):
|
||||
n = newnode (com, QSE_REX_NODE_BOL);
|
||||
if (n == QSE_NULL) return QSE_NULL;
|
||||
atom = newnode (com, QSE_REX_NODE_BOL);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('$'):
|
||||
n = newnode (com, QSE_REX_NODE_EOL);
|
||||
if (n == QSE_NULL) return QSE_NULL;
|
||||
atom = newnode (com, QSE_REX_NODE_EOL);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('['):
|
||||
n = newnode (com, QSE_REX_NODE_CSET);
|
||||
if (n == QSE_NULL) return QSE_NULL;
|
||||
atom = newnode (com, QSE_REX_NODE_CSET);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
if (charset(com, n) <= -1) return QSE_NULL;
|
||||
if (charset(com, atom) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -847,98 +893,111 @@ static qse_rex_node_t* comp2 (comp_t* com)
|
||||
{
|
||||
normal_char:
|
||||
/* normal character */
|
||||
n = newcharnode (com, com->c.value);
|
||||
if (n == QSE_NULL) return QSE_NULL;
|
||||
atom = newcharnode (com, com->c.value);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
}
|
||||
|
||||
n->occ.min = 1;
|
||||
n->occ.max = 1;
|
||||
atom->occ.min = 1;
|
||||
atom->occ.max = 1;
|
||||
|
||||
if (!IS_ESC(com))
|
||||
{
|
||||
/* handle the occurrence specifier, if any */
|
||||
|
||||
switch (com->c.value)
|
||||
{
|
||||
case QSE_T('?'):
|
||||
n->occ.min = 0;
|
||||
n->occ.max = 1;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('*'):
|
||||
n->occ.min = 0;
|
||||
n->occ.max = OCC_MAX;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('+'):
|
||||
n->occ.min = 1;
|
||||
n->occ.max = OCC_MAX;
|
||||
if (getc_esc(com) <= -1) return QSE_NULL;
|
||||
break;
|
||||
|
||||
case QSE_T('{'):
|
||||
if (!(com->rex->option & QSE_REX_NOBOUND))
|
||||
{
|
||||
if (getc_noesc(com) <= -1)
|
||||
return QSE_NULL;
|
||||
if (occbound(com,n) <= -1)
|
||||
return QSE_NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (comp_occ (com, atom) == QSE_NULL) return QSE_NULL;
|
||||
}
|
||||
|
||||
return n;
|
||||
return atom;
|
||||
}
|
||||
|
||||
static qse_rex_node_t* pseudo_group (comp_t* c, qse_rex_node_t* atom)
|
||||
{
|
||||
qse_rex_node_t* g, *ge, * b;
|
||||
|
||||
QSE_ASSERT (atom->occ.min <= 0);
|
||||
|
||||
g = newgroupnode (c);
|
||||
if (g == QSE_NULL) return QSE_NULL;
|
||||
|
||||
ge = newgroupendnode (c, g);
|
||||
if (ge == QSE_NULL) return QSE_NULL;
|
||||
|
||||
b = newbranchnode (c, atom, ge);
|
||||
if (b == QSE_NULL) return QSE_NULL;
|
||||
|
||||
atom->occ.min = 1;
|
||||
atom->next = ge;
|
||||
QSE_ASSERT (atom->occ.max >= atom->occ.min);
|
||||
|
||||
g->occ.max = 1;
|
||||
g->occ.min = 1;
|
||||
g->u.g.end = ge;
|
||||
g->u.g.head = b;
|
||||
g->u.g.pseudo = 1;
|
||||
ge->u.ge.pseudo = 1;
|
||||
|
||||
return g;
|
||||
}
|
||||
|
||||
/* compile a list of atoms at the outermost level and/or
|
||||
* within a subgroup */
|
||||
static qse_rex_node_t* comp1 (comp_t* c, pair_t* pair)
|
||||
static qse_rex_node_t* comp_branch (comp_t* c, pair_t* pair)
|
||||
{
|
||||
pair->head = newnopnode (c);
|
||||
if (pair->head == QSE_NULL) return QSE_NULL;
|
||||
#define REACHED_END(c) \
|
||||
(IS_EOF(c) || IS_SPE(c,QSE_T('|')) || \
|
||||
(c->gdepth > 0 && IS_SPE(c,QSE_T(')'))))
|
||||
|
||||
#ifdef DONOT_SKIP_NOP
|
||||
pair->head->occ.min = 1;
|
||||
pair->head->occ.max = 1;
|
||||
#endif
|
||||
|
||||
pair->tail = pair->head;
|
||||
|
||||
while (!IS_SPE(c,QSE_T('|')) && !IS_EOF(c) &&
|
||||
!(c->gdepth > 0 && IS_SPE(c,QSE_T(')'))))
|
||||
if (REACHED_END(c))
|
||||
{
|
||||
qse_rex_node_t* tmp = comp2 (c);
|
||||
if (tmp == QSE_NULL) return QSE_NULL;
|
||||
qse_rex_node_t* nop = newnopnode (c);
|
||||
if (nop == QSE_NULL) return QSE_NULL;
|
||||
nop->occ.min = 1; nop->occ.max = 1;
|
||||
pair->head = nop; pair->tail = nop;
|
||||
}
|
||||
else
|
||||
{
|
||||
pair->head = QSE_NULL; pair->tail = QSE_NULL;
|
||||
|
||||
if (tmp->id == QSE_REX_NODE_GROUP)
|
||||
do
|
||||
{
|
||||
/* simple optimization to remove an empty group */
|
||||
qse_rex_node_t* gg = tmp->u.g.head;
|
||||
while (gg->id == QSE_REX_NODE_NOP) gg = gg->next;
|
||||
if (gg->id == QSE_REX_NODE_GROUPEND)
|
||||
qse_rex_node_t* atom = comp_atom (c);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
if (atom->occ.min <= 0)
|
||||
{
|
||||
/* exclude an empty subgroup */
|
||||
continue;
|
||||
/*
|
||||
* Given an atom, this function encloses it with a pseudogroup
|
||||
* head and a psuedo-group tail. the pseudogroup head is
|
||||
* followed by a branch that conntects to the pseudogroup tail
|
||||
* and the atom given. The atom given gets connected to the
|
||||
* pseudogroup tail.
|
||||
* Head -> BR -> Tail
|
||||
* -> ORG(atom) -> Tail
|
||||
*/
|
||||
atom = pseudo_group (c, atom);
|
||||
if (atom == QSE_NULL) return QSE_NULL;
|
||||
}
|
||||
|
||||
if (pair->tail == QSE_NULL)
|
||||
{
|
||||
QSE_ASSERT (pair->head == QSE_NULL);
|
||||
pair->head = atom;
|
||||
}
|
||||
else pair->tail->next = atom;
|
||||
pair->tail = atom;
|
||||
}
|
||||
|
||||
pair->tail->next = tmp;
|
||||
pair->tail = tmp;
|
||||
while (!REACHED_END(c));
|
||||
}
|
||||
|
||||
return pair->head;
|
||||
#undef REACHED_END
|
||||
}
|
||||
|
||||
static qse_rex_node_t* comp0 (comp_t* c, qse_rex_node_t* ge)
|
||||
static qse_rex_node_t* comp_branches (comp_t* c, qse_rex_node_t* ge)
|
||||
{
|
||||
qse_rex_node_t* left, * right, * tmp;
|
||||
pair_t xpair;
|
||||
|
||||
left = comp1 (c, &xpair);
|
||||
left = comp_branch (c, &xpair);
|
||||
if (left == QSE_NULL) return QSE_NULL;
|
||||
xpair.tail->next = ge;
|
||||
|
||||
@ -946,7 +1005,7 @@ static qse_rex_node_t* comp0 (comp_t* c, qse_rex_node_t* ge)
|
||||
{
|
||||
if (getc_esc(c) <= -1) return QSE_NULL;
|
||||
|
||||
right = comp1 (c, &xpair);
|
||||
right = comp_branch (c, &xpair);
|
||||
if (right == QSE_NULL) return QSE_NULL;
|
||||
|
||||
xpair.tail->next = ge;
|
||||
@ -991,7 +1050,7 @@ qse_rex_node_t* qse_rex_comp (
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
body = comp0 (&c, end);
|
||||
body = comp_branches (&c, end);
|
||||
if (body == QSE_NULL)
|
||||
{
|
||||
freeallnodes (c.start);
|
||||
@ -1025,7 +1084,6 @@ static void freegroupstack (group_t* gs, qse_mmgr_t* mmgr)
|
||||
freegroupstackmembers (gs, mmgr);
|
||||
}
|
||||
|
||||
|
||||
static void refupgroupstack (group_t* gs)
|
||||
{
|
||||
if (gs != QSE_NULL)
|
||||
@ -1243,12 +1301,6 @@ static int addsimplecand (
|
||||
cand.group = group;
|
||||
cand.mptr = mptr;
|
||||
|
||||
/*if (node->id == QSE_REX_NODE_CHAR)
|
||||
qse_printf (QSE_T("adding %d %c\n"), node->id, node->u.c);
|
||||
else
|
||||
qse_printf (QSE_T("adding %d NA\n"), node->id);
|
||||
*/
|
||||
|
||||
if (qse_lda_search (
|
||||
&e->cand.set[e->cand.pending],
|
||||
0, &cand, 1) != QSE_LDA_NIL)
|
||||
@ -1315,44 +1367,59 @@ warpback:
|
||||
group_t* gx = group;
|
||||
int n;
|
||||
|
||||
QSE_ASSERTX (candnode->next == QSE_NULL,
|
||||
"The current implementation does not link "
|
||||
"nodes to a branch node via the next field."
|
||||
"follow the left and the right field instead");
|
||||
|
||||
if (group != QSE_NULL)
|
||||
{
|
||||
gx = dupgroupstack (e, group);
|
||||
if (gx == QSE_NULL) return -1;
|
||||
}
|
||||
|
||||
#if 0
|
||||
refupgroupstack (group);
|
||||
refupgroupstack (gx);
|
||||
|
||||
n = addcands (e, group,
|
||||
prevnode, candnode->u.b.left, mptr);
|
||||
prevnode, candnode->next, mptr);
|
||||
if (n >= 0)
|
||||
{
|
||||
n = addcands (e, gx,
|
||||
prevnode, candnode->u.b.right, mptr);
|
||||
prevnode, candnode->u.b.alter, mptr);
|
||||
}
|
||||
|
||||
refdowngroupstack (gx, e->rex->mmgr);
|
||||
refdowngroupstack (group, e->rex->mmgr);
|
||||
|
||||
if (n <= -1) return -1;
|
||||
break;
|
||||
|
||||
#endif
|
||||
refupgroupstack (gx);
|
||||
n = addcands (e, gx,
|
||||
prevnode, candnode->u.b.alter, mptr);
|
||||
refdowngroupstack (gx, e->rex->mmgr);
|
||||
if (n <= -1) return -1;
|
||||
|
||||
candnode = candnode->next;
|
||||
goto warpback;
|
||||
}
|
||||
|
||||
case QSE_REX_NODE_GROUP:
|
||||
{
|
||||
int n;
|
||||
qse_rex_node_t* front;
|
||||
group_t* gx;
|
||||
|
||||
/*qse_printf (QSE_T("GROUP %p PREV %p\n"), candnode, prevnode);*/
|
||||
#ifdef XTRA_DEBUG
|
||||
qse_printf (QSE_T("DEBUG: GROUP %p(pseudo=%d) PREV %p\n"),
|
||||
candnode, candnode->u.g.pseudo, prevnode);
|
||||
#endif
|
||||
if (candnode->u.g.pseudo)
|
||||
{
|
||||
candnode = candnode->u.g.head;
|
||||
goto warpback;
|
||||
}
|
||||
|
||||
/* skip all NOP nodes */
|
||||
front = candnode->u.g.head;
|
||||
|
||||
while (front->id == QSE_REX_NODE_NOP)
|
||||
front = front->next;
|
||||
if (front->id == QSE_REX_NODE_GROUPEND)
|
||||
@ -1366,51 +1433,17 @@ warpback:
|
||||
goto warpback;
|
||||
}
|
||||
|
||||
if (candnode->occ.max > 0)
|
||||
{
|
||||
/* add the first node in a subgroup
|
||||
* as a candidate */
|
||||
gx = groupstackpush (e, group, candnode);
|
||||
if (gx == QSE_NULL) return -1;
|
||||
|
||||
group_t* gx;
|
||||
/* add the first node in the group to
|
||||
* the candidate array */
|
||||
refupgroupstack (gx);
|
||||
n = addcands (e, gx, prevnode, front, mptr);
|
||||
refdowngroupstack (gx, e->rex->mmgr);
|
||||
|
||||
/* push the current group node (candnode) to
|
||||
* the group stack. if candnode->next is
|
||||
* added to the candidate array, which means
|
||||
* the group stack has already been used to
|
||||
* a different path, the group stack is
|
||||
* duplicated for this path. */
|
||||
|
||||
gx = (candnode->occ.min <= 0)?
|
||||
dupgroupstackpush (e, group, candnode):
|
||||
groupstackpush (e, group, candnode);
|
||||
if (gx == QSE_NULL) return -1;
|
||||
|
||||
/* add the first node in the group to
|
||||
* the candidate array */
|
||||
refupgroupstack (gx);
|
||||
n = addcands (e, gx, prevnode, front, mptr);
|
||||
refdowngroupstack (gx, e->rex->mmgr);
|
||||
|
||||
if (n <= -1) return -1;
|
||||
}
|
||||
if (n <= -1) return -1;
|
||||
|
||||
if (candnode->occ.min <= 0)
|
||||
{
|
||||
/* if the group node is optional,
|
||||
* add the next node to the candidate array. */
|
||||
|
||||
/* BEGIN avoid recursion */
|
||||
#if 0
|
||||
refupgroupstack (group);
|
||||
n = addcands (e, group, prevnode, candnode->next, mptr);
|
||||
refdowngroupstack (group, e->rex->mmgr);
|
||||
if (n <= -1) return -1;
|
||||
#endif
|
||||
candnode = candnode->next;
|
||||
goto warpback;
|
||||
/* END avoid recursion */
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1421,7 +1454,17 @@ warpback:
|
||||
qse_rex_node_t* node;
|
||||
qse_size_t occ;
|
||||
|
||||
/*qse_printf (QSE_T("GROUPEND %p PREV %p\n"), candnode, prevnode);*/
|
||||
#ifdef XTRA_DEBUG
|
||||
qse_printf (QSE_T("DEBUG: GROUPEND %p(pseudo=%d) PREV %p\n"),
|
||||
candnode, candnode->u.ge.pseudo, prevnode);
|
||||
#endif
|
||||
|
||||
if (candnode->u.ge.pseudo)
|
||||
{
|
||||
candnode = candnode->u.ge.group->next;
|
||||
goto warpback;
|
||||
}
|
||||
|
||||
QSE_ASSERTX (
|
||||
group != QSE_NULL && group->next != QSE_NULL,
|
||||
"GROUPEND must be paired up with GROUP");
|
||||
@ -1491,15 +1534,13 @@ warpback:
|
||||
}
|
||||
|
||||
refupgroupstack (gx);
|
||||
|
||||
if (prevnode != QSE_NULL &&
|
||||
prevnode->id == QSE_REX_NODE_GROUPEND)
|
||||
{
|
||||
n = addcands (e, gx, prevnode, node->next, mptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
n = addcands (e, gx, candnode, node->next, mptr);
|
||||
}
|
||||
|
||||
refdowngroupstack (gx, e->rex->mmgr);
|
||||
if (n <= -1) return -1;
|
||||
}
|
||||
@ -1507,7 +1548,6 @@ warpback:
|
||||
if (occ < node->occ.max)
|
||||
{
|
||||
/* repeat itself. */
|
||||
|
||||
/* BEGIN avoid recursion */
|
||||
#if 0
|
||||
refupgroupstack (group);
|
||||
@ -1529,49 +1569,11 @@ warpback:
|
||||
{
|
||||
int n;
|
||||
|
||||
if (candnode->occ.max > 0)
|
||||
{
|
||||
group_t* gx;
|
||||
|
||||
/* if the upper bound is greater than 0,
|
||||
* this node is added to the candidate array */
|
||||
|
||||
if (group != QSE_NULL && candnode->occ.min <= 0)
|
||||
{
|
||||
/* if a group stack exists(group != QSE_NULL)
|
||||
* for this path and it has been
|
||||
* used for a different path above,
|
||||
* duplicate the group stack */
|
||||
gx = dupgroupstack (e, group);
|
||||
if (gx == QSE_NULL) return -1;
|
||||
}
|
||||
else gx = group;
|
||||
|
||||
refupgroupstack (gx);
|
||||
n = addsimplecand (e, gx, candnode, 1, mptr);
|
||||
refdowngroupstack (gx, e->rex->mmgr);
|
||||
|
||||
if (n <= -1) return -1;
|
||||
}
|
||||
|
||||
if (candnode->occ.min <= 0)
|
||||
{
|
||||
/* if the node is optional,
|
||||
* add the next node to the candidate array */
|
||||
|
||||
/* BEGIN avoid recursion */
|
||||
#if 0
|
||||
refupgroupstack (group);
|
||||
n = addcands (e, group, prevnode, candnode->next, mptr);
|
||||
refdowngroupstack (group, e->rex->mmgr);
|
||||
if (n <= -1) return -1;
|
||||
#endif
|
||||
candnode = candnode->next;
|
||||
goto warpback;
|
||||
/* END avoid recursion */
|
||||
}
|
||||
|
||||
if (group) refupgroupstack (group);
|
||||
n = addsimplecand (e, group, candnode, 1, mptr);
|
||||
if (group) refdowngroupstack (group, e->rex->mmgr);
|
||||
|
||||
if (n <= -1) return -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1689,6 +1691,9 @@ static int match (exec_t* e)
|
||||
* the same as ^ matches a position,
|
||||
* not a character. */
|
||||
nmptr = cand->mptr;
|
||||
#ifdef XTRA_DEBUG
|
||||
qse_printf (QSE_T("DEBUG: matched <^>\n"));
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1699,6 +1704,9 @@ static int match (exec_t* e)
|
||||
* the same as $ matches a position,
|
||||
* not a character. */
|
||||
nmptr = cand->mptr;
|
||||
#ifdef XTRA_DEBUG
|
||||
qse_printf (QSE_T("DEBUG: matched <$>\n"));
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1708,6 +1716,9 @@ static int match (exec_t* e)
|
||||
/* advance the match pointer to the
|
||||
* next chracter.*/
|
||||
nmptr = cand->mptr + 1;
|
||||
#ifdef XTRA_DEBUG
|
||||
qse_printf (QSE_T("DEBUG: matched <.>\n"));
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1728,7 +1739,9 @@ static int match (exec_t* e)
|
||||
* next chracter.*/
|
||||
nmptr = cand->mptr + 1;
|
||||
}
|
||||
/*qse_printf (QSE_T("matched %c\n"), node->u.c);*/
|
||||
#ifdef XTRA_DEBUG
|
||||
qse_printf (QSE_T("DEBUG: matched %c\n"), node->u.c);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1846,41 +1859,40 @@ static int exec (exec_t* e)
|
||||
/* clear the pending set */
|
||||
qse_lda_clear (&e->cand.set[e->cand.pending]);
|
||||
|
||||
#if 0
|
||||
{
|
||||
int i;
|
||||
qse_printf (QSE_T("SET="));
|
||||
for (i = 0; i < QSE_LDA_SIZE(&e->cand.set[e->cand.active]); i++)
|
||||
{
|
||||
cand_t* cand = QSE_LDA_DPTR(&e->cand.set[e->cand.active],i);
|
||||
qse_rex_node_t* node = cand->node;
|
||||
#ifdef XTRA_DEBUG
|
||||
{
|
||||
int i;
|
||||
qse_printf (QSE_T("SET="));
|
||||
for (i = 0; i < QSE_LDA_SIZE(&e->cand.set[e->cand.active]); i++)
|
||||
{
|
||||
cand_t* cand = QSE_LDA_DPTR(&e->cand.set[e->cand.active],i);
|
||||
qse_rex_node_t* node = cand->node;
|
||||
|
||||
if (node->id == QSE_REX_NODE_CHAR)
|
||||
qse_printf (QSE_T("%c "), node->u.c);
|
||||
else if (node->id == QSE_REX_NODE_ANY)
|
||||
qse_printf (QSE_T(". "), node->u.c);
|
||||
else if (node->id == QSE_REX_NODE_BOL)
|
||||
qse_printf (QSE_T("^ "));
|
||||
else if (node->id == QSE_REX_NODE_EOL)
|
||||
qse_printf (QSE_T("$ "));
|
||||
}
|
||||
qse_printf (QSE_T("\n"));
|
||||
}
|
||||
if (node->id == QSE_REX_NODE_CHAR)
|
||||
qse_printf (QSE_T("%c "), node->u.c);
|
||||
else if (node->id == QSE_REX_NODE_ANY)
|
||||
qse_printf (QSE_T(". "), node->u.c);
|
||||
else if (node->id == QSE_REX_NODE_BOL)
|
||||
qse_printf (QSE_T("^ "));
|
||||
else if (node->id == QSE_REX_NODE_EOL)
|
||||
qse_printf (QSE_T("$ "));
|
||||
}
|
||||
qse_printf (QSE_T("\n"));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (match (e) <= -1) return -1;
|
||||
}
|
||||
while (1);
|
||||
|
||||
#if 0
|
||||
if (e->nmatches > 0)
|
||||
{
|
||||
qse_printf (QSE_T("MATCH: %d [%.*s]\n"),
|
||||
(int)(e->matchend - e->sub.ptr),
|
||||
(int)(e->matchend - e->sub.ptr), e->sub.ptr);
|
||||
}
|
||||
|
||||
qse_printf (QSE_T("TOTAL MATCHES FOUND... %d\n"), e->nmatches);
|
||||
#ifdef XTRA_DEBUG
|
||||
if (e->nmatches > 0)
|
||||
{
|
||||
qse_printf (QSE_T("MATCH: %d [%.*s]\n"),
|
||||
(int)(e->matchend - e->sub.ptr),
|
||||
(int)(e->matchend - e->sub.ptr), e->sub.ptr);
|
||||
}
|
||||
qse_printf (QSE_T("TOTAL MATCHES FOUND... %d\n"), e->nmatches);
|
||||
#endif
|
||||
|
||||
return (e->nmatches > 0)? 1: 0;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: str_bas.c 324 2010-04-29 13:14:13Z hyunghwan.chung $
|
||||
* $Id: str_bas.c 326 2010-05-09 13:44:39Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
This file is part of QSE.
|
||||
@ -208,7 +208,14 @@ qse_size_t qse_strfncpy (
|
||||
|
||||
while (*f != QSE_T('\0'))
|
||||
{
|
||||
if (*f == QSE_T('$'))
|
||||
if (*f == QSE_T('\\'))
|
||||
{
|
||||
// get the escaped character and treat it normally.
|
||||
// if the escaper is the last character, treat it
|
||||
// normally also.
|
||||
if (f[1] != QSE_T('\0')) f++;
|
||||
}
|
||||
else if (*f == QSE_T('$'))
|
||||
{
|
||||
if (f[1] == QSE_T('{') &&
|
||||
(f[2] >= QSE_T('0') && f[2] <= QSE_T('9')))
|
||||
@ -259,7 +266,14 @@ qse_size_t qse_strxfcpy (
|
||||
|
||||
while (*f != QSE_T('\0'))
|
||||
{
|
||||
if (*f == QSE_T('$'))
|
||||
if (*f == QSE_T('\\'))
|
||||
{
|
||||
// get the escaped character and treat it normally.
|
||||
// if the escaper is the last character, treat it
|
||||
// normally also.
|
||||
if (f[1] != QSE_T('\0')) f++;
|
||||
}
|
||||
else if (*f == QSE_T('$'))
|
||||
{
|
||||
if (f[1] == QSE_T('{') &&
|
||||
(f[2] >= QSE_T('0') && f[2] <= QSE_T('9')))
|
||||
@ -314,7 +328,14 @@ qse_size_t qse_strxfncpy (
|
||||
|
||||
while (*f != QSE_T('\0'))
|
||||
{
|
||||
if (*f == QSE_T('$'))
|
||||
if (*f == QSE_T('\\'))
|
||||
{
|
||||
// get the escaped character and treat it normally.
|
||||
// if the escaper is the last character, treat it
|
||||
// normally also.
|
||||
if (f[1] != QSE_T('\0')) f++;
|
||||
}
|
||||
else if (*f == QSE_T('$'))
|
||||
{
|
||||
if (f[1] == QSE_T('{') &&
|
||||
(f[2] >= QSE_T('0') && f[2] <= QSE_T('9')))
|
||||
@ -371,7 +392,14 @@ qse_size_t qse_strxsubst (
|
||||
|
||||
while (*f != QSE_T('\0'))
|
||||
{
|
||||
if (*f == QSE_T('$'))
|
||||
if (*f == QSE_T('\\'))
|
||||
{
|
||||
// get the escaped character and treat it normally.
|
||||
// if the escaper is the last character, treat it
|
||||
// normally also.
|
||||
if (f[1] != QSE_T('\0')) f++;
|
||||
}
|
||||
else if (*f == QSE_T('$'))
|
||||
{
|
||||
if (f[1] == QSE_T('{'))
|
||||
{
|
||||
@ -414,7 +442,6 @@ fini:
|
||||
return b - buf;
|
||||
}
|
||||
|
||||
|
||||
qse_size_t qse_strxcat (qse_char_t* buf, qse_size_t bsz, const qse_char_t* str)
|
||||
{
|
||||
qse_char_t* p, * p2;
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -277,7 +277,7 @@ clean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -302,7 +302,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
@ -277,7 +277,7 @@ clean-libtool:
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
@ -302,7 +302,7 @@ $(RECURSIVE_TARGETS):
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@failcom='exit 1'; \
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -40,6 +40,7 @@ qse_rex_setoption (rex, QSE_REX_STRICT);
|
||||
str.ptr = argv[2];
|
||||
str.len = qse_strlen(argv[2]);
|
||||
|
||||
qse_printf (QSE_T("compile ok\n"));
|
||||
n = qse_rex_exec (rex, &str, &str, &matstr);
|
||||
if (n <= -1)
|
||||
{
|
||||
@ -52,7 +53,7 @@ qse_rex_setoption (rex, QSE_REX_STRICT);
|
||||
{
|
||||
qse_printf (QSE_T("MATCH: [%.*s] beginning from char #%d\n"),
|
||||
(int)matstr.len, matstr.ptr,
|
||||
(int)(matstr.ptr, matstr.ptr - str.ptr + 1));
|
||||
(int)(matstr.ptr - str.ptr + 1));
|
||||
}
|
||||
|
||||
qse_rex_close (rex);
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
|
Loading…
x
Reference in New Issue
Block a user