diff --git a/.gitignore b/.gitignore
index 0af1a935..24432267 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,7 @@ xcuserdata/*
/config.log
/config.status
/keywordhash.h
-/mkkeywordhash
+/mkkeywordhash*
/opcodes.c
/opcodes.h
/parse.c
@@ -21,8 +21,8 @@ xcuserdata/*
/parse.h.temp
/parse.out
/tsrc
-/testfixture
-/lemon
+/testfixture*
+/lemon*
/libtool
/libsqlite3.la
/libtclsqlite3.la
diff --git a/.libs/libsqlite3.0.dylib b/.libs/libsqlite3.0.dylib
deleted file mode 100755
index 6295f496..00000000
Binary files a/.libs/libsqlite3.0.dylib and /dev/null differ
diff --git a/.libs/libsqlite3.0.dylib.dSYM/Contents/Info.plist b/.libs/libsqlite3.0.dylib.dSYM/Contents/Info.plist
deleted file mode 100644
index bcb0773c..00000000
--- a/.libs/libsqlite3.0.dylib.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleIdentifier
- com.apple.xcode.dsym.libsqlite3.0.dylib
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- dSYM
- CFBundleSignature
- ????
- CFBundleShortVersionString
- 1.0
- CFBundleVersion
- 1
-
-
diff --git a/.libs/libsqlite3.0.dylib.dSYM/Contents/Resources/DWARF/libsqlite3.0.dylib b/.libs/libsqlite3.0.dylib.dSYM/Contents/Resources/DWARF/libsqlite3.0.dylib
deleted file mode 100644
index 82103743..00000000
Binary files a/.libs/libsqlite3.0.dylib.dSYM/Contents/Resources/DWARF/libsqlite3.0.dylib and /dev/null differ
diff --git a/.libs/libsqlite3.a b/.libs/libsqlite3.a
deleted file mode 100644
index 56d1e4a1..00000000
Binary files a/.libs/libsqlite3.a and /dev/null differ
diff --git a/.libs/libsqlite3.dylib b/.libs/libsqlite3.dylib
deleted file mode 120000
index 3a850bc8..00000000
--- a/.libs/libsqlite3.dylib
+++ /dev/null
@@ -1 +0,0 @@
-libsqlite3.0.dylib
\ No newline at end of file
diff --git a/.libs/libsqlite3.la b/.libs/libsqlite3.la
deleted file mode 120000
index 4c4f59a3..00000000
--- a/.libs/libsqlite3.la
+++ /dev/null
@@ -1 +0,0 @@
-../libsqlite3.la
\ No newline at end of file
diff --git a/.libs/libsqlite3.lai b/.libs/libsqlite3.lai
deleted file mode 100644
index 1202e647..00000000
--- a/.libs/libsqlite3.lai
+++ /dev/null
@@ -1,41 +0,0 @@
-# libsqlite3.la - a libtool library file
-# Generated by ltmain.sh (GNU libtool) 2.2.6
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='libsqlite3.0.dylib'
-
-# Names of this library.
-library_names='libsqlite3.0.dylib libsqlite3.dylib'
-
-# The name of the static archive.
-old_library='libsqlite3.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=' '
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libsqlite3.
-current=8
-age=8
-revision=6
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/usr/local/lib'
diff --git a/.libs/libtclsqlite3.a b/.libs/libtclsqlite3.a
deleted file mode 100644
index 48aec021..00000000
Binary files a/.libs/libtclsqlite3.a and /dev/null differ
diff --git a/.libs/libtclsqlite3.dylib b/.libs/libtclsqlite3.dylib
deleted file mode 100755
index a835ee14..00000000
Binary files a/.libs/libtclsqlite3.dylib and /dev/null differ
diff --git a/.libs/libtclsqlite3.dylib.dSYM/Contents/Info.plist b/.libs/libtclsqlite3.dylib.dSYM/Contents/Info.plist
deleted file mode 100644
index 21ed79d3..00000000
--- a/.libs/libtclsqlite3.dylib.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleIdentifier
- com.apple.xcode.dsym.libtclsqlite3.dylib
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- dSYM
- CFBundleSignature
- ????
- CFBundleShortVersionString
- 1.0
- CFBundleVersion
- 1
-
-
diff --git a/.libs/libtclsqlite3.dylib.dSYM/Contents/Resources/DWARF/libtclsqlite3.dylib b/.libs/libtclsqlite3.dylib.dSYM/Contents/Resources/DWARF/libtclsqlite3.dylib
deleted file mode 100644
index a3cac115..00000000
Binary files a/.libs/libtclsqlite3.dylib.dSYM/Contents/Resources/DWARF/libtclsqlite3.dylib and /dev/null differ
diff --git a/.libs/libtclsqlite3.la b/.libs/libtclsqlite3.la
deleted file mode 120000
index 6e4da881..00000000
--- a/.libs/libtclsqlite3.la
+++ /dev/null
@@ -1 +0,0 @@
-../libtclsqlite3.la
\ No newline at end of file
diff --git a/.libs/libtclsqlite3.lai b/.libs/libtclsqlite3.lai
deleted file mode 100644
index bdb7b6fe..00000000
--- a/.libs/libtclsqlite3.lai
+++ /dev/null
@@ -1,41 +0,0 @@
-# libtclsqlite3.la - a libtool library file
-# Generated by ltmain.sh (GNU libtool) 2.2.6
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='libtclsqlite3.dylib'
-
-# Names of this library.
-library_names='libtclsqlite3.dylib libtclsqlite3.dylib'
-
-# The name of the static archive.
-old_library='libtclsqlite3.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=' '
-
-# Libraries that this one depends upon.
-dependency_libs=' /usr/local/lib/libsqlite3.la -L/System/Library/Frameworks/Tcl.framework/Versions/8.5 -ltclstub8.5'
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libtclsqlite3.
-current=8
-age=8
-revision=6
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/sqlite3'
diff --git a/.libs/sqlite3 b/.libs/sqlite3
deleted file mode 100755
index 87ad2170..00000000
Binary files a/.libs/sqlite3 and /dev/null differ
diff --git a/.libs/sqlite3.dSYM/Contents/Info.plist b/.libs/sqlite3.dSYM/Contents/Info.plist
deleted file mode 100644
index 0dfc4e5b..00000000
--- a/.libs/sqlite3.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleIdentifier
- com.apple.xcode.dsym.sqlite3
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- dSYM
- CFBundleSignature
- ????
- CFBundleShortVersionString
- 1.0
- CFBundleVersion
- 1
-
-
diff --git a/.libs/sqlite3.dSYM/Contents/Resources/DWARF/sqlite3 b/.libs/sqlite3.dSYM/Contents/Resources/DWARF/sqlite3
deleted file mode 100644
index ddcfd738..00000000
Binary files a/.libs/sqlite3.dSYM/Contents/Resources/DWARF/sqlite3 and /dev/null differ
diff --git a/.libs/sqlite3.o b/.libs/sqlite3.o
deleted file mode 100644
index d5cd0a39..00000000
Binary files a/.libs/sqlite3.o and /dev/null differ
diff --git a/.libs/tclsqlite.o b/.libs/tclsqlite.o
deleted file mode 100644
index 37940c23..00000000
Binary files a/.libs/tclsqlite.o and /dev/null differ
diff --git a/.target_source b/.target_source
deleted file mode 100644
index e69de29b..00000000
diff --git a/Makefile b/Makefile
deleted file mode 100644
index bc99384f..00000000
--- a/Makefile
+++ /dev/null
@@ -1,995 +0,0 @@
-#!/usr/make
-#
-# Makefile for SQLITE
-#
-# This makefile is suppose to be configured automatically using the
-# autoconf. But if that does not work for you, you can configure
-# the makefile manually. Just set the parameters below to values that
-# work well for your system.
-#
-# If the configure script does not work out-of-the-box, you might
-# be able to get it to work by giving it some hints. See the comment
-# at the beginning of configure.in for additional information.
-#
-
-# The toplevel directory of the source tree. This is the directory
-# that contains this "Makefile.in" and the "configure.in" script.
-#
-TOP = .
-
-# C Compiler and options for use in building executables that
-# will run on the platform that is doing the build.
-#
-BCC = gcc -g -O2
-
-# C Compile and options for use in building executables that
-# will run on the target platform. (BCC and TCC are usually the
-# same unless your are cross-compiling.)
-#
-TCC = gcc -g -O2 -DSQLITE_OS_UNIX=1 -I. -I${TOP}/src -I${TOP}/ext/rtree
-
-# Define this for the autoconf-based build, so that the code knows it can
-# include the generated config.h
-#
-TCC += -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite
-
-# Define -DNDEBUG to compile without debugging (i.e., for production usage)
-# Omitting the define will cause extra debugging code to be inserted and
-# includes extra comments when "EXPLAIN stmt" is used.
-#
-TCC += -DNDEBUG
-
-# Compiler options needed for programs that use the TCL library.
-#
-TCC += -I/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers
-
-# The library that programs using TCL must link against.
-#
-LIBTCL = -F/System/Library/Frameworks -framework Tcl
-
-# Compiler options needed for programs that use the readline() library.
-#
-READLINE_FLAGS = -DHAVE_READLINE=1 -I/usr/include/readline
-
-# The library that programs using readline() must link against.
-#
-LIBREADLINE = -lreadline -lncurses
-
-# Should the database engine be compiled threadsafe
-#
-TCC += -DSQLITE_THREADSAFE=1
-
-# Any target libraries which libsqlite must be linked against
-#
-TLIBS =
-
-# Flags controlling use of the in memory btree implementation
-#
-# SQLITE_TEMP_STORE is 0 to force temporary tables to be in a file, 1 to
-# default to file, 2 to default to memory, and 3 to force temporary
-# tables to always be in memory.
-#
-TEMP_STORE = -DSQLITE_TEMP_STORE=1
-
-# Enable/disable loadable extensions, and other optional features
-# based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*).
-# The same set of OMIT and ENABLE flags should be passed to the
-# LEMON parser generator and the mkkeywordhash tool as well.
-OPT_FEATURE_FLAGS = -DSQLITE_OMIT_LOAD_EXTENSION=1
-
-TCC += $(OPT_FEATURE_FLAGS)
-
-# Add in any optional parameters specified on the make commane line
-# ie. make "OPTS=-DSQLITE_ENABLE_FOO=1 -DSQLITE_OMIT_FOO=1".
-TCC += $(OPTS)
-
-# Version numbers and release number for the SQLite being compiled.
-#
-VERSION = 3.8
-VERSION_NUMBER = 3008000
-RELEASE = 3.8.0
-
-# Filename extensions
-#
-BEXE =
-TEXE =
-
-# The following variable is "1" if the configure script was able to locate
-# the tclConfig.sh file. It is an empty string otherwise. When this
-# variable is "1", the TCL extension library (libtclsqlite3.so) is built
-# and installed.
-#
-HAVE_TCL = 1
-
-# This is the command to use for tclsh - normally just "tclsh", but we may
-# know the specific version we want to use
-#
-TCLSH_CMD = tclsh8.5
-
-# Where do we want to install the tcl plugin
-#
-TCLLIBDIR = /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/sqlite3
-
-# The suffix used on shared libraries. Ex: ".dll", ".so", ".dylib"
-#
-SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
-
-# If gcov support was enabled by the configure script, add the appropriate
-# flags here. It's not always as easy as just having the user add the right
-# CFLAGS / LDFLAGS, because libtool wants to use CFLAGS when linking, which
-# causes build errors with -fprofile-arcs -ftest-coverage with some GCCs.
-# Supposedly GCC does the right thing if you use --coverage, but in
-# practice it still fails. See:
-#
-# http://www.mail-archive.com/debian-gcc@lists.debian.org/msg26197.html
-#
-# for more info.
-#
-GCOV_CFLAGS1 = -DSQLITE_COVERAGE_TEST=1 -fprofile-arcs -ftest-coverage
-GCOV_LDFLAGS1 = -lgcov
-USE_GCOV = 0
-LTCOMPILE_EXTRAS += $(GCOV_CFLAGS$(USE_GCOV))
-LTLINK_EXTRAS += $(GCOV_LDFLAGS$(USE_GCOV))
-
-
-# The directory into which to store package information for
-
-# Some standard variables and programs
-#
-prefix = /usr/local
-exec_prefix = ${prefix}
-libdir = ${exec_prefix}/lib
-pkgconfigdir = $(libdir)/pkgconfig
-bindir = ${exec_prefix}/bin
-includedir = ${prefix}/include
-INSTALL = /usr/bin/install -c
-LIBTOOL = ./libtool
-ALLOWRELEASE =
-
-# libtool compile/link/install
-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(TCC) $(LTCOMPILE_EXTRAS)
-LTLINK = $(LIBTOOL) --mode=link $(TCC) $(LTCOMPILE_EXTRAS) $(LTLINK_EXTRAS)
-LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
-
-# nawk compatible awk.
-NAWK = awk
-
-# You should not have to change anything below this line
-###############################################################################
-
-USE_AMALGAMATION = 1
-
-# Object files for the SQLite library (non-amalgamation).
-#
-LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
- backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
- callback.lo complete.lo ctime.lo date.lo delete.lo \
- expr.lo fault.lo fkey.lo \
- fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \
- fts3_porter.lo fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo \
- fts3_tokenize_vtab.lo \
- fts3_unicode.lo fts3_unicode2.lo fts3_write.lo \
- func.lo global.lo hash.lo \
- icu.lo insert.lo journal.lo legacy.lo loadext.lo \
- main.lo malloc.lo mem0.lo mem1.lo mem2.lo mem3.lo mem5.lo \
- memjournal.lo \
- mutex.lo mutex_noop.lo mutex_unix.lo mutex_w32.lo \
- notify.lo opcodes.lo os.lo os_unix.lo os_win.lo \
- pager.lo parse.lo pcache.lo pcache1.lo pragma.lo prepare.lo printf.lo \
- random.lo resolve.lo rowset.lo rtree.lo select.lo status.lo \
- table.lo tokenize.lo trigger.lo \
- update.lo util.lo vacuum.lo \
- vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
- vdbetrace.lo wal.lo walker.lo where.lo utf.lo vtab.lo
-
-# Object files for the amalgamation.
-#
-LIBOBJS1 = sqlite3.lo
-
-# Determine the real value of LIBOBJ based on the 'configure' script
-#
-LIBOBJ = $(LIBOBJS$(USE_AMALGAMATION))
-
-
-# All of the source code files.
-#
-SRC = \
- $(TOP)/src/alter.c \
- $(TOP)/src/analyze.c \
- $(TOP)/src/attach.c \
- $(TOP)/src/auth.c \
- $(TOP)/src/backup.c \
- $(TOP)/src/bitvec.c \
- $(TOP)/src/btmutex.c \
- $(TOP)/src/btree.c \
- $(TOP)/src/btree.h \
- $(TOP)/src/btreeInt.h \
- $(TOP)/src/build.c \
- $(TOP)/src/callback.c \
- $(TOP)/src/complete.c \
- $(TOP)/src/ctime.c \
- $(TOP)/src/date.c \
- $(TOP)/src/delete.c \
- $(TOP)/src/expr.c \
- $(TOP)/src/fault.c \
- $(TOP)/src/fkey.c \
- $(TOP)/src/func.c \
- $(TOP)/src/global.c \
- $(TOP)/src/hash.c \
- $(TOP)/src/hash.h \
- $(TOP)/src/hwtime.h \
- $(TOP)/src/insert.c \
- $(TOP)/src/journal.c \
- $(TOP)/src/legacy.c \
- $(TOP)/src/loadext.c \
- $(TOP)/src/main.c \
- $(TOP)/src/malloc.c \
- $(TOP)/src/mem0.c \
- $(TOP)/src/mem1.c \
- $(TOP)/src/mem2.c \
- $(TOP)/src/mem3.c \
- $(TOP)/src/mem5.c \
- $(TOP)/src/memjournal.c \
- $(TOP)/src/mutex.c \
- $(TOP)/src/mutex.h \
- $(TOP)/src/mutex_noop.c \
- $(TOP)/src/mutex_unix.c \
- $(TOP)/src/mutex_w32.c \
- $(TOP)/src/notify.c \
- $(TOP)/src/os.c \
- $(TOP)/src/os.h \
- $(TOP)/src/os_common.h \
- $(TOP)/src/os_unix.c \
- $(TOP)/src/os_win.c \
- $(TOP)/src/pager.c \
- $(TOP)/src/pager.h \
- $(TOP)/src/parse.y \
- $(TOP)/src/pcache.c \
- $(TOP)/src/pcache.h \
- $(TOP)/src/pcache1.c \
- $(TOP)/src/pragma.c \
- $(TOP)/src/prepare.c \
- $(TOP)/src/printf.c \
- $(TOP)/src/random.c \
- $(TOP)/src/resolve.c \
- $(TOP)/src/rowset.c \
- $(TOP)/src/select.c \
- $(TOP)/src/status.c \
- $(TOP)/src/shell.c \
- $(TOP)/src/sqlite.h.in \
- $(TOP)/src/sqlite3ext.h \
- $(TOP)/src/sqliteInt.h \
- $(TOP)/src/sqliteLimit.h \
- $(TOP)/src/table.c \
- $(TOP)/src/tclsqlite.c \
- $(TOP)/src/tokenize.c \
- $(TOP)/src/trigger.c \
- $(TOP)/src/utf.c \
- $(TOP)/src/update.c \
- $(TOP)/src/util.c \
- $(TOP)/src/vacuum.c \
- $(TOP)/src/vdbe.c \
- $(TOP)/src/vdbe.h \
- $(TOP)/src/vdbeapi.c \
- $(TOP)/src/vdbeaux.c \
- $(TOP)/src/vdbeblob.c \
- $(TOP)/src/vdbemem.c \
- $(TOP)/src/vdbesort.c \
- $(TOP)/src/vdbetrace.c \
- $(TOP)/src/vdbeInt.h \
- $(TOP)/src/vtab.c \
- $(TOP)/src/wal.c \
- $(TOP)/src/wal.h \
- $(TOP)/src/walker.c \
- $(TOP)/src/where.c
-
-# Source code for extensions
-#
-SRC += \
- $(TOP)/ext/fts1/fts1.c \
- $(TOP)/ext/fts1/fts1.h \
- $(TOP)/ext/fts1/fts1_hash.c \
- $(TOP)/ext/fts1/fts1_hash.h \
- $(TOP)/ext/fts1/fts1_porter.c \
- $(TOP)/ext/fts1/fts1_tokenizer.h \
- $(TOP)/ext/fts1/fts1_tokenizer1.c
-SRC += \
- $(TOP)/ext/fts2/fts2.c \
- $(TOP)/ext/fts2/fts2.h \
- $(TOP)/ext/fts2/fts2_hash.c \
- $(TOP)/ext/fts2/fts2_hash.h \
- $(TOP)/ext/fts2/fts2_icu.c \
- $(TOP)/ext/fts2/fts2_porter.c \
- $(TOP)/ext/fts2/fts2_tokenizer.h \
- $(TOP)/ext/fts2/fts2_tokenizer.c \
- $(TOP)/ext/fts2/fts2_tokenizer1.c
-SRC += \
- $(TOP)/ext/fts3/fts3.c \
- $(TOP)/ext/fts3/fts3.h \
- $(TOP)/ext/fts3/fts3Int.h \
- $(TOP)/ext/fts3/fts3_aux.c \
- $(TOP)/ext/fts3/fts3_expr.c \
- $(TOP)/ext/fts3/fts3_hash.c \
- $(TOP)/ext/fts3/fts3_hash.h \
- $(TOP)/ext/fts3/fts3_icu.c \
- $(TOP)/ext/fts3/fts3_porter.c \
- $(TOP)/ext/fts3/fts3_snippet.c \
- $(TOP)/ext/fts3/fts3_tokenizer.h \
- $(TOP)/ext/fts3/fts3_tokenizer.c \
- $(TOP)/ext/fts3/fts3_tokenizer1.c \
- $(TOP)/ext/fts3/fts3_tokenize_vtab.c \
- $(TOP)/ext/fts3/fts3_unicode.c \
- $(TOP)/ext/fts3/fts3_unicode2.c \
- $(TOP)/ext/fts3/fts3_write.c
-SRC += \
- $(TOP)/ext/icu/sqliteicu.h \
- $(TOP)/ext/icu/icu.c
-SRC += \
- $(TOP)/ext/rtree/rtree.h \
- $(TOP)/ext/rtree/rtree.c
-
-
-# Generated source code files
-#
-SRC += \
- keywordhash.h \
- opcodes.c \
- opcodes.h \
- parse.c \
- parse.h \
- config.h \
- sqlite3.h
-
-# Source code to the test files.
-#
-TESTSRC = \
- $(TOP)/src/test1.c \
- $(TOP)/src/test2.c \
- $(TOP)/src/test3.c \
- $(TOP)/src/test4.c \
- $(TOP)/src/test5.c \
- $(TOP)/src/test6.c \
- $(TOP)/src/test7.c \
- $(TOP)/src/test8.c \
- $(TOP)/src/test9.c \
- $(TOP)/src/test_autoext.c \
- $(TOP)/src/test_async.c \
- $(TOP)/src/test_backup.c \
- $(TOP)/src/test_btree.c \
- $(TOP)/src/test_config.c \
- $(TOP)/src/test_demovfs.c \
- $(TOP)/src/test_devsym.c \
- $(TOP)/src/test_fs.c \
- $(TOP)/src/test_func.c \
- $(TOP)/src/test_hexio.c \
- $(TOP)/src/test_init.c \
- $(TOP)/src/test_intarray.c \
- $(TOP)/src/test_journal.c \
- $(TOP)/src/test_malloc.c \
- $(TOP)/src/test_multiplex.c \
- $(TOP)/src/test_mutex.c \
- $(TOP)/src/test_onefile.c \
- $(TOP)/src/test_osinst.c \
- $(TOP)/src/test_pcache.c \
- $(TOP)/src/test_quota.c \
- $(TOP)/src/test_rtree.c \
- $(TOP)/src/test_schema.c \
- $(TOP)/src/test_server.c \
- $(TOP)/src/test_superlock.c \
- $(TOP)/src/test_syscall.c \
- $(TOP)/src/test_stat.c \
- $(TOP)/src/test_tclvar.c \
- $(TOP)/src/test_thread.c \
- $(TOP)/src/test_vfs.c \
- $(TOP)/src/test_wsd.c \
- $(TOP)/ext/fts3/fts3_term.c \
- $(TOP)/ext/fts3/fts3_test.c
-
-# Statically linked extensions
-#
-TESTSRC += \
- $(TOP)/ext/misc/amatch.c \
- $(TOP)/ext/misc/closure.c \
- $(TOP)/ext/misc/fuzzer.c \
- $(TOP)/ext/misc/ieee754.c \
- $(TOP)/ext/misc/nextchar.c \
- $(TOP)/ext/misc/percentile.c \
- $(TOP)/ext/misc/regexp.c \
- $(TOP)/ext/misc/spellfix.c \
- $(TOP)/ext/misc/wholenumber.c
-
-# Source code to the library files needed by the test fixture
-#
-TESTSRC2 = \
- $(TOP)/src/attach.c \
- $(TOP)/src/backup.c \
- $(TOP)/src/bitvec.c \
- $(TOP)/src/btree.c \
- $(TOP)/src/build.c \
- $(TOP)/src/ctime.c \
- $(TOP)/src/date.c \
- $(TOP)/src/expr.c \
- $(TOP)/src/func.c \
- $(TOP)/src/insert.c \
- $(TOP)/src/wal.c \
- $(TOP)/src/main.c \
- $(TOP)/src/mem5.c \
- $(TOP)/src/os.c \
- $(TOP)/src/os_unix.c \
- $(TOP)/src/os_win.c \
- $(TOP)/src/pager.c \
- $(TOP)/src/pragma.c \
- $(TOP)/src/prepare.c \
- $(TOP)/src/printf.c \
- $(TOP)/src/random.c \
- $(TOP)/src/pcache.c \
- $(TOP)/src/pcache1.c \
- $(TOP)/src/select.c \
- $(TOP)/src/tokenize.c \
- $(TOP)/src/utf.c \
- $(TOP)/src/util.c \
- $(TOP)/src/vdbeapi.c \
- $(TOP)/src/vdbeaux.c \
- $(TOP)/src/vdbe.c \
- $(TOP)/src/vdbemem.c \
- $(TOP)/src/vdbetrace.c \
- $(TOP)/src/where.c \
- parse.c \
- $(TOP)/ext/fts3/fts3.c \
- $(TOP)/ext/fts3/fts3_aux.c \
- $(TOP)/ext/fts3/fts3_expr.c \
- $(TOP)/ext/fts3/fts3_term.c \
- $(TOP)/ext/fts3/fts3_tokenizer.c \
- $(TOP)/ext/fts3/fts3_write.c \
- $(TOP)/ext/async/sqlite3async.c
-
-# Header files used by all library source files.
-#
-HDR = \
- $(TOP)/src/btree.h \
- $(TOP)/src/btreeInt.h \
- $(TOP)/src/hash.h \
- $(TOP)/src/hwtime.h \
- keywordhash.h \
- $(TOP)/src/mutex.h \
- opcodes.h \
- $(TOP)/src/os.h \
- $(TOP)/src/os_common.h \
- $(TOP)/src/pager.h \
- $(TOP)/src/pcache.h \
- parse.h \
- sqlite3.h \
- $(TOP)/src/sqlite3ext.h \
- $(TOP)/src/sqliteInt.h \
- $(TOP)/src/sqliteLimit.h \
- $(TOP)/src/vdbe.h \
- $(TOP)/src/vdbeInt.h \
- config.h
-
-# Header files used by extensions
-#
-EXTHDR += \
- $(TOP)/ext/fts1/fts1.h \
- $(TOP)/ext/fts1/fts1_hash.h \
- $(TOP)/ext/fts1/fts1_tokenizer.h
-EXTHDR += \
- $(TOP)/ext/fts2/fts2.h \
- $(TOP)/ext/fts2/fts2_hash.h \
- $(TOP)/ext/fts2/fts2_tokenizer.h
-EXTHDR += \
- $(TOP)/ext/fts3/fts3.h \
- $(TOP)/ext/fts3/fts3Int.h \
- $(TOP)/ext/fts3/fts3_hash.h \
- $(TOP)/ext/fts3/fts3_tokenizer.h
-EXTHDR += \
- $(TOP)/ext/rtree/rtree.h
-EXTHDR += \
- $(TOP)/ext/icu/sqliteicu.h
-EXTHDR += \
- $(TOP)/ext/rtree/sqlite3rtree.h
-
-# This is the default Makefile target. The objects listed here
-# are what get build when you type just "make" with no arguments.
-#
-all: sqlite3.h libsqlite3.la sqlite3$(TEXE) $(HAVE_TCL:1=libtclsqlite3.la)
-
-Makefile: $(TOP)/Makefile.in
- ./config.status
-
-sqlite3.pc: $(TOP)/sqlite3.pc.in
- ./config.status
-
-libsqlite3.la: $(LIBOBJ)
- $(LTLINK) -o $@ $(LIBOBJ) $(TLIBS) \
- ${ALLOWRELEASE} -rpath "$(libdir)" -version-info "8:6:8"
-
-libtclsqlite3.la: tclsqlite.lo libsqlite3.la
- $(LTLINK) -o $@ tclsqlite.lo \
- libsqlite3.la -L/System/Library/Frameworks/Tcl.framework/Versions/8.5 -ltclstub8.5 $(TLIBS) \
- -rpath "$(TCLLIBDIR)" \
- -version-info "8:6:8" \
- -avoid-version
-
-sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h
- $(LTLINK) $(READLINE_FLAGS) \
- -o $@ $(TOP)/src/shell.c libsqlite3.la \
- $(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
-
-mptester$(EXE): sqlite3.c $(TOP)/mptest/mptest.c
- $(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \
- $(TLIBS) -rpath "$(libdir)"
-
-
-# This target creates a directory named "tsrc" and fills it with
-# copies of all of the C source code and header files needed to
-# build on the target system. Some of the C source code and header
-# files are automatically generated. This target takes care of
-# all that automatic generation.
-#
-.target_source: $(SRC) $(TOP)/tool/vdbe-compress.tcl
- rm -rf tsrc
- mkdir tsrc
- cp -f $(SRC) tsrc
- rm tsrc/sqlite.h.in tsrc/parse.y
- $(TCLSH_CMD) $(TOP)/tool/vdbe-compress.tcl vdbe.new
- mv vdbe.new tsrc/vdbe.c
- touch .target_source
-
-sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl
- $(TCLSH_CMD) $(TOP)/tool/mksqlite3c.tcl
- cp tsrc/shell.c tsrc/sqlite3ext.h .
-
-tclsqlite3.c: sqlite3.c
- echo '#ifndef USE_SYSTEM_SQLITE' >tclsqlite3.c
- cat sqlite3.c >>tclsqlite3.c
- echo '#endif /* USE_SYSTEM_SQLITE */' >>tclsqlite3.c
- cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c
-
-sqlite3-all.c: sqlite3.c $(TOP)/tool/split-sqlite3c.tcl
- $(TCLSH_CMD) $(TOP)/tool/split-sqlite3c.tcl
-
-# Rule to build the amalgamation
-#
-sqlite3.lo: sqlite3.c
- $(LTCOMPILE) $(TEMP_STORE) -c sqlite3.c
-
-# Rules to build the LEMON compiler generator
-#
-lemon$(BEXE): $(TOP)/tool/lemon.c $(TOP)/src/lempar.c
- $(BCC) -o $@ $(TOP)/tool/lemon.c
- cp $(TOP)/src/lempar.c .
-
-# Rules to build individual *.o files from generated *.c files. This
-# applies to:
-#
-# parse.o
-# opcodes.o
-#
-parse.lo: parse.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c parse.c
-
-opcodes.lo: opcodes.c
- $(LTCOMPILE) $(TEMP_STORE) -c opcodes.c
-
-# Rules to build individual *.o files from files in the src directory.
-#
-alter.lo: $(TOP)/src/alter.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/alter.c
-
-analyze.lo: $(TOP)/src/analyze.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/analyze.c
-
-attach.lo: $(TOP)/src/attach.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/attach.c
-
-auth.lo: $(TOP)/src/auth.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/auth.c
-
-backup.lo: $(TOP)/src/backup.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/backup.c
-
-bitvec.lo: $(TOP)/src/bitvec.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/bitvec.c
-
-btmutex.lo: $(TOP)/src/btmutex.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/btmutex.c
-
-btree.lo: $(TOP)/src/btree.c $(HDR) $(TOP)/src/pager.h
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/btree.c
-
-build.lo: $(TOP)/src/build.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/build.c
-
-callback.lo: $(TOP)/src/callback.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/callback.c
-
-complete.lo: $(TOP)/src/complete.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/complete.c
-
-ctime.lo: $(TOP)/src/ctime.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/ctime.c
-
-date.lo: $(TOP)/src/date.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/date.c
-
-delete.lo: $(TOP)/src/delete.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/delete.c
-
-expr.lo: $(TOP)/src/expr.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/expr.c
-
-fault.lo: $(TOP)/src/fault.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/fault.c
-
-fkey.lo: $(TOP)/src/fkey.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/fkey.c
-
-func.lo: $(TOP)/src/func.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/func.c
-
-global.lo: $(TOP)/src/global.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/global.c
-
-hash.lo: $(TOP)/src/hash.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/hash.c
-
-insert.lo: $(TOP)/src/insert.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/insert.c
-
-journal.lo: $(TOP)/src/journal.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/journal.c
-
-legacy.lo: $(TOP)/src/legacy.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/legacy.c
-
-loadext.lo: $(TOP)/src/loadext.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/loadext.c
-
-main.lo: $(TOP)/src/main.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/main.c
-
-malloc.lo: $(TOP)/src/malloc.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/malloc.c
-
-mem0.lo: $(TOP)/src/mem0.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mem0.c
-
-mem1.lo: $(TOP)/src/mem1.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mem1.c
-
-mem2.lo: $(TOP)/src/mem2.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mem2.c
-
-mem3.lo: $(TOP)/src/mem3.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mem3.c
-
-mem5.lo: $(TOP)/src/mem5.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mem5.c
-
-memjournal.lo: $(TOP)/src/memjournal.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/memjournal.c
-
-mutex.lo: $(TOP)/src/mutex.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mutex.c
-
-mutex_noop.lo: $(TOP)/src/mutex_noop.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mutex_noop.c
-
-mutex_unix.lo: $(TOP)/src/mutex_unix.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mutex_unix.c
-
-mutex_w32.lo: $(TOP)/src/mutex_w32.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/mutex_w32.c
-
-notify.lo: $(TOP)/src/notify.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/notify.c
-
-pager.lo: $(TOP)/src/pager.c $(HDR) $(TOP)/src/pager.h
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/pager.c
-
-pcache.lo: $(TOP)/src/pcache.c $(HDR) $(TOP)/src/pcache.h
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/pcache.c
-
-pcache1.lo: $(TOP)/src/pcache1.c $(HDR) $(TOP)/src/pcache.h
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/pcache1.c
-
-os.lo: $(TOP)/src/os.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/os.c
-
-os_unix.lo: $(TOP)/src/os_unix.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/os_unix.c
-
-os_win.lo: $(TOP)/src/os_win.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/os_win.c
-
-pragma.lo: $(TOP)/src/pragma.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/pragma.c
-
-prepare.lo: $(TOP)/src/prepare.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/prepare.c
-
-printf.lo: $(TOP)/src/printf.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/printf.c
-
-random.lo: $(TOP)/src/random.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/random.c
-
-resolve.lo: $(TOP)/src/resolve.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/resolve.c
-
-rowset.lo: $(TOP)/src/rowset.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/rowset.c
-
-select.lo: $(TOP)/src/select.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/select.c
-
-status.lo: $(TOP)/src/status.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/status.c
-
-table.lo: $(TOP)/src/table.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/table.c
-
-tokenize.lo: $(TOP)/src/tokenize.c keywordhash.h $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/tokenize.c
-
-trigger.lo: $(TOP)/src/trigger.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/trigger.c
-
-update.lo: $(TOP)/src/update.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/update.c
-
-utf.lo: $(TOP)/src/utf.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/utf.c
-
-util.lo: $(TOP)/src/util.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/util.c
-
-vacuum.lo: $(TOP)/src/vacuum.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vacuum.c
-
-vdbe.lo: $(TOP)/src/vdbe.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbe.c
-
-vdbeapi.lo: $(TOP)/src/vdbeapi.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbeapi.c
-
-vdbeaux.lo: $(TOP)/src/vdbeaux.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbeaux.c
-
-vdbeblob.lo: $(TOP)/src/vdbeblob.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbeblob.c
-
-vdbemem.lo: $(TOP)/src/vdbemem.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbemem.c
-
-vdbesort.lo: $(TOP)/src/vdbesort.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbesort.c
-
-vdbetrace.lo: $(TOP)/src/vdbetrace.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vdbetrace.c
-
-vtab.lo: $(TOP)/src/vtab.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/vtab.c
-
-wal.lo: $(TOP)/src/wal.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/wal.c
-
-walker.lo: $(TOP)/src/walker.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/walker.c
-
-where.lo: $(TOP)/src/where.c $(HDR)
- $(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/where.c
-
-tclsqlite.lo: $(TOP)/src/tclsqlite.c $(HDR)
- $(LTCOMPILE) -DUSE_TCL_STUBS=1 -c $(TOP)/src/tclsqlite.c
-
-tclsqlite-shell.lo: $(TOP)/src/tclsqlite.c $(HDR)
- $(LTCOMPILE) -DTCLSH=1 -o $@ -c $(TOP)/src/tclsqlite.c
-
-tclsqlite-stubs.lo: $(TOP)/src/tclsqlite.c $(HDR)
- $(LTCOMPILE) -DUSE_TCL_STUBS=1 -o $@ -c $(TOP)/src/tclsqlite.c
-
-tclsqlite3$(TEXE): tclsqlite-shell.lo libsqlite3.la
- $(LTLINK) -o $@ tclsqlite-shell.lo \
- libsqlite3.la $(LIBTCL)
-
-# Rules to build opcodes.c and opcodes.h
-#
-opcodes.c: opcodes.h $(TOP)/mkopcodec.awk
- $(NAWK) -f $(TOP)/mkopcodec.awk opcodes.h >opcodes.c
-
-opcodes.h: parse.h $(TOP)/src/vdbe.c $(TOP)/mkopcodeh.awk
- cat parse.h $(TOP)/src/vdbe.c | $(NAWK) -f $(TOP)/mkopcodeh.awk >opcodes.h
-
-# Rules to build parse.c and parse.h - the outputs of lemon.
-#
-parse.h: parse.c
-
-parse.c: $(TOP)/src/parse.y lemon$(BEXE) $(TOP)/addopcodes.awk
- cp $(TOP)/src/parse.y .
- rm -f parse.h
- ./lemon$(BEXE) $(OPT_FEATURE_FLAGS) $(OPTS) parse.y
- mv parse.h parse.h.temp
- $(NAWK) -f $(TOP)/addopcodes.awk parse.h.temp >parse.h
-
-sqlite3.h: $(TOP)/src/sqlite.h.in $(TOP)/manifest.uuid $(TOP)/VERSION
- $(TCLSH_CMD) $(TOP)/tool/mksqlite3h.tcl $(TOP) >sqlite3.h
-
-keywordhash.h: $(TOP)/tool/mkkeywordhash.c
- $(BCC) -o mkkeywordhash$(BEXE) $(OPT_FEATURE_FLAGS) $(OPTS) $(TOP)/tool/mkkeywordhash.c
- ./mkkeywordhash$(BEXE) >keywordhash.h
-
-
-
-# Rules to build the extension objects.
-#
-icu.lo: $(TOP)/ext/icu/icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/icu/icu.c
-
-fts2.lo: $(TOP)/ext/fts2/fts2.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2.c
-
-fts2_hash.lo: $(TOP)/ext/fts2/fts2_hash.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_hash.c
-
-fts2_icu.lo: $(TOP)/ext/fts2/fts2_icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_icu.c
-
-fts2_porter.lo: $(TOP)/ext/fts2/fts2_porter.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_porter.c
-
-fts2_tokenizer.lo: $(TOP)/ext/fts2/fts2_tokenizer.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer.c
-
-fts2_tokenizer1.lo: $(TOP)/ext/fts2/fts2_tokenizer1.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts2/fts2_tokenizer1.c
-
-fts3.lo: $(TOP)/ext/fts3/fts3.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3.c
-
-fts3_aux.lo: $(TOP)/ext/fts3/fts3_aux.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_aux.c
-
-fts3_expr.lo: $(TOP)/ext/fts3/fts3_expr.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_expr.c
-
-fts3_hash.lo: $(TOP)/ext/fts3/fts3_hash.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_hash.c
-
-fts3_icu.lo: $(TOP)/ext/fts3/fts3_icu.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_icu.c
-
-fts3_porter.lo: $(TOP)/ext/fts3/fts3_porter.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_porter.c
-
-fts3_snippet.lo: $(TOP)/ext/fts3/fts3_snippet.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_snippet.c
-
-fts3_tokenizer.lo: $(TOP)/ext/fts3/fts3_tokenizer.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer.c
-
-fts3_tokenizer1.lo: $(TOP)/ext/fts3/fts3_tokenizer1.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenizer1.c
-
-fts3_tokenize_vtab.lo: $(TOP)/ext/fts3/fts3_tokenize_vtab.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_tokenize_vtab.c
-
-fts3_unicode.lo: $(TOP)/ext/fts3/fts3_unicode.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_unicode.c
-
-fts3_unicode2.lo: $(TOP)/ext/fts3/fts3_unicode2.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_unicode2.c
-
-fts3_write.lo: $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/fts3/fts3_write.c
-
-rtree.lo: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
- $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
-
-
-# Rules to build the 'testfixture' application.
-#
-# If using the amalgamation, use sqlite3.c directly to build the test
-# fixture. Otherwise link against libsqlite3.la. (This distinction is
-# necessary because the test fixture requires non-API symbols which are
-# hidden when the library is built via the amalgamation).
-#
-TESTFIXTURE_FLAGS = -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
-TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
-TESTFIXTURE_FLAGS += -DBUILD_sqlite
-
-TESTFIXTURE_SRC0 = $(TESTSRC2) libsqlite3.la
-TESTFIXTURE_SRC1 = sqlite3.c
-TESTFIXTURE_SRC = $(TESTSRC) $(TOP)/src/tclsqlite.c
-TESTFIXTURE_SRC += $(TESTFIXTURE_SRC$(USE_AMALGAMATION))
-
-testfixture$(TEXE): $(TESTFIXTURE_SRC)
- $(LTLINK) -DSQLITE_NO_SYNC=1 $(TEMP_STORE) $(TESTFIXTURE_FLAGS) \
- -o $@ $(TESTFIXTURE_SRC) $(LIBTCL) $(TLIBS)
-
-
-fulltest: testfixture$(TEXE) sqlite3$(TEXE)
- ./testfixture$(TEXE) $(TOP)/test/all.test
-
-soaktest: testfixture$(TEXE) sqlite3$(TEXE)
- ./testfixture$(TEXE) $(TOP)/test/all.test -soak=1
-
-fulltestonly: testfixture$(TEXE) sqlite3$(TEXE)
- ./testfixture$(TEXE) $(TOP)/test/full.test
-
-test: testfixture$(TEXE) sqlite3$(TEXE)
- ./testfixture$(TEXE) $(TOP)/test/veryquick.test
-
-sqlite3_analyzer.c: sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
- echo "#define TCLSH 2" > $@
- cat sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c >> $@
- echo "static const char *tclsh_main_loop(void){" >> $@
- echo "static const char *zMainloop = " >> $@
- $(NAWK) -f $(TOP)/tool/tostr.awk $(TOP)/tool/spaceanal.tcl >> $@
- echo "; return zMainloop; }" >> $@
-
-sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
- $(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
-
-# Standard install and cleanup targets
-#
-lib_install: libsqlite3.la
- $(INSTALL) -d $(DESTDIR)$(libdir)
- $(LTINSTALL) libsqlite3.la $(DESTDIR)$(libdir)
-
-install: sqlite3$(BEXE) lib_install sqlite3.h sqlite3.pc ${HAVE_TCL:1=tcl_install}
- $(INSTALL) -d $(DESTDIR)$(bindir)
- $(LTINSTALL) sqlite3$(BEXE) $(DESTDIR)$(bindir)
- $(INSTALL) -d $(DESTDIR)$(includedir)
- $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(includedir)
- $(INSTALL) -m 0644 $(TOP)/src/sqlite3ext.h $(DESTDIR)$(includedir)
- $(INSTALL) -d $(DESTDIR)$(pkgconfigdir)
- $(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(pkgconfigdir)
-
-pkgIndex.tcl:
- echo 'package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3.so sqlite3]' > $@
-tcl_install: lib_install libtclsqlite3.la pkgIndex.tcl
- $(INSTALL) -d $(DESTDIR)$(TCLLIBDIR)
- $(LTINSTALL) libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)
- rm -f $(DESTDIR)$(TCLLIBDIR)/libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)/libtclsqlite3.a
- $(INSTALL) -m 0644 pkgIndex.tcl $(DESTDIR)$(TCLLIBDIR)
-
-clean:
- rm -f *.lo *.la *.o sqlite3$(TEXE) libsqlite3.la
- rm -f sqlite3.h opcodes.*
- rm -rf .libs .deps
- rm -f lemon$(BEXE) lempar.c parse.* sqlite*.tar.gz
- rm -f mkkeywordhash$(BEXE) keywordhash.h
- rm -f *.da *.bb *.bbg gmon.out
- rm -rf quota2a quota2b quota2c
- rm -rf tsrc .target_source
- rm -f tclsqlite3$(TEXE)
- rm -f testfixture$(TEXE) test.db
- rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
- rm -f sqlite3.c
- rm -f sqlite3rc.h
- rm -f shell.c sqlite3ext.h
- rm -f sqlite3_analyzer$(TEXE) sqlite3_analyzer.c
- rm -f sqlite-*-output.vsix
- rm -f mptester mptester.exe
-
-distclean: clean
- rm -f config.log config.status libtool Makefile sqlite3.pc
-
-#
-# Windows section
-#
-dll: sqlite3.dll
-
-REAL_LIBOBJ = $(LIBOBJ:%.lo=.libs/%.o)
-
-$(REAL_LIBOBJ): $(LIBOBJ)
-
-sqlite3.def: $(REAL_LIBOBJ)
- echo 'EXPORTS' >sqlite3.def
- nm $(REAL_LIBOBJ) | grep ' T ' | grep ' _sqlite3_' \
- | sed 's/^.* _//' >>sqlite3.def
-
-sqlite3.dll: $(REAL_LIBOBJ) sqlite3.def
- $(TCC) -shared -o $@ sqlite3.def \
- -Wl,"--strip-all" $(REAL_LIBOBJ)
diff --git a/config.h b/config.h
deleted file mode 100644
index 5cb35aac..00000000
--- a/config.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/* config.h. Generated from config.h.in by configure. */
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the `fdatasync' function. */
-#define HAVE_FDATASYNC 1
-
-/* Define to 1 if you have the `gmtime_r' function. */
-#define HAVE_GMTIME_R 1
-
-/* Define to 1 if the system has the type `int16_t'. */
-#define HAVE_INT16_T 1
-
-/* Define to 1 if the system has the type `int32_t'. */
-#define HAVE_INT32_T 1
-
-/* Define to 1 if the system has the type `int64_t'. */
-#define HAVE_INT64_T 1
-
-/* Define to 1 if the system has the type `int8_t'. */
-#define HAVE_INT8_T 1
-
-/* Define to 1 if the system has the type `intptr_t'. */
-#define HAVE_INTPTR_T 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the `localtime_r' function. */
-#define HAVE_LOCALTIME_R 1
-
-/* Define to 1 if you have the `localtime_s' function. */
-/* #undef HAVE_LOCALTIME_S */
-
-/* Define to 1 if you have the header file. */
-/* #undef HAVE_MALLOC_H */
-
-/* Define to 1 if you have the `malloc_usable_size' function. */
-/* #undef HAVE_MALLOC_USABLE_SIZE */
-
-/* Define to 1 if you have the header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if the system has the type `uint16_t'. */
-#define HAVE_UINT16_T 1
-
-/* Define to 1 if the system has the type `uint32_t'. */
-#define HAVE_UINT32_T 1
-
-/* Define to 1 if the system has the type `uint64_t'. */
-#define HAVE_UINT64_T 1
-
-/* Define to 1 if the system has the type `uint8_t'. */
-#define HAVE_UINT8_T 1
-
-/* Define to 1 if the system has the type `uintptr_t'. */
-#define HAVE_UINTPTR_T 1
-
-/* Define to 1 if you have the header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `usleep' function. */
-#define HAVE_USLEEP 1
-
-/* Define to 1 if you have the utime() library function. */
-#define HAVE_UTIME 1
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
-#define LT_OBJDIR ".libs/"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "sqlite"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "sqlite 3.8.0"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "sqlite"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.8.0"
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
diff --git a/config.log b/config.log
deleted file mode 100644
index 3451fbe5..00000000
--- a/config.log
+++ /dev/null
@@ -1,1965 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by sqlite configure 3.8.0, which was
-generated by GNU Autoconf 2.62. Invocation command line was
-
- $ ./configure
-
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = work.local
-uname -m = x86_64
-uname -r = 12.4.0
-uname -s = Darwin
-uname -v = Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64
-
-/usr/bin/uname -p = i386
-/bin/uname -X = unknown
-
-/bin/arch = unknown
-/usr/bin/arch -k = unknown
-/usr/convex/getsysinfo = unknown
-/usr/bin/hostinfo = Mach kernel version:
- Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64
-Kernel configured for up to 8 processors.
-4 processors are physically available.
-8 processors are logically available.
-Processor type: i486 (Intel 80486)
-Processors active: 0 1 2 3 4 5 6 7
-Primary memory available: 8.00 gigabytes
-Default processor set: 134 tasks, 680 threads, 8 processors
-Load average: 3.66, Mach factor: 4.33
-/bin/machine = unknown
-/usr/bin/oslevel = unknown
-/bin/universe = unknown
-
-PATH: /usr/local/bin
-PATH: /usr/bin
-PATH: /Users/nparker/bin
-PATH: /Users/nparker/.cabal/bin
-PATH: /Users/nparker/bin/scripts
-PATH: /Users/nparker/bin/android-ndk
-PATH: /Users/nparker/bin/android-sdk/tools/proguard/bin
-PATH: /Users/nparker/bin/android-sdk/platform-tools
-PATH: /Users/nparker/bin/android-sdk/tools
-PATH: /Users/nparker/src/depot-tools
-PATH: /Users/nparker/bin/nacl-sdk
-PATH: /Users/nparker/.lein/bin
-PATH: /Users/nparker/bin/leiningen/bin
-PATH: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin
-PATH: /Users/nparker/bin/maven/bin
-PATH: /Users/nparker/bin/ant/bin
-PATH: /Applications/Racket/bin
-PATH: /Applications/Julia.app/Contents/Resources/julia/bin
-PATH: /usr/local/share/npm/bin
-PATH: /Applications/kdiff3.app/Contents/MacOS
-PATH: /Users/nparker/src/offlineimap/bin
-PATH: /usr/local/share/python
-PATH: /Users/nparker/src/rust/bin
-PATH: /Users/nparker/bin/dex2jar
-PATH: /usr/bin
-PATH: /bin
-PATH: /usr/sbin
-PATH: /sbin
-PATH: /usr/local/bin
-PATH: /opt/X11/bin
-PATH: /usr/texbin
-PATH: /Users/nparker/.ec2/bin
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-configure:2130: checking build system type
-configure:2148: result: i386-apple-darwin12.4.0
-configure:2170: checking host system type
-configure:2185: result: i386-apple-darwin12.4.0
-configure:2255: checking for gcc
-configure:2271: found /usr/bin/gcc
-configure:2282: result: gcc
-configure:2520: checking for C compiler version
-configure:2528: gcc --version >&5
-i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
-Copyright (C) 2007 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:2532: $? = 0
-configure:2539: gcc -v >&5
-Using built-in specs.
-Target: i686-apple-darwin11
-Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
-Thread model: posix
-gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
-configure:2543: $? = 0
-configure:2550: gcc -V >&5
-llvm-gcc-4.2: argument to `-V' is missing
-configure:2554: $? = 1
-configure:2577: checking for C compiler default output file name
-configure:2599: gcc conftest.c >&5
-configure:2603: $? = 0
-configure:2641: result: a.out
-configure:2658: checking whether the C compiler works
-configure:2668: ./a.out
-configure:2672: $? = 0
-configure:2689: result: yes
-configure:2696: checking whether we are cross compiling
-configure:2698: result: no
-configure:2701: checking for suffix of executables
-configure:2708: gcc -o conftest conftest.c >&5
-configure:2712: $? = 0
-configure:2736: result:
-configure:2742: checking for suffix of object files
-configure:2768: gcc -c conftest.c >&5
-configure:2772: $? = 0
-configure:2795: result: o
-configure:2799: checking whether we are using the GNU C compiler
-configure:2828: gcc -c conftest.c >&5
-configure:2835: $? = 0
-configure:2852: result: yes
-configure:2861: checking whether gcc accepts -g
-configure:2891: gcc -c -g conftest.c >&5
-configure:2898: $? = 0
-configure:2999: result: yes
-configure:3016: checking for gcc option to accept ISO C89
-configure:3090: gcc -c -g -O2 conftest.c >&5
-configure:3097: $? = 0
-configure:3120: result: none needed
-configure:3138: checking for a sed that does not truncate output
-configure:3204: result: /usr/bin/sed
-configure:3222: checking for grep that handles long lines and -e
-configure:3282: result: /usr/bin/grep
-configure:3287: checking for egrep
-configure:3351: result: /usr/bin/grep -E
-configure:3356: checking for fgrep
-configure:3420: result: /usr/bin/grep -F
-configure:3455: checking for ld used by gcc
-configure:3522: result: /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
-configure:3531: checking if the linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) is GNU ld
-configure:3546: result: no
-configure:3558: checking for BSD- or MS-compatible name lister (nm)
-configure:3607: result: /usr/bin/nm
-configure:3729: checking the name lister (/usr/bin/nm) interface
-configure:3736: gcc -c -g -O2 conftest.c >&5
-configure:3739: /usr/bin/nm "conftest.o"
-configure:3742: output
-00000000000001e8 S _some_variable
-configure:3749: result: BSD nm
-configure:3752: checking whether ln -s works
-configure:3756: result: yes
-configure:3764: checking the maximum length of command line arguments
-configure:3884: result: 196608
-configure:3901: checking whether the shell understands some XSI constructs
-configure:3911: result: yes
-configure:3915: checking whether the shell understands "+="
-configure:3921: result: yes
-configure:3956: checking for /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld option to reload object files
-configure:3963: result: -r
-configure:4032: checking for objdump
-configure:4062: result: no
-configure:4095: checking how to recognize dependent libraries
-configure:4291: result: pass_all
-configure:4351: checking for ar
-configure:4367: found /usr/bin/ar
-configure:4378: result: ar
-configure:4460: checking for strip
-configure:4476: found /usr/bin/strip
-configure:4487: result: strip
-configure:4563: checking for ranlib
-configure:4579: found /usr/bin/ranlib
-configure:4590: result: ranlib
-configure:4684: checking command to parse /usr/bin/nm output from gcc object
-configure:4802: gcc -c -g -O2 conftest.c >&5
-configure:4805: $? = 0
-configure:4809: /usr/bin/nm conftest.o \| sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
-configure:4812: $? = 0
-cannot find nm_test_var in conftest.nm
-configure:4802: gcc -c -g -O2 conftest.c >&5
-configure:4805: $? = 0
-configure:4809: /usr/bin/nm conftest.o \| sed -n -e 's/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' \> conftest.nm
-configure:4812: $? = 0
-configure:4866: gcc -o conftest -g -O2 conftest.c conftstm.o >&5
-configure:4869: $? = 0
-configure:4907: result: ok
-configure:5201: checking for dsymutil
-configure:5217: found /usr/bin/dsymutil
-configure:5228: result: dsymutil
-configure:5297: checking for nmedit
-configure:5313: found /usr/bin/nmedit
-configure:5324: result: nmedit
-configure:5393: checking for lipo
-configure:5409: found /usr/bin/lipo
-configure:5420: result: lipo
-configure:5489: checking for otool
-configure:5505: found /usr/bin/otool
-configure:5516: result: otool
-configure:5585: checking for otool64
-configure:5615: result: no
-configure:5664: checking for -single_module linker flag
-gcc -g -O2 -o libconftest.dylib -dynamiclib -Wl,-single_module conftest.c
-configure:5691: result: yes
-configure:5693: checking for -exported_symbols_list linker flag
-configure:5723: gcc -o conftest -g -O2 -Wl,-exported_symbols_list,conftest.sym conftest.c >&5
-configure:5730: $? = 0
-configure:5752: result: yes
-configure:5794: checking how to run the C preprocessor
-configure:5834: gcc -E conftest.c
-configure:5841: $? = 0
-configure:5872: gcc -E conftest.c
-conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
-configure:5879: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| /* end confdefs.h. */
-| #include
-configure:5912: result: gcc -E
-configure:5941: gcc -E conftest.c
-configure:5948: $? = 0
-configure:5979: gcc -E conftest.c
-conftest.c:8:28: error: ac_nonexistent.h: No such file or directory
-configure:5986: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| /* end confdefs.h. */
-| #include
-configure:6024: checking for ANSI C header files
-configure:6054: gcc -c -g -O2 conftest.c >&5
-configure:6061: $? = 0
-configure:6160: gcc -o conftest -g -O2 conftest.c >&5
-configure:6164: $? = 0
-configure:6170: ./conftest
-configure:6174: $? = 0
-configure:6192: result: yes
-configure:6216: checking for sys/types.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for sys/stat.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for stdlib.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for string.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for memory.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for strings.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for inttypes.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for stdint.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6216: checking for unistd.h
-configure:6237: gcc -c -g -O2 conftest.c >&5
-configure:6244: $? = 0
-configure:6261: result: yes
-configure:6278: checking for dlfcn.h
-configure:6299: gcc -c -g -O2 conftest.c >&5
-configure:6306: $? = 0
-configure:6323: result: yes
-configure:6508: checking for objdir
-configure:6523: result: .libs
-configure:6815: checking if gcc supports -fno-rtti -fno-exceptions
-configure:6833: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5
-cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
-configure:6837: $? = 0
-configure:6850: result: no
-configure:6870: checking for gcc option to produce PIC
-configure:7142: result: -fno-common -DPIC
-configure:7154: checking if gcc PIC flag -fno-common -DPIC works
-configure:7172: gcc -c -g -O2 -fno-common -DPIC -DPIC conftest.c >&5
-configure:7176: $? = 0
-configure:7189: result: yes
-configure:7213: checking if gcc static flag -static works
-configure:7241: result: no
-configure:7256: checking if gcc supports -c -o file.o
-configure:7277: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5
-configure:7281: $? = 0
-configure:7303: result: yes
-configure:7311: checking if gcc supports -c -o file.o
-configure:7358: result: yes
-configure:7391: checking whether the gcc linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) supports shared libraries
-configure:8465: result: yes
-configure:8704: checking dynamic linker characteristics
-configure:9400: result: darwin12.4.0 dyld
-configure:9502: checking how to hardcode library paths into programs
-configure:9527: result: immediate
-configure:10360: checking whether stripping libraries is possible
-configure:10374: result: yes
-configure:10400: checking if libtool supports shared libraries
-configure:10402: result: yes
-configure:10405: checking whether to build shared libraries
-configure:10426: result: yes
-configure:10429: checking whether to build static libraries
-configure:10433: result: yes
-configure:10482: checking for a BSD-compatible install
-configure:10550: result: /usr/bin/install -c
-configure:10565: checking for gawk
-configure:10595: result: no
-configure:10565: checking for mawk
-configure:10595: result: no
-configure:10565: checking for nawk
-configure:10595: result: no
-configure:10565: checking for awk
-configure:10581: found /usr/bin/awk
-configure:10592: result: awk
-configure:10614: checking for special C compiler options needed for large files
-configure:10709: result: no
-configure:10715: checking for _FILE_OFFSET_BITS value needed for large files
-configure:10750: gcc -c -g -O2 conftest.c >&5
-configure:10757: $? = 0
-configure:10826: result: no
-configure:10966: checking for int8_t
-configure:10994: gcc -c -g -O2 conftest.c >&5
-configure:11001: $? = 0
-configure:11028: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:56: error: expected expression before ')' token
-configure:11035: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| /* 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 ((int8_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11058: result: yes
-configure:11068: checking for int16_t
-configure:11096: gcc -c -g -O2 conftest.c >&5
-configure:11103: $? = 0
-configure:11130: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:57: error: expected expression before ')' token
-configure:11137: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 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 ((int16_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11160: result: yes
-configure:11170: checking for int32_t
-configure:11198: gcc -c -g -O2 conftest.c >&5
-configure:11205: $? = 0
-configure:11232: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:58: error: expected expression before ')' token
-configure:11239: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 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 ((int32_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11262: result: yes
-configure:11272: checking for int64_t
-configure:11300: gcc -c -g -O2 conftest.c >&5
-configure:11307: $? = 0
-configure:11334: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:59: error: expected expression before ')' token
-configure:11341: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 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 ((int64_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11364: result: yes
-configure:11374: checking for intptr_t
-configure:11402: gcc -c -g -O2 conftest.c >&5
-configure:11409: $? = 0
-configure:11436: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:60: error: expected expression before ')' token
-configure:11443: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 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 ((intptr_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11466: result: yes
-configure:11476: checking for uint8_t
-configure:11504: gcc -c -g -O2 conftest.c >&5
-configure:11511: $? = 0
-configure:11538: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:61: error: expected expression before ')' token
-configure:11545: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 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 ((uint8_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11568: result: yes
-configure:11578: checking for uint16_t
-configure:11606: gcc -c -g -O2 conftest.c >&5
-configure:11613: $? = 0
-configure:11640: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:62: error: expected expression before ')' token
-configure:11647: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 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 ((uint16_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11670: result: yes
-configure:11680: checking for uint32_t
-configure:11708: gcc -c -g -O2 conftest.c >&5
-configure:11715: $? = 0
-configure:11742: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:63: error: expected expression before ')' token
-configure:11749: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 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 ((uint32_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11772: result: yes
-configure:11782: checking for uint64_t
-configure:11810: gcc -c -g -O2 conftest.c >&5
-configure:11817: $? = 0
-configure:11844: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:64: error: expected expression before ')' token
-configure:11851: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 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 ((uint64_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11874: result: yes
-configure:11884: checking for uintptr_t
-configure:11912: gcc -c -g -O2 conftest.c >&5
-configure:11919: $? = 0
-configure:11946: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:65: error: expected expression before ')' token
-configure:11953: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 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 ((uintptr_t)))
-| return 0;
-| ;
-| return 0;
-| }
-configure:11976: result: yes
-configure:11999: checking for sys/types.h
-configure:12006: result: yes
-configure:11999: checking for stdlib.h
-configure:12006: result: yes
-configure:11999: checking for stdint.h
-configure:12006: result: yes
-configure:11999: checking for inttypes.h
-configure:12006: result: yes
-configure:12010: checking malloc.h usability
-configure:12027: gcc -c -g -O2 conftest.c >&5
-conftest.c:67:20: error: malloc.h: No such file or directory
-configure:12034: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_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
-| #include
-configure:12048: result: no
-configure:12052: checking malloc.h presence
-configure:12067: gcc -E conftest.c
-conftest.c:34:20: error: malloc.h: No such file or directory
-configure:12074: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| /* end confdefs.h. */
-| #include
-configure:12088: result: no
-configure:12116: checking for malloc.h
-configure:12125: result: no
-configure:12153: checking for usleep
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-configure:12216: $? = 0
-configure:12238: result: yes
-configure:12153: checking for fdatasync
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-configure:12216: $? = 0
-configure:12238: result: yes
-configure:12153: checking for localtime_r
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-configure:12216: $? = 0
-configure:12238: result: yes
-configure:12153: checking for gmtime_r
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-configure:12216: $? = 0
-configure:12238: result: yes
-configure:12153: checking for localtime_s
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-Undefined symbols for architecture x86_64:
- "_localtime_s", referenced from:
- _main in ccQkRpvm.o
-ld: symbol(s) not found for architecture x86_64
-collect2: ld returned 1 exit status
-configure:12216: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_USLEEP 1
-| #define HAVE_FDATASYNC 1
-| #define HAVE_LOCALTIME_R 1
-| #define HAVE_GMTIME_R 1
-| /* end confdefs.h. */
-| /* Define localtime_s to an innocuous variant, in case declares localtime_s.
-| For example, HP-UX 11i declares gettimeofday. */
-| #define localtime_s innocuous_localtime_s
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char localtime_s (); below.
-| Prefer to if __STDC__ is defined, since
-| exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include
-| #else
-| # include
-| #endif
-|
-| #undef localtime_s
-|
-| /* Override any GCC internal prototype to avoid an error.
-| Use char because int might match the return type of a GCC
-| builtin and then its argument prototype would still apply. */
-| #ifdef __cplusplus
-| extern "C"
-| #endif
-| char localtime_s ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined __stub_localtime_s || defined __stub___localtime_s
-| choke me
-| #endif
-|
-| int
-| main ()
-| {
-| return localtime_s ();
-| ;
-| return 0;
-| }
-configure:12238: result: no
-configure:12153: checking for utime
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-configure:12216: $? = 0
-configure:12238: result: yes
-configure:12153: checking for malloc_usable_size
-configure:12209: gcc -o conftest -g -O2 conftest.c >&5
-Undefined symbols for architecture x86_64:
- "_malloc_usable_size", referenced from:
- _main in ccT659FD.o
-ld: symbol(s) not found for architecture x86_64
-collect2: ld returned 1 exit status
-configure:12216: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_USLEEP 1
-| #define HAVE_FDATASYNC 1
-| #define HAVE_LOCALTIME_R 1
-| #define HAVE_GMTIME_R 1
-| #define HAVE_UTIME 1
-| /* end confdefs.h. */
-| /* Define malloc_usable_size to an innocuous variant, in case declares malloc_usable_size.
-| For example, HP-UX 11i declares gettimeofday. */
-| #define malloc_usable_size innocuous_malloc_usable_size
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char malloc_usable_size (); below.
-| Prefer to if __STDC__ is defined, since
-| exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include
-| #else
-| # include
-| #endif
-|
-| #undef malloc_usable_size
-|
-| /* Override any GCC internal prototype to avoid an error.
-| Use char because int might match the return type of a GCC
-| builtin and then its argument prototype would still apply. */
-| #ifdef __cplusplus
-| extern "C"
-| #endif
-| char malloc_usable_size ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined __stub_malloc_usable_size || defined __stub___malloc_usable_size
-| choke me
-| #endif
-|
-| int
-| main ()
-| {
-| return malloc_usable_size ();
-| ;
-| return 0;
-| }
-configure:12238: result: no
-configure:12264: checking for tclsh8.5
-configure:12280: found /usr/bin/tclsh8.5
-configure:12291: result: tclsh8.5
-configure:12332: Version set to 3.8
-configure:12336: Release set to 3.8.0
-configure:12342: Version number set to 3008000
-configure:12453: checking whether to support threadsafe operation
-configure:12461: result: yes
-configure:12467: checking for library containing pthread_create
-configure:12508: gcc -o conftest -g -O2 conftest.c >&5
-configure:12515: $? = 0
-configure:12546: result: none required
-configure:12568: checking whether to allow connections to be shared across threads
-configure:12572: result: no
-configure:12591: checking whether to support shared library linked as release mode or not
-configure:12595: result: no
-configure:12614: checking whether to use an in-ram database for temporary tables
-configure:12624: result: no
-configure:12651: checking if executables have the .exe suffix
-configure:12658: result: unknown
-configure:12662: checking host system type
-configure:12677: result: i386-apple-darwin12.4.0
-configure:12762: checking for Tcl configuration
-configure:12858: result: found /usr/lib/tclConfig.sh
-configure:12861: checking for existence of /usr/lib/tclConfig.sh
-configure:12864: result: loading
-configure:12949: checking for library containing tgetent
-configure:12990: gcc -o conftest -g -O2 -DSQLITE_OS_UNIX=1 conftest.c >&5
-Undefined symbols for architecture x86_64:
- "_tgetent", referenced from:
- _main in cckUGKJn.o
-ld: symbol(s) not found for architecture x86_64
-collect2: ld returned 1 exit status
-configure:12997: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_USLEEP 1
-| #define HAVE_FDATASYNC 1
-| #define HAVE_LOCALTIME_R 1
-| #define HAVE_GMTIME_R 1
-| #define HAVE_UTIME 1
-| /* end confdefs.h. */
-|
-| /* Override any GCC internal prototype to avoid an error.
-| Use char because int might match the return type of a GCC
-| builtin and then its argument prototype would still apply. */
-| #ifdef __cplusplus
-| extern "C"
-| #endif
-| char tgetent ();
-| int
-| main ()
-| {
-| return tgetent ();
-| ;
-| return 0;
-| }
-configure:12990: gcc -o conftest -g -O2 -DSQLITE_OS_UNIX=1 conftest.c -lreadline >&5
-Undefined symbols for architecture x86_64:
- "_tgetent", referenced from:
- _main in ccTZ4r6R.o
-ld: symbol(s) not found for architecture x86_64
-collect2: ld returned 1 exit status
-configure:12997: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_USLEEP 1
-| #define HAVE_FDATASYNC 1
-| #define HAVE_LOCALTIME_R 1
-| #define HAVE_GMTIME_R 1
-| #define HAVE_UTIME 1
-| /* end confdefs.h. */
-|
-| /* Override any GCC internal prototype to avoid an error.
-| Use char because int might match the return type of a GCC
-| builtin and then its argument prototype would still apply. */
-| #ifdef __cplusplus
-| extern "C"
-| #endif
-| char tgetent ();
-| int
-| main ()
-| {
-| return tgetent ();
-| ;
-| return 0;
-| }
-configure:12990: gcc -o conftest -g -O2 -DSQLITE_OS_UNIX=1 conftest.c -lncurses >&5
-configure:12997: $? = 0
-configure:13028: result: -lncurses
-configure:13038: checking for readline in -lreadline
-configure:13073: gcc -o conftest -g -O2 -DSQLITE_OS_UNIX=1 conftest.c -lreadline -lncurses >&5
-configure:13080: $? = 0
-configure:13101: result: yes
-configure:13134: checking readline.h usability
-configure:13151: gcc -c -g -O2 -DSQLITE_OS_UNIX=1 conftest.c >&5
-conftest.c:72:22: error: readline.h: No such file or directory
-configure:13158: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_USLEEP 1
-| #define HAVE_FDATASYNC 1
-| #define HAVE_LOCALTIME_R 1
-| #define HAVE_GMTIME_R 1
-| #define HAVE_UTIME 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
-| #include
-configure:13172: result: no
-configure:13176: checking readline.h presence
-configure:13191: gcc -E conftest.c
-conftest.c:39:22: error: readline.h: No such file or directory
-configure:13198: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-| #define PACKAGE_NAME "sqlite"
-| #define PACKAGE_TARNAME "sqlite"
-| #define PACKAGE_VERSION "3.8.0"
-| #define PACKAGE_STRING "sqlite 3.8.0"
-| #define PACKAGE_BUGREPORT ""
-| #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_DLFCN_H 1
-| #define LT_OBJDIR ".libs/"
-| #define HAVE_INT8_T 1
-| #define HAVE_INT16_T 1
-| #define HAVE_INT32_T 1
-| #define HAVE_INT64_T 1
-| #define HAVE_INTPTR_T 1
-| #define HAVE_UINT8_T 1
-| #define HAVE_UINT16_T 1
-| #define HAVE_UINT32_T 1
-| #define HAVE_UINT64_T 1
-| #define HAVE_UINTPTR_T 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_USLEEP 1
-| #define HAVE_FDATASYNC 1
-| #define HAVE_LOCALTIME_R 1
-| #define HAVE_GMTIME_R 1
-| #define HAVE_UTIME 1
-| /* end confdefs.h. */
-| #include
-configure:13212: result: no
-configure:13240: checking for readline.h
-configure:13247: result: no
-configure:13260: checking for /usr/include/readline.h
-configure:13277: result: no
-configure:13260: checking for /usr/include/readline/readline.h
-configure:13277: result: yes
-configure:13317: checking for library containing fdatasync
-configure:13358: gcc -o conftest -g -O2 -DSQLITE_OS_UNIX=1 conftest.c >&5
-configure:13365: $? = 0
-configure:13396: result: none required
-configure:13718: creating ./config.status
-
-## ---------------------- ##
-## Running config.status. ##
-## ---------------------- ##
-
-This file was extended by sqlite config.status 3.8.0, which was
-generated by GNU Autoconf 2.62. Invocation command line was
-
- CONFIG_FILES =
- CONFIG_HEADERS =
- CONFIG_LINKS =
- CONFIG_COMMANDS =
- $ ./config.status
-
-on work.local
-
-config.status:1000: creating Makefile
-config.status:1000: creating sqlite3.pc
-config.status:1000: creating config.h
-config.status:1234: executing libtool commands
-
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-
-ac_cv_build=i386-apple-darwin12.4.0
-ac_cv_c_compiler_gnu=yes
-ac_cv_c_tclconfig=/usr/lib
-ac_cv_env_CC_set=
-ac_cv_env_CC_value=
-ac_cv_env_CFLAGS_set=
-ac_cv_env_CFLAGS_value=
-ac_cv_env_CPPFLAGS_set=
-ac_cv_env_CPPFLAGS_value=
-ac_cv_env_CPP_set=
-ac_cv_env_CPP_value=
-ac_cv_env_LDFLAGS_set=
-ac_cv_env_LDFLAGS_value=
-ac_cv_env_LIBS_set=
-ac_cv_env_LIBS_value=
-ac_cv_env_TCLLIBDIR_set=
-ac_cv_env_TCLLIBDIR_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_file__usr_include_readline_h=no
-ac_cv_file__usr_include_readline_readline_h=yes
-ac_cv_func_fdatasync=yes
-ac_cv_func_gmtime_r=yes
-ac_cv_func_localtime_r=yes
-ac_cv_func_localtime_s=no
-ac_cv_func_malloc_usable_size=no
-ac_cv_func_usleep=yes
-ac_cv_func_utime=yes
-ac_cv_header_dlfcn_h=yes
-ac_cv_header_inttypes_h=yes
-ac_cv_header_malloc_h=no
-ac_cv_header_memory_h=yes
-ac_cv_header_readline_h=no
-ac_cv_header_stdc=yes
-ac_cv_header_stdint_h=yes
-ac_cv_header_stdlib_h=yes
-ac_cv_header_string_h=yes
-ac_cv_header_strings_h=yes
-ac_cv_header_sys_stat_h=yes
-ac_cv_header_sys_types_h=yes
-ac_cv_header_unistd_h=yes
-ac_cv_host=i386-apple-darwin12.4.0
-ac_cv_lib_readline_readline=yes
-ac_cv_objext=o
-ac_cv_path_EGREP='/usr/bin/grep -E'
-ac_cv_path_FGREP='/usr/bin/grep -F'
-ac_cv_path_GREP=/usr/bin/grep
-ac_cv_path_SED=/usr/bin/sed
-ac_cv_path_install='/usr/bin/install -c'
-ac_cv_prog_AWK=awk
-ac_cv_prog_CPP='gcc -E'
-ac_cv_prog_TCLSH_CMD=tclsh8.5
-ac_cv_prog_ac_ct_AR=ar
-ac_cv_prog_ac_ct_CC=gcc
-ac_cv_prog_ac_ct_DSYMUTIL=dsymutil
-ac_cv_prog_ac_ct_LIPO=lipo
-ac_cv_prog_ac_ct_NMEDIT=nmedit
-ac_cv_prog_ac_ct_OTOOL=otool
-ac_cv_prog_ac_ct_RANLIB=ranlib
-ac_cv_prog_ac_ct_STRIP=strip
-ac_cv_prog_cc_c89=
-ac_cv_prog_cc_g=yes
-ac_cv_search_fdatasync='none required'
-ac_cv_search_pthread_create='none required'
-ac_cv_search_tgetent=-lncurses
-ac_cv_sys_file_offset_bits=no
-ac_cv_sys_largefile_CC=no
-ac_cv_type_int16_t=yes
-ac_cv_type_int32_t=yes
-ac_cv_type_int64_t=yes
-ac_cv_type_int8_t=yes
-ac_cv_type_intptr_t=yes
-ac_cv_type_uint16_t=yes
-ac_cv_type_uint32_t=yes
-ac_cv_type_uint64_t=yes
-ac_cv_type_uint8_t=yes
-ac_cv_type_uintptr_t=yes
-lt_cv_apple_cc_single_mod=yes
-lt_cv_deplibs_check_method=pass_all
-lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_ld_exported_symbols_list=yes
-lt_cv_ld_reload_flag=-r
-lt_cv_nm_interface='BSD nm'
-lt_cv_objdir=.libs
-lt_cv_path_LD=/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
-lt_cv_path_NM=/usr/bin/nm
-lt_cv_prog_compiler_c_o=yes
-lt_cv_prog_compiler_pic_works=yes
-lt_cv_prog_compiler_rtti_exceptions=no
-lt_cv_prog_compiler_static_works=no
-lt_cv_prog_gnu_ld=no
-lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p'\'''
-lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\'''
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[BCDEGRST]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\'''
-lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[BCDEGRST]* .* \(.*\)$/extern char \1;/p'\'''
-lt_cv_sys_max_cmd_len=196608
-
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-
-ALLOWRELEASE=''
-AR='ar'
-AWK='awk'
-BUILD_CC='gcc'
-BUILD_CFLAGS=' -g -O2'
-BUILD_EXEEXT=''
-CC='gcc'
-CFLAGS=' -g -O2 -DSQLITE_OS_UNIX=1'
-CPP='gcc -E'
-CPPFLAGS=''
-DEFS='-DHAVE_CONFIG_H'
-DSYMUTIL='dsymutil'
-DUMPBIN=''
-ECHO_C='\c'
-ECHO_N=''
-ECHO_T=''
-EGREP='/usr/bin/grep -E'
-EXEEXT=''
-FGREP='/usr/bin/grep -F'
-GREP='/usr/bin/grep'
-HAVE_TCL='1'
-INSTALL_DATA='${INSTALL} -m 644'
-INSTALL_PROGRAM='${INSTALL}'
-INSTALL_SCRIPT='${INSTALL}'
-LD='/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld'
-LDFLAGS=''
-LIBOBJS=''
-LIBS=''
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-LIPO='lipo'
-LN_S='ln -s'
-LTLIBOBJS=''
-NM='/usr/bin/nm'
-NMEDIT='nmedit'
-OBJDUMP='false'
-OBJEXT='o'
-OPT_FEATURE_FLAGS='-DSQLITE_OMIT_LOAD_EXTENSION=1'
-OTOOL64=':'
-OTOOL='otool'
-PACKAGE_BUGREPORT=''
-PACKAGE_NAME='sqlite'
-PACKAGE_STRING='sqlite 3.8.0'
-PACKAGE_TARNAME='sqlite'
-PACKAGE_VERSION='3.8.0'
-PATH_SEPARATOR=':'
-RANLIB='ranlib'
-RELEASE='3.8.0'
-SED='/usr/bin/sed'
-SHELL='/bin/sh'
-SQLITE_OS_OS2='0'
-SQLITE_OS_UNIX='1'
-SQLITE_OS_WIN='0'
-SQLITE_THREADSAFE='1'
-STRIP='strip'
-TARGET_DEBUG='-DNDEBUG'
-TARGET_EXEEXT=''
-TARGET_HAVE_READLINE='1'
-TARGET_READLINE_INC='-I/usr/include/readline'
-TARGET_READLINE_LIBS='-lreadline -lncurses '
-TCLLIBDIR='/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/sqlite3'
-TCLSH_CMD='tclsh8.5'
-TCL_BIN_DIR='/usr/lib'
-TCL_INCLUDE_SPEC='-I/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers'
-TCL_LIB_FILE='Tcl'
-TCL_LIB_FLAG='-framework Tcl'
-TCL_LIB_SPEC='-F/System/Library/Frameworks -framework Tcl'
-TCL_SRC_DIR='/SourceCache/tcl/tcl-97.1/tcl/tcl'
-TCL_STUB_LIB_FILE='libtclstub8.5.a'
-TCL_STUB_LIB_FLAG='-ltclstub8.5'
-TCL_STUB_LIB_SPEC='-L/System/Library/Frameworks/Tcl.framework/Versions/8.5 -ltclstub8.5'
-TCL_VERSION='8.5'
-TEMP_STORE='1'
-USE_AMALGAMATION='1'
-USE_GCOV='0'
-VERSION='3.8'
-VERSION_NUMBER='3008000'
-XTHREADCONNECT=''
-ac_ct_CC='gcc'
-ac_ct_DUMPBIN=''
-bindir='${exec_prefix}/bin'
-build='i386-apple-darwin12.4.0'
-build_alias=''
-build_cpu='i386'
-build_os='darwin12.4.0'
-build_vendor='apple'
-datadir='${datarootdir}'
-datarootdir='${prefix}/share'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-dvidir='${docdir}'
-exec_prefix='${prefix}'
-host='i386-apple-darwin12.4.0'
-host_alias=''
-host_cpu='i386'
-host_os='darwin12.4.0'
-host_vendor='apple'
-htmldir='${docdir}'
-includedir='${prefix}/include'
-infodir='${datarootdir}/info'
-libdir='${exec_prefix}/lib'
-libexecdir='${exec_prefix}/libexec'
-localedir='${datarootdir}/locale'
-localstatedir='${prefix}/var'
-lt_ECHO='/bin/echo'
-mandir='${datarootdir}/man'
-oldincludedir='/usr/include'
-pdfdir='${docdir}'
-prefix='/usr/local'
-program_prefix=''
-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 "sqlite"
-#define PACKAGE_TARNAME "sqlite"
-#define PACKAGE_VERSION "3.8.0"
-#define PACKAGE_STRING "sqlite 3.8.0"
-#define PACKAGE_BUGREPORT ""
-#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_DLFCN_H 1
-#define LT_OBJDIR ".libs/"
-#define HAVE_INT8_T 1
-#define HAVE_INT16_T 1
-#define HAVE_INT32_T 1
-#define HAVE_INT64_T 1
-#define HAVE_INTPTR_T 1
-#define HAVE_UINT8_T 1
-#define HAVE_UINT16_T 1
-#define HAVE_UINT32_T 1
-#define HAVE_UINT64_T 1
-#define HAVE_UINTPTR_T 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_USLEEP 1
-#define HAVE_FDATASYNC 1
-#define HAVE_LOCALTIME_R 1
-#define HAVE_GMTIME_R 1
-#define HAVE_UTIME 1
-
-configure: exit 0
diff --git a/config.status b/config.status
deleted file mode 100755
index df3b8762..00000000
--- a/config.status
+++ /dev/null
@@ -1,1881 +0,0 @@
-#! /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 sqlite $as_me 3.8.0, which was
-generated by GNU Autoconf 2.62. 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 sqlite3.pc"
-config_headers=" config.h"
-config_commands=" libtool"
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to ."
-
-ac_cs_version="\
-sqlite config.status 3.8.0
-configured by ./configure, generated by GNU Autoconf 2.62,
- 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='/var/folders/c6/35nw6ndn2_g40y0znq5nfn140000gn/T/sqlite-src.15jzL0BF/sqlcipher'
-srcdir='.'
-INSTALL='/usr/bin/install -c'
-AWK='awk'
-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
-#
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-macro_version='2.2.6'
-macro_revision='1.3012'
-enable_shared='yes'
-enable_static='yes'
-pic_mode='default'
-enable_fast_install='needless'
-host_alias=''
-host='i386-apple-darwin12.4.0'
-host_os='darwin12.4.0'
-build_alias=''
-build='i386-apple-darwin12.4.0'
-build_os='darwin12.4.0'
-SED='/usr/bin/sed'
-Xsed='/usr/bin/sed -e 1s/^X//'
-GREP='/usr/bin/grep'
-EGREP='/usr/bin/grep -E'
-FGREP='/usr/bin/grep -F'
-LD='/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld'
-NM='/usr/bin/nm'
-LN_S='ln -s'
-max_cmd_len='196608'
-ac_objext='o'
-exeext=''
-lt_unset='unset'
-lt_SP2NL='tr \040 \012'
-lt_NL2SP='tr \015\012 \040\040'
-reload_flag=' -r'
-reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-OBJDUMP='false'
-deplibs_check_method='pass_all'
-file_magic_cmd='$MAGIC_CMD'
-AR='ar'
-AR_FLAGS='cru'
-STRIP='strip'
-RANLIB='ranlib'
-old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $oldlib'
-old_postuninstall_cmds=''
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib'
-CC='gcc'
-CFLAGS=' -g -O2 -DSQLITE_OS_UNIX=1'
-compiler='gcc'
-GCC='yes'
-lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([BCDEGRST][BCDEGRST]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p'\'''
-lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[BCDEGRST]* .* \(.*\)$/extern char \1;/p'\'''
-lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\'''
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[BCDEGRST]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[BCDEGRST]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\'''
-objdir='.libs'
-SHELL='/bin/sh'
-ECHO='/bin/echo'
-MAGIC_CMD='file'
-lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-lt_prog_compiler_wl='-Wl,'
-lt_prog_compiler_pic=' -fno-common -DPIC'
-lt_prog_compiler_static=''
-lt_cv_prog_compiler_c_o='yes'
-need_locks='no'
-DSYMUTIL='dsymutil'
-NMEDIT='nmedit'
-LIPO='lipo'
-OTOOL='otool'
-OTOOL64=':'
-libext='a'
-shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-extract_expsyms_cmds=''
-archive_cmds_need_lc='no'
-enable_shared_with_static_runtimes='no'
-export_dynamic_flag_spec=''
-whole_archive_flag_spec=''
-compiler_needs_object='no'
-old_archive_from_new_cmds=''
-old_archive_from_expsyms_cmds=''
-archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring $single_module~$DSYMUTIL $lib || :'
-archive_expsym_cmds='sed '\''s,^,_,'\'' < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring $single_module ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym~$DSYMUTIL $lib || :'
-module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs $compiler_flags~$DSYMUTIL $lib || :'
-module_expsym_cmds='sed -e '\''s,^,_,'\'' < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs $compiler_flags ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym~$DSYMUTIL $lib || :'
-with_gnu_ld='no'
-allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
-no_undefined_flag=''
-hardcode_libdir_flag_spec=''
-hardcode_libdir_flag_spec_ld=''
-hardcode_libdir_separator=''
-hardcode_direct='no'
-hardcode_direct_absolute='no'
-hardcode_minus_L='no'
-hardcode_shlibpath_var='unsupported'
-hardcode_automatic='yes'
-inherit_rpath='no'
-link_all_deplibs='yes'
-fix_srcfile_path=''
-always_export_symbols='no'
-export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-include_expsyms=''
-prelink_cmds=''
-file_list_spec=''
-variables_saved_for_relink='PATH DYLD_LIBRARY_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH'
-need_lib_prefix='no'
-need_version='no'
-version_type='darwin'
-runpath_var=''
-shlibpath_var='DYLD_LIBRARY_PATH'
-shlibpath_overrides_runpath='yes'
-libname_spec='lib$name'
-library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-soname_spec='${libname}${release}${major}$shared_ext'
-postinstall_cmds=''
-postuninstall_cmds=''
-finish_cmds=''
-finish_eval=''
-hardcode_into_libs='no'
-sys_lib_search_path_spec='/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64 /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64 /usr/lib /usr/llvm-gcc-4.2/lib/gcc /usr/llvm-gcc-4.2/lib /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib /usr/local/lib'
-sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-hardcode_action='immediate'
-enable_dlopen='unknown'
-enable_dlopen_self='unknown'
-enable_dlopen_self_static='unknown'
-old_striplib='strip -S'
-striplib='strip -x'
-
-LTCC='gcc'
-LTCFLAGS='-g -O2'
-compiler='gcc'
-
-# Quote evaled strings.
-for var in SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag OBJDUMP deplibs_check_method file_magic_cmd AR AR_FLAGS STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix SHELL ECHO lt_prog_compiler_no_builtin_flag lt_prog_compiler_wl lt_prog_compiler_pic lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_flag_spec_ld hardcode_libdir_separator fix_srcfile_path exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec finish_eval old_striplib striplib; do
- case `eval \\$ECHO "X\\$$var"` in
- *[\\\`\"\$]*)
- eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\$$var\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec sys_lib_dlsearch_path_spec; do
- case `eval \\$ECHO "X\\$$var"` in
- *[\\\`\"\$]*)
- eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
- ;;
- *)
- eval "lt_$var=\\\"\$$var\\\""
- ;;
- esac
-done
-
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case $lt_ECHO in
-*'\$0 --fallback-echo"') lt_ECHO=`$ECHO "X$lt_ECHO" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
- ;;
-esac
-
-ac_aux_dir='.'
-xsi_shell='yes'
-lt_shell_append='yes'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-
- PACKAGE=''
- VERSION='3.8'
- TIMESTAMP=''
- RM='rm -f'
- ofile='libtool'
-
-
-
-
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "sqlite3.pc") CONFIG_FILES="$CONFIG_FILES sqlite3.pc" ;;
-
- *) { { $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["SHELL"]="/bin/sh"
-S["PATH_SEPARATOR"]=":"
-S["PACKAGE_NAME"]="sqlite"
-S["PACKAGE_TARNAME"]="sqlite"
-S["PACKAGE_VERSION"]="3.8.0"
-S["PACKAGE_STRING"]="sqlite 3.8.0"
-S["PACKAGE_BUGREPORT"]=""
-S["exec_prefix"]="${prefix}"
-S["prefix"]="/usr/local"
-S["program_transform_name"]="s,x,x,"
-S["bindir"]="${exec_prefix}/bin"
-S["sbindir"]="${exec_prefix}/sbin"
-S["libexecdir"]="${exec_prefix}/libexec"
-S["datarootdir"]="${prefix}/share"
-S["datadir"]="${datarootdir}"
-S["sysconfdir"]="${prefix}/etc"
-S["sharedstatedir"]="${prefix}/com"
-S["localstatedir"]="${prefix}/var"
-S["includedir"]="${prefix}/include"
-S["oldincludedir"]="/usr/include"
-S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}"
-S["infodir"]="${datarootdir}/info"
-S["htmldir"]="${docdir}"
-S["dvidir"]="${docdir}"
-S["pdfdir"]="${docdir}"
-S["psdir"]="${docdir}"
-S["libdir"]="${exec_prefix}/lib"
-S["localedir"]="${datarootdir}/locale"
-S["mandir"]="${datarootdir}/man"
-S["DEFS"]="-DHAVE_CONFIG_H"
-S["ECHO_C"]="\\c"
-S["ECHO_N"]=""
-S["ECHO_T"]=""
-S["LIBS"]=""
-S["build_alias"]=""
-S["host_alias"]=""
-S["target_alias"]=""
-S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool"
-S["build"]="i386-apple-darwin12.4.0"
-S["build_cpu"]="i386"
-S["build_vendor"]="apple"
-S["build_os"]="darwin12.4.0"
-S["host"]="i386-apple-darwin12.4.0"
-S["host_cpu"]="i386"
-S["host_vendor"]="apple"
-S["host_os"]="darwin12.4.0"
-S["CC"]="gcc"
-S["CFLAGS"]=" -g -O2 -DSQLITE_OS_UNIX=1"
-S["LDFLAGS"]=""
-S["CPPFLAGS"]=""
-S["ac_ct_CC"]="gcc"
-S["EXEEXT"]=""
-S["OBJEXT"]="o"
-S["SED"]="/usr/bin/sed"
-S["GREP"]="/usr/bin/grep"
-S["EGREP"]="/usr/bin/grep -E"
-S["FGREP"]="/usr/bin/grep -F"
-S["LD"]="/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld"
-S["DUMPBIN"]=""
-S["ac_ct_DUMPBIN"]=""
-S["NM"]="/usr/bin/nm"
-S["LN_S"]="ln -s"
-S["OBJDUMP"]="false"
-S["AR"]="ar"
-S["STRIP"]="strip"
-S["RANLIB"]="ranlib"
-S["lt_ECHO"]="/bin/echo"
-S["DSYMUTIL"]="dsymutil"
-S["NMEDIT"]="nmedit"
-S["LIPO"]="lipo"
-S["OTOOL"]="otool"
-S["OTOOL64"]=":"
-S["CPP"]="gcc -E"
-S["INSTALL_PROGRAM"]="${INSTALL}"
-S["INSTALL_SCRIPT"]="${INSTALL}"
-S["INSTALL_DATA"]="${INSTALL} -m 644"
-S["AWK"]="awk"
-S["TCLSH_CMD"]="tclsh8.5"
-S["TCLLIBDIR"]="/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/sqlite3"
-S["program_prefix"]=""
-S["VERSION"]="3.8"
-S["RELEASE"]="3.8.0"
-S["VERSION_NUMBER"]="3008000"
-S["BUILD_CC"]="gcc"
-S["SQLITE_THREADSAFE"]="1"
-S["XTHREADCONNECT"]=""
-S["ALLOWRELEASE"]=""
-S["TEMP_STORE"]="1"
-S["BUILD_EXEEXT"]=""
-S["SQLITE_OS_UNIX"]="1"
-S["SQLITE_OS_WIN"]="0"
-S["SQLITE_OS_OS2"]="0"
-S["TARGET_EXEEXT"]=""
-S["TCL_VERSION"]="8.5"
-S["TCL_BIN_DIR"]="/usr/lib"
-S["TCL_SRC_DIR"]="/SourceCache/tcl/tcl-97.1/tcl/tcl"
-S["TCL_INCLUDE_SPEC"]="-I/System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers"
-S["TCL_LIB_FILE"]="Tcl"
-S["TCL_LIB_FLAG"]="-framework Tcl"
-S["TCL_LIB_SPEC"]="-F/System/Library/Frameworks -framework Tcl"
-S["TCL_STUB_LIB_FILE"]="libtclstub8.5.a"
-S["TCL_STUB_LIB_FLAG"]="-ltclstub8.5"
-S["TCL_STUB_LIB_SPEC"]="-L/System/Library/Frameworks/Tcl.framework/Versions/8.5 -ltclstub8.5"
-S["HAVE_TCL"]="1"
-S["TARGET_READLINE_LIBS"]="-lreadline -lncurses "
-S["TARGET_READLINE_INC"]="-I/usr/include/readline"
-S["TARGET_HAVE_READLINE"]="1"
-S["TARGET_DEBUG"]="-DNDEBUG"
-S["USE_AMALGAMATION"]="1"
-S["OPT_FEATURE_FLAGS"]="-DSQLITE_OMIT_LOAD_EXTENSION=1"
-S["USE_GCOV"]="0"
-S["BUILD_CFLAGS"]=" -g -O2"
-S["LIBOBJS"]=""
-S["LTLIBOBJS"]=""
-_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"]=" \"sqlite\""
-D["PACKAGE_TARNAME"]=" \"sqlite\""
-D["PACKAGE_VERSION"]=" \"3.8.0\""
-D["PACKAGE_STRING"]=" \"sqlite 3.8.0\""
-D["PACKAGE_BUGREPORT"]=" \"\""
-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_DLFCN_H"]=" 1"
-D["LT_OBJDIR"]=" \".libs/\""
-D["HAVE_INT8_T"]=" 1"
-D["HAVE_INT16_T"]=" 1"
-D["HAVE_INT32_T"]=" 1"
-D["HAVE_INT64_T"]=" 1"
-D["HAVE_INTPTR_T"]=" 1"
-D["HAVE_UINT8_T"]=" 1"
-D["HAVE_UINT16_T"]=" 1"
-D["HAVE_UINT32_T"]=" 1"
-D["HAVE_UINT64_T"]=" 1"
-D["HAVE_UINTPTR_T"]=" 1"
-D["HAVE_SYS_TYPES_H"]=" 1"
-D["HAVE_STDLIB_H"]=" 1"
-D["HAVE_STDINT_H"]=" 1"
-D["HAVE_INTTYPES_H"]=" 1"
-D["HAVE_USLEEP"]=" 1"
-D["HAVE_FDATASYNC"]=" 1"
-D["HAVE_LOCALTIME_R"]=" 1"
-D["HAVE_GMTIME_R"]=" 1"
-D["HAVE_UTIME"]=" 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]
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- prefix = substr(line, 1, index(line, defundef) - 1)
- 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 "/*", line, "*/"
- 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
-# 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
-$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
- ;;
-
- :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
- "libtool":C)
-
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking. This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- case $xsi_shell in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=${1%%=*}
- func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=${#1}
-}
-
-_LT_EOF
- ;;
- *) # Bourne compatible functions.
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
- esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
- yes)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1+=\$2"
-}
-_LT_EOF
- ;;
- *)
- cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1=\$$1\$2"
-}
-
-_LT_EOF
- ;;
- esac
-
-
- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
- ;;
-
- esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
diff --git a/keywordhash.h b/keywordhash.h
deleted file mode 100644
index 298c0902..00000000
--- a/keywordhash.h
+++ /dev/null
@@ -1,270 +0,0 @@
-/***** This file contains automatically generated code ******
-**
-** The code in this file has been automatically generated by
-**
-** sqlite/tool/mkkeywordhash.c
-**
-** The code in this file implements a function that determines whether
-** or not a given identifier is really an SQL keyword. The same thing
-** might be implemented more directly using a hand-written hash table.
-** But by using this automatically generated code, the size of the code
-** is substantially reduced. This is important for embedded applications
-** on platforms with limited memory.
-*/
-/* Hash score: 175 */
-static int keywordCode(const char *z, int n){
- /* zText[] encodes 811 bytes of keywords in 541 bytes */
- /* REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINSTEADDATABASELECT */
- /* ABLEFTHENDEFERRABLELSEXCEPTRANSACTIONATURALTERAISEXCLUSIVE */
- /* XISTSAVEPOINTERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARY */
- /* UNIQUERYATTACHAVINGROUPDATEBEGINNERELEASEBETWEENOTNULLIKE */
- /* CASCADELETECASECOLLATECREATECURRENT_DATEDETACHIMMEDIATEJOIN */
- /* SERTMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMITWHENWHERENAME */
- /* AFTEREPLACEANDEFAULTAUTOINCREMENTCASTCOLUMNCOMMITCONFLICTCROSS */
- /* CURRENT_TIMESTAMPRIMARYDEFERREDISTINCTDROPFAILFROMFULLGLOBYIF */
- /* ISNULLORDERESTRICTOUTERIGHTROLLBACKROWUNIONUSINGVACUUMVIEW */
- /* INITIALLY */
- static const char zText[540] = {
- 'R','E','I','N','D','E','X','E','D','E','S','C','A','P','E','A','C','H',
- 'E','C','K','E','Y','B','E','F','O','R','E','I','G','N','O','R','E','G',
- 'E','X','P','L','A','I','N','S','T','E','A','D','D','A','T','A','B','A',
- 'S','E','L','E','C','T','A','B','L','E','F','T','H','E','N','D','E','F',
- 'E','R','R','A','B','L','E','L','S','E','X','C','E','P','T','R','A','N',
- 'S','A','C','T','I','O','N','A','T','U','R','A','L','T','E','R','A','I',
- 'S','E','X','C','L','U','S','I','V','E','X','I','S','T','S','A','V','E',
- 'P','O','I','N','T','E','R','S','E','C','T','R','I','G','G','E','R','E',
- 'F','E','R','E','N','C','E','S','C','O','N','S','T','R','A','I','N','T',
- 'O','F','F','S','E','T','E','M','P','O','R','A','R','Y','U','N','I','Q',
- 'U','E','R','Y','A','T','T','A','C','H','A','V','I','N','G','R','O','U',
- 'P','D','A','T','E','B','E','G','I','N','N','E','R','E','L','E','A','S',
- 'E','B','E','T','W','E','E','N','O','T','N','U','L','L','I','K','E','C',
- 'A','S','C','A','D','E','L','E','T','E','C','A','S','E','C','O','L','L',
- 'A','T','E','C','R','E','A','T','E','C','U','R','R','E','N','T','_','D',
- 'A','T','E','D','E','T','A','C','H','I','M','M','E','D','I','A','T','E',
- 'J','O','I','N','S','E','R','T','M','A','T','C','H','P','L','A','N','A',
- 'L','Y','Z','E','P','R','A','G','M','A','B','O','R','T','V','A','L','U',
- 'E','S','V','I','R','T','U','A','L','I','M','I','T','W','H','E','N','W',
- 'H','E','R','E','N','A','M','E','A','F','T','E','R','E','P','L','A','C',
- 'E','A','N','D','E','F','A','U','L','T','A','U','T','O','I','N','C','R',
- 'E','M','E','N','T','C','A','S','T','C','O','L','U','M','N','C','O','M',
- 'M','I','T','C','O','N','F','L','I','C','T','C','R','O','S','S','C','U',
- 'R','R','E','N','T','_','T','I','M','E','S','T','A','M','P','R','I','M',
- 'A','R','Y','D','E','F','E','R','R','E','D','I','S','T','I','N','C','T',
- 'D','R','O','P','F','A','I','L','F','R','O','M','F','U','L','L','G','L',
- 'O','B','Y','I','F','I','S','N','U','L','L','O','R','D','E','R','E','S',
- 'T','R','I','C','T','O','U','T','E','R','I','G','H','T','R','O','L','L',
- 'B','A','C','K','R','O','W','U','N','I','O','N','U','S','I','N','G','V',
- 'A','C','U','U','M','V','I','E','W','I','N','I','T','I','A','L','L','Y',
- };
- static const unsigned char aHash[127] = {
- 72, 101, 114, 70, 0, 45, 0, 0, 78, 0, 73, 0, 0,
- 42, 12, 74, 15, 0, 113, 81, 50, 108, 0, 19, 0, 0,
- 118, 0, 116, 111, 0, 22, 89, 0, 9, 0, 0, 66, 67,
- 0, 65, 6, 0, 48, 86, 98, 0, 115, 97, 0, 0, 44,
- 0, 99, 24, 0, 17, 0, 119, 49, 23, 0, 5, 106, 25,
- 92, 0, 0, 121, 102, 56, 120, 53, 28, 51, 0, 87, 0,
- 96, 26, 0, 95, 0, 0, 0, 91, 88, 93, 84, 105, 14,
- 39, 104, 0, 77, 0, 18, 85, 107, 32, 0, 117, 76, 109,
- 58, 46, 80, 0, 0, 90, 40, 0, 112, 0, 36, 0, 0,
- 29, 0, 82, 59, 60, 0, 20, 57, 0, 52,
- };
- static const unsigned char aNext[121] = {
- 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
- 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 33, 0, 21, 0, 0, 0, 43, 3, 47,
- 0, 0, 0, 0, 30, 0, 54, 0, 38, 0, 0, 0, 1,
- 62, 0, 0, 63, 0, 41, 0, 0, 0, 0, 0, 0, 0,
- 61, 0, 0, 0, 0, 31, 55, 16, 34, 10, 0, 0, 0,
- 0, 0, 0, 0, 11, 68, 75, 0, 8, 0, 100, 94, 0,
- 103, 0, 83, 0, 71, 0, 0, 110, 27, 37, 69, 79, 0,
- 35, 64, 0, 0,
- };
- static const unsigned char aLen[121] = {
- 7, 7, 5, 4, 6, 4, 5, 3, 6, 7, 3, 6, 6,
- 7, 7, 3, 8, 2, 6, 5, 4, 4, 3, 10, 4, 6,
- 11, 6, 2, 7, 5, 5, 9, 6, 9, 9, 7, 10, 10,
- 4, 6, 2, 3, 9, 4, 2, 6, 5, 6, 6, 5, 6,
- 5, 5, 7, 7, 7, 3, 2, 4, 4, 7, 3, 6, 4,
- 7, 6, 12, 6, 9, 4, 6, 5, 4, 7, 6, 5, 6,
- 7, 5, 4, 5, 6, 5, 7, 3, 7, 13, 2, 2, 4,
- 6, 6, 8, 5, 17, 12, 7, 8, 8, 2, 4, 4, 4,
- 4, 4, 2, 2, 6, 5, 8, 5, 5, 8, 3, 5, 5,
- 6, 4, 9, 3,
- };
- static const unsigned short int aOffset[121] = {
- 0, 2, 2, 8, 9, 14, 16, 20, 23, 25, 25, 29, 33,
- 36, 41, 46, 48, 53, 54, 59, 62, 65, 67, 69, 78, 81,
- 86, 91, 95, 96, 101, 105, 109, 117, 122, 128, 136, 142, 152,
- 159, 162, 162, 165, 167, 167, 171, 176, 179, 184, 189, 194, 197,
- 203, 206, 210, 217, 223, 223, 223, 226, 229, 233, 234, 238, 244,
- 248, 255, 261, 273, 279, 288, 290, 296, 301, 303, 310, 315, 320,
- 326, 332, 337, 341, 344, 350, 354, 361, 363, 370, 372, 374, 383,
- 387, 393, 399, 407, 412, 412, 428, 435, 442, 443, 450, 454, 458,
- 462, 466, 469, 471, 473, 479, 483, 491, 495, 500, 508, 511, 516,
- 521, 527, 531, 536,
- };
- static const unsigned char aCode[121] = {
- TK_REINDEX, TK_INDEXED, TK_INDEX, TK_DESC, TK_ESCAPE,
- TK_EACH, TK_CHECK, TK_KEY, TK_BEFORE, TK_FOREIGN,
- TK_FOR, TK_IGNORE, TK_LIKE_KW, TK_EXPLAIN, TK_INSTEAD,
- TK_ADD, TK_DATABASE, TK_AS, TK_SELECT, TK_TABLE,
- TK_JOIN_KW, TK_THEN, TK_END, TK_DEFERRABLE, TK_ELSE,
- TK_EXCEPT, TK_TRANSACTION,TK_ACTION, TK_ON, TK_JOIN_KW,
- TK_ALTER, TK_RAISE, TK_EXCLUSIVE, TK_EXISTS, TK_SAVEPOINT,
- TK_INTERSECT, TK_TRIGGER, TK_REFERENCES, TK_CONSTRAINT, TK_INTO,
- TK_OFFSET, TK_OF, TK_SET, TK_TEMP, TK_TEMP,
- TK_OR, TK_UNIQUE, TK_QUERY, TK_ATTACH, TK_HAVING,
- TK_GROUP, TK_UPDATE, TK_BEGIN, TK_JOIN_KW, TK_RELEASE,
- TK_BETWEEN, TK_NOTNULL, TK_NOT, TK_NO, TK_NULL,
- TK_LIKE_KW, TK_CASCADE, TK_ASC, TK_DELETE, TK_CASE,
- TK_COLLATE, TK_CREATE, TK_CTIME_KW, TK_DETACH, TK_IMMEDIATE,
- TK_JOIN, TK_INSERT, TK_MATCH, TK_PLAN, TK_ANALYZE,
- TK_PRAGMA, TK_ABORT, TK_VALUES, TK_VIRTUAL, TK_LIMIT,
- TK_WHEN, TK_WHERE, TK_RENAME, TK_AFTER, TK_REPLACE,
- TK_AND, TK_DEFAULT, TK_AUTOINCR, TK_TO, TK_IN,
- TK_CAST, TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW,
- TK_CTIME_KW, TK_CTIME_KW, TK_PRIMARY, TK_DEFERRED, TK_DISTINCT,
- TK_IS, TK_DROP, TK_FAIL, TK_FROM, TK_JOIN_KW,
- TK_LIKE_KW, TK_BY, TK_IF, TK_ISNULL, TK_ORDER,
- TK_RESTRICT, TK_JOIN_KW, TK_JOIN_KW, TK_ROLLBACK, TK_ROW,
- TK_UNION, TK_USING, TK_VACUUM, TK_VIEW, TK_INITIALLY,
- TK_ALL,
- };
- int h, i;
- if( n<2 ) return TK_ID;
- h = ((charMap(z[0])*4) ^
- (charMap(z[n-1])*3) ^
- n) % 127;
- for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){
- if( aLen[i]==n && sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){
- testcase( i==0 ); /* REINDEX */
- testcase( i==1 ); /* INDEXED */
- testcase( i==2 ); /* INDEX */
- testcase( i==3 ); /* DESC */
- testcase( i==4 ); /* ESCAPE */
- testcase( i==5 ); /* EACH */
- testcase( i==6 ); /* CHECK */
- testcase( i==7 ); /* KEY */
- testcase( i==8 ); /* BEFORE */
- testcase( i==9 ); /* FOREIGN */
- testcase( i==10 ); /* FOR */
- testcase( i==11 ); /* IGNORE */
- testcase( i==12 ); /* REGEXP */
- testcase( i==13 ); /* EXPLAIN */
- testcase( i==14 ); /* INSTEAD */
- testcase( i==15 ); /* ADD */
- testcase( i==16 ); /* DATABASE */
- testcase( i==17 ); /* AS */
- testcase( i==18 ); /* SELECT */
- testcase( i==19 ); /* TABLE */
- testcase( i==20 ); /* LEFT */
- testcase( i==21 ); /* THEN */
- testcase( i==22 ); /* END */
- testcase( i==23 ); /* DEFERRABLE */
- testcase( i==24 ); /* ELSE */
- testcase( i==25 ); /* EXCEPT */
- testcase( i==26 ); /* TRANSACTION */
- testcase( i==27 ); /* ACTION */
- testcase( i==28 ); /* ON */
- testcase( i==29 ); /* NATURAL */
- testcase( i==30 ); /* ALTER */
- testcase( i==31 ); /* RAISE */
- testcase( i==32 ); /* EXCLUSIVE */
- testcase( i==33 ); /* EXISTS */
- testcase( i==34 ); /* SAVEPOINT */
- testcase( i==35 ); /* INTERSECT */
- testcase( i==36 ); /* TRIGGER */
- testcase( i==37 ); /* REFERENCES */
- testcase( i==38 ); /* CONSTRAINT */
- testcase( i==39 ); /* INTO */
- testcase( i==40 ); /* OFFSET */
- testcase( i==41 ); /* OF */
- testcase( i==42 ); /* SET */
- testcase( i==43 ); /* TEMPORARY */
- testcase( i==44 ); /* TEMP */
- testcase( i==45 ); /* OR */
- testcase( i==46 ); /* UNIQUE */
- testcase( i==47 ); /* QUERY */
- testcase( i==48 ); /* ATTACH */
- testcase( i==49 ); /* HAVING */
- testcase( i==50 ); /* GROUP */
- testcase( i==51 ); /* UPDATE */
- testcase( i==52 ); /* BEGIN */
- testcase( i==53 ); /* INNER */
- testcase( i==54 ); /* RELEASE */
- testcase( i==55 ); /* BETWEEN */
- testcase( i==56 ); /* NOTNULL */
- testcase( i==57 ); /* NOT */
- testcase( i==58 ); /* NO */
- testcase( i==59 ); /* NULL */
- testcase( i==60 ); /* LIKE */
- testcase( i==61 ); /* CASCADE */
- testcase( i==62 ); /* ASC */
- testcase( i==63 ); /* DELETE */
- testcase( i==64 ); /* CASE */
- testcase( i==65 ); /* COLLATE */
- testcase( i==66 ); /* CREATE */
- testcase( i==67 ); /* CURRENT_DATE */
- testcase( i==68 ); /* DETACH */
- testcase( i==69 ); /* IMMEDIATE */
- testcase( i==70 ); /* JOIN */
- testcase( i==71 ); /* INSERT */
- testcase( i==72 ); /* MATCH */
- testcase( i==73 ); /* PLAN */
- testcase( i==74 ); /* ANALYZE */
- testcase( i==75 ); /* PRAGMA */
- testcase( i==76 ); /* ABORT */
- testcase( i==77 ); /* VALUES */
- testcase( i==78 ); /* VIRTUAL */
- testcase( i==79 ); /* LIMIT */
- testcase( i==80 ); /* WHEN */
- testcase( i==81 ); /* WHERE */
- testcase( i==82 ); /* RENAME */
- testcase( i==83 ); /* AFTER */
- testcase( i==84 ); /* REPLACE */
- testcase( i==85 ); /* AND */
- testcase( i==86 ); /* DEFAULT */
- testcase( i==87 ); /* AUTOINCREMENT */
- testcase( i==88 ); /* TO */
- testcase( i==89 ); /* IN */
- testcase( i==90 ); /* CAST */
- testcase( i==91 ); /* COLUMN */
- testcase( i==92 ); /* COMMIT */
- testcase( i==93 ); /* CONFLICT */
- testcase( i==94 ); /* CROSS */
- testcase( i==95 ); /* CURRENT_TIMESTAMP */
- testcase( i==96 ); /* CURRENT_TIME */
- testcase( i==97 ); /* PRIMARY */
- testcase( i==98 ); /* DEFERRED */
- testcase( i==99 ); /* DISTINCT */
- testcase( i==100 ); /* IS */
- testcase( i==101 ); /* DROP */
- testcase( i==102 ); /* FAIL */
- testcase( i==103 ); /* FROM */
- testcase( i==104 ); /* FULL */
- testcase( i==105 ); /* GLOB */
- testcase( i==106 ); /* BY */
- testcase( i==107 ); /* IF */
- testcase( i==108 ); /* ISNULL */
- testcase( i==109 ); /* ORDER */
- testcase( i==110 ); /* RESTRICT */
- testcase( i==111 ); /* OUTER */
- testcase( i==112 ); /* RIGHT */
- testcase( i==113 ); /* ROLLBACK */
- testcase( i==114 ); /* ROW */
- testcase( i==115 ); /* UNION */
- testcase( i==116 ); /* USING */
- testcase( i==117 ); /* VACUUM */
- testcase( i==118 ); /* VIEW */
- testcase( i==119 ); /* INITIALLY */
- testcase( i==120 ); /* ALL */
- return aCode[i];
- }
- }
- return TK_ID;
-}
-int sqlite3KeywordCode(const unsigned char *z, int n){
- return keywordCode((char*)z, n);
-}
-#define SQLITE_N_KEYWORD 121
diff --git a/lemon b/lemon
deleted file mode 100755
index ffed66c6..00000000
Binary files a/lemon and /dev/null differ
diff --git a/lemon.dSYM/Contents/Info.plist b/lemon.dSYM/Contents/Info.plist
deleted file mode 100644
index dfd8c865..00000000
--- a/lemon.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleIdentifier
- com.apple.xcode.dsym.lemon
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- dSYM
- CFBundleSignature
- ????
- CFBundleShortVersionString
- 1.0
- CFBundleVersion
- 1
-
-
diff --git a/lemon.dSYM/Contents/Resources/DWARF/lemon b/lemon.dSYM/Contents/Resources/DWARF/lemon
deleted file mode 100644
index d19059ba..00000000
Binary files a/lemon.dSYM/Contents/Resources/DWARF/lemon and /dev/null differ
diff --git a/lempar.c b/lempar.c
deleted file mode 100644
index 2afaa6ce..00000000
--- a/lempar.c
+++ /dev/null
@@ -1,864 +0,0 @@
-/* Driver template for the LEMON parser generator.
-** The author disclaims copyright to this source code.
-**
-** This version of "lempar.c" is modified, slightly, for use by SQLite.
-** The only modifications are the addition of a couple of NEVER()
-** macros to disable tests that are needed in the case of a general
-** LALR(1) grammar but which are always false in the
-** specific grammar used by SQLite.
-*/
-/* First off, code is included that follows the "include" declaration
-** in the input grammar file. */
-#include
-%%
-/* Next is all token values, in a form suitable for use by makeheaders.
-** This section will be null unless lemon is run with the -m switch.
-*/
-/*
-** These constants (all generated automatically by the parser generator)
-** specify the various kinds of tokens (terminals) that the parser
-** understands.
-**
-** Each symbol here is a terminal symbol in the grammar.
-*/
-%%
-/* Make sure the INTERFACE macro is defined.
-*/
-#ifndef INTERFACE
-# define INTERFACE 1
-#endif
-/* The next thing included is series of defines which control
-** various aspects of the generated parser.
-** YYCODETYPE is the data type used for storing terminal
-** and nonterminal numbers. "unsigned char" is
-** used if there are fewer than 250 terminals
-** and nonterminals. "int" is used otherwise.
-** YYNOCODE is a number of type YYCODETYPE which corresponds
-** to no legal terminal or nonterminal number. This
-** number is used to fill in empty slots of the hash
-** table.
-** YYFALLBACK If defined, this indicates that one or more tokens
-** have fall-back values which should be used if the
-** original value of the token will not parse.
-** YYACTIONTYPE is the data type used for storing terminal
-** and nonterminal numbers. "unsigned char" is
-** used if there are fewer than 250 rules and
-** states combined. "int" is used otherwise.
-** ParseTOKENTYPE is the data type used for minor tokens given
-** directly to the parser from the tokenizer.
-** YYMINORTYPE is the data type used for all minor tokens.
-** This is typically a union of many types, one of
-** which is ParseTOKENTYPE. The entry in the union
-** for base tokens is called "yy0".
-** YYSTACKDEPTH is the maximum depth of the parser's stack. If
-** zero the stack is dynamically sized using realloc()
-** ParseARG_SDECL A static variable declaration for the %extra_argument
-** ParseARG_PDECL A parameter declaration for the %extra_argument
-** ParseARG_STORE Code to store %extra_argument into yypParser
-** ParseARG_FETCH Code to extract %extra_argument from yypParser
-** YYNSTATE the combined number of states.
-** YYNRULE the number of rules in the grammar
-** YYERRORSYMBOL is the code number of the error symbol. If not
-** defined, then do no error processing.
-*/
-%%
-#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
-#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
-#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
-
-/* The yyzerominor constant is used to initialize instances of
-** YYMINORTYPE objects to zero. */
-static const YYMINORTYPE yyzerominor = { 0 };
-
-/* Define the yytestcase() macro to be a no-op if is not already defined
-** otherwise.
-**
-** Applications can choose to define yytestcase() in the %include section
-** to a macro that can assist in verifying code coverage. For production
-** code the yytestcase() macro should be turned off. But it is useful
-** for testing.
-*/
-#ifndef yytestcase
-# define yytestcase(X)
-#endif
-
-
-/* Next are the tables used to determine what action to take based on the
-** current state and lookahead token. These tables are used to implement
-** functions that take a state number and lookahead value and return an
-** action integer.
-**
-** Suppose the action integer is N. Then the action is determined as
-** follows
-**
-** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
-** token onto the stack and goto state N.
-**
-** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
-**
-** N == YYNSTATE+YYNRULE A syntax error has occurred.
-**
-** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
-**
-** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
-** slots in the yy_action[] table.
-**
-** The action table is constructed as a single large table named yy_action[].
-** Given state S and lookahead X, the action is computed as
-**
-** yy_action[ yy_shift_ofst[S] + X ]
-**
-** If the index value yy_shift_ofst[S]+X is out of range or if the value
-** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
-** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
-** and that yy_default[S] should be used instead.
-**
-** The formula above is for computing the action when the lookahead is
-** a terminal symbol. If the lookahead is a non-terminal (as occurs after
-** a reduce action) then the yy_reduce_ofst[] array is used in place of
-** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
-** YY_SHIFT_USE_DFLT.
-**
-** The following are the tables generated in this section:
-**
-** yy_action[] A single table containing all actions.
-** yy_lookahead[] A table containing the lookahead for each entry in
-** yy_action. Used to detect hash collisions.
-** yy_shift_ofst[] For each state, the offset into yy_action for
-** shifting terminals.
-** yy_reduce_ofst[] For each state, the offset into yy_action for
-** shifting non-terminals after a reduce.
-** yy_default[] Default action for each state.
-*/
-%%
-
-/* The next table maps tokens into fallback tokens. If a construct
-** like the following:
-**
-** %fallback ID X Y Z.
-**
-** appears in the grammar, then ID becomes a fallback token for X, Y,
-** and Z. Whenever one of the tokens X, Y, or Z is input to the parser
-** but it does not parse, the type of the token is changed to ID and
-** the parse is retried before an error is thrown.
-*/
-#ifdef YYFALLBACK
-static const YYCODETYPE yyFallback[] = {
-%%
-};
-#endif /* YYFALLBACK */
-
-/* The following structure represents a single element of the
-** parser's stack. Information stored includes:
-**
-** + The state number for the parser at this level of the stack.
-**
-** + The value of the token stored at this level of the stack.
-** (In other words, the "major" token.)
-**
-** + The semantic value stored at this level of the stack. This is
-** the information used by the action routines in the grammar.
-** It is sometimes called the "minor" token.
-*/
-struct yyStackEntry {
- YYACTIONTYPE stateno; /* The state-number */
- YYCODETYPE major; /* The major token value. This is the code
- ** number for the token at this stack level */
- YYMINORTYPE minor; /* The user-supplied minor token value. This
- ** is the value of the token */
-};
-typedef struct yyStackEntry yyStackEntry;
-
-/* The state of the parser is completely contained in an instance of
-** the following structure */
-struct yyParser {
- int yyidx; /* Index of top element in stack */
-#ifdef YYTRACKMAXSTACKDEPTH
- int yyidxMax; /* Maximum value of yyidx */
-#endif
- int yyerrcnt; /* Shifts left before out of the error */
- ParseARG_SDECL /* A place to hold %extra_argument */
-#if YYSTACKDEPTH<=0
- int yystksz; /* Current side of the stack */
- yyStackEntry *yystack; /* The parser's stack */
-#else
- yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
-#endif
-};
-typedef struct yyParser yyParser;
-
-#ifndef NDEBUG
-#include
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
-#endif /* NDEBUG */
-
-#ifndef NDEBUG
-/*
-** Turn parser tracing on by giving a stream to which to write the trace
-** and a prompt to preface each trace message. Tracing is turned off
-** by making either argument NULL
-**
-** Inputs:
-**
-** - A FILE* to which trace output should be written.
-** If NULL, then tracing is turned off.
-**
- A prefix string written at the beginning of every
-** line of trace output. If NULL, then tracing is
-** turned off.
-**
-**
-** Outputs:
-** None.
-*/
-void ParseTrace(FILE *TraceFILE, char *zTracePrompt){
- yyTraceFILE = TraceFILE;
- yyTracePrompt = zTracePrompt;
- if( yyTraceFILE==0 ) yyTracePrompt = 0;
- else if( yyTracePrompt==0 ) yyTraceFILE = 0;
-}
-#endif /* NDEBUG */
-
-#ifndef NDEBUG
-/* For tracing shifts, the names of all terminals and nonterminals
-** are required. The following table supplies these names */
-static const char *const yyTokenName[] = {
-%%
-};
-#endif /* NDEBUG */
-
-#ifndef NDEBUG
-/* For tracing reduce actions, the names of all rules are required.
-*/
-static const char *const yyRuleName[] = {
-%%
-};
-#endif /* NDEBUG */
-
-
-#if YYSTACKDEPTH<=0
-/*
-** Try to increase the size of the parser stack.
-*/
-static void yyGrowStack(yyParser *p){
- int newSize;
- yyStackEntry *pNew;
-
- newSize = p->yystksz*2 + 100;
- pNew = realloc(p->yystack, newSize*sizeof(pNew[0]));
- if( pNew ){
- p->yystack = pNew;
- p->yystksz = newSize;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sStack grows to %d entries!\n",
- yyTracePrompt, p->yystksz);
- }
-#endif
- }
-}
-#endif
-
-/*
-** This function allocates a new parser.
-** The only argument is a pointer to a function which works like
-** malloc.
-**
-** Inputs:
-** A pointer to the function used to allocate memory.
-**
-** Outputs:
-** A pointer to a parser. This pointer is used in subsequent calls
-** to Parse and ParseFree.
-*/
-void *ParseAlloc(void *(*mallocProc)(size_t)){
- yyParser *pParser;
- pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
- if( pParser ){
- pParser->yyidx = -1;
-#ifdef YYTRACKMAXSTACKDEPTH
- pParser->yyidxMax = 0;
-#endif
-#if YYSTACKDEPTH<=0
- pParser->yystack = NULL;
- pParser->yystksz = 0;
- yyGrowStack(pParser);
-#endif
- }
- return pParser;
-}
-
-/* The following function deletes the value associated with a
-** symbol. The symbol can be either a terminal or nonterminal.
-** "yymajor" is the symbol code, and "yypminor" is a pointer to
-** the value.
-*/
-static void yy_destructor(
- yyParser *yypParser, /* The parser */
- YYCODETYPE yymajor, /* Type code for object to destroy */
- YYMINORTYPE *yypminor /* The object to be destroyed */
-){
- ParseARG_FETCH;
- switch( yymajor ){
- /* Here is inserted the actions which take place when a
- ** terminal or non-terminal is destroyed. This can happen
- ** when the symbol is popped from the stack during a
- ** reduce or during error processing or when a parser is
- ** being destroyed before it is finished parsing.
- **
- ** Note: during a reduce, the only symbols destroyed are those
- ** which appear on the RHS of the rule, but which are not used
- ** inside the C code.
- */
-%%
- default: break; /* If no destructor action specified: do nothing */
- }
-}
-
-/*
-** Pop the parser's stack once.
-**
-** If there is a destructor routine associated with the token which
-** is popped from the stack, then call it.
-**
-** Return the major token number for the symbol popped.
-*/
-static int yy_pop_parser_stack(yyParser *pParser){
- YYCODETYPE yymajor;
- yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
-
- /* There is no mechanism by which the parser stack can be popped below
- ** empty in SQLite. */
- if( NEVER(pParser->yyidx<0) ) return 0;
-#ifndef NDEBUG
- if( yyTraceFILE && pParser->yyidx>=0 ){
- fprintf(yyTraceFILE,"%sPopping %s\n",
- yyTracePrompt,
- yyTokenName[yytos->major]);
- }
-#endif
- yymajor = yytos->major;
- yy_destructor(pParser, yymajor, &yytos->minor);
- pParser->yyidx--;
- return yymajor;
-}
-
-/*
-** Deallocate and destroy a parser. Destructors are all called for
-** all stack elements before shutting the parser down.
-**
-** Inputs:
-**
-** - A pointer to the parser. This should be a pointer
-** obtained from ParseAlloc.
-**
- A pointer to a function used to reclaim memory obtained
-** from malloc.
-**
-*/
-void ParseFree(
- void *p, /* The parser to be deleted */
- void (*freeProc)(void*) /* Function used to reclaim memory */
-){
- yyParser *pParser = (yyParser*)p;
- /* In SQLite, we never try to destroy a parser that was not successfully
- ** created in the first place. */
- if( NEVER(pParser==0) ) return;
- while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
-#if YYSTACKDEPTH<=0
- free(pParser->yystack);
-#endif
- (*freeProc)((void*)pParser);
-}
-
-/*
-** Return the peak depth of the stack for a parser.
-*/
-#ifdef YYTRACKMAXSTACKDEPTH
-int ParseStackPeak(void *p){
- yyParser *pParser = (yyParser*)p;
- return pParser->yyidxMax;
-}
-#endif
-
-/*
-** Find the appropriate action for a parser given the terminal
-** look-ahead token iLookAhead.
-**
-** If the look-ahead token is YYNOCODE, then check to see if the action is
-** independent of the look-ahead. If it is, return the action, otherwise
-** return YY_NO_ACTION.
-*/
-static int yy_find_shift_action(
- yyParser *pParser, /* The parser */
- YYCODETYPE iLookAhead /* The look-ahead token */
-){
- int i;
- int stateno = pParser->yystack[pParser->yyidx].stateno;
-
- if( stateno>YY_SHIFT_COUNT
- || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){
- return yy_default[stateno];
- }
- assert( iLookAhead!=YYNOCODE );
- i += iLookAhead;
- if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
- if( iLookAhead>0 ){
-#ifdef YYFALLBACK
- YYCODETYPE iFallback; /* Fallback token */
- if( iLookAhead %s\n",
- yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
- }
-#endif
- return yy_find_shift_action(pParser, iFallback);
- }
-#endif
-#ifdef YYWILDCARD
- {
- int j = i - iLookAhead + YYWILDCARD;
- if(
-#if YY_SHIFT_MIN+YYWILDCARD<0
- j>=0 &&
-#endif
-#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
- j %s\n",
- yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]);
- }
-#endif /* NDEBUG */
- return yy_action[j];
- }
- }
-#endif /* YYWILDCARD */
- }
- return yy_default[stateno];
- }else{
- return yy_action[i];
- }
-}
-
-/*
-** Find the appropriate action for a parser given the non-terminal
-** look-ahead token iLookAhead.
-**
-** If the look-ahead token is YYNOCODE, then check to see if the action is
-** independent of the look-ahead. If it is, return the action, otherwise
-** return YY_NO_ACTION.
-*/
-static int yy_find_reduce_action(
- int stateno, /* Current state number */
- YYCODETYPE iLookAhead /* The look-ahead token */
-){
- int i;
-#ifdef YYERRORSYMBOL
- if( stateno>YY_REDUCE_COUNT ){
- return yy_default[stateno];
- }
-#else
- assert( stateno<=YY_REDUCE_COUNT );
-#endif
- i = yy_reduce_ofst[stateno];
- assert( i!=YY_REDUCE_USE_DFLT );
- assert( iLookAhead!=YYNOCODE );
- i += iLookAhead;
-#ifdef YYERRORSYMBOL
- if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
- return yy_default[stateno];
- }
-#else
- assert( i>=0 && iyyidx--;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
- }
-#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
- /* Here code is inserted which will execute if the parser
- ** stack every overflows */
-%%
- ParseARG_STORE; /* Suppress warning about unused %extra_argument var */
-}
-
-/*
-** Perform a shift action.
-*/
-static void yy_shift(
- yyParser *yypParser, /* The parser to be shifted */
- int yyNewState, /* The new state to shift in */
- int yyMajor, /* The major token to shift in */
- YYMINORTYPE *yypMinor /* Pointer to the minor token to shift in */
-){
- yyStackEntry *yytos;
- yypParser->yyidx++;
-#ifdef YYTRACKMAXSTACKDEPTH
- if( yypParser->yyidx>yypParser->yyidxMax ){
- yypParser->yyidxMax = yypParser->yyidx;
- }
-#endif
-#if YYSTACKDEPTH>0
- if( yypParser->yyidx>=YYSTACKDEPTH ){
- yyStackOverflow(yypParser, yypMinor);
- return;
- }
-#else
- if( yypParser->yyidx>=yypParser->yystksz ){
- yyGrowStack(yypParser);
- if( yypParser->yyidx>=yypParser->yystksz ){
- yyStackOverflow(yypParser, yypMinor);
- return;
- }
- }
-#endif
- yytos = &yypParser->yystack[yypParser->yyidx];
- yytos->stateno = (YYACTIONTYPE)yyNewState;
- yytos->major = (YYCODETYPE)yyMajor;
- yytos->minor = *yypMinor;
-#ifndef NDEBUG
- if( yyTraceFILE && yypParser->yyidx>0 ){
- int i;
- fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
- fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
- for(i=1; i<=yypParser->yyidx; i++)
- fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
- fprintf(yyTraceFILE,"\n");
- }
-#endif
-}
-
-/* The following table contains information about every rule that
-** is used during the reduce.
-*/
-static const struct {
- YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
- unsigned char nrhs; /* Number of right-hand side symbols in the rule */
-} yyRuleInfo[] = {
-%%
-};
-
-static void yy_accept(yyParser*); /* Forward Declaration */
-
-/*
-** Perform a reduce action and the shift that must immediately
-** follow the reduce.
-*/
-static void yy_reduce(
- yyParser *yypParser, /* The parser */
- int yyruleno /* Number of the rule by which to reduce */
-){
- int yygoto; /* The next state */
- int yyact; /* The next action */
- YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
- yyStackEntry *yymsp; /* The top of the parser's stack */
- int yysize; /* Amount to pop the stack */
- ParseARG_FETCH;
- yymsp = &yypParser->yystack[yypParser->yyidx];
-#ifndef NDEBUG
- if( yyTraceFILE && yyruleno>=0
- && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){
- fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
- yyRuleName[yyruleno]);
- }
-#endif /* NDEBUG */
-
- /* Silence complaints from purify about yygotominor being uninitialized
- ** in some cases when it is copied into the stack after the following
- ** switch. yygotominor is uninitialized when a rule reduces that does
- ** not set the value of its left-hand side nonterminal. Leaving the
- ** value of the nonterminal uninitialized is utterly harmless as long
- ** as the value is never used. So really the only thing this code
- ** accomplishes is to quieten purify.
- **
- ** 2007-01-16: The wireshark project (www.wireshark.org) reports that
- ** without this code, their parser segfaults. I'm not sure what there
- ** parser is doing to make this happen. This is the second bug report
- ** from wireshark this week. Clearly they are stressing Lemon in ways
- ** that it has not been previously stressed... (SQLite ticket #2172)
- */
- /*memset(&yygotominor, 0, sizeof(yygotominor));*/
- yygotominor = yyzerominor;
-
-
- switch( yyruleno ){
- /* Beginning here are the reduction cases. A typical example
- ** follows:
- ** case 0:
- ** #line
- ** { ... } // User supplied code
- ** #line
- ** break;
- */
-%%
- };
- assert( yyruleno>=0 && yyrulenoyyidx -= yysize;
- yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto);
- if( yyact < YYNSTATE ){
-#ifdef NDEBUG
- /* If we are not debugging and the reduce action popped at least
- ** one element off the stack, then we can push the new element back
- ** onto the stack here, and skip the stack overflow test in yy_shift().
- ** That gives a significant speed improvement. */
- if( yysize ){
- yypParser->yyidx++;
- yymsp -= yysize-1;
- yymsp->stateno = (YYACTIONTYPE)yyact;
- yymsp->major = (YYCODETYPE)yygoto;
- yymsp->minor = yygotominor;
- }else
-#endif
- {
- yy_shift(yypParser,yyact,yygoto,&yygotominor);
- }
- }else{
- assert( yyact == YYNSTATE + YYNRULE + 1 );
- yy_accept(yypParser);
- }
-}
-
-/*
-** The following code executes when the parse fails
-*/
-#ifndef YYNOERRORRECOVERY
-static void yy_parse_failed(
- yyParser *yypParser /* The parser */
-){
- ParseARG_FETCH;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
- }
-#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
- /* Here code is inserted which will be executed whenever the
- ** parser fails */
-%%
- ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
-}
-#endif /* YYNOERRORRECOVERY */
-
-/*
-** The following code executes when a syntax error first occurs.
-*/
-static void yy_syntax_error(
- yyParser *yypParser, /* The parser */
- int yymajor, /* The major type of the error token */
- YYMINORTYPE yyminor /* The minor type of the error token */
-){
- ParseARG_FETCH;
-#define TOKEN (yyminor.yy0)
-%%
- ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
-}
-
-/*
-** The following is executed when the parser accepts
-*/
-static void yy_accept(
- yyParser *yypParser /* The parser */
-){
- ParseARG_FETCH;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
- }
-#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
- /* Here code is inserted which will be executed whenever the
- ** parser accepts */
-%%
- ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */
-}
-
-/* The main parser program.
-** The first argument is a pointer to a structure obtained from
-** "ParseAlloc" which describes the current state of the parser.
-** The second argument is the major token number. The third is
-** the minor token. The fourth optional argument is whatever the
-** user wants (and specified in the grammar) and is available for
-** use by the action routines.
-**
-** Inputs:
-**
-** - A pointer to the parser (an opaque structure.)
-**
- The major token number.
-**
- The minor token number.
-**
- An option argument of a grammar-specified type.
-**
-**
-** Outputs:
-** None.
-*/
-void Parse(
- void *yyp, /* The parser */
- int yymajor, /* The major token code number */
- ParseTOKENTYPE yyminor /* The value for the token */
- ParseARG_PDECL /* Optional %extra_argument parameter */
-){
- YYMINORTYPE yyminorunion;
- int yyact; /* The parser action. */
-#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
- int yyendofinput; /* True if we are at the end of input */
-#endif
-#ifdef YYERRORSYMBOL
- int yyerrorhit = 0; /* True if yymajor has invoked an error */
-#endif
- yyParser *yypParser; /* The parser */
-
- /* (re)initialize the parser, if necessary */
- yypParser = (yyParser*)yyp;
- if( yypParser->yyidx<0 ){
-#if YYSTACKDEPTH<=0
- if( yypParser->yystksz <=0 ){
- /*memset(&yyminorunion, 0, sizeof(yyminorunion));*/
- yyminorunion = yyzerominor;
- yyStackOverflow(yypParser, &yyminorunion);
- return;
- }
-#endif
- yypParser->yyidx = 0;
- yypParser->yyerrcnt = -1;
- yypParser->yystack[0].stateno = 0;
- yypParser->yystack[0].major = 0;
- }
- yyminorunion.yy0 = yyminor;
-#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
- yyendofinput = (yymajor==0);
-#endif
- ParseARG_STORE;
-
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
- }
-#endif
-
- do{
- yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor);
- if( yyactyyerrcnt--;
- yymajor = YYNOCODE;
- }else if( yyact < YYNSTATE + YYNRULE ){
- yy_reduce(yypParser,yyact-YYNSTATE);
- }else{
- assert( yyact == YY_ERROR_ACTION );
-#ifdef YYERRORSYMBOL
- int yymx;
-#endif
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
- }
-#endif
-#ifdef YYERRORSYMBOL
- /* A syntax error has occurred.
- ** The response to an error depends upon whether or not the
- ** grammar defines an error token "ERROR".
- **
- ** This is what we do if the grammar does define ERROR:
- **
- ** * Call the %syntax_error function.
- **
- ** * Begin popping the stack until we enter a state where
- ** it is legal to shift the error symbol, then shift
- ** the error symbol.
- **
- ** * Set the error count to three.
- **
- ** * Begin accepting and shifting new tokens. No new error
- ** processing will occur until three tokens have been
- ** shifted successfully.
- **
- */
- if( yypParser->yyerrcnt<0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
- }
- yymx = yypParser->yystack[yypParser->yyidx].major;
- if( yymx==YYERRORSYMBOL || yyerrorhit ){
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sDiscard input token %s\n",
- yyTracePrompt,yyTokenName[yymajor]);
- }
-#endif
- yy_destructor(yypParser, (YYCODETYPE)yymajor,&yyminorunion);
- yymajor = YYNOCODE;
- }else{
- while(
- yypParser->yyidx >= 0 &&
- yymx != YYERRORSYMBOL &&
- (yyact = yy_find_reduce_action(
- yypParser->yystack[yypParser->yyidx].stateno,
- YYERRORSYMBOL)) >= YYNSTATE
- ){
- yy_pop_parser_stack(yypParser);
- }
- if( yypParser->yyidx < 0 || yymajor==0 ){
- yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
- yy_parse_failed(yypParser);
- yymajor = YYNOCODE;
- }else if( yymx!=YYERRORSYMBOL ){
- YYMINORTYPE u2;
- u2.YYERRSYMDT = 0;
- yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
- }
- }
- yypParser->yyerrcnt = 3;
- yyerrorhit = 1;
-#elif defined(YYNOERRORRECOVERY)
- /* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
- ** do any kind of error recovery. Instead, simply invoke the syntax
- ** error routine and continue going as if nothing had happened.
- **
- ** Applications can set this macro (for example inside %include) if
- ** they intend to abandon the parse upon the first syntax error seen.
- */
- yy_syntax_error(yypParser,yymajor,yyminorunion);
- yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
- yymajor = YYNOCODE;
-
-#else /* YYERRORSYMBOL is not defined */
- /* This is what we do if the grammar does not define ERROR:
- **
- ** * Report an error message, and throw away the input token.
- **
- ** * If the input token is $, then fail the parse.
- **
- ** As before, subsequent error messages are suppressed until
- ** three input tokens have been successfully shifted.
- */
- if( yypParser->yyerrcnt<=0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
- }
- yypParser->yyerrcnt = 3;
- yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
- if( yyendofinput ){
- yy_parse_failed(yypParser);
- }
- yymajor = YYNOCODE;
-#endif
- }
- }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
- return;
-}
diff --git a/libsqlite3.la b/libsqlite3.la
deleted file mode 100644
index f743b88d..00000000
--- a/libsqlite3.la
+++ /dev/null
@@ -1,41 +0,0 @@
-# libsqlite3.la - a libtool library file
-# Generated by ltmain.sh (GNU libtool) 2.2.6
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='libsqlite3.0.dylib'
-
-# Names of this library.
-library_names='libsqlite3.0.dylib libsqlite3.dylib'
-
-# The name of the static archive.
-old_library='libsqlite3.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=' '
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libsqlite3.
-current=8
-age=8
-revision=6
-
-# Is this an already installed library?
-installed=no
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/usr/local/lib'
diff --git a/libtclsqlite3.la b/libtclsqlite3.la
deleted file mode 100644
index 14f43504..00000000
--- a/libtclsqlite3.la
+++ /dev/null
@@ -1,42 +0,0 @@
-# libtclsqlite3.la - a libtool library file
-# Generated by ltmain.sh (GNU libtool) 2.2.6
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='libtclsqlite3.dylib'
-
-# Names of this library.
-library_names='libtclsqlite3.dylib libtclsqlite3.dylib'
-
-# The name of the static archive.
-old_library='libtclsqlite3.a'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags=' '
-
-# Libraries that this one depends upon.
-dependency_libs=' /var/folders/c6/35nw6ndn2_g40y0znq5nfn140000gn/T/sqlite-src.15jzL0BF/sqlcipher/libsqlite3.la -L/System/Library/Frameworks/Tcl.framework/Versions/8.5 -ltclstub8.5'
-
-# Names of additional weak libraries provided by this library
-weak_library_names=''
-
-# Version information for libtclsqlite3.
-current=8
-age=8
-revision=6
-
-# Is this an already installed library?
-installed=no
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/Scripts/sqlite3'
-relink_command=""
diff --git a/libtool b/libtool
deleted file mode 100755
index 8b327ea8..00000000
--- a/libtool
+++ /dev/null
@@ -1,8945 +0,0 @@
-#! /bin/sh
-
-# libtool - Provide generalized library-building support services.
-# Generated automatically by config.status () 3.8
-# Libtool was configured on host work.local:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=2.2.6
-macro_revision=1.3012
-
-# Whether or not to build shared libraries.
-build_libtool_libs=yes
-
-# Whether or not to build static libraries.
-build_old_libs=yes
-
-# What type of objects to build.
-pic_mode=default
-
-# Whether or not to optimize for fast installation.
-fast_install=needless
-
-# The host system.
-host_alias=
-host=i386-apple-darwin12.4.0
-host_os=darwin12.4.0
-
-# The build system.
-build_alias=
-build=i386-apple-darwin12.4.0
-build_os=darwin12.4.0
-
-# A sed program that does not truncate output.
-SED="/usr/bin/sed"
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP="/usr/bin/grep"
-
-# An ERE matcher.
-EGREP="/usr/bin/grep -E"
-
-# A literal string matcher.
-FGREP="/usr/bin/grep -F"
-
-# A BSD- or MS-compatible name lister.
-NM="/usr/bin/nm"
-
-# Whether we need soft or hard links.
-LN_S="ln -s"
-
-# What is the maximum length of a command?
-max_cmd_len=196608
-
-# Object file suffix (normally "o").
-objext=o
-
-# Executable file suffix (normally "").
-exeext=
-
-# whether the shell understands "unset".
-lt_unset=unset
-
-# turn spaces into newlines.
-SP2NL="tr \\040 \\012"
-
-# turn newlines into spaces.
-NL2SP="tr \\015\\012 \\040\\040"
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LTCC \$LTCFLAGS -nostdlib \${wl}-r -o \$output\$reload_objs"
-
-# An object symbol dumper.
-OBJDUMP="false"
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd="\$MAGIC_CMD"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A symbol stripping program.
-STRIP="strip"
-
-# Commands used to install an old-style archive.
-RANLIB="ranlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS=" -g -O2 -DSQLITE_OS_UNIX=1"
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[ ]\\([BCDEGRST][BCDEGRST]*\\)[ ][ ]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[BCDEGRST]* .* \\(.*\\)\$/extern char \\1;/p'"
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[BCDEGRST]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p'"
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[BCDEGRST]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p' -e 's/^[BCDEGRST]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"lib\\2\", (void *) \\&\\2},/p'"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/sh"
-
-# An echo program that does not interpret backslashes.
-ECHO="/bin/echo"
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=file
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL="dsymutil"
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT="nmedit"
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO="lipo"
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL="otool"
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=":"
-
-# Old archive suffix (normally "a").
-libext=a
-
-# Shared library suffix (normally ".so").
-shrext_cmds="\`test .\$module = .yes && echo .so || echo .dylib\`"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink="PATH DYLD_LIBRARY_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Library versioning type.
-version_type=darwin
-
-# Shared library runtime path variable.
-runpath_var=
-
-# Shared library path variable.
-shlibpath_var=DYLD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=yes
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec="\${libname}\${release}\${major}\$shared_ext \${libname}\$shared_ext"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${major}\$shared_ext"
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=""
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=""
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=""
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=no
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec="/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64 /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/x86_64 /usr/lib /usr/llvm-gcc-4.2/lib/gcc /usr/llvm-gcc-4.2/lib /Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2/lib /usr/local/lib"
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec="/usr/local/lib /lib /usr/lib"
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Commands to strip libraries.
-old_striplib="strip -S"
-striplib="strip -x"
-
-
-# The linker used to build libraries.
-LD="/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld"
-
-# Commands used to build an old-style archive.
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
-
-# A language specific compiler.
-CC="gcc"
-
-# Is the compiler the GNU compiler?
-with_gcc=yes
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=" -fno-builtin"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fno-common -DPIC"
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=""
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=no
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=""
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=""
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object="no"
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build a shared archive.
-archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module~\$DSYMUTIL \$lib || :"
-archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring \$single_module \${wl}-exported_symbols_list,\$output_objdir/\${libname}-symbols.expsym~\$DSYMUTIL \$lib || :"
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags~\$DSYMUTIL \$lib || :"
-module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags \${wl}-exported_symbols_list,\$output_objdir/\${libname}-symbols.expsym~\$DSYMUTIL \$lib || :"
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld="no"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag="\${wl}-undefined \${wl}dynamic_lookup"
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=""
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist
-hardcode_libdir_flag_spec=""
-
-# If ld is used when linking, flag to hardcode $libdir into a binary
-# during linking. This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=no
-
-# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting ${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=no
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=no
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=yes
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=no
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=yes
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=""
-
-# Specify filename containing input files.
-file_list_spec=""
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# ### END LIBTOOL CONFIG
-
-# Generated from ltmain.m4sh.
-
-# ltmain.sh (GNU libtool) 2.2.6
-# Written by Gordon Matzigkeit , 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print informational messages (default)
-# --version print version information
-# -h, --help print short or long help message
-#
-# MODE must be one of the following:
-#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.2.6
-# automake: $automake_version
-# autoconf: $autoconf_version
-#
-# Report bugs to .
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=2.2.6
-TIMESTAMP=""
-package_revision=1.3012
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
- export $lt_var
- lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
- lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
- fi"
-done
-
-$lt_unset CDPATH
-
-
-
-
-
-: ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/usr/bin/grep -E"}
-: ${FGREP="/usr/bin/grep -F"}
-: ${GREP="/usr/bin/grep"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SED="/opt/local/bin/gsed"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-# Generated shell functions inserted here.
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
-}
-
-# func_basename file
-func_basename ()
-{
- func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-# dirname: Compute the dirname of FILE. If nonempty,
-# add APPEND to the result, otherwise set result
-# to NONDIR_REPLACEMENT.
-# value returned in "$func_dirname_result"
-# basename: Compute filename of FILE.
-# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
- func_opt_split_opt=${1%%=*}
- func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
- func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
- func_len_result=${#1}
-}
-
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
- eval "$1+=\$2"
-}
-# Generated shell functions inserted here.
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-case $progname in
- -*) progname=./$progname ;;
-esac
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
- [\\/]*|[A-Za-z]:\\*) ;;
- *[\\/]*)
- progdir=$func_dirname_result
- progdir=`cd "$progdir" && pwd`
- progpath="$progdir/$progname"
- ;;
- *)
- save_IFS="$IFS"
- IFS=:
- for progdir in $PATH; do
- IFS="$save_IFS"
- test -x "$progdir/$progname" && break
- done
- IFS="$save_IFS"
- test -n "$progdir" || progdir=`pwd`
- progpath="$progdir/$progname"
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
- s/$bs4/&\\
-/g
- s/^$bs2$dollar/$bs&/
- s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
- s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
- $ECHO "$progname${mode+: }$mode: $*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_echo ${1+"$@"}
-
- # A bug in bash halts the script if the last line of a function
- # fails when set -e is in force, so we need another command to
- # work around that:
- :
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
- $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
- $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
-
- # bash bug again:
- :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information." ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
- $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
- my_directory_path="$1"
- my_dir_list=
-
- if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
- # Protect directory names starting with `-'
- case $my_directory_path in
- -*) my_directory_path="./$my_directory_path" ;;
- esac
-
- # While some portion of DIR does not yet exist...
- while test ! -d "$my_directory_path"; do
- # ...make a list in topmost first order. Use a colon delimited
- # list incase some portion of path contains whitespace.
- my_dir_list="$my_directory_path:$my_dir_list"
-
- # If the last portion added has no slash in it, the list is done
- case $my_directory_path in */*) ;; *) break ;; esac
-
- # ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
- done
- my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
-
- save_mkdir_p_IFS="$IFS"; IFS=':'
- for my_dir in $my_dir_list; do
- IFS="$save_mkdir_p_IFS"
- # mkdir can fail with a `File exist' error if two processes
- # try to create one of the directories concurrently. Don't
- # stop in that case!
- $MKDIR "$my_dir" 2>/dev/null || :
- done
- IFS="$save_mkdir_p_IFS"
-
- # Bail out if we (or some other process) failed to create a directory.
- test -d "$my_directory_path" || \
- func_fatal_error "Failed to create \`$1'"
- fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$opt_dry_run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $MKDIR "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || \
- func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
- fi
-
- $ECHO "X$my_tmpdir" | $Xsed
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
- case $1 in
- *[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
- *)
- func_quote_for_eval_unquoted_result="$1" ;;
- esac
-
- case $func_quote_for_eval_unquoted_result in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and and variable
- # expansion for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
- ;;
- *)
- func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
- esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- case $1 in
- *[\\\`\"]*)
- my_arg=`$ECHO "X$1" | $Xsed \
- -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- my_arg="$1" ;;
- esac
-
- case $my_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- my_arg="\"$my_arg\""
- ;;
- esac
-
- func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
-
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
-
- if ${opt_dry_run-false}; then :; else
- eval "$my_cmd"
- my_status=$?
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
-# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it. Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
- my_cmd="$1"
- my_fail_exp="${2-:}"
-
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
-
- if ${opt_dry_run-false}; then :; else
- eval "$lt_user_locale
- $my_cmd"
- my_status=$?
- eval "$lt_safe_locale"
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
- fi
- fi
-}
-
-
-
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
- $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //
- s/^# *$//
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
- p
- }' < "$progpath"
- exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
- $SED -n '/^# Usage:/,/# -h/ {
- s/^# //
- s/^# *$//
- s/\$progname/'$progname'/
- p
- }' < "$progpath"
- $ECHO
- $ECHO "run \`$progname --help | more' for full usage"
- exit $?
-}
-
-# func_help
-# Echo long help message to standard output and exit.
-func_help ()
-{
- $SED -n '/^# Usage:/,/# Report bugs to/ {
- s/^# //
- s/^# *$//
- s*\$progname*'$progname'*
- s*\$host*'"$host"'*
- s*\$SHELL*'"$SHELL"'*
- s*\$LTCC*'"$LTCC"'*
- s*\$LTCFLAGS*'"$LTCFLAGS"'*
- s*\$LD*'"$LD"'*
- s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
- p
- }' < "$progpath"
- exit $?
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
- func_error "missing argument for $1"
- exit_cmd=exit
-}
-
-exit_cmd=:
-
-
-
-
-
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell, and then maybe $ECHO will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-# Same for EGREP, and just to be sure, do LTCC as well
-if test "x$EGREP" = x ; then
- EGREP=egrep
-fi
-if test "x$LTCC" = x ; then
- LTCC=${CC-gcc}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat </dev/null 2>&1; then
- taglist="$taglist $tagname"
-
- # Evaluate the configuration. Be careful to quote the path
- # and the sed script, to avoid splitting on whitespace, but
- # also don't use non-portable quotes within backquotes within
- # quotes we have to do it in 2 steps:
- extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- eval "$extractedcf"
- else
- func_error "ignoring unknown tag $tagname"
- fi
- ;;
- esac
-}
-
-# Parse options once, thoroughly. This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
-{
-
- # Shorthand for --mode=foo, only valid as the first argument
- case $1 in
- clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
- compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
- execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
- finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
- install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
- link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
- uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
- esac
-
- # Parse non-mode specific arguments:
- while test "$#" -gt 0; do
- opt="$1"
- shift
-
- case $opt in
- --config) func_config ;;
-
- --debug) preserve_args="$preserve_args $opt"
- func_echo "enabling shell trace mode"
- opt_debug='set -x'
- $opt_debug
- ;;
-
- -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
- execute_dlfiles="$execute_dlfiles $1"
- shift
- ;;
-
- --dry-run | -n) opt_dry_run=: ;;
- --features) func_features ;;
- --finish) mode="finish" ;;
-
- --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
- case $1 in
- # Valid mode arguments:
- clean) ;;
- compile) ;;
- execute) ;;
- finish) ;;
- install) ;;
- link) ;;
- relink) ;;
- uninstall) ;;
-
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
- esac
-
- mode="$1"
- shift
- ;;
-
- --preserve-dup-deps)
- opt_duplicate_deps=: ;;
-
- --quiet|--silent) preserve_args="$preserve_args $opt"
- opt_silent=:
- ;;
-
- --verbose| -v) preserve_args="$preserve_args $opt"
- opt_silent=false
- ;;
-
- --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
- preserve_args="$preserve_args $opt $1"
- func_enable_tag "$1" # tagname is set here
- shift
- ;;
-
- # Separate optargs to long options:
- -dlopen=*|--mode=*|--tag=*)
- func_opt_split "$opt"
- set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
- shift
- ;;
-
- -\?|-h) func_usage ;;
- --help) opt_help=: ;;
- --version) func_version ;;
-
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
-
- *) nonopt="$opt"
- break
- ;;
- esac
- done
-
-
- case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
- ;;
- esac
-
- # Having warned about all mis-specified options, bail out if
- # anything was wrong.
- $exit_cmd $EXIT_FAILURE
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
-$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
- fi
-
- exit $EXIT_MISMATCH
- fi
-}
-
-
-## ----------- ##
-## Main. ##
-## ----------- ##
-
-$opt_help || {
- # Sanity checks first:
- func_check_version_match
-
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
- fi
-
- test -z "$mode" && func_fatal_error "error: you must specify a MODE."
-
-
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
-
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$mode' for more information."
-}
-
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
- test -f "$1" &&
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs. To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway. Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
- lalib_p=no
- if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
- for lalib_p_l in 1 2 3 4
- do
- read lalib_p_line
- case "$lalib_p_line" in
- \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
- esac
- done
- exec 0<&5 5<&-
- fi
- test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
- func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
- func_ltwrapper_exec_suffix=
- case $1 in
- *.exe) ;;
- *) func_ltwrapper_exec_suffix=.exe ;;
- esac
- $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
- func_ltwrapper_scriptname_result=""
- if func_ltwrapper_executable_p "$1"; then
- func_dirname_and_basename "$1" "" "."
- func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
- fi
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
- func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
- $opt_debug
- save_ifs=$IFS; IFS='~'
- for cmd in $1; do
- IFS=$save_ifs
- eval cmd=\"$cmd\"
- func_show_eval "$cmd" "${2-:}"
- done
- IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)! Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
- $opt_debug
- case $1 in
- */* | *\\*) . "$1" ;;
- *) . "./$1" ;;
- esac
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- $opt_debug
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- func_quote_for_eval "$arg"
- CC_quoted="$CC_quoted $func_quote_for_eval_result"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- func_quote_for_eval "$arg"
- CC_quoted="$CC_quoted $func_quote_for_eval_result"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
-# else
-# func_verbose "using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
- else
- write_lobj=none
- fi
-
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
- else
- write_oldobj=none
- fi
-
- $opt_dry_run || {
- cat >${write_libobj}T <?"'"'"' &()|`$[]' \
- && func_warning "libobj name \`$libobj' may not contain shell special characters."
- func_dirname_and_basename "$obj" "/" ""
- objname="$func_basename_result"
- xdir="$func_dirname_result"
- lobj=${xdir}$objdir/$objname
-
- test -z "$base_compile" && \
- func_fatal_help "you must specify a compilation command"
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2* | cegcc*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
- func_echo "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
- removelist="$removelist $output_obj"
- $ECHO "$srcfile" > "$lockfile"
- fi
-
- $opt_dry_run || $RM $removelist
- removelist="$removelist $lockfile"
- trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- func_mkdir_p "$xdir$objdir"
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
-
- func_show_eval_locale "$command" \
- 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- func_show_eval '$MV "$output_obj" "$lobj"' \
- 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
- fi
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile$pie_flag"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- func_show_eval_locale "$command" \
- '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $opt_dry_run || $RM $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- func_show_eval '$MV "$output_obj" "$obj"' \
- 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
- fi
- fi
-
- $opt_dry_run || {
- func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- removelist=$lockfile
- $RM "$lockfile"
- fi
- }
-
- exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
- # We need to display help for each of the modes.
- case $mode in
- "")
- # Generic help is extracted from the usage comments
- # at the start of this file.
- func_help
- ;;
-
- clean)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
- compile)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -no-suppress do not suppress compiler output for multiple passes
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
- execute)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
- finish)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
- install)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
- -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
- link)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -shared only do dynamic linking of libtool libraries
- -shrext SUFFIX override the standard shared library file extension
- -static do not do any dynamic linking of uninstalled libtool libraries
- -static-libtool-libs
- do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
- -weak LIBNAME declare that the target provides the LIBNAME interface
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
- uninstall)
- $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
- *)
- func_fatal_help "invalid operation mode \`$mode'"
- ;;
- esac
-
- $ECHO
- $ECHO "Try \`$progname --help' for more information about other modes."
-
- exit $?
-}
-
- # Now that we've collected a possible --mode arg, show help if necessary
- $opt_help && func_mode_help
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
- $opt_debug
- # The first argument is the command name.
- cmd="$nonopt"
- test -z "$cmd" && \
- func_fatal_help "you must specify a COMMAND"
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
-
- # Read the libtool library.
- dlname=
- library_names=
- func_source "$file"
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
- fi
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- ;;
-
- *)
- func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if func_ltwrapper_script_p "$file"; then
- func_source "$file"
- # Transform arg to wrapped name.
- file="$progdir/$program"
- elif func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- func_source "$func_ltwrapper_scriptname_result"
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- func_quote_for_eval "$file"
- args="$args $func_quote_for_eval_result"
- done
-
- if test "X$opt_dry_run" = Xfalse; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
- do
- eval "if test \"\${save_$lt_var+set}\" = set; then
- $lt_var=\$save_$lt_var; export $lt_var
- else
- $lt_unset $lt_var
- fi"
- done
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- $ECHO "export $shlibpath_var"
- fi
- $ECHO "$cmd$args"
- exit $EXIT_SUCCESS
- fi
-}
-
-test "$mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
- $opt_debug
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $opt_dry_run || eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- $opt_silent && exit $EXIT_SUCCESS
-
- $ECHO "X----------------------------------------------------------------------" | $Xsed
- $ECHO "Libraries have been installed in:"
- for libdir in $libdirs; do
- $ECHO " $libdir"
- done
- $ECHO
- $ECHO "If you ever happen to want to link against installed libraries"
- $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
- $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $ECHO "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $ECHO " during execution"
- fi
- if test -n "$runpath_var"; then
- $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
- $ECHO " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $ECHO " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $ECHO " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $ECHO
-
- $ECHO "See any operating system documentation about shared libraries for"
- case $host in
- solaris2.[6789]|solaris2.1[0-9])
- $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- $ECHO "pages."
- ;;
- *)
- $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
- ;;
- esac
- $ECHO "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
-}
-
-test "$mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
- $opt_debug
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
- # Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
- arg=$1
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- func_quote_for_eval "$arg"
- install_prog="$install_prog$func_quote_for_eval_result"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o)
- prev=$arg
- ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- install_prog="$install_prog $func_quote_for_eval_result"
- done
-
- test -z "$install_prog" && \
- func_fatal_help "you must specify an install program"
-
- test -n "$prev" && \
- func_fatal_help "the \`$prev' option requires an argument"
-
- if test -z "$files"; then
- if test -z "$dest"; then
- func_fatal_help "no file or destination specified"
- else
- func_fatal_help "you must specify a destination"
- fi
- fi
-
- # Strip any trailing slash from the destination.
- func_stripname '' '/' "$dest"
- dest=$func_stripname_result
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- func_dirname_and_basename "$dest" "" "."
- destdir="$func_dirname_result"
- destname="$func_basename_result"
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files; shift
- test "$#" -gt 1 && \
- func_fatal_help "\`$dest' is not a directory"
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- func_fatal_help "\`$destdir' must be an absolute directory name"
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$file' is not a valid libtool archive"
-
- library_names=
- old_library=
- relink_command=
- func_source "$file"
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- func_dirname "$file" "/" ""
- dir="$func_dirname_result"
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- test "$inst_prefix_dir" = "$destdir" && \
- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- else
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
- fi
-
- func_warning "relinking \`$file'"
- func_show_eval "$relink_command" \
- 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
- fi
-
- # See the names of the shared library.
- set dummy $library_names; shift
- if test -n "$1"; then
- realname="$1"
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
- 'exit $?'
- tstripme="$stripme"
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- case $realname in
- *.dll.a)
- tstripme=""
- ;;
- esac
- ;;
- esac
- if test -n "$tstripme" && test -n "$striplib"; then
- func_show_eval "$striplib $destdir/$realname" 'exit $?'
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- test "$linkname" != "$realname" \
- && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- func_execute_cmds "$postinstall_cmds" 'exit $?'
- fi
-
- # Install the pseudo-library for information purposes.
- func_basename "$file"
- name="$func_basename_result"
- instname="$dir/$name"i
- func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- func_lo2o "$destfile"
- staticdest=$func_lo2o_result
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- func_fatal_help "cannot copy a libtool object to \`$destfile'"
- ;;
- esac
-
- # Install the libtool object if requested.
- test -n "$destfile" && \
- func_show_eval "$install_prog $file $destfile" 'exit $?'
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- func_lo2o "$file"
- staticobj=$func_lo2o_result
- func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- func_stripname '' '.exe' "$file"
- file=$func_stripname_result
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin* | *mingw*)
- if func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- wrapper=$func_ltwrapper_scriptname_result
- else
- func_stripname '' '.exe' "$file"
- wrapper=$func_stripname_result
- fi
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if func_ltwrapper_script_p "$wrapper"; then
- notinst_deplibs=
- relink_command=
-
- func_source "$wrapper"
-
- # Check the variables that should have been set.
- test -z "$generated_by_libtool_version" && \
- func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- func_source "$lib"
- fi
- libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- func_warning "\`$lib' has not been installed in \`$libdir'"
- finalize=no
- fi
- done
-
- relink_command=
- func_source "$wrapper"
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- $opt_dry_run || {
- if test "$finalize" = yes; then
- tmpdir=`func_mktempdir`
- func_basename "$file$stripped_ext"
- file="$func_basename_result"
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
- $opt_silent || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
- }
- if eval "$relink_command"; then :
- else
- func_error "error: relink \`$file' with the above command before installing it"
- $opt_dry_run || ${RM}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- func_warning "cannot relink \`$file'"
- fi
- }
- else
- # Install the binary that we compiled earlier.
- file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- func_stripname '' '.exe' "$destfile"
- destfile=$func_stripname_result
- ;;
- esac
- ;;
- esac
- func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
- $opt_dry_run || if test -n "$outputname"; then
- ${RM}r "$tmpdir"
- fi
- ;;
- esac
- done
-
- for file in $staticlibs; do
- func_basename "$file"
- name="$func_basename_result"
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- func_show_eval "$old_striplib $oldlib" 'exit $?'
- fi
-
- # Do each command in the postinstall commands.
- func_execute_cmds "$old_postinstall_cmds" 'exit $?'
- done
-
- test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- $opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
-}
-
-test "$mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
- my_dlsyms=
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
- else
- func_error "not configured to extract global symbols from dlpreopened files"
- fi
- fi
-
- if test -n "$my_dlsyms"; then
- case $my_dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
-
- func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
- # Parse the name list into a source file.
- func_verbose "creating $output_objdir/$my_dlsyms"
-
- $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
-
- $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for progfile in $progfiles; do
- func_verbose "extracting global C symbols from \`$progfile'"
- $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $opt_dry_run || {
- eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
-
- if test -n "$export_symbols_regex"; then
- $opt_dry_run || {
- eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- }
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $opt_dry_run || {
- $RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- else
- $opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- eval '$MV "$nlist"T "$nlist"'
- case $host in
- *cygwin | *mingw* | *cegcc* )
- eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- }
- fi
- fi
-
- for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
- func_basename "$dlprefile"
- name="$func_basename_result"
- $opt_dry_run || {
- eval '$ECHO ": $name " >> "$nlist"'
- eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
- }
- done
-
- $opt_dry_run || {
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $MV "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if $GREP -v "^: " < "$nlist" |
- if sort -k 3 /dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- $GREP -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
- else
- $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
- fi
-
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols. */
-typedef struct {
- const char *name;
- void *address;
-} lt_dlsymlist;
-"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs. */"
- lt_dlsym_const= ;;
- *osf5*)
- echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
- lt_dlsym_const= ;;
- *)
- lt_dlsym_const=const ;;
- esac
-
- $ECHO >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
-
- case $need_lib_prefix in
- no)
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- *)
- eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
- ;;
- esac
- $ECHO >> "$output_objdir/$my_dlsyms" "\
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- } # !$opt_dry_run
-
- pic_flag_for_symtable=
- case "$compile_command " in
- *" -static "*) ;;
- *)
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
- *-*-hpux*)
- pic_flag_for_symtable=" $pic_flag" ;;
- *)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
- ;;
- esac
- ;;
- esac
- symtab_cflags=
- for arg in $LTCFLAGS; do
- case $arg in
- -pie | -fpie | -fPIE) ;;
- *) symtab_cflags="$symtab_cflags $arg" ;;
- esac
- done
-
- # Now compile the dynamic symbol file.
- func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
- # Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
- # Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- if test -f "$output_objdir/$my_outputname.def"; then
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- else
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- fi
- ;;
- *)
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- ;;
- esac
- ;;
- *)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
- fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
- $opt_debug
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
- $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 |
- $SED -n -e '
- 1,100{
- / I /{
- s,.*,import,
- p
- q
- }
- }'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $ECHO "$win32_libid_type"
-}
-
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
- fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- $opt_debug
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- func_basename "$my_xlib"
- my_xlib="$func_basename_result"
- my_xlib_u=$my_xlib
- while :; do
- case " $extracted_archives " in
- *" $my_xlib_u "*)
- func_arith $extracted_serial + 1
- extracted_serial=$func_arith_result
- my_xlib_u=lt$extracted_serial-$my_xlib ;;
- *) break ;;
- esac
- done
- extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
-
- func_mkdir_p "$my_xdir"
-
- case $host in
- *-darwin*)
- func_verbose "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- $opt_dry_run || {
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
- darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
- if test -n "$darwin_arches"; then
- darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- $LIPO -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- $RM -rf unfat-$$
- cd "$darwin_orig_dir"
- else
- cd $darwin_orig_dir
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- } # !$opt_dry_run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
-
- func_extract_archives_result="$my_oldobjs"
-}
-
-
-
-# func_emit_wrapper_part1 [arg=no]
-#
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
-{
- func_emit_wrapper_part1_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_part1_arg1=$1
- fi
-
- $ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variables:
- generated_by_libtool_version='$macro_version'
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$ECHO are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- ECHO=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$ECHO works!
- :
- else
- # Restart under the correct shell, and then maybe \$ECHO will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $ECHO "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
- func_emit_wrapper_part2_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_part2_arg1=$1
- fi
-
- $ECHO "\
-
- # Usually 'no', except on cygwin/mingw when embedded into
- # the cwrapper.
- WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
- if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
- # special case for '.'
- if test \"\$thisdir\" = \".\"; then
- thisdir=\`pwd\`
- fi
- # remove .libs from thisdir
- case \"\$thisdir\" in
- *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
- $objdir ) thisdir=. ;;
- esac
- fi
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $ECHO "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" ||
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $MKDIR \"\$progdir\"
- else
- $RM \"\$progdir/\$file\"
- fi"
-
- $ECHO "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $ECHO \"\$relink_command_output\" >&2
- $RM \"\$progdir/\$file\"
- exit 1
- fi
- fi
-
- $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $RM \"\$progdir/\$program\";
- $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $RM \"\$progdir/\$file\"
- fi"
- else
- $ECHO "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $ECHO "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $ECHO "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $ECHO "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $ECHO "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2* | *-cegcc*)
- $ECHO "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $ECHO "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $ECHO "\
- \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
- exit 1
- fi
- else
- # The program doesn't exist.
- \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
- $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
- exit 1
- fi
-fi\
-"
-}
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable. Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory. This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
- func_emit_wrapper_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_arg1=$1
- fi
-
- # split this up so that func_emit_cwrapperexe_src
- # can call each part independently.
- func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
- func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
-
-
-# func_to_host_path arg
-#
-# Convert paths to host format when used with build tools.
-# Intended for use with "native" mingw (where libtool itself
-# is running under the msys shell), or in the following cross-
-# build environments:
-# $build $host
-# mingw (msys) mingw [e.g. native]
-# cygwin mingw
-# *nix + wine mingw
-# where wine is equipped with the `winepath' executable.
-# In the native mingw case, the (msys) shell automatically
-# converts paths for any non-msys applications it launches,
-# but that facility isn't available from inside the cwrapper.
-# Similar accommodations are necessary for $host mingw and
-# $build cygwin. Calling this function does no harm for other
-# $host/$build combinations not listed above.
-#
-# ARG is the path (on $build) that should be converted to
-# the proper representation for $host. The result is stored
-# in $func_to_host_path_result.
-func_to_host_path ()
-{
- func_to_host_path_result="$1"
- if test -n "$1" ; then
- case $host in
- *mingw* )
- lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
- case $build in
- *mingw* ) # actually, msys
- # awkward: cmd appends spaces to result
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- func_to_host_path_tmp1=`( cmd //c echo "$1" |\
- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- *cygwin* )
- func_to_host_path_tmp1=`cygpath -w "$1"`
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- * )
- # Unfortunately, winepath does not exit with a non-zero
- # error code, so we are forced to check the contents of
- # stdout. On the other hand, if the command is not
- # found, the shell will set an exit code of 127 and print
- # *an error message* to stdout. So we must check for both
- # error code of zero AND non-empty stdout, which explains
- # the odd construction:
- func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
- if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
- else
- # Allow warning below.
- func_to_host_path_result=""
- fi
- ;;
- esac
- if test -z "$func_to_host_path_result" ; then
- func_error "Could not determine host path corresponding to"
- func_error " '$1'"
- func_error "Continuing, but uninstalled executables may not work."
- # Fallback:
- func_to_host_path_result="$1"
- fi
- ;;
- esac
- fi
-}
-# end: func_to_host_path
-
-# func_to_host_pathlist arg
-#
-# Convert pathlists to host format when used with build tools.
-# See func_to_host_path(), above. This function supports the
-# following $build/$host combinations (but does no harm for
-# combinations not listed here):
-# $build $host
-# mingw (msys) mingw [e.g. native]
-# cygwin mingw
-# *nix + wine mingw
-#
-# Path separators are also converted from $build format to
-# $host format. If ARG begins or ends with a path separator
-# character, it is preserved (but converted to $host format)
-# on output.
-#
-# ARG is a pathlist (on $build) that should be converted to
-# the proper representation on $host. The result is stored
-# in $func_to_host_pathlist_result.
-func_to_host_pathlist ()
-{
- func_to_host_pathlist_result="$1"
- if test -n "$1" ; then
- case $host in
- *mingw* )
- lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
- # Remove leading and trailing path separator characters from
- # ARG. msys behavior is inconsistent here, cygpath turns them
- # into '.;' and ';.', and winepath ignores them completely.
- func_to_host_pathlist_tmp2="$1"
- # Once set for this call, this variable should not be
- # reassigned. It is used in tha fallback case.
- func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e 's|^:*||' -e 's|:*$||'`
- case $build in
- *mingw* ) # Actually, msys.
- # Awkward: cmd appends spaces to result.
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- *cygwin* )
- func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e "$lt_sed_naive_backslashify"`
- ;;
- * )
- # unfortunately, winepath doesn't convert pathlists
- func_to_host_pathlist_result=""
- func_to_host_pathlist_oldIFS=$IFS
- IFS=:
- for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
- IFS=$func_to_host_pathlist_oldIFS
- if test -n "$func_to_host_pathlist_f" ; then
- func_to_host_path "$func_to_host_pathlist_f"
- if test -n "$func_to_host_path_result" ; then
- if test -z "$func_to_host_pathlist_result" ; then
- func_to_host_pathlist_result="$func_to_host_path_result"
- else
- func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
- fi
- fi
- fi
- IFS=:
- done
- IFS=$func_to_host_pathlist_oldIFS
- ;;
- esac
- if test -z "$func_to_host_pathlist_result" ; then
- func_error "Could not determine the host path(s) corresponding to"
- func_error " '$1'"
- func_error "Continuing, but uninstalled executables may not work."
- # Fallback. This may break if $1 contains DOS-style drive
- # specifications. The fix is not to complicate the expression
- # below, but for the user to provide a working wine installation
- # with winepath so that path translation in the cross-to-mingw
- # case works properly.
- lt_replace_pathsep_nix_to_dos="s|:|;|g"
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
- $SED -e "$lt_replace_pathsep_nix_to_dos"`
- fi
- # Now, add the leading and trailing path separators back
- case "$1" in
- :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
- ;;
- esac
- case "$1" in
- *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
- ;;
- esac
- ;;
- esac
- fi
-}
-# end: func_to_host_pathlist
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
- cat <
-#include
-#ifdef _MSC_VER
-# include
-# include
-# include
-# define setmode _setmode
-#else
-# include
-# include
-# ifdef __CYGWIN__
-# include
-# define HAVE_SETENV
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-# endif
-#endif
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
- va_list args;
- va_start (args, fmt);
- (void) vfprintf (stderr, fmt, args);
- va_end (args);
-}
-#else
-# define LTWRAPPER_DEBUGPRINTF(args)
-#endif
-
-const char *program_name = NULL;
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
- func_emit_wrapper_part1 yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ "/' -e 's/$/\\n"/'
- echo ";"
- cat <")));
- for (i = 0; i < newargc; i++)
- {
- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "")));
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat <<"EOF"
- /* execv doesn't actually work on mingw as expected on unix */
- rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
- if (rval == -1)
- {
- /* failed to start process */
- LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
- return 127;
- }
- return rval;
-EOF
- ;;
- *)
- cat <<"EOF"
- execv (lt_argv_zero, newargz);
- return rval; /* =127, but avoids unused variable warning */
-EOF
- ;;
- esac
-
- cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
- void *p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
- string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char) name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable (const char *path)
-{
- struct stat st;
-
- LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0)
- && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
- return 1;
- else
- return 0;
-}
-
-int
-make_executable (const char *path)
-{
- int rval = 0;
- struct stat st;
-
- LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
- if ((!path) || (!*path))
- return 0;
-
- if (stat (path, &st) >= 0)
- {
- rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
- }
- return rval;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise
- Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
- int has_slash = 0;
- const char *p;
- const char *p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char *concat_name;
-
- LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
- wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char *path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char *q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR (*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen (tmp);
- concat_name =
- XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name =
- XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen (tmp);
- concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable (concat_name))
- return concat_name;
- XFREE (concat_name);
- return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
- return xstrdup (pathspec);
-#else
- char buf[LT_PATHMAX];
- struct stat s;
- char *tmp_pathspec = xstrdup (pathspec);
- char *p;
- int has_symlinks = 0;
- while (strlen (tmp_pathspec) && !has_symlinks)
- {
- LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
- tmp_pathspec));
- if (lstat (tmp_pathspec, &s) == 0)
- {
- if (S_ISLNK (s.st_mode) != 0)
- {
- has_symlinks = 1;
- break;
- }
-
- /* search backwards for last DIR_SEPARATOR */
- p = tmp_pathspec + strlen (tmp_pathspec) - 1;
- while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- p--;
- if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
- {
- /* no more DIR_SEPARATORS left */
- break;
- }
- *p = '\0';
- }
- else
- {
- char *errstr = strerror (errno);
- lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
- }
- }
- XFREE (tmp_pathspec);
-
- if (!has_symlinks)
- {
- return xstrdup (pathspec);
- }
-
- tmp_pathspec = realpath (pathspec, buf);
- if (tmp_pathspec == 0)
- {
- lt_fatal ("Could not follow symlinks for %s", pathspec);
- }
- return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert (str != NULL);
- assert (pat != NULL);
-
- len = strlen (str);
- patlen = strlen (pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp (str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char *mode,
- const char *message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
- LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
- (name ? name : ""),
- (value ? value : "")));
- {
-#ifdef HAVE_SETENV
- /* always make a copy, for consistency with !HAVE_SETENV */
- char *str = xstrdup (value);
- setenv (name, str, 1);
-#else
- int len = strlen (name) + 1 + strlen (value) + 1;
- char *str = XMALLOC (char, len);
- sprintf (str, "%s=%s", name, value);
- if (putenv (str) != EXIT_SUCCESS)
- {
- XFREE (str);
- }
-#endif
- }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
- char *new_value;
- if (orig_value && *orig_value)
- {
- int orig_value_len = strlen (orig_value);
- int add_len = strlen (add);
- new_value = XMALLOC (char, add_len + orig_value_len + 1);
- if (to_end)
- {
- strcpy (new_value, orig_value);
- strcpy (new_value + orig_value_len, add);
- }
- else
- {
- strcpy (new_value, add);
- strcpy (new_value + add_len, orig_value);
- }
- }
- else
- {
- new_value = xstrdup (add);
- }
- return new_value;
-}
-
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
- const char *p;
- int len;
- if (!arg || !*arg)
- return 1;
-
- p = strchr (arg, (int)'=');
-
- if (!p)
- return 1;
-
- *value = xstrdup (++p);
-
- len = strlen (arg) - strlen (*value);
- *name = XMALLOC (char, len);
- strncpy (*name, arg, len-1);
- (*name)[len - 1] = '\0';
-
- return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
- }
-
- lt_setenv (name, value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
- char *new_value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
- }
-
- new_value = lt_extend_str (getenv (name), value, 0);
- lt_setenv (name, new_value);
- XFREE (new_value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
- char *new_value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
- }
-
- new_value = lt_extend_str (getenv (name), value, 1);
- lt_setenv (name, new_value);
- XFREE (new_value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
- LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
- (name ? name : ""),
- (value ? value : "")));
-
- if (name && *name && value && *value)
- {
- char *new_value = lt_extend_str (getenv (name), value, 0);
- /* some systems can't cope with a ':'-terminated path #' */
- int len = strlen (new_value);
- while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
- {
- new_value[len-1] = '\0';
- }
- lt_setenv (name, new_value);
- XFREE (new_value);
- }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
- LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
- (name ? name : ""),
- (value ? value : "")));
-
- if (name && *name && value && *value)
- {
- char *new_value = lt_extend_str (getenv (name), value, 0);
- lt_setenv (name, new_value);
- XFREE (new_value);
- }
-}
-
-
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_mode_link arg...
-func_mode_link ()
-{
- $opt_debug
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args=$nonopt
- base_compile="$nonopt $@"
- compile_command=$nonopt
- finalize_command=$nonopt
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
- new_inherited_linker_flags=
-
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
- weak_libs=
- single_module="${wl}-single_module"
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
- build_old_libs=no
- break
- ;;
- -all-static | -static | -static-libtool-libs)
- case $arg in
- -all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- func_warning "complete static linking is impossible in this configuration"
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- -static)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- ;;
- -static-libtool-libs)
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- ;;
- esac
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- func_append compile_command " @OUTPUT@"
- func_append finalize_command " @OUTPUT@"
- ;;
- esac
-
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- func_append compile_command " @SYMFILE@"
- func_append finalize_command " @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- test -f "$arg" \
- || func_fatal_error "symbol file \`$arg' does not exist"
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- framework)
- case $host in
- *-*-darwin*)
- case "$deplibs " in
- *" $qarg.ltframework "*) ;;
- *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
- ;;
- esac
- ;;
- esac
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat "$save_arg"`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if func_lalib_unsafe_p "$arg"; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- func_source "$arg"
-
- if test -z "$pic_object" ||
- test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
- fi
-
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- func_append non_pic_objects " $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if $opt_dry_run; then
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- func_lo2o "$arg"
- pic_object=$xdir$objdir/$func_lo2o_result
- non_pic_object=$xdir$func_lo2o_result
- func_append libobjs " $pic_object"
- func_append non_pic_objects " $non_pic_object"
- else
- func_fatal_error "\`$arg' is not a valid libtool object"
- fi
- fi
- done
- else
- func_fatal_error "link input file \`$arg' does not exist"
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- func_fatal_error "only absolute run-paths are allowed"
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- weak)
- weak_libs="$weak_libs $arg"
- prev=
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- func_append compile_command " $qarg"
- func_append finalize_command " $qarg"
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- func_append compile_command " $qarg"
- func_append finalize_command " $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- func_append compile_command " $wl$qarg"
- func_append finalize_command " $wl$qarg"
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- # See comment for -static flag below, for more details.
- func_append compile_command " $link_static_flag"
- func_append finalize_command " $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- func_fatal_error "\`-allow-undefined' must not be used because it is the default"
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- func_fatal_error "more than one -exported-symbols argument is not allowed"
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework)
- prev=framework
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- func_stripname '-L' '' "$arg"
- dir=$func_stripname_result
- if test -z "$dir"; then
- if test "$#" -gt 0; then
- func_fatal_error "require no space between \`-L' and \`$1'"
- else
- func_fatal_error "need path for \`-L' option"
- fi
- fi
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- test -z "$absdir" && \
- func_fatal_error "cannot determine absolute directory name of \`$dir'"
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- ::) dllsearchpath=$dir;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- ::) dllsearchpath=$testbindir;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs System.ltframework"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- # Darwin uses the -arch flag to determine output architecture.
- -model|-arch|-isysroot)
- compiler_flags="$compiler_flags $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- compiler_flags="$compiler_flags $arg"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- case "$new_inherited_linker_flags " in
- *" $arg "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
- esac
- continue
- ;;
-
- -multi_module)
- single_module="${wl}-multi_module"
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
- # The PATH hackery in wrapper scripts is required on Windows
- # and Darwin in order for the loader to find any dlls it needs.
- func_warning "\`-no-install' is ignored for $host"
- func_warning "assuming \`-no-fast-install' instead"
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- func_stripname '-R' '' "$arg"
- dir=$func_stripname_result
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- func_fatal_error "only absolute run-paths are allowed"
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
-
- -shared)
- # The effects of -shared are defined in a previous loop.
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -static | -static-libtool-libs)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
-
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -weak)
- prev=weak
- continue
- ;;
-
- -Wc,*)
- func_stripname '-Wc,' '' "$arg"
- args=$func_stripname_result
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
- compiler_flags="$compiler_flags $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$arg"
- arg=$func_stripname_result
- ;;
-
- -Wl,*)
- func_stripname '-Wl,' '' "$arg"
- args=$func_stripname_result
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
- compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
- linker_flags="$linker_flags $func_quote_for_eval_result"
- done
- IFS="$save_ifs"
- func_stripname ' ' '' "$arg"
- arg=$func_stripname_result
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # -msg_* for osf cc
- -msg_*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
-
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if func_lalib_unsafe_p "$arg"; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- func_source "$arg"
-
- if test -z "$pic_object" ||
- test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
- fi
-
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- func_append non_pic_objects " $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if $opt_dry_run; then
- # Extract subdirectory from the argument.
- func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
-
- func_lo2o "$arg"
- pic_object=$xdir$objdir/$func_lo2o_result
- non_pic_object=$xdir$func_lo2o_result
- func_append libobjs " $pic_object"
- func_append non_pic_objects " $non_pic_object"
- else
- func_fatal_error "\`$arg' is not a valid libtool object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- fi
- done # argument parsing loop
-
- test -n "$prev" && \
- func_fatal_help "the \`$prevarg' option requires an argument"
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- func_append compile_command " $arg"
- func_append finalize_command " $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- func_basename "$output"
- outputname="$func_basename_result"
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- func_dirname "$output" "/" ""
- output_objdir="$func_dirname_result$objdir"
- # Create the object directory.
- func_mkdir_p "$output_objdir"
-
- # Determine the type of output
- case $output in
- "")
- func_fatal_help "you must specify an output file"
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if $opt_duplicate_deps ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if $opt_duplicate_compiler_generated_deps; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- notinst_path= # paths that contain not-installed libtool libraries
-
- case $linkmode in
- lib)
- passes="conv dlpreopen link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
-
- for pass in $passes; do
- # The preopen pass in lib mode reverses $deplibs; put it back here
- # so that -L comes before libs that need it for instance...
- if test "$linkmode,$pass" = "lib,link"; then
- ## FIXME: Find the place where the list is rebuilt in the wrong
- ## order, and fix it there properly
- tmp_deplibs=
- for deplib in $deplibs; do
- tmp_deplibs="$deplib $tmp_deplibs"
- done
- deplibs="$tmp_deplibs"
- fi
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
- esac
- fi
- if test "$linkmode,$pass" = "lib,dlpreopen"; then
- # Collect and forward deplibs of preopened libtool libs
- for lib in $dlprefiles; do
- # Ignore non-libtool-libs
- dependency_libs=
- case $lib in
- *.la) func_source "$lib" ;;
- esac
-
- # Collect preopened libtool deplibs, except any this library
- # has declared as weak libs
- for deplib in $dependency_libs; do
- deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
- case " $weak_libs " in
- *" $deplib_base "*) ;;
- *) deplibs="$deplibs $deplib" ;;
- esac
- done
- done
- libs="$dlprefiles"
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
-
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- if test "$linkmode" = lib ; then
- case "$new_inherited_linker_flags " in
- *" $deplib "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
- esac
- fi
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- func_warning "\`-l' is ignored for archives/objects"
- continue
- fi
- func_stripname '-l' '' "$deplib"
- name=$func_stripname_result
- if test "$linkmode" = lib; then
- searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
- else
- searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
- fi
- for searchdir in $searchdirs; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if func_lalib_p "$lib"; then
- library_names=
- old_library=
- func_source "$lib"
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- *.ltframework)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- if test "$linkmode" = lib ; then
- case "$new_inherited_linker_flags " in
- *" $deplib "*) ;;
- * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
- esac
- fi
- fi
- continue
- ;;
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
- ;;
- *)
- func_warning "\`-L' is ignored for archives/objects"
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- func_stripname '-R' '' "$deplib"
- dir=$func_stripname_result
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- # Linking convenience modules into shared libraries is allowed,
- # but linking other static libraries is non-portable.
- case " $dlpreconveniencelibs " in
- *" $deplib "*) ;;
- *)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method; shift
- match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $ECHO
- $ECHO "*** Warning: Trying to link with static lib archive $deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because the file extensions .$libext of this argument makes me believe"
- $ECHO "*** that it is just a static archive that I should not use here."
- else
- $ECHO
- $ECHO "*** Warning: Linking the shared library $output against the"
- $ECHO "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- ;;
- esac
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
-
- if test "$found" = yes || test -f "$lib"; then :
- else
- func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
- fi
-
- # Check to see that this really is a libtool archive.
- func_lalib_unsafe_p "$lib" \
- || func_fatal_error "\`$lib' is not a valid libtool archive"
-
- func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- inherited_linker_flags=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- func_source "$lib"
-
- # Convert "-framework foo" to "foo.ltframework"
- if test -n "$inherited_linker_flags"; then
- tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
- for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
- case " $new_inherited_linker_flags " in
- *" $tmp_inherited_linker_flag "*) ;;
- *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
- esac
- done
- fi
- dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- func_fatal_error "\`$lib' is not a convenience library"
- fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
- if test -z "$linklib"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- func_warning "cannot determine absolute directory name of \`$ladir'"
- func_warning "passing it literally to the linker, although it might fail"
- abs_ladir="$ladir"
- fi
- ;;
- esac
- func_basename "$lib"
- laname="$func_basename_result"
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- func_warning "library \`$lib' was moved."
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- func_stripname 'lib' '.la' "$laname"
- name=$func_stripname_result
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir" && test "$linkmode" = prog; then
- func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Keep a list of preopened convenience libraries to check
- # that they are being used correctly in the link pass.
- test -z "$libdir" && \
- dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) func_stripname '-L' '' "$deplib"
- newlib_search_path="$newlib_search_path $func_stripname_result"
- ;;
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
- test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath:" in
- *"$absdir:"*) ;;
- *) temp_rpath="$temp_rpath$absdir:" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- case $host in
- *cygwin* | *mingw* | *cegcc*)
- # No point in relinking DLLs because paths are not encoded
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=no
- ;;
- *)
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- ;;
- esac
- # This is a shared library
-
- # Warn about portability, can't link against -module's on some
- # systems (darwin). Don't bleat about dlopened modules though!
- dlopenmodule=""
- for dlpremoduletest in $dlprefiles; do
- if test "X$dlpremoduletest" = "X$lib"; then
- dlopenmodule="$dlpremoduletest"
- break
- fi
- done
- if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
- $ECHO
- if test "$linkmode" = prog; then
- $ECHO "*** Warning: Linking the executable $output against the loadable module"
- else
- $ECHO "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $ECHO "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- shift
- realname="$1"
- shift
- libname=`eval "\\$ECHO \"$libname_spec\""`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw* | *cegcc*)
- func_arith $current - $age
- major=$func_arith_result
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- func_basename "$soroot"
- soname="$func_basename_result"
- func_stripname 'lib' '.dll' "$soname"
- newlib=libimp-$func_stripname_result.a
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- func_verbose "extracting exported symbol list from \`$soname'"
- func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- func_verbose "generating import library for \`$soname'"
- func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a (non-dlopened) module then we can not
- # link against it, someone is ignoring the earlier warnings
- if /usr/bin/file -L $add 2> /dev/null |
- $GREP ": [^:]* bundle" >/dev/null ; then
- if test "X$dlopenmodule" != "X$lib"; then
- $ECHO "*** Warning: lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $ECHO
- $ECHO "*** And there doesn't seem to be a static archive available"
- $ECHO "*** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- elif test -n "$old_library"; then
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- func_fatal_configuration "unsupported hardcode properties"
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes &&
- test "$hardcode_minus_L" != yes &&
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $ECHO
- $ECHO "*** Warning: This system can not link to static lib archive $lib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $ECHO "*** But as you try to build a module library, libtool will still create "
- $ECHO "*** a static module, that should work as long as the dlopening application"
- $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) func_stripname '-R' '' "$libdir"
- temp_xrpath=$func_stripname_result
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if $opt_duplicate_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- func_dirname "$deplib" "" "."
- dir="$func_dirname_result"
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- func_warning "cannot determine absolute directory name of \`$dir'"
- absdir="$dir"
- fi
- ;;
- esac
- if $GREP "^installed=no" $deplib > /dev/null; then
- case $host in
- *-*-darwin*)
- depdepl=
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$absdir/$objdir/$depdepl" ; then
- depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
- if test -z "$darwin_install_name"; then
- darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
- fi
- compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
- path=
- fi
- fi
- ;;
- *)
- path="-L$absdir/$objdir"
- ;;
- esac
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
- test "$absdir" != "$libdir" && \
- func_warning "\`$deplib' seems to be moved"
-
- path="-L$absdir"
- fi
- ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- if test "$pass" = link; then
- if test "$linkmode" = "prog"; then
- compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
- finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
- else
- compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- fi
- fi
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- fi
- if test "$linkmode" = prog || test "$linkmode" = lib; then
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for archives"
- fi
-
- case " $deplibs" in
- *\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for archives" ;;
- esac
-
- test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for archives"
-
- test -n "$xrpath" && \
- func_warning "\`-R' is ignored for archives"
-
- test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for archives"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for archives"
-
- test -n "$export_symbols$export_symbols_regex" && \
- func_warning "\`-export-symbols' is ignored for archives"
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- func_stripname 'lib' '.la' "$outputname"
- name=$func_stripname_result
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- test "$module" = no && \
- func_fatal_help "libtool library \`$output' must begin with \`lib'"
-
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- func_stripname '' '.la' "$outputname"
- name=$func_stripname_result
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- func_stripname '' '.la' "$outputname"
- libname=$func_stripname_result
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
- else
- $ECHO
- $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
- $ECHO "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- test "$dlself" != no && \
- func_warning "\`-dlopen self' is ignored for libtool libraries"
-
- set dummy $rpath
- shift
- test "$#" -gt 1 && \
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for convenience libraries"
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- shift
- IFS="$save_ifs"
-
- test -n "$7" && \
- func_fatal_help "too many parameters to \`-version-info'"
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$1"
- number_minor="$2"
- number_revision="$3"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows|none)
- func_arith $number_major + $number_minor
- current=$func_arith_result
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- func_arith $number_major + $number_minor
- current=$func_arith_result
- age="$number_minor"
- revision="$number_minor"
- lt_irix_increment=no
- ;;
- esac
- ;;
- no)
- current="$1"
- revision="$2"
- age="$3"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "CURRENT \`$current' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "REVISION \`$revision' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- func_error "AGE \`$age' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- func_error "AGE \`$age' is greater than the current interface number \`$current'"
- func_fatal_error "\`$vinfo' is not valid version information"
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- func_arith $current - $age
- major=.$func_arith_result
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- func_arith $current + 1
- minor_current=$func_arith_result
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current"
- ;;
-
- irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
- func_arith $current - $age
- else
- func_arith $current - $age + 1
- fi
- major=$func_arith_result
-
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- func_arith $revision - $loop
- iface=$func_arith_result
- func_arith $loop - 1
- loop=$func_arith_result
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux)
- func_arith $current - $age
- major=.$func_arith_result
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- func_arith $current - $age
- major=.$func_arith_result
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- func_arith $current - $loop
- iface=$func_arith_result
- func_arith $loop - 1
- loop=$func_arith_result
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
-
- qnx)
- major=".$current"
- versuffix=".$current"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- func_arith $current - $age
- major=$func_arith_result
- versuffix="-$major"
- ;;
-
- *)
- func_fatal_configuration "unknown library version type \`$version_type'"
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- func_warning "undefined symbols not allowed in $host shared libraries"
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
-
- fi
-
- func_generate_dlsyms "$libname" "$libname" "yes"
- libobjs="$libobjs $symfileobj"
- test "X$libobjs" = "X " && libobjs=
-
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$ECHO "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext | *.gcno)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- test -n "$removelist" && \
- func_show_eval "${RM}r \$removelist"
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- #for path in $notinst_path; do
- # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
- # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
- # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
- #done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs System.ltframework"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $opt_dry_run || $RM conftest.c
- cat > conftest.c </dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null |
- $GREP " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
- $SED -e 10q |
- $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $ECHO "*** with $libname and none of the candidates passed a file format test"
- $ECHO "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- ;;
- *)
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- ;;
- esac
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method; shift
- match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- for a_deplib in $deplibs; do
- case $a_deplib in
- -l*)
- func_stripname -l '' "$a_deplib"
- name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval "\\$ECHO \"$libname_spec\""`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
- $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $ECHO
- $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $ECHO "*** with $libname and none of the candidates passed a file format test"
- $ECHO "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- ;;
- *)
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- ;;
- esac
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
- -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
- done
- fi
- if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
- $GREP . >/dev/null; then
- $ECHO
- if test "X$deplibs_check_method" = "Xnone"; then
- $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $ECHO "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $ECHO "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library with the System framework
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $ECHO
- $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
- $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
- $ECHO "*** a static module, that should work as long as the dlopening"
- $ECHO "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $ECHO "*** The inter-library dependencies that have been dropped here will be"
- $ECHO "*** automatically added whenever a program is linked with this library"
- $ECHO "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $ECHO
- $ECHO "*** Since this library must not contain undefined symbols,"
- $ECHO "*** because either the platform does not support them or"
- $ECHO "*** it was explicitly requested with -no-undefined,"
- $ECHO "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
- # Time to change all our "foo.ltframework" stuff back to "-framework foo"
- case $host in
- *-*-darwin*)
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- ;;
- esac
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- shift
- realname="$1"
- shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- test "X$libobjs" = "X " && libobjs=
-
- delfiles=
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- export_symbols="$output_objdir/$libname.uexp"
- delfiles="$delfiles $export_symbols"
- fi
-
- orig_export_symbols=
- case $host_os in
- cygwin* | mingw* | cegcc*)
- if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
- # exporting using user supplied symfile
- if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
- # and it's NOT already a .def file. Must figure out
- # which of the given symbols are data symbols and tag
- # them as such. So, trigger use of export_symbols_cmds.
- # export_symbols gets reassigned inside the "prepare
- # the list of exported symbols" if statement, so the
- # include_expsyms logic still works.
- orig_export_symbols="$export_symbols"
- export_symbols=
- always_export_symbols=yes
- fi
- fi
- ;;
- esac
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $opt_dry_run || $RM $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- func_len " $cmd"
- len=$func_len_result
- if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- func_show_eval "$cmd" 'exit $?'
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- func_verbose "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
- func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
- fi
-
- if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
- # The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- # FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
- # though. Also, the filter scales superlinearly with the number of
- # global variables. join(1) would be nice here, but unfortunately
- # isn't a blessed tool.
- $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
- export_symbols=$output_objdir/$libname.def
- $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec" &&
- test "$compiler_needs_object" = yes &&
- test -z "$libobjs"; then
- # extract the archives, so we have objects to list.
- # TODO: could optimize this to just extract one archive.
- whole_archive_flag_spec=
- fi
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- test "X$libobjs" = "X " && libobjs=
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- test "X$libobjs" = "X " && libobjs=
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- func_len " $test_cmds" &&
- len=$func_len_result &&
- test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise
- # or, if using GNU ld and skipped_export is not :, use a linker
- # script.
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- last_robj=
- k=1
-
- if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- output=${output_objdir}/${output_la}.lnkscript
- func_verbose "creating GNU ld script: $output"
- $ECHO 'INPUT (' > $output
- for obj in $save_libobjs
- do
- $ECHO "$obj" >> $output
- done
- $ECHO ')' >> $output
- delfiles="$delfiles $output"
- elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- output=${output_objdir}/${output_la}.lnk
- func_verbose "creating linker input file list: $output"
- : > $output
- set x $save_libobjs
- shift
- firstobj=
- if test "$compiler_needs_object" = yes; then
- firstobj="$1 "
- shift
- fi
- for obj
- do
- $ECHO "$obj" >> $output
- done
- delfiles="$delfiles $output"
- output=$firstobj\"$file_list_spec$output\"
- else
- if test -n "$save_libobjs"; then
- func_verbose "creating reloadable object files..."
- output=$output_objdir/$output_la-${k}.$objext
- eval test_cmds=\"$reload_cmds\"
- func_len " $test_cmds"
- len0=$func_len_result
- len=$len0
-
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- func_len " $obj"
- func_arith $len + $func_len_result
- len=$func_arith_result
- if test "X$objlist" = X ||
- test "$len" -lt "$max_cmd_len"; then
- func_append objlist " $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- func_arith $k + 1
- k=$func_arith_result
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- func_len " $last_robj"
- func_arith $len0 + $func_len_result
- len=$func_arith_result
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
- if test -n "$last_robj"; then
- eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
- fi
- delfiles="$delfiles $output"
-
- else
- output=
- fi
-
- if ${skipped_export-false}; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $opt_dry_run || $RM $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
- if test -n "$last_robj"; then
- eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
- fi
- fi
-
- test -n "$save_libobjs" &&
- func_verbose "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $opt_silent || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
- $opt_dry_run || eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- ( cd "$output_objdir" && \
- $RM "${realname}T" && \
- $MV "${realname}U" "$realname" )
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- if test -n "$export_symbols_regex" && ${skipped_export-false}; then
- func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
- fi
- fi
-
- if ${skipped_export-false}; then
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
- fi
-
- if test -n "$orig_export_symbols"; then
- # The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
- # FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
- # though. Also, the filter scales superlinearly with the number of
- # global variables. join(1) would be nice here, but unfortunately
- # isn't a blessed tool.
- $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
- delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
- export_symbols=$output_objdir/$libname.def
- $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
- fi
- fi
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- test "X$libobjs" = "X " && libobjs=
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
- fi
-
- if test -n "$delfiles"; then
- # Append the command to remove temporary files to $cmds.
- eval cmds=\"\$cmds~\$RM $delfiles\"
- fi
-
- # Add any objects from preloaded convenience libraries
- if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $dlprefiles
- libobjs="$libobjs $func_extract_archives_result"
- test "X$libobjs" = "X " && libobjs=
- fi
-
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $opt_silent || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
- $opt_dry_run || eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- ( cd "$output_objdir" && \
- $RM "${realname}T" && \
- $MV "${realname}U" "$realname" )
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- func_show_eval '${RM}r "$gentop"'
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for objects"
- fi
-
- case " $deplibs" in
- *\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for objects" ;;
- esac
-
- test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for objects"
-
- test -n "$xrpath" && \
- func_warning "\`-R' is ignored for objects"
-
- test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for objects"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for objects"
-
- case $output in
- *.lo)
- test -n "$objs$old_deplibs" && \
- func_fatal_error "cannot build library object \`$output' from non-libtool objects"
-
- libobj=$output
- func_lo2o "$libobj"
- obj=$func_lo2o_result
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $opt_dry_run || $RM $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- func_execute_cmds "$reload_cmds" 'exit $?'
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- func_execute_cmds "$reload_cmds" 'exit $?'
- fi
-
- if test -n "$gentop"; then
- func_show_eval '${RM}r "$gentop"'
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) func_stripname '' '.exe' "$output"
- output=$func_stripname_result.exe;;
- esac
- test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for programs"
-
- test -n "$release" && \
- func_warning "\`-release' is ignored for programs"
-
- test "$preload" = yes \
- && test "$dlopen_support" = unknown \
- && test "$dlopen_self" = unknown \
- && test "$dlopen_self_static" = unknown && \
- func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- ;;
- esac
-
- case $host in
- *-*-darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- # But is supposedly fixed on 10.4 or later (yay!).
- if test "$tagname" = CXX ; then
- case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
- 10.[0123])
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- ;;
- esac
- fi
- # Time to change all our "foo.ltframework" stuff back to "-framework foo"
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- ::) dllsearchpath=$libdir;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- ::) dllsearchpath=$testbindir;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
-
- func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
-
- # template prelinking step
- if test -n "$prelink_cmds"; then
- func_execute_cmds "$prelink_cmds" 'exit $?'
- fi
-
- wrappers_required=yes
- case $host in
- *cygwin* | *mingw* )
- if test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
- ;;
- *cegcc)
- # Disable wrappers for cegcc, we are cross compiling anyway.
- wrappers_required=no
- ;;
- *)
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
- ;;
- esac
- if test "$wrappers_required" = no; then
- # Replace the output file specification.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- exit_status=0
- func_show_eval "$link_command" 'exit_status=$?'
-
- # Delete the generated files.
- if test -f "$output_objdir/${outputname}S.${objext}"; then
- func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
- fi
-
- exit $exit_status
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $opt_dry_run || $RM $output
- # Link the executable and exit
- func_show_eval "$link_command" 'exit $?'
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- func_warning "this platform does not like uninstalled shared libraries"
- func_warning "\`$output' will be relinked during installation"
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- func_show_eval "$link_command" 'exit $?'
-
- # Now create the wrapper script.
- func_verbose "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $ECHO for shipping.
- if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if not in dry run mode.
- $opt_dry_run || {
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) func_stripname '' '.exe' "$output"
- output=$func_stripname_result ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- func_stripname '' '.exe' "$outputname"
- outputname=$func_stripname_result ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- func_dirname_and_basename "$output" "" "."
- output_name=$func_basename_result
- output_path=$func_dirname_result
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $RM $cwrappersource $cwrapper
- trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- func_emit_cwrapperexe_src > $cwrappersource
-
- # The wrapper executable is built using the $host compiler,
- # because it contains $host paths and files. If cross-
- # compiling, it, like the target executable, must be
- # executed on the $host or under an emulation environment.
- $opt_dry_run || {
- $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
- $STRIP $cwrapper
- }
-
- # Now, create the wrapper script for func_source use:
- func_ltwrapper_scriptname $cwrapper
- $RM $func_ltwrapper_scriptname_result
- trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
- $opt_dry_run || {
- # note: this script will not be executed, so do not chmod.
- if test "x$build" = "x$host" ; then
- $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
- else
- func_emit_wrapper no > $func_ltwrapper_scriptname_result
- fi
- }
- ;;
- * )
- $RM $output
- trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
- func_emit_wrapper no > $output
- chmod +x $output
- ;;
- esac
- }
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save $symfileobj"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- if test "$preload" = yes && test -f "$symfileobj"; then
- oldobjs="$oldobjs $symfileobj"
- fi
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
-
- # Add any objects from preloaded convenience libraries
- if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $dlprefiles
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- func_basename "$obj"
- $ECHO "$func_basename_result"
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $ECHO "copying selected object files to avoid basename conflicts..."
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
- func_mkdir_p "$gentop"
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- func_basename "$obj"
- objbase="$func_basename_result"
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- func_arith $counter + 1
- counter=$func_arith_result
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
- fi
- eval cmds=\"$old_archive_cmds\"
-
- func_len " $cmds"
- len=$func_len_result
- if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- func_verbose "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
- oldobjs=
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- eval test_cmds=\"$old_archive_cmds\"
- func_len " $test_cmds"
- len0=$func_len_result
- len=$len0
- for obj in $save_oldobjs
- do
- func_len " $obj"
- func_arith $len + $func_len_result
- len=$func_arith_result
- func_append objlist " $obj"
- if test "$len" -lt "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- len=$len0
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- func_execute_cmds "$cmds" 'exit $?'
- done
-
- test -n "$generated" && \
- func_show_eval "${RM}r$generated"
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- func_verbose "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
- # Only create the output if not a dry run.
- $opt_dry_run || {
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- func_basename "$deplib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
- if test "x$EGREP" = x ; then
- EGREP=egrep
- fi
- # We do not want portage's install root ($D) present. Check only for
- # this if the .la is being installed.
- if test "$installed" = yes && test "$D"; then
- eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
- else
- mynewdependency_lib="$libdir/$name"
- fi
- # Do not add duplicates
- if test "$mynewdependency_lib"; then
- my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"`
- if test -z "$my_little_ninja_foo_1"; then
- newdependency_libs="$newdependency_libs $mynewdependency_lib"
- fi
- fi
- ;;
- *)
- if test "$installed" = yes; then
- # Rather use S=WORKDIR if our version of portage supports it.
- # This is because some ebuild (gcc) do not use $S as buildroot.
- if test "$PWORKDIR"; then
- S="$PWORKDIR"
- fi
- # We do not want portage's build root ($S) present.
- my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"`
- # We do not want portage's install root ($D) present.
- my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"`
- if test -n "$my_little_ninja_foo_2" && test "$S"; then
- mynewdependency_lib=""
- elif test -n "$my_little_ninja_foo_3" && test "$D"; then
- eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
- else
- mynewdependency_lib="$deplib"
- fi
- else
- mynewdependency_lib="$deplib"
- fi
- # Do not add duplicates
- if test "$mynewdependency_lib"; then
- my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"`
- if test -z "$my_little_ninja_foo_4"; then
- newdependency_libs="$newdependency_libs $mynewdependency_lib"
- fi
- fi
- ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
-
- for lib in $dlfiles; do
- case $lib in
- *.la)
- func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
- newdlfiles="$newdlfiles $libdir/$name"
- ;;
- *) newdlfiles="$newdlfiles $lib" ;;
- esac
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- *.la)
- # Only pass preopened files to the pseudo-archive (for
- # eventual linking with the app. that links it) if we
- # didn't already link the preopened objects directly into
- # the library:
- func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
- newdlprefiles="$newdlprefiles $libdir/$name"
- ;;
- esac
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $RM $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- # Do not add duplicates
- if test "$installed" = yes && test "$D"; then
- install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
- fi
- $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $ECHO >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- }
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
- ;;
- esac
- exit $EXIT_SUCCESS
-}
-
-{ test "$mode" = link || test "$mode" = relink; } &&
- func_mode_link ${1+"$@"}
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
- $opt_debug
- RM="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) RM="$RM $arg"; rmforce=yes ;;
- -*) RM="$RM $arg" ;;
- *) files="$files $arg" ;;
- esac
- done
-
- test -z "$RM" && \
- func_fatal_help "you must specify an RM program"
-
- rmdirs=
-
- origobjdir="$objdir"
- for file in $files; do
- func_dirname "$file" "" "."
- dir="$func_dirname_result"
- if test "X$dir" = X.; then
- objdir="$origobjdir"
- else
- objdir="$dir/$origobjdir"
- fi
- func_basename "$file"
- name="$func_basename_result"
- test "$mode" = uninstall && objdir="$dir"
-
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
- case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if { test -L "$file"; } >/dev/null 2>&1 ||
- { test -h "$file"; } >/dev/null 2>&1 ||
- test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if func_lalib_p "$file"; then
- func_source $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
- done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
- case "$mode" in
- clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
- *" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
- esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if func_lalib_p "$file"; then
-
- # Read the .lo file
- func_source $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" &&
- test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" &&
- test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- func_stripname '' '.exe' "$file"
- file=$func_stripname_result
- func_stripname '' '.exe' "$name"
- noexename=$func_stripname_result
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- rmfiles="$rmfiles $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if func_ltwrapper_p "$file"; then
- if func_ltwrapper_executable_p "$file"; then
- func_ltwrapper_scriptname "$file"
- relink_command=
- func_source $func_ltwrapper_scriptname_result
- rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
- else
- relink_command=
- func_source $dir/$noexename
- fi
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- func_show_eval "$RM $rmfiles" 'exit_status=1'
- done
- objdir="$origobjdir"
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- func_show_eval "rmdir $dir >/dev/null 2>&1"
- fi
- done
-
- exit $exit_status
-}
-
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
- func_mode_uninstall ${1+"$@"}
-
-test -z "$mode" && {
- help="$generic_help"
- func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$mode'"
-
-if test -n "$exec_cmd"; then
- eval exec "$exec_cmd"
- exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# vi:sw=2
-
diff --git a/mkkeywordhash b/mkkeywordhash
deleted file mode 100755
index b7dc55b6..00000000
Binary files a/mkkeywordhash and /dev/null differ
diff --git a/mkkeywordhash.dSYM/Contents/Info.plist b/mkkeywordhash.dSYM/Contents/Info.plist
deleted file mode 100644
index 442e9624..00000000
--- a/mkkeywordhash.dSYM/Contents/Info.plist
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- English
- CFBundleIdentifier
- com.apple.xcode.dsym.mkkeywordhash
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundlePackageType
- dSYM
- CFBundleSignature
- ????
- CFBundleShortVersionString
- 1.0
- CFBundleVersion
- 1
-
-
diff --git a/mkkeywordhash.dSYM/Contents/Resources/DWARF/mkkeywordhash b/mkkeywordhash.dSYM/Contents/Resources/DWARF/mkkeywordhash
deleted file mode 100644
index 0ebda726..00000000
Binary files a/mkkeywordhash.dSYM/Contents/Resources/DWARF/mkkeywordhash and /dev/null differ
diff --git a/opcodes.c b/opcodes.c
deleted file mode 100644
index 4526125e..00000000
--- a/opcodes.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Automatically generated. Do not edit */
-/* See the mkopcodec.awk script for details. */
-#if !defined(SQLITE_OMIT_EXPLAIN) || !defined(NDEBUG) || defined(VDBE_PROFILE) || defined(SQLITE_DEBUG)
-const char *sqlite3OpcodeName(int i){
- static const char *const azName[] = { "?",
- /* 1 */ "Function",
- /* 2 */ "Savepoint",
- /* 3 */ "AutoCommit",
- /* 4 */ "Transaction",
- /* 5 */ "SorterNext",
- /* 6 */ "Prev",
- /* 7 */ "Next",
- /* 8 */ "AggStep",
- /* 9 */ "Checkpoint",
- /* 10 */ "JournalMode",
- /* 11 */ "Vacuum",
- /* 12 */ "VFilter",
- /* 13 */ "VUpdate",
- /* 14 */ "Goto",
- /* 15 */ "Gosub",
- /* 16 */ "Return",
- /* 17 */ "Yield",
- /* 18 */ "HaltIfNull",
- /* 19 */ "Not",
- /* 20 */ "Halt",
- /* 21 */ "Integer",
- /* 22 */ "Int64",
- /* 23 */ "String",
- /* 24 */ "Null",
- /* 25 */ "Blob",
- /* 26 */ "Variable",
- /* 27 */ "Move",
- /* 28 */ "Copy",
- /* 29 */ "SCopy",
- /* 30 */ "ResultRow",
- /* 31 */ "CollSeq",
- /* 32 */ "AddImm",
- /* 33 */ "MustBeInt",
- /* 34 */ "RealAffinity",
- /* 35 */ "Permutation",
- /* 36 */ "Compare",
- /* 37 */ "Jump",
- /* 38 */ "Once",
- /* 39 */ "If",
- /* 40 */ "IfNot",
- /* 41 */ "Column",
- /* 42 */ "Affinity",
- /* 43 */ "MakeRecord",
- /* 44 */ "Count",
- /* 45 */ "ReadCookie",
- /* 46 */ "SetCookie",
- /* 47 */ "VerifyCookie",
- /* 48 */ "OpenRead",
- /* 49 */ "OpenWrite",
- /* 50 */ "OpenAutoindex",
- /* 51 */ "OpenEphemeral",
- /* 52 */ "SorterOpen",
- /* 53 */ "OpenPseudo",
- /* 54 */ "Close",
- /* 55 */ "SeekLt",
- /* 56 */ "SeekLe",
- /* 57 */ "SeekGe",
- /* 58 */ "SeekGt",
- /* 59 */ "Seek",
- /* 60 */ "NotFound",
- /* 61 */ "Found",
- /* 62 */ "IsUnique",
- /* 63 */ "NotExists",
- /* 64 */ "Sequence",
- /* 65 */ "NewRowid",
- /* 66 */ "Insert",
- /* 67 */ "InsertInt",
- /* 68 */ "Or",
- /* 69 */ "And",
- /* 70 */ "Delete",
- /* 71 */ "ResetCount",
- /* 72 */ "SorterCompare",
- /* 73 */ "IsNull",
- /* 74 */ "NotNull",
- /* 75 */ "Ne",
- /* 76 */ "Eq",
- /* 77 */ "Gt",
- /* 78 */ "Le",
- /* 79 */ "Lt",
- /* 80 */ "Ge",
- /* 81 */ "SorterData",
- /* 82 */ "BitAnd",
- /* 83 */ "BitOr",
- /* 84 */ "ShiftLeft",
- /* 85 */ "ShiftRight",
- /* 86 */ "Add",
- /* 87 */ "Subtract",
- /* 88 */ "Multiply",
- /* 89 */ "Divide",
- /* 90 */ "Remainder",
- /* 91 */ "Concat",
- /* 92 */ "RowKey",
- /* 93 */ "BitNot",
- /* 94 */ "String8",
- /* 95 */ "RowData",
- /* 96 */ "Rowid",
- /* 97 */ "NullRow",
- /* 98 */ "Last",
- /* 99 */ "SorterSort",
- /* 100 */ "Sort",
- /* 101 */ "Rewind",
- /* 102 */ "SorterInsert",
- /* 103 */ "IdxInsert",
- /* 104 */ "IdxDelete",
- /* 105 */ "IdxRowid",
- /* 106 */ "IdxLT",
- /* 107 */ "IdxGE",
- /* 108 */ "Destroy",
- /* 109 */ "Clear",
- /* 110 */ "CreateIndex",
- /* 111 */ "CreateTable",
- /* 112 */ "ParseSchema",
- /* 113 */ "LoadAnalysis",
- /* 114 */ "DropTable",
- /* 115 */ "DropIndex",
- /* 116 */ "DropTrigger",
- /* 117 */ "IntegrityCk",
- /* 118 */ "RowSetAdd",
- /* 119 */ "RowSetRead",
- /* 120 */ "RowSetTest",
- /* 121 */ "Program",
- /* 122 */ "Param",
- /* 123 */ "FkCounter",
- /* 124 */ "FkIfZero",
- /* 125 */ "MemMax",
- /* 126 */ "IfPos",
- /* 127 */ "IfNeg",
- /* 128 */ "IfZero",
- /* 129 */ "AggFinal",
- /* 130 */ "Real",
- /* 131 */ "IncrVacuum",
- /* 132 */ "Expire",
- /* 133 */ "TableLock",
- /* 134 */ "VBegin",
- /* 135 */ "VCreate",
- /* 136 */ "VDestroy",
- /* 137 */ "VOpen",
- /* 138 */ "VColumn",
- /* 139 */ "VNext",
- /* 140 */ "VRename",
- /* 141 */ "ToText",
- /* 142 */ "ToBlob",
- /* 143 */ "ToNumeric",
- /* 144 */ "ToInt",
- /* 145 */ "ToReal",
- /* 146 */ "Pagecount",
- /* 147 */ "MaxPgcnt",
- /* 148 */ "Trace",
- /* 149 */ "Noop",
- /* 150 */ "Explain",
- };
- return azName[i];
-}
-#endif
diff --git a/opcodes.h b/opcodes.h
deleted file mode 100644
index 558e0825..00000000
--- a/opcodes.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Automatically generated. Do not edit */
-/* See the mkopcodeh.awk script for details */
-#define OP_Function 1
-#define OP_Savepoint 2
-#define OP_AutoCommit 3
-#define OP_Transaction 4
-#define OP_SorterNext 5
-#define OP_Prev 6
-#define OP_Next 7
-#define OP_AggStep 8
-#define OP_Checkpoint 9
-#define OP_JournalMode 10
-#define OP_Vacuum 11
-#define OP_VFilter 12
-#define OP_VUpdate 13
-#define OP_Goto 14
-#define OP_Gosub 15
-#define OP_Return 16
-#define OP_Yield 17
-#define OP_HaltIfNull 18
-#define OP_Not 19 /* same as TK_NOT */
-#define OP_Halt 20
-#define OP_Integer 21
-#define OP_Int64 22
-#define OP_String 23
-#define OP_Null 24
-#define OP_Blob 25
-#define OP_Variable 26
-#define OP_Move 27
-#define OP_Copy 28
-#define OP_SCopy 29
-#define OP_ResultRow 30
-#define OP_CollSeq 31
-#define OP_AddImm 32
-#define OP_MustBeInt 33
-#define OP_RealAffinity 34
-#define OP_Permutation 35
-#define OP_Compare 36
-#define OP_Jump 37
-#define OP_Once 38
-#define OP_If 39
-#define OP_IfNot 40
-#define OP_Column 41
-#define OP_Affinity 42
-#define OP_MakeRecord 43
-#define OP_Count 44
-#define OP_ReadCookie 45
-#define OP_SetCookie 46
-#define OP_VerifyCookie 47
-#define OP_OpenRead 48
-#define OP_OpenWrite 49
-#define OP_OpenAutoindex 50
-#define OP_OpenEphemeral 51
-#define OP_SorterOpen 52
-#define OP_OpenPseudo 53
-#define OP_Close 54
-#define OP_SeekLt 55
-#define OP_SeekLe 56
-#define OP_SeekGe 57
-#define OP_SeekGt 58
-#define OP_Seek 59
-#define OP_NotFound 60
-#define OP_Found 61
-#define OP_IsUnique 62
-#define OP_NotExists 63
-#define OP_Sequence 64
-#define OP_NewRowid 65
-#define OP_Insert 66
-#define OP_InsertInt 67
-#define OP_Or 68 /* same as TK_OR */
-#define OP_And 69 /* same as TK_AND */
-#define OP_Delete 70
-#define OP_ResetCount 71
-#define OP_SorterCompare 72
-#define OP_IsNull 73 /* same as TK_ISNULL */
-#define OP_NotNull 74 /* same as TK_NOTNULL */
-#define OP_Ne 75 /* same as TK_NE */
-#define OP_Eq 76 /* same as TK_EQ */
-#define OP_Gt 77 /* same as TK_GT */
-#define OP_Le 78 /* same as TK_LE */
-#define OP_Lt 79 /* same as TK_LT */
-#define OP_Ge 80 /* same as TK_GE */
-#define OP_SorterData 81
-#define OP_BitAnd 82 /* same as TK_BITAND */
-#define OP_BitOr 83 /* same as TK_BITOR */
-#define OP_ShiftLeft 84 /* same as TK_LSHIFT */
-#define OP_ShiftRight 85 /* same as TK_RSHIFT */
-#define OP_Add 86 /* same as TK_PLUS */
-#define OP_Subtract 87 /* same as TK_MINUS */
-#define OP_Multiply 88 /* same as TK_STAR */
-#define OP_Divide 89 /* same as TK_SLASH */
-#define OP_Remainder 90 /* same as TK_REM */
-#define OP_Concat 91 /* same as TK_CONCAT */
-#define OP_RowKey 92
-#define OP_BitNot 93 /* same as TK_BITNOT */
-#define OP_String8 94 /* same as TK_STRING */
-#define OP_RowData 95
-#define OP_Rowid 96
-#define OP_NullRow 97
-#define OP_Last 98
-#define OP_SorterSort 99
-#define OP_Sort 100
-#define OP_Rewind 101
-#define OP_SorterInsert 102
-#define OP_IdxInsert 103
-#define OP_IdxDelete 104
-#define OP_IdxRowid 105
-#define OP_IdxLT 106
-#define OP_IdxGE 107
-#define OP_Destroy 108
-#define OP_Clear 109
-#define OP_CreateIndex 110
-#define OP_CreateTable 111
-#define OP_ParseSchema 112
-#define OP_LoadAnalysis 113
-#define OP_DropTable 114
-#define OP_DropIndex 115
-#define OP_DropTrigger 116
-#define OP_IntegrityCk 117
-#define OP_RowSetAdd 118
-#define OP_RowSetRead 119
-#define OP_RowSetTest 120
-#define OP_Program 121
-#define OP_Param 122
-#define OP_FkCounter 123
-#define OP_FkIfZero 124
-#define OP_MemMax 125
-#define OP_IfPos 126
-#define OP_IfNeg 127
-#define OP_IfZero 128
-#define OP_AggFinal 129
-#define OP_Real 130 /* same as TK_FLOAT */
-#define OP_IncrVacuum 131
-#define OP_Expire 132
-#define OP_TableLock 133
-#define OP_VBegin 134
-#define OP_VCreate 135
-#define OP_VDestroy 136
-#define OP_VOpen 137
-#define OP_VColumn 138
-#define OP_VNext 139
-#define OP_VRename 140
-#define OP_ToText 141 /* same as TK_TO_TEXT */
-#define OP_ToBlob 142 /* same as TK_TO_BLOB */
-#define OP_ToNumeric 143 /* same as TK_TO_NUMERIC*/
-#define OP_ToInt 144 /* same as TK_TO_INT */
-#define OP_ToReal 145 /* same as TK_TO_REAL */
-#define OP_Pagecount 146
-#define OP_MaxPgcnt 147
-#define OP_Trace 148
-#define OP_Noop 149
-#define OP_Explain 150
-
-
-/* Properties such as "out2" or "jump" that are specified in
-** comments following the "case" for each opcode in the vdbe.c
-** are encoded into bitvectors as follows:
-*/
-#define OPFLG_JUMP 0x0001 /* jump: P2 holds jmp target */
-#define OPFLG_OUT2_PRERELEASE 0x0002 /* out2-prerelease: */
-#define OPFLG_IN1 0x0004 /* in1: P1 is an input */
-#define OPFLG_IN2 0x0008 /* in2: P2 is an input */
-#define OPFLG_IN3 0x0010 /* in3: P3 is an input */
-#define OPFLG_OUT2 0x0020 /* out2: P2 is an output */
-#define OPFLG_OUT3 0x0040 /* out3: P3 is an output */
-#define OPFLG_INITIALIZER {\
-/* 0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,\
-/* 8 */ 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x01,\
-/* 16 */ 0x04, 0x04, 0x10, 0x24, 0x00, 0x02, 0x02, 0x02,\
-/* 24 */ 0x02, 0x02, 0x02, 0x00, 0x00, 0x24, 0x00, 0x00,\
-/* 32 */ 0x04, 0x05, 0x04, 0x00, 0x00, 0x01, 0x01, 0x05,\
-/* 40 */ 0x05, 0x00, 0x00, 0x00, 0x02, 0x02, 0x10, 0x00,\
-/* 48 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,\
-/* 56 */ 0x11, 0x11, 0x11, 0x08, 0x11, 0x11, 0x11, 0x11,\
-/* 64 */ 0x02, 0x02, 0x00, 0x00, 0x4c, 0x4c, 0x00, 0x00,\
-/* 72 */ 0x00, 0x05, 0x05, 0x15, 0x15, 0x15, 0x15, 0x15,\
-/* 80 */ 0x15, 0x00, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,\
-/* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x00, 0x24, 0x02, 0x00,\
-/* 96 */ 0x02, 0x00, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08,\
-/* 104 */ 0x00, 0x02, 0x01, 0x01, 0x02, 0x00, 0x02, 0x02,\
-/* 112 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x45,\
-/* 120 */ 0x15, 0x01, 0x02, 0x00, 0x01, 0x08, 0x05, 0x05,\
-/* 128 */ 0x05, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,\
-/* 136 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04, 0x04,\
-/* 144 */ 0x04, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00,}
diff --git a/parse.c b/parse.c
deleted file mode 100644
index 622245f7..00000000
--- a/parse.c
+++ /dev/null
@@ -1,3919 +0,0 @@
-/* Driver template for the LEMON parser generator.
-** The author disclaims copyright to this source code.
-**
-** This version of "lempar.c" is modified, slightly, for use by SQLite.
-** The only modifications are the addition of a couple of NEVER()
-** macros to disable tests that are needed in the case of a general
-** LALR(1) grammar but which are always false in the
-** specific grammar used by SQLite.
-*/
-/* First off, code is included that follows the "include" declaration
-** in the input grammar file. */
-#include
-#line 49 "parse.y"
-
-#include "sqliteInt.h"
-
-/*
-** Disable all error recovery processing in the parser push-down
-** automaton.
-*/
-#define YYNOERRORRECOVERY 1
-
-/*
-** Make yytestcase() the same as testcase()
-*/
-#define yytestcase(X) testcase(X)
-
-/*
-** An instance of this structure holds information about the
-** LIMIT clause of a SELECT statement.
-*/
-struct LimitVal {
- Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */
- Expr *pOffset; /* The OFFSET expression. NULL if there is none */
-};
-
-/*
-** An instance of this structure is used to store the LIKE,
-** GLOB, NOT LIKE, and NOT GLOB operators.
-*/
-struct LikeOp {
- Token eOperator; /* "like" or "glob" or "regexp" */
- int bNot; /* True if the NOT keyword is present */
-};
-
-/*
-** An instance of the following structure describes the event of a
-** TRIGGER. "a" is the event type, one of TK_UPDATE, TK_INSERT,
-** TK_DELETE, or TK_INSTEAD. If the event is of the form
-**
-** UPDATE ON (a,b,c)
-**
-** Then the "b" IdList records the list "a,b,c".
-*/
-struct TrigEvent { int a; IdList * b; };
-
-/*
-** An instance of this structure holds the ATTACH key and the key type.
-*/
-struct AttachKey { int type; Token key; };
-
-/*
-** One or more VALUES claues
-*/
-struct ValueList {
- ExprList *pList;
- Select *pSelect;
-};
-
-#line 761 "parse.y"
-
- /* This is a utility routine used to set the ExprSpan.zStart and
- ** ExprSpan.zEnd values of pOut so that the span covers the complete
- ** range of text beginning with pStart and going to the end of pEnd.
- */
- static void spanSet(ExprSpan *pOut, Token *pStart, Token *pEnd){
- pOut->zStart = pStart->z;
- pOut->zEnd = &pEnd->z[pEnd->n];
- }
-
- /* Construct a new Expr object from a single identifier. Use the
- ** new Expr to populate pOut. Set the span of pOut to be the identifier
- ** that created the expression.
- */
- static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token *pValue){
- pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, pValue);
- pOut->zStart = pValue->z;
- pOut->zEnd = &pValue->z[pValue->n];
- }
-#line 856 "parse.y"
-
- /* This routine constructs a binary expression node out of two ExprSpan
- ** objects and uses the result to populate a new ExprSpan object.
- */
- static void spanBinaryExpr(
- ExprSpan *pOut, /* Write the result here */
- Parse *pParse, /* The parsing context. Errors accumulate here */
- int op, /* The binary operation */
- ExprSpan *pLeft, /* The left operand */
- ExprSpan *pRight /* The right operand */
- ){
- pOut->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0);
- pOut->zStart = pLeft->zStart;
- pOut->zEnd = pRight->zEnd;
- }
-#line 912 "parse.y"
-
- /* Construct an expression node for a unary postfix operator
- */
- static void spanUnaryPostfix(
- ExprSpan *pOut, /* Write the new expression node here */
- Parse *pParse, /* Parsing context to record errors */
- int op, /* The operator */
- ExprSpan *pOperand, /* The operand */
- Token *pPostOp /* The operand token for setting the span */
- ){
- pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0);
- pOut->zStart = pOperand->zStart;
- pOut->zEnd = &pPostOp->z[pPostOp->n];
- }
-#line 931 "parse.y"
-
- /* A routine to convert a binary TK_IS or TK_ISNOT expression into a
- ** unary TK_ISNULL or TK_NOTNULL expression. */
- static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){
- sqlite3 *db = pParse->db;
- if( db->mallocFailed==0 && pY->op==TK_NULL ){
- pA->op = (u8)op;
- sqlite3ExprDelete(db, pA->pRight);
- pA->pRight = 0;
- }
- }
-#line 959 "parse.y"
-
- /* Construct an expression node for a unary prefix operator
- */
- static void spanUnaryPrefix(
- ExprSpan *pOut, /* Write the new expression node here */
- Parse *pParse, /* Parsing context to record errors */
- int op, /* The operator */
- ExprSpan *pOperand, /* The operand */
- Token *pPreOp /* The operand token for setting the span */
- ){
- pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0);
- pOut->zStart = pPreOp->z;
- pOut->zEnd = pOperand->zEnd;
- }
-#line 149 "parse.c"
-/* Next is all token values, in a form suitable for use by makeheaders.
-** This section will be null unless lemon is run with the -m switch.
-*/
-/*
-** These constants (all generated automatically by the parser generator)
-** specify the various kinds of tokens (terminals) that the parser
-** understands.
-**
-** Each symbol here is a terminal symbol in the grammar.
-*/
-/* Make sure the INTERFACE macro is defined.
-*/
-#ifndef INTERFACE
-# define INTERFACE 1
-#endif
-/* The next thing included is series of defines which control
-** various aspects of the generated parser.
-** YYCODETYPE is the data type used for storing terminal
-** and nonterminal numbers. "unsigned char" is
-** used if there are fewer than 250 terminals
-** and nonterminals. "int" is used otherwise.
-** YYNOCODE is a number of type YYCODETYPE which corresponds
-** to no legal terminal or nonterminal number. This
-** number is used to fill in empty slots of the hash
-** table.
-** YYFALLBACK If defined, this indicates that one or more tokens
-** have fall-back values which should be used if the
-** original value of the token will not parse.
-** YYACTIONTYPE is the data type used for storing terminal
-** and nonterminal numbers. "unsigned char" is
-** used if there are fewer than 250 rules and
-** states combined. "int" is used otherwise.
-** sqlite3ParserTOKENTYPE is the data type used for minor tokens given
-** directly to the parser from the tokenizer.
-** YYMINORTYPE is the data type used for all minor tokens.
-** This is typically a union of many types, one of
-** which is sqlite3ParserTOKENTYPE. The entry in the union
-** for base tokens is called "yy0".
-** YYSTACKDEPTH is the maximum depth of the parser's stack. If
-** zero the stack is dynamically sized using realloc()
-** sqlite3ParserARG_SDECL A static variable declaration for the %extra_argument
-** sqlite3ParserARG_PDECL A parameter declaration for the %extra_argument
-** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser
-** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser
-** YYNSTATE the combined number of states.
-** YYNRULE the number of rules in the grammar
-** YYERRORSYMBOL is the code number of the error symbol. If not
-** defined, then do no error processing.
-*/
-#define YYCODETYPE unsigned char
-#define YYNOCODE 251
-#define YYACTIONTYPE unsigned short int
-#define YYWILDCARD 67
-#define sqlite3ParserTOKENTYPE Token
-typedef union {
- int yyinit;
- sqlite3ParserTOKENTYPE yy0;
- struct LimitVal yy64;
- Expr* yy122;
- Select* yy159;
- IdList* yy180;
- struct {int value; int mask;} yy207;
- u8 yy258;
- u16 yy305;
- struct LikeOp yy318;
- TriggerStep* yy327;
- ExprSpan yy342;
- SrcList* yy347;
- int yy392;
- struct TrigEvent yy410;
- ExprList* yy442;
- struct ValueList yy487;
-} YYMINORTYPE;
-#ifndef YYSTACKDEPTH
-#define YYSTACKDEPTH 100
-#endif
-#define sqlite3ParserARG_SDECL Parse *pParse;
-#define sqlite3ParserARG_PDECL ,Parse *pParse
-#define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
-#define sqlite3ParserARG_STORE yypParser->pParse = pParse
-#define YYNSTATE 628
-#define YYNRULE 327
-#define YYFALLBACK 1
-#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
-#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
-#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
-
-/* The yyzerominor constant is used to initialize instances of
-** YYMINORTYPE objects to zero. */
-static const YYMINORTYPE yyzerominor = { 0 };
-
-/* Define the yytestcase() macro to be a no-op if is not already defined
-** otherwise.
-**
-** Applications can choose to define yytestcase() in the %include section
-** to a macro that can assist in verifying code coverage. For production
-** code the yytestcase() macro should be turned off. But it is useful
-** for testing.
-*/
-#ifndef yytestcase
-# define yytestcase(X)
-#endif
-
-
-/* Next are the tables used to determine what action to take based on the
-** current state and lookahead token. These tables are used to implement
-** functions that take a state number and lookahead value and return an
-** action integer.
-**
-** Suppose the action integer is N. Then the action is determined as
-** follows
-**
-** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
-** token onto the stack and goto state N.
-**
-** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
-**
-** N == YYNSTATE+YYNRULE A syntax error has occurred.
-**
-** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
-**
-** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
-** slots in the yy_action[] table.
-**
-** The action table is constructed as a single large table named yy_action[].
-** Given state S and lookahead X, the action is computed as
-**
-** yy_action[ yy_shift_ofst[S] + X ]
-**
-** If the index value yy_shift_ofst[S]+X is out of range or if the value
-** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
-** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
-** and that yy_default[S] should be used instead.
-**
-** The formula above is for computing the action when the lookahead is
-** a terminal symbol. If the lookahead is a non-terminal (as occurs after
-** a reduce action) then the yy_reduce_ofst[] array is used in place of
-** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
-** YY_SHIFT_USE_DFLT.
-**
-** The following are the tables generated in this section:
-**
-** yy_action[] A single table containing all actions.
-** yy_lookahead[] A table containing the lookahead for each entry in
-** yy_action. Used to detect hash collisions.
-** yy_shift_ofst[] For each state, the offset into yy_action for
-** shifting terminals.
-** yy_reduce_ofst[] For each state, the offset into yy_action for
-** shifting non-terminals after a reduce.
-** yy_default[] Default action for each state.
-*/
-#define YY_ACTTAB_COUNT (1564)
-static const YYACTIONTYPE yy_action[] = {
- /* 0 */ 310, 956, 184, 418, 2, 171, 625, 595, 56, 56,
- /* 10 */ 56, 56, 49, 54, 54, 54, 54, 53, 53, 52,
- /* 20 */ 52, 52, 51, 233, 621, 620, 299, 621, 620, 234,
- /* 30 */ 588, 582, 56, 56, 56, 56, 19, 54, 54, 54,
- /* 40 */ 54, 53, 53, 52, 52, 52, 51, 233, 606, 57,
- /* 50 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56,
- /* 60 */ 56, 56, 542, 54, 54, 54, 54, 53, 53, 52,
- /* 70 */ 52, 52, 51, 233, 310, 595, 326, 196, 195, 194,
- /* 80 */ 33, 54, 54, 54, 54, 53, 53, 52, 52, 52,
- /* 90 */ 51, 233, 618, 617, 165, 618, 617, 381, 378, 377,
- /* 100 */ 408, 533, 577, 577, 588, 582, 304, 423, 376, 59,
- /* 110 */ 53, 53, 52, 52, 52, 51, 233, 50, 47, 146,
- /* 120 */ 575, 546, 65, 57, 58, 48, 580, 579, 581, 581,
- /* 130 */ 55, 55, 56, 56, 56, 56, 213, 54, 54, 54,
- /* 140 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 223,
- /* 150 */ 540, 421, 170, 176, 138, 281, 384, 276, 383, 168,
- /* 160 */ 490, 552, 410, 669, 621, 620, 272, 439, 410, 439,
- /* 170 */ 551, 605, 67, 483, 508, 619, 600, 413, 588, 582,
- /* 180 */ 601, 484, 619, 413, 619, 599, 91, 440, 441, 440,
- /* 190 */ 336, 599, 73, 670, 222, 267, 481, 57, 58, 48,
- /* 200 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56,
- /* 210 */ 671, 54, 54, 54, 54, 53, 53, 52, 52, 52,
- /* 220 */ 51, 233, 310, 280, 232, 231, 1, 132, 200, 386,
- /* 230 */ 621, 620, 618, 617, 279, 436, 290, 564, 175, 263,
- /* 240 */ 410, 265, 438, 498, 437, 166, 442, 569, 337, 569,
- /* 250 */ 201, 538, 588, 582, 600, 413, 165, 595, 601, 381,
- /* 260 */ 378, 377, 598, 599, 92, 524, 619, 570, 570, 593,
- /* 270 */ 376, 57, 58, 48, 580, 579, 581, 581, 55, 55,
- /* 280 */ 56, 56, 56, 56, 598, 54, 54, 54, 54, 53,
- /* 290 */ 53, 52, 52, 52, 51, 233, 310, 464, 618, 617,
- /* 300 */ 591, 591, 591, 174, 273, 397, 410, 273, 410, 549,
- /* 310 */ 398, 621, 620, 68, 327, 621, 620, 621, 620, 619,
- /* 320 */ 547, 413, 619, 413, 472, 595, 588, 582, 473, 599,
- /* 330 */ 92, 599, 92, 52, 52, 52, 51, 233, 514, 513,
- /* 340 */ 206, 323, 364, 465, 221, 57, 58, 48, 580, 579,
- /* 350 */ 581, 581, 55, 55, 56, 56, 56, 56, 530, 54,
- /* 360 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
- /* 370 */ 310, 397, 410, 397, 598, 373, 387, 531, 348, 618,
- /* 380 */ 617, 576, 202, 618, 617, 618, 617, 413, 621, 620,
- /* 390 */ 145, 255, 347, 254, 578, 599, 74, 352, 45, 490,
- /* 400 */ 588, 582, 235, 189, 465, 545, 167, 297, 187, 470,
- /* 410 */ 480, 67, 62, 39, 619, 547, 598, 346, 574, 57,
- /* 420 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56,
- /* 430 */ 56, 56, 6, 54, 54, 54, 54, 53, 53, 52,
- /* 440 */ 52, 52, 51, 233, 310, 563, 559, 408, 529, 577,
- /* 450 */ 577, 345, 255, 347, 254, 182, 618, 617, 504, 505,
- /* 460 */ 315, 410, 558, 235, 166, 272, 410, 353, 565, 181,
- /* 470 */ 408, 547, 577, 577, 588, 582, 413, 538, 557, 562,
- /* 480 */ 518, 413, 619, 249, 599, 16, 7, 36, 468, 599,
- /* 490 */ 92, 517, 619, 57, 58, 48, 580, 579, 581, 581,
- /* 500 */ 55, 55, 56, 56, 56, 56, 542, 54, 54, 54,
- /* 510 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 328,
- /* 520 */ 573, 572, 526, 559, 561, 395, 872, 246, 410, 248,
- /* 530 */ 171, 393, 595, 219, 408, 410, 577, 577, 503, 558,
- /* 540 */ 365, 145, 511, 413, 408, 229, 577, 577, 588, 582,
- /* 550 */ 413, 599, 92, 382, 270, 557, 166, 401, 599, 69,
- /* 560 */ 502, 420, 946, 199, 946, 198, 547, 57, 58, 48,
- /* 570 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56,
- /* 580 */ 569, 54, 54, 54, 54, 53, 53, 52, 52, 52,
- /* 590 */ 51, 233, 310, 318, 420, 945, 509, 945, 309, 598,
- /* 600 */ 595, 566, 491, 212, 173, 247, 424, 616, 615, 614,
- /* 610 */ 324, 197, 143, 406, 573, 572, 490, 66, 50, 47,
- /* 620 */ 146, 595, 588, 582, 232, 231, 560, 428, 67, 556,
- /* 630 */ 15, 619, 186, 544, 304, 422, 35, 206, 433, 424,
- /* 640 */ 553, 57, 58, 48, 580, 579, 581, 581, 55, 55,
- /* 650 */ 56, 56, 56, 56, 205, 54, 54, 54, 54, 53,
- /* 660 */ 53, 52, 52, 52, 51, 233, 310, 570, 570, 261,
- /* 670 */ 269, 598, 12, 374, 569, 166, 410, 314, 410, 421,
- /* 680 */ 410, 474, 474, 366, 619, 50, 47, 146, 598, 595,
- /* 690 */ 256, 413, 166, 413, 352, 413, 588, 582, 32, 599,
- /* 700 */ 94, 599, 97, 599, 95, 628, 626, 330, 142, 50,
- /* 710 */ 47, 146, 334, 350, 359, 57, 58, 48, 580, 579,
- /* 720 */ 581, 581, 55, 55, 56, 56, 56, 56, 410, 54,
- /* 730 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
- /* 740 */ 310, 410, 389, 413, 410, 22, 566, 405, 212, 363,
- /* 750 */ 390, 599, 104, 360, 410, 156, 413, 410, 604, 413,
- /* 760 */ 538, 332, 570, 570, 599, 103, 494, 599, 105, 413,
- /* 770 */ 588, 582, 413, 261, 550, 619, 11, 599, 106, 522,
- /* 780 */ 599, 133, 169, 458, 457, 170, 35, 602, 619, 57,
- /* 790 */ 58, 48, 580, 579, 581, 581, 55, 55, 56, 56,
- /* 800 */ 56, 56, 410, 54, 54, 54, 54, 53, 53, 52,
- /* 810 */ 52, 52, 51, 233, 310, 410, 260, 413, 410, 50,
- /* 820 */ 47, 146, 358, 319, 356, 599, 134, 528, 353, 338,
- /* 830 */ 413, 410, 357, 413, 358, 410, 358, 619, 599, 98,
- /* 840 */ 129, 599, 102, 619, 588, 582, 413, 21, 235, 619,
- /* 850 */ 413, 619, 211, 143, 599, 101, 30, 167, 599, 93,
- /* 860 */ 351, 536, 203, 57, 58, 48, 580, 579, 581, 581,
- /* 870 */ 55, 55, 56, 56, 56, 56, 410, 54, 54, 54,
- /* 880 */ 54, 53, 53, 52, 52, 52, 51, 233, 310, 410,
- /* 890 */ 527, 413, 410, 426, 215, 306, 598, 552, 141, 599,
- /* 900 */ 100, 40, 410, 38, 413, 410, 551, 413, 410, 228,
- /* 910 */ 220, 315, 599, 77, 501, 599, 96, 413, 588, 582,
- /* 920 */ 413, 339, 253, 413, 218, 599, 137, 380, 599, 136,
- /* 930 */ 28, 599, 135, 271, 716, 210, 482, 57, 58, 48,
- /* 940 */ 580, 579, 581, 581, 55, 55, 56, 56, 56, 56,
- /* 950 */ 410, 54, 54, 54, 54, 53, 53, 52, 52, 52,
- /* 960 */ 51, 233, 310, 410, 273, 413, 410, 316, 147, 598,
- /* 970 */ 273, 627, 2, 599, 76, 209, 410, 127, 413, 619,
- /* 980 */ 126, 413, 410, 622, 235, 619, 599, 90, 375, 599,
- /* 990 */ 89, 413, 588, 582, 27, 261, 351, 413, 619, 599,
- /* 1000 */ 75, 322, 542, 542, 125, 599, 88, 321, 279, 598,
- /* 1010 */ 619, 57, 46, 48, 580, 579, 581, 581, 55, 55,
- /* 1020 */ 56, 56, 56, 56, 410, 54, 54, 54, 54, 53,
- /* 1030 */ 53, 52, 52, 52, 51, 233, 310, 410, 451, 413,
- /* 1040 */ 164, 285, 283, 273, 610, 425, 305, 599, 87, 371,
- /* 1050 */ 410, 478, 413, 410, 609, 410, 608, 603, 619, 619,
- /* 1060 */ 599, 99, 587, 586, 122, 413, 588, 582, 413, 619,
- /* 1070 */ 413, 619, 619, 599, 86, 367, 599, 17, 599, 85,
- /* 1080 */ 320, 185, 520, 519, 584, 583, 58, 48, 580, 579,
- /* 1090 */ 581, 581, 55, 55, 56, 56, 56, 56, 410, 54,
- /* 1100 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 233,
- /* 1110 */ 310, 585, 410, 413, 410, 261, 261, 261, 409, 592,
- /* 1120 */ 475, 599, 84, 170, 410, 467, 519, 413, 121, 413,
- /* 1130 */ 619, 619, 619, 619, 619, 599, 83, 599, 72, 413,
- /* 1140 */ 588, 582, 51, 233, 626, 330, 471, 599, 71, 258,
- /* 1150 */ 159, 120, 14, 463, 157, 158, 117, 261, 449, 448,
- /* 1160 */ 447, 48, 580, 579, 581, 581, 55, 55, 56, 56,
- /* 1170 */ 56, 56, 619, 54, 54, 54, 54, 53, 53, 52,
- /* 1180 */ 52, 52, 51, 233, 44, 404, 261, 3, 410, 460,
- /* 1190 */ 261, 414, 620, 118, 399, 10, 25, 24, 555, 349,
- /* 1200 */ 217, 619, 407, 413, 410, 619, 4, 44, 404, 619,
- /* 1210 */ 3, 599, 82, 619, 414, 620, 456, 543, 115, 413,
- /* 1220 */ 539, 402, 537, 275, 507, 407, 251, 599, 81, 216,
- /* 1230 */ 274, 564, 619, 243, 454, 619, 154, 619, 619, 619,
- /* 1240 */ 450, 417, 624, 110, 402, 619, 410, 236, 64, 123,
- /* 1250 */ 488, 41, 42, 532, 564, 204, 410, 268, 43, 412,
- /* 1260 */ 411, 413, 266, 593, 108, 619, 107, 435, 333, 599,
- /* 1270 */ 80, 413, 619, 264, 41, 42, 444, 619, 410, 599,
- /* 1280 */ 70, 43, 412, 411, 434, 262, 593, 149, 619, 598,
- /* 1290 */ 257, 237, 188, 413, 591, 591, 591, 590, 589, 13,
- /* 1300 */ 619, 599, 18, 329, 235, 619, 44, 404, 361, 3,
- /* 1310 */ 419, 462, 340, 414, 620, 227, 124, 591, 591, 591,
- /* 1320 */ 590, 589, 13, 619, 407, 410, 619, 410, 139, 34,
- /* 1330 */ 404, 388, 3, 148, 623, 313, 414, 620, 312, 331,
- /* 1340 */ 413, 461, 413, 402, 180, 354, 413, 407, 599, 79,
- /* 1350 */ 599, 78, 250, 564, 599, 9, 619, 613, 612, 611,
- /* 1360 */ 619, 8, 453, 443, 242, 416, 402, 619, 239, 235,
- /* 1370 */ 179, 238, 429, 41, 42, 289, 564, 619, 619, 619,
- /* 1380 */ 43, 412, 411, 619, 144, 593, 619, 619, 177, 61,
- /* 1390 */ 619, 597, 392, 621, 620, 288, 41, 42, 415, 619,
- /* 1400 */ 294, 30, 394, 43, 412, 411, 293, 619, 593, 31,
- /* 1410 */ 619, 396, 292, 60, 230, 37, 591, 591, 591, 590,
- /* 1420 */ 589, 13, 214, 554, 183, 291, 172, 302, 301, 300,
- /* 1430 */ 178, 298, 596, 564, 452, 29, 286, 391, 541, 591,
- /* 1440 */ 591, 591, 590, 589, 13, 284, 521, 535, 150, 534,
- /* 1450 */ 241, 282, 385, 192, 191, 325, 516, 515, 277, 240,
- /* 1460 */ 511, 524, 308, 512, 128, 593, 510, 225, 226, 487,
- /* 1470 */ 486, 224, 152, 492, 465, 307, 485, 163, 153, 372,
- /* 1480 */ 479, 151, 162, 259, 370, 161, 368, 208, 476, 477,
- /* 1490 */ 26, 160, 469, 466, 362, 140, 591, 591, 591, 116,
- /* 1500 */ 119, 455, 344, 155, 114, 343, 113, 112, 446, 111,
- /* 1510 */ 131, 109, 432, 317, 130, 431, 23, 20, 430, 427,
- /* 1520 */ 190, 63, 255, 342, 244, 607, 295, 287, 311, 594,
- /* 1530 */ 278, 508, 496, 235, 493, 571, 497, 568, 495, 403,
- /* 1540 */ 459, 379, 355, 245, 193, 303, 567, 296, 341, 5,
- /* 1550 */ 445, 548, 506, 207, 525, 500, 335, 489, 252, 369,
- /* 1560 */ 400, 499, 523, 233,
-};
-static const YYCODETYPE yy_lookahead[] = {
- /* 0 */ 19, 142, 143, 144, 145, 24, 1, 26, 77, 78,
- /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- /* 20 */ 89, 90, 91, 92, 26, 27, 15, 26, 27, 197,
- /* 30 */ 49, 50, 77, 78, 79, 80, 204, 82, 83, 84,
- /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 23, 68,
- /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- /* 60 */ 79, 80, 166, 82, 83, 84, 85, 86, 87, 88,
- /* 70 */ 89, 90, 91, 92, 19, 94, 19, 105, 106, 107,
- /* 80 */ 25, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- /* 90 */ 91, 92, 94, 95, 96, 94, 95, 99, 100, 101,
- /* 100 */ 112, 205, 114, 115, 49, 50, 22, 23, 110, 54,
- /* 110 */ 86, 87, 88, 89, 90, 91, 92, 221, 222, 223,
- /* 120 */ 23, 120, 25, 68, 69, 70, 71, 72, 73, 74,
- /* 130 */ 75, 76, 77, 78, 79, 80, 22, 82, 83, 84,
- /* 140 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 92,
- /* 150 */ 23, 67, 25, 96, 97, 98, 99, 100, 101, 102,
- /* 160 */ 150, 32, 150, 118, 26, 27, 109, 150, 150, 150,
- /* 170 */ 41, 161, 162, 180, 181, 165, 113, 165, 49, 50,
- /* 180 */ 117, 188, 165, 165, 165, 173, 174, 170, 171, 170,
- /* 190 */ 171, 173, 174, 118, 184, 16, 186, 68, 69, 70,
- /* 200 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- /* 210 */ 118, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- /* 220 */ 91, 92, 19, 98, 86, 87, 22, 24, 160, 88,
- /* 230 */ 26, 27, 94, 95, 109, 97, 224, 66, 118, 60,
- /* 240 */ 150, 62, 104, 23, 106, 25, 229, 230, 229, 230,
- /* 250 */ 160, 150, 49, 50, 113, 165, 96, 26, 117, 99,
- /* 260 */ 100, 101, 194, 173, 174, 94, 165, 129, 130, 98,
- /* 270 */ 110, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 280 */ 77, 78, 79, 80, 194, 82, 83, 84, 85, 86,
- /* 290 */ 87, 88, 89, 90, 91, 92, 19, 11, 94, 95,
- /* 300 */ 129, 130, 131, 118, 150, 215, 150, 150, 150, 25,
- /* 310 */ 220, 26, 27, 22, 213, 26, 27, 26, 27, 165,
- /* 320 */ 25, 165, 165, 165, 30, 94, 49, 50, 34, 173,
- /* 330 */ 174, 173, 174, 88, 89, 90, 91, 92, 7, 8,
- /* 340 */ 160, 187, 48, 57, 187, 68, 69, 70, 71, 72,
- /* 350 */ 73, 74, 75, 76, 77, 78, 79, 80, 23, 82,
- /* 360 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- /* 370 */ 19, 215, 150, 215, 194, 19, 220, 88, 220, 94,
- /* 380 */ 95, 23, 160, 94, 95, 94, 95, 165, 26, 27,
- /* 390 */ 95, 105, 106, 107, 113, 173, 174, 217, 22, 150,
- /* 400 */ 49, 50, 116, 119, 57, 120, 50, 158, 22, 21,
- /* 410 */ 161, 162, 232, 136, 165, 120, 194, 237, 23, 68,
- /* 420 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- /* 430 */ 79, 80, 22, 82, 83, 84, 85, 86, 87, 88,
- /* 440 */ 89, 90, 91, 92, 19, 23, 12, 112, 23, 114,
- /* 450 */ 115, 63, 105, 106, 107, 23, 94, 95, 97, 98,
- /* 460 */ 104, 150, 28, 116, 25, 109, 150, 150, 23, 23,
- /* 470 */ 112, 25, 114, 115, 49, 50, 165, 150, 44, 11,
- /* 480 */ 46, 165, 165, 16, 173, 174, 76, 136, 100, 173,
- /* 490 */ 174, 57, 165, 68, 69, 70, 71, 72, 73, 74,
- /* 500 */ 75, 76, 77, 78, 79, 80, 166, 82, 83, 84,
- /* 510 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 169,
- /* 520 */ 170, 171, 23, 12, 23, 214, 138, 60, 150, 62,
- /* 530 */ 24, 215, 26, 216, 112, 150, 114, 115, 36, 28,
- /* 540 */ 213, 95, 103, 165, 112, 205, 114, 115, 49, 50,
- /* 550 */ 165, 173, 174, 51, 23, 44, 25, 46, 173, 174,
- /* 560 */ 58, 22, 23, 22, 25, 160, 120, 68, 69, 70,
- /* 570 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- /* 580 */ 230, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- /* 590 */ 91, 92, 19, 215, 22, 23, 23, 25, 163, 194,
- /* 600 */ 94, 166, 167, 168, 25, 138, 67, 7, 8, 9,
- /* 610 */ 108, 206, 207, 169, 170, 171, 150, 22, 221, 222,
- /* 620 */ 223, 26, 49, 50, 86, 87, 23, 161, 162, 23,
- /* 630 */ 22, 165, 24, 120, 22, 23, 25, 160, 241, 67,
- /* 640 */ 176, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 650 */ 77, 78, 79, 80, 160, 82, 83, 84, 85, 86,
- /* 660 */ 87, 88, 89, 90, 91, 92, 19, 129, 130, 150,
- /* 670 */ 23, 194, 35, 23, 230, 25, 150, 155, 150, 67,
- /* 680 */ 150, 105, 106, 107, 165, 221, 222, 223, 194, 94,
- /* 690 */ 23, 165, 25, 165, 217, 165, 49, 50, 25, 173,
- /* 700 */ 174, 173, 174, 173, 174, 0, 1, 2, 118, 221,
- /* 710 */ 222, 223, 193, 219, 237, 68, 69, 70, 71, 72,
- /* 720 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
- /* 730 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- /* 740 */ 19, 150, 19, 165, 150, 24, 166, 167, 168, 227,
- /* 750 */ 27, 173, 174, 231, 150, 25, 165, 150, 172, 165,
- /* 760 */ 150, 242, 129, 130, 173, 174, 180, 173, 174, 165,
- /* 770 */ 49, 50, 165, 150, 176, 165, 35, 173, 174, 165,
- /* 780 */ 173, 174, 35, 23, 23, 25, 25, 173, 165, 68,
- /* 790 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- /* 800 */ 79, 80, 150, 82, 83, 84, 85, 86, 87, 88,
- /* 810 */ 89, 90, 91, 92, 19, 150, 193, 165, 150, 221,
- /* 820 */ 222, 223, 150, 213, 19, 173, 174, 23, 150, 97,
- /* 830 */ 165, 150, 27, 165, 150, 150, 150, 165, 173, 174,
- /* 840 */ 22, 173, 174, 165, 49, 50, 165, 52, 116, 165,
- /* 850 */ 165, 165, 206, 207, 173, 174, 126, 50, 173, 174,
- /* 860 */ 128, 27, 160, 68, 69, 70, 71, 72, 73, 74,
- /* 870 */ 75, 76, 77, 78, 79, 80, 150, 82, 83, 84,
- /* 880 */ 85, 86, 87, 88, 89, 90, 91, 92, 19, 150,
- /* 890 */ 23, 165, 150, 23, 216, 25, 194, 32, 39, 173,
- /* 900 */ 174, 135, 150, 137, 165, 150, 41, 165, 150, 52,
- /* 910 */ 238, 104, 173, 174, 29, 173, 174, 165, 49, 50,
- /* 920 */ 165, 219, 238, 165, 238, 173, 174, 52, 173, 174,
- /* 930 */ 22, 173, 174, 23, 23, 160, 25, 68, 69, 70,
- /* 940 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- /* 950 */ 150, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- /* 960 */ 91, 92, 19, 150, 150, 165, 150, 245, 246, 194,
- /* 970 */ 150, 144, 145, 173, 174, 160, 150, 22, 165, 165,
- /* 980 */ 22, 165, 150, 150, 116, 165, 173, 174, 52, 173,
- /* 990 */ 174, 165, 49, 50, 22, 150, 128, 165, 165, 173,
- /* 1000 */ 174, 187, 166, 166, 22, 173, 174, 187, 109, 194,
- /* 1010 */ 165, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 1020 */ 77, 78, 79, 80, 150, 82, 83, 84, 85, 86,
- /* 1030 */ 87, 88, 89, 90, 91, 92, 19, 150, 193, 165,
- /* 1040 */ 102, 205, 205, 150, 150, 247, 248, 173, 174, 19,
- /* 1050 */ 150, 20, 165, 150, 150, 150, 150, 150, 165, 165,
- /* 1060 */ 173, 174, 49, 50, 104, 165, 49, 50, 165, 165,
- /* 1070 */ 165, 165, 165, 173, 174, 43, 173, 174, 173, 174,
- /* 1080 */ 187, 24, 190, 191, 71, 72, 69, 70, 71, 72,
- /* 1090 */ 73, 74, 75, 76, 77, 78, 79, 80, 150, 82,
- /* 1100 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- /* 1110 */ 19, 98, 150, 165, 150, 150, 150, 150, 150, 150,
- /* 1120 */ 59, 173, 174, 25, 150, 190, 191, 165, 53, 165,
- /* 1130 */ 165, 165, 165, 165, 165, 173, 174, 173, 174, 165,
- /* 1140 */ 49, 50, 91, 92, 1, 2, 53, 173, 174, 138,
- /* 1150 */ 104, 22, 5, 1, 35, 118, 127, 150, 193, 193,
- /* 1160 */ 193, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- /* 1170 */ 79, 80, 165, 82, 83, 84, 85, 86, 87, 88,
- /* 1180 */ 89, 90, 91, 92, 19, 20, 150, 22, 150, 27,
- /* 1190 */ 150, 26, 27, 108, 150, 22, 76, 76, 150, 25,
- /* 1200 */ 193, 165, 37, 165, 150, 165, 22, 19, 20, 165,
- /* 1210 */ 22, 173, 174, 165, 26, 27, 23, 150, 119, 165,
- /* 1220 */ 150, 56, 150, 150, 150, 37, 16, 173, 174, 193,
- /* 1230 */ 150, 66, 165, 193, 1, 165, 121, 165, 165, 165,
- /* 1240 */ 20, 146, 147, 119, 56, 165, 150, 152, 16, 154,
- /* 1250 */ 150, 86, 87, 88, 66, 160, 150, 150, 93, 94,
- /* 1260 */ 95, 165, 150, 98, 108, 165, 127, 23, 65, 173,
- /* 1270 */ 174, 165, 165, 150, 86, 87, 128, 165, 150, 173,
- /* 1280 */ 174, 93, 94, 95, 23, 150, 98, 15, 165, 194,
- /* 1290 */ 150, 140, 22, 165, 129, 130, 131, 132, 133, 134,
- /* 1300 */ 165, 173, 174, 3, 116, 165, 19, 20, 150, 22,
- /* 1310 */ 4, 150, 217, 26, 27, 179, 179, 129, 130, 131,
- /* 1320 */ 132, 133, 134, 165, 37, 150, 165, 150, 164, 19,
- /* 1330 */ 20, 150, 22, 246, 149, 249, 26, 27, 249, 244,
- /* 1340 */ 165, 150, 165, 56, 6, 150, 165, 37, 173, 174,
- /* 1350 */ 173, 174, 150, 66, 173, 174, 165, 149, 149, 13,
- /* 1360 */ 165, 25, 150, 150, 150, 149, 56, 165, 150, 116,
- /* 1370 */ 151, 150, 150, 86, 87, 150, 66, 165, 165, 165,
- /* 1380 */ 93, 94, 95, 165, 150, 98, 165, 165, 151, 22,
- /* 1390 */ 165, 194, 150, 26, 27, 150, 86, 87, 159, 165,
- /* 1400 */ 199, 126, 123, 93, 94, 95, 200, 165, 98, 124,
- /* 1410 */ 165, 122, 201, 125, 225, 135, 129, 130, 131, 132,
- /* 1420 */ 133, 134, 5, 157, 157, 202, 118, 10, 11, 12,
- /* 1430 */ 13, 14, 203, 66, 17, 104, 210, 121, 211, 129,
- /* 1440 */ 130, 131, 132, 133, 134, 210, 175, 211, 31, 211,
- /* 1450 */ 33, 210, 104, 86, 87, 47, 175, 183, 175, 42,
- /* 1460 */ 103, 94, 178, 177, 22, 98, 175, 92, 228, 175,
- /* 1470 */ 175, 228, 55, 183, 57, 178, 175, 156, 61, 18,
- /* 1480 */ 157, 64, 156, 235, 157, 156, 45, 157, 236, 157,
- /* 1490 */ 135, 156, 199, 189, 157, 68, 129, 130, 131, 22,
- /* 1500 */ 189, 199, 157, 156, 192, 18, 192, 192, 199, 192,
- /* 1510 */ 218, 189, 40, 157, 218, 157, 240, 240, 157, 38,
- /* 1520 */ 196, 243, 105, 106, 107, 153, 198, 209, 111, 166,
- /* 1530 */ 176, 181, 166, 116, 166, 230, 176, 230, 176, 226,
- /* 1540 */ 199, 177, 239, 209, 185, 148, 166, 195, 209, 196,
- /* 1550 */ 199, 208, 182, 233, 173, 182, 139, 186, 239, 234,
- /* 1560 */ 191, 182, 173, 92,
-};
-#define YY_SHIFT_USE_DFLT (-70)
-#define YY_SHIFT_COUNT (417)
-#define YY_SHIFT_MIN (-69)
-#define YY_SHIFT_MAX (1487)
-static const short yy_shift_ofst[] = {
- /* 0 */ 1143, 1188, 1417, 1188, 1287, 1287, 138, 138, -2, -19,
- /* 10 */ 1287, 1287, 1287, 1287, 347, 362, 129, 129, 795, 1165,
- /* 20 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- /* 30 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- /* 40 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1310, 1287,
- /* 50 */ 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
- /* 60 */ 1287, 1287, 286, 362, 362, 538, 538, 231, 1253, 55,
- /* 70 */ 721, 647, 573, 499, 425, 351, 277, 203, 869, 869,
- /* 80 */ 869, 869, 869, 869, 869, 869, 869, 869, 869, 869,
- /* 90 */ 869, 869, 869, 943, 869, 1017, 1091, 1091, -69, -45,
- /* 100 */ -45, -45, -45, -45, -1, 24, 245, 362, 362, 362,
- /* 110 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
- /* 120 */ 362, 362, 362, 388, 356, 362, 362, 362, 362, 362,
- /* 130 */ 732, 868, 231, 1051, 1471, -70, -70, -70, 1367, 57,
- /* 140 */ 434, 434, 289, 291, 285, 1, 204, 572, 539, 362,
- /* 150 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
- /* 160 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
- /* 170 */ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
- /* 180 */ 362, 506, 506, 506, 705, 1253, 1253, 1253, -70, -70,
- /* 190 */ -70, 171, 171, 160, 502, 502, 502, 446, 432, 511,
- /* 200 */ 422, 358, 335, -12, -12, -12, -12, 576, 294, -12,
- /* 210 */ -12, 295, 595, 141, 600, 730, 723, 723, 805, 730,
- /* 220 */ 805, 439, 911, 231, 865, 231, 865, 807, 865, 723,
- /* 230 */ 766, 633, 633, 231, 284, 63, 608, 1481, 1308, 1308,
- /* 240 */ 1472, 1472, 1308, 1477, 1427, 1275, 1487, 1487, 1487, 1487,
- /* 250 */ 1308, 1461, 1275, 1477, 1427, 1427, 1275, 1308, 1461, 1355,
- /* 260 */ 1441, 1308, 1308, 1461, 1308, 1461, 1308, 1461, 1442, 1348,
- /* 270 */ 1348, 1348, 1408, 1375, 1375, 1442, 1348, 1357, 1348, 1408,
- /* 280 */ 1348, 1348, 1316, 1331, 1316, 1331, 1316, 1331, 1308, 1308,
- /* 290 */ 1280, 1288, 1289, 1285, 1279, 1275, 1253, 1336, 1346, 1346,
- /* 300 */ 1338, 1338, 1338, 1338, -70, -70, -70, -70, -70, -70,
- /* 310 */ 1013, 467, 612, 84, 179, -28, 870, 410, 761, 760,
- /* 320 */ 667, 650, 531, 220, 361, 331, 125, 127, 97, 1306,
- /* 330 */ 1300, 1270, 1151, 1272, 1203, 1232, 1261, 1244, 1148, 1174,
- /* 340 */ 1139, 1156, 1124, 1220, 1115, 1210, 1233, 1099, 1193, 1184,
- /* 350 */ 1174, 1173, 1029, 1121, 1120, 1085, 1162, 1119, 1037, 1152,
- /* 360 */ 1147, 1129, 1046, 1011, 1093, 1098, 1075, 1061, 1032, 960,
- /* 370 */ 1057, 1031, 1030, 899, 938, 982, 936, 972, 958, 910,
- /* 380 */ 955, 875, 885, 908, 857, 859, 867, 804, 590, 834,
- /* 390 */ 747, 818, 513, 611, 741, 673, 637, 611, 606, 603,
- /* 400 */ 579, 501, 541, 468, 386, 445, 395, 376, 281, 185,
- /* 410 */ 120, 92, 75, 45, 114, 25, 11, 5,
-};
-#define YY_REDUCE_USE_DFLT (-169)
-#define YY_REDUCE_COUNT (309)
-#define YY_REDUCE_MIN (-168)
-#define YY_REDUCE_MAX (1397)
-static const short yy_reduce_ofst[] = {
- /* 0 */ -141, 90, 1095, 222, 158, 156, 19, 17, 10, -104,
- /* 10 */ 378, 316, 311, 12, 180, 249, 598, 464, 397, 1181,
- /* 20 */ 1177, 1175, 1128, 1106, 1096, 1054, 1038, 974, 964, 962,
- /* 30 */ 948, 905, 903, 900, 887, 874, 832, 826, 816, 813,
- /* 40 */ 800, 758, 755, 752, 742, 739, 726, 685, 681, 668,
- /* 50 */ 665, 652, 607, 604, 594, 591, 578, 530, 528, 526,
- /* 60 */ 385, 18, 477, 466, 519, 444, 350, 435, 405, 488,
- /* 70 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
- /* 80 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
- /* 90 */ 488, 488, 488, 488, 488, 488, 488, 488, 488, 488,
- /* 100 */ 488, 488, 488, 488, 488, 488, 488, 1040, 678, 1036,
- /* 110 */ 1007, 967, 966, 965, 845, 686, 610, 684, 317, 672,
- /* 120 */ 893, 327, 623, 522, -7, 820, 814, 157, 154, 101,
- /* 130 */ 702, 494, 580, 488, 488, 488, 488, 488, 614, 586,
- /* 140 */ 935, 892, 968, 1245, 1242, 1234, 1225, 798, 798, 1222,
- /* 150 */ 1221, 1218, 1214, 1213, 1212, 1202, 1195, 1191, 1161, 1158,
- /* 160 */ 1140, 1135, 1123, 1112, 1107, 1100, 1080, 1074, 1073, 1072,
- /* 170 */ 1070, 1067, 1048, 1044, 969, 968, 907, 906, 904, 894,
- /* 180 */ 833, 837, 836, 340, 827, 815, 775, 68, 722, 646,
- /* 190 */ -168, 1389, 1381, 1371, 1379, 1373, 1370, 1343, 1352, 1369,
- /* 200 */ 1352, 1352, 1352, 1352, 1352, 1352, 1352, 1325, 1320, 1352,
- /* 210 */ 1352, 1343, 1380, 1353, 1397, 1351, 1339, 1334, 1319, 1341,
- /* 220 */ 1303, 1364, 1359, 1368, 1362, 1366, 1360, 1350, 1354, 1318,
- /* 230 */ 1313, 1307, 1305, 1363, 1328, 1324, 1372, 1278, 1361, 1358,
- /* 240 */ 1277, 1276, 1356, 1296, 1322, 1309, 1317, 1315, 1314, 1312,
- /* 250 */ 1345, 1347, 1302, 1292, 1311, 1304, 1293, 1337, 1335, 1252,
- /* 260 */ 1248, 1332, 1330, 1329, 1327, 1326, 1323, 1321, 1297, 1301,
- /* 270 */ 1295, 1294, 1290, 1243, 1240, 1284, 1291, 1286, 1283, 1274,
- /* 280 */ 1281, 1271, 1238, 1241, 1236, 1235, 1227, 1226, 1267, 1266,
- /* 290 */ 1189, 1229, 1223, 1211, 1206, 1201, 1197, 1239, 1237, 1219,
- /* 300 */ 1216, 1209, 1208, 1185, 1089, 1086, 1087, 1137, 1136, 1164,
-};
-static const YYACTIONTYPE yy_default[] = {
- /* 0 */ 633, 867, 955, 955, 867, 867, 955, 955, 955, 757,
- /* 10 */ 955, 955, 955, 865, 955, 955, 785, 785, 929, 955,
- /* 20 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 30 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 40 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 50 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 60 */ 955, 955, 955, 955, 955, 955, 955, 672, 761, 791,
- /* 70 */ 955, 955, 955, 955, 955, 955, 955, 955, 928, 930,
- /* 80 */ 799, 798, 908, 772, 796, 789, 793, 868, 861, 862,
- /* 90 */ 860, 864, 869, 955, 792, 828, 845, 827, 839, 844,
- /* 100 */ 851, 843, 840, 830, 829, 831, 832, 955, 955, 955,
- /* 110 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 120 */ 955, 955, 955, 659, 726, 955, 955, 955, 955, 955,
- /* 130 */ 955, 955, 955, 833, 834, 848, 847, 846, 955, 664,
- /* 140 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 150 */ 935, 933, 955, 880, 955, 955, 955, 955, 955, 955,
- /* 160 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 170 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 180 */ 639, 757, 757, 757, 633, 955, 955, 955, 947, 761,
- /* 190 */ 751, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 200 */ 955, 955, 955, 801, 740, 918, 920, 955, 901, 738,
- /* 210 */ 661, 759, 674, 749, 641, 795, 774, 774, 913, 795,
- /* 220 */ 913, 697, 720, 955, 785, 955, 785, 694, 785, 774,
- /* 230 */ 863, 955, 955, 955, 758, 749, 955, 940, 765, 765,
- /* 240 */ 932, 932, 765, 807, 730, 795, 737, 737, 737, 737,
- /* 250 */ 765, 656, 795, 807, 730, 730, 795, 765, 656, 907,
- /* 260 */ 905, 765, 765, 656, 765, 656, 765, 656, 873, 728,
- /* 270 */ 728, 728, 712, 877, 877, 873, 728, 697, 728, 712,
- /* 280 */ 728, 728, 778, 773, 778, 773, 778, 773, 765, 765,
- /* 290 */ 955, 790, 779, 788, 786, 795, 955, 715, 649, 649,
- /* 300 */ 638, 638, 638, 638, 952, 952, 947, 699, 699, 682,
- /* 310 */ 955, 955, 955, 955, 955, 955, 955, 882, 955, 955,
- /* 320 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 330 */ 634, 942, 955, 955, 939, 955, 955, 955, 955, 800,
- /* 340 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 350 */ 917, 955, 955, 955, 955, 955, 955, 955, 911, 955,
- /* 360 */ 955, 955, 955, 955, 955, 904, 903, 955, 955, 955,
- /* 370 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 380 */ 955, 955, 955, 955, 955, 955, 955, 955, 955, 955,
- /* 390 */ 955, 955, 955, 787, 955, 780, 955, 866, 955, 955,
- /* 400 */ 955, 955, 955, 955, 955, 955, 955, 955, 743, 816,
- /* 410 */ 955, 815, 819, 814, 666, 955, 647, 955, 630, 635,
- /* 420 */ 951, 954, 953, 950, 949, 948, 943, 941, 938, 937,
- /* 430 */ 936, 934, 931, 927, 886, 884, 891, 890, 889, 888,
- /* 440 */ 887, 885, 883, 881, 802, 797, 794, 926, 879, 739,
- /* 450 */ 736, 735, 655, 944, 910, 919, 806, 805, 808, 916,
- /* 460 */ 915, 914, 912, 909, 896, 804, 803, 731, 871, 870,
- /* 470 */ 658, 900, 899, 898, 902, 906, 897, 767, 657, 654,
- /* 480 */ 663, 718, 719, 727, 725, 724, 723, 722, 721, 717,
- /* 490 */ 665, 673, 711, 696, 695, 876, 878, 875, 874, 704,
- /* 500 */ 703, 709, 708, 707, 706, 705, 702, 701, 700, 693,
- /* 510 */ 692, 698, 691, 714, 713, 710, 690, 734, 733, 732,
- /* 520 */ 729, 689, 688, 687, 819, 686, 685, 825, 824, 812,
- /* 530 */ 855, 754, 753, 752, 764, 763, 776, 775, 810, 809,
- /* 540 */ 777, 762, 756, 755, 771, 770, 769, 768, 760, 750,
- /* 550 */ 782, 784, 783, 781, 857, 766, 854, 925, 924, 923,
- /* 560 */ 922, 921, 859, 858, 826, 823, 677, 678, 894, 893,
- /* 570 */ 895, 892, 680, 679, 676, 675, 856, 745, 744, 852,
- /* 580 */ 849, 841, 837, 853, 850, 842, 838, 836, 835, 821,
- /* 590 */ 820, 818, 817, 813, 822, 668, 746, 742, 741, 811,
- /* 600 */ 748, 747, 684, 683, 681, 662, 660, 653, 651, 650,
- /* 610 */ 652, 648, 646, 645, 644, 643, 642, 671, 670, 669,
- /* 620 */ 667, 666, 640, 637, 636, 632, 631, 629,
-};
-
-/* The next table maps tokens into fallback tokens. If a construct
-** like the following:
-**
-** %fallback ID X Y Z.
-**
-** appears in the grammar, then ID becomes a fallback token for X, Y,
-** and Z. Whenever one of the tokens X, Y, or Z is input to the parser
-** but it does not parse, the type of the token is changed to ID and
-** the parse is retried before an error is thrown.
-*/
-#ifdef YYFALLBACK
-static const YYCODETYPE yyFallback[] = {
- 0, /* $ => nothing */
- 0, /* SEMI => nothing */
- 26, /* EXPLAIN => ID */
- 26, /* QUERY => ID */
- 26, /* PLAN => ID */
- 26, /* BEGIN => ID */
- 0, /* TRANSACTION => nothing */
- 26, /* DEFERRED => ID */
- 26, /* IMMEDIATE => ID */
- 26, /* EXCLUSIVE => ID */
- 0, /* COMMIT => nothing */
- 26, /* END => ID */
- 26, /* ROLLBACK => ID */
- 26, /* SAVEPOINT => ID */
- 26, /* RELEASE => ID */
- 0, /* TO => nothing */
- 0, /* TABLE => nothing */
- 0, /* CREATE => nothing */
- 26, /* IF => ID */
- 0, /* NOT => nothing */
- 0, /* EXISTS => nothing */
- 26, /* TEMP => ID */
- 0, /* LP => nothing */
- 0, /* RP => nothing */
- 0, /* AS => nothing */
- 0, /* COMMA => nothing */
- 0, /* ID => nothing */
- 0, /* INDEXED => nothing */
- 26, /* ABORT => ID */
- 26, /* ACTION => ID */
- 26, /* AFTER => ID */
- 26, /* ANALYZE => ID */
- 26, /* ASC => ID */
- 26, /* ATTACH => ID */
- 26, /* BEFORE => ID */
- 26, /* BY => ID */
- 26, /* CASCADE => ID */
- 26, /* CAST => ID */
- 26, /* COLUMNKW => ID */
- 26, /* CONFLICT => ID */
- 26, /* DATABASE => ID */
- 26, /* DESC => ID */
- 26, /* DETACH => ID */
- 26, /* EACH => ID */
- 26, /* FAIL => ID */
- 26, /* FOR => ID */
- 26, /* IGNORE => ID */
- 26, /* INITIALLY => ID */
- 26, /* INSTEAD => ID */
- 26, /* LIKE_KW => ID */
- 26, /* MATCH => ID */
- 26, /* NO => ID */
- 26, /* KEY => ID */
- 26, /* OF => ID */
- 26, /* OFFSET => ID */
- 26, /* PRAGMA => ID */
- 26, /* RAISE => ID */
- 26, /* REPLACE => ID */
- 26, /* RESTRICT => ID */
- 26, /* ROW => ID */
- 26, /* TRIGGER => ID */
- 26, /* VACUUM => ID */
- 26, /* VIEW => ID */
- 26, /* VIRTUAL => ID */
- 26, /* REINDEX => ID */
- 26, /* RENAME => ID */
- 26, /* CTIME_KW => ID */
-};
-#endif /* YYFALLBACK */
-
-/* The following structure represents a single element of the
-** parser's stack. Information stored includes:
-**
-** + The state number for the parser at this level of the stack.
-**
-** + The value of the token stored at this level of the stack.
-** (In other words, the "major" token.)
-**
-** + The semantic value stored at this level of the stack. This is
-** the information used by the action routines in the grammar.
-** It is sometimes called the "minor" token.
-*/
-struct yyStackEntry {
- YYACTIONTYPE stateno; /* The state-number */
- YYCODETYPE major; /* The major token value. This is the code
- ** number for the token at this stack level */
- YYMINORTYPE minor; /* The user-supplied minor token value. This
- ** is the value of the token */
-};
-typedef struct yyStackEntry yyStackEntry;
-
-/* The state of the parser is completely contained in an instance of
-** the following structure */
-struct yyParser {
- int yyidx; /* Index of top element in stack */
-#ifdef YYTRACKMAXSTACKDEPTH
- int yyidxMax; /* Maximum value of yyidx */
-#endif
- int yyerrcnt; /* Shifts left before out of the error */
- sqlite3ParserARG_SDECL /* A place to hold %extra_argument */
-#if YYSTACKDEPTH<=0
- int yystksz; /* Current side of the stack */
- yyStackEntry *yystack; /* The parser's stack */
-#else
- yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
-#endif
-};
-typedef struct yyParser yyParser;
-
-#ifndef NDEBUG
-#include
-static FILE *yyTraceFILE = 0;
-static char *yyTracePrompt = 0;
-#endif /* NDEBUG */
-
-#ifndef NDEBUG
-/*
-** Turn parser tracing on by giving a stream to which to write the trace
-** and a prompt to preface each trace message. Tracing is turned off
-** by making either argument NULL
-**
-** Inputs:
-**
-** - A FILE* to which trace output should be written.
-** If NULL, then tracing is turned off.
-**
- A prefix string written at the beginning of every
-** line of trace output. If NULL, then tracing is
-** turned off.
-**
-**
-** Outputs:
-** None.
-*/
-void sqlite3ParserTrace(FILE *TraceFILE, char *zTracePrompt){
- yyTraceFILE = TraceFILE;
- yyTracePrompt = zTracePrompt;
- if( yyTraceFILE==0 ) yyTracePrompt = 0;
- else if( yyTracePrompt==0 ) yyTraceFILE = 0;
-}
-#endif /* NDEBUG */
-
-#ifndef NDEBUG
-/* For tracing shifts, the names of all terminals and nonterminals
-** are required. The following table supplies these names */
-static const char *const yyTokenName[] = {
- "$", "SEMI", "EXPLAIN", "QUERY",
- "PLAN", "BEGIN", "TRANSACTION", "DEFERRED",
- "IMMEDIATE", "EXCLUSIVE", "COMMIT", "END",
- "ROLLBACK", "SAVEPOINT", "RELEASE", "TO",
- "TABLE", "CREATE", "IF", "NOT",
- "EXISTS", "TEMP", "LP", "RP",
- "AS", "COMMA", "ID", "INDEXED",
- "ABORT", "ACTION", "AFTER", "ANALYZE",
- "ASC", "ATTACH", "BEFORE", "BY",
- "CASCADE", "CAST", "COLUMNKW", "CONFLICT",
- "DATABASE", "DESC", "DETACH", "EACH",
- "FAIL", "FOR", "IGNORE", "INITIALLY",
- "INSTEAD", "LIKE_KW", "MATCH", "NO",
- "KEY", "OF", "OFFSET", "PRAGMA",
- "RAISE", "REPLACE", "RESTRICT", "ROW",
- "TRIGGER", "VACUUM", "VIEW", "VIRTUAL",
- "REINDEX", "RENAME", "CTIME_KW", "ANY",
- "OR", "AND", "IS", "BETWEEN",
- "IN", "ISNULL", "NOTNULL", "NE",
- "EQ", "GT", "LE", "LT",
- "GE", "ESCAPE", "BITAND", "BITOR",
- "LSHIFT", "RSHIFT", "PLUS", "MINUS",
- "STAR", "SLASH", "REM", "CONCAT",
- "COLLATE", "BITNOT", "STRING", "JOIN_KW",
- "CONSTRAINT", "DEFAULT", "NULL", "PRIMARY",
- "UNIQUE", "CHECK", "REFERENCES", "AUTOINCR",
- "ON", "INSERT", "DELETE", "UPDATE",
- "SET", "DEFERRABLE", "FOREIGN", "DROP",
- "UNION", "ALL", "EXCEPT", "INTERSECT",
- "SELECT", "DISTINCT", "DOT", "FROM",
- "JOIN", "USING", "ORDER", "GROUP",
- "HAVING", "LIMIT", "WHERE", "INTO",
- "VALUES", "INTEGER", "FLOAT", "BLOB",
- "REGISTER", "VARIABLE", "CASE", "WHEN",
- "THEN", "ELSE", "INDEX", "ALTER",
- "ADD", "error", "input", "cmdlist",
- "ecmd", "explain", "cmdx", "cmd",
- "transtype", "trans_opt", "nm", "savepoint_opt",
- "create_table", "create_table_args", "createkw", "temp",
- "ifnotexists", "dbnm", "columnlist", "conslist_opt",
- "select", "column", "columnid", "type",
- "carglist", "id", "ids", "typetoken",
- "typename", "signed", "plus_num", "minus_num",
- "ccons", "term", "expr", "onconf",
- "sortorder", "autoinc", "idxlist_opt", "refargs",
- "defer_subclause", "refarg", "refact", "init_deferred_pred_opt",
- "conslist", "tconscomma", "tcons", "idxlist",
- "defer_subclause_opt", "orconf", "resolvetype", "raisetype",
- "ifexists", "fullname", "oneselect", "multiselect_op",
- "distinct", "selcollist", "from", "where_opt",
- "groupby_opt", "having_opt", "orderby_opt", "limit_opt",
- "sclp", "as", "seltablist", "stl_prefix",
- "joinop", "indexed_opt", "on_opt", "using_opt",
- "joinop2", "inscollist", "sortlist", "nexprlist",
- "setlist", "insert_cmd", "inscollist_opt", "valuelist",
- "exprlist", "likeop", "between_op", "in_op",
- "case_operand", "case_exprlist", "case_else", "uniqueflag",
- "collate", "nmnum", "number", "trigger_decl",
- "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause",
- "when_clause", "trigger_cmd", "trnm", "tridxby",
- "database_kw_opt", "key_opt", "add_column_fullname", "kwcolumn_opt",
- "create_vtab", "vtabarglist", "vtabarg", "vtabargtoken",
- "lp", "anylist",
-};
-#endif /* NDEBUG */
-
-#ifndef NDEBUG
-/* For tracing reduce actions, the names of all rules are required.
-*/
-static const char *const yyRuleName[] = {
- /* 0 */ "input ::= cmdlist",
- /* 1 */ "cmdlist ::= cmdlist ecmd",
- /* 2 */ "cmdlist ::= ecmd",
- /* 3 */ "ecmd ::= SEMI",
- /* 4 */ "ecmd ::= explain cmdx SEMI",
- /* 5 */ "explain ::=",
- /* 6 */ "explain ::= EXPLAIN",
- /* 7 */ "explain ::= EXPLAIN QUERY PLAN",
- /* 8 */ "cmdx ::= cmd",
- /* 9 */ "cmd ::= BEGIN transtype trans_opt",
- /* 10 */ "trans_opt ::=",
- /* 11 */ "trans_opt ::= TRANSACTION",
- /* 12 */ "trans_opt ::= TRANSACTION nm",
- /* 13 */ "transtype ::=",
- /* 14 */ "transtype ::= DEFERRED",
- /* 15 */ "transtype ::= IMMEDIATE",
- /* 16 */ "transtype ::= EXCLUSIVE",
- /* 17 */ "cmd ::= COMMIT trans_opt",
- /* 18 */ "cmd ::= END trans_opt",
- /* 19 */ "cmd ::= ROLLBACK trans_opt",
- /* 20 */ "savepoint_opt ::= SAVEPOINT",
- /* 21 */ "savepoint_opt ::=",
- /* 22 */ "cmd ::= SAVEPOINT nm",
- /* 23 */ "cmd ::= RELEASE savepoint_opt nm",
- /* 24 */ "cmd ::= ROLLBACK trans_opt TO savepoint_opt nm",
- /* 25 */ "cmd ::= create_table create_table_args",
- /* 26 */ "create_table ::= createkw temp TABLE ifnotexists nm dbnm",
- /* 27 */ "createkw ::= CREATE",
- /* 28 */ "ifnotexists ::=",
- /* 29 */ "ifnotexists ::= IF NOT EXISTS",
- /* 30 */ "temp ::= TEMP",
- /* 31 */ "temp ::=",
- /* 32 */ "create_table_args ::= LP columnlist conslist_opt RP",
- /* 33 */ "create_table_args ::= AS select",
- /* 34 */ "columnlist ::= columnlist COMMA column",
- /* 35 */ "columnlist ::= column",
- /* 36 */ "column ::= columnid type carglist",
- /* 37 */ "columnid ::= nm",
- /* 38 */ "id ::= ID",
- /* 39 */ "id ::= INDEXED",
- /* 40 */ "ids ::= ID|STRING",
- /* 41 */ "nm ::= id",
- /* 42 */ "nm ::= STRING",
- /* 43 */ "nm ::= JOIN_KW",
- /* 44 */ "type ::=",
- /* 45 */ "type ::= typetoken",
- /* 46 */ "typetoken ::= typename",
- /* 47 */ "typetoken ::= typename LP signed RP",
- /* 48 */ "typetoken ::= typename LP signed COMMA signed RP",
- /* 49 */ "typename ::= ids",
- /* 50 */ "typename ::= typename ids",
- /* 51 */ "signed ::= plus_num",
- /* 52 */ "signed ::= minus_num",
- /* 53 */ "carglist ::= carglist ccons",
- /* 54 */ "carglist ::=",
- /* 55 */ "ccons ::= CONSTRAINT nm",
- /* 56 */ "ccons ::= DEFAULT term",
- /* 57 */ "ccons ::= DEFAULT LP expr RP",
- /* 58 */ "ccons ::= DEFAULT PLUS term",
- /* 59 */ "ccons ::= DEFAULT MINUS term",
- /* 60 */ "ccons ::= DEFAULT id",
- /* 61 */ "ccons ::= NULL onconf",
- /* 62 */ "ccons ::= NOT NULL onconf",
- /* 63 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc",
- /* 64 */ "ccons ::= UNIQUE onconf",
- /* 65 */ "ccons ::= CHECK LP expr RP",
- /* 66 */ "ccons ::= REFERENCES nm idxlist_opt refargs",
- /* 67 */ "ccons ::= defer_subclause",
- /* 68 */ "ccons ::= COLLATE ids",
- /* 69 */ "autoinc ::=",
- /* 70 */ "autoinc ::= AUTOINCR",
- /* 71 */ "refargs ::=",
- /* 72 */ "refargs ::= refargs refarg",
- /* 73 */ "refarg ::= MATCH nm",
- /* 74 */ "refarg ::= ON INSERT refact",
- /* 75 */ "refarg ::= ON DELETE refact",
- /* 76 */ "refarg ::= ON UPDATE refact",
- /* 77 */ "refact ::= SET NULL",
- /* 78 */ "refact ::= SET DEFAULT",
- /* 79 */ "refact ::= CASCADE",
- /* 80 */ "refact ::= RESTRICT",
- /* 81 */ "refact ::= NO ACTION",
- /* 82 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt",
- /* 83 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt",
- /* 84 */ "init_deferred_pred_opt ::=",
- /* 85 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED",
- /* 86 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE",
- /* 87 */ "conslist_opt ::=",
- /* 88 */ "conslist_opt ::= COMMA conslist",
- /* 89 */ "conslist ::= conslist tconscomma tcons",
- /* 90 */ "conslist ::= tcons",
- /* 91 */ "tconscomma ::= COMMA",
- /* 92 */ "tconscomma ::=",
- /* 93 */ "tcons ::= CONSTRAINT nm",
- /* 94 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf",
- /* 95 */ "tcons ::= UNIQUE LP idxlist RP onconf",
- /* 96 */ "tcons ::= CHECK LP expr RP onconf",
- /* 97 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt",
- /* 98 */ "defer_subclause_opt ::=",
- /* 99 */ "defer_subclause_opt ::= defer_subclause",
- /* 100 */ "onconf ::=",
- /* 101 */ "onconf ::= ON CONFLICT resolvetype",
- /* 102 */ "orconf ::=",
- /* 103 */ "orconf ::= OR resolvetype",
- /* 104 */ "resolvetype ::= raisetype",
- /* 105 */ "resolvetype ::= IGNORE",
- /* 106 */ "resolvetype ::= REPLACE",
- /* 107 */ "cmd ::= DROP TABLE ifexists fullname",
- /* 108 */ "ifexists ::= IF EXISTS",
- /* 109 */ "ifexists ::=",
- /* 110 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select",
- /* 111 */ "cmd ::= DROP VIEW ifexists fullname",
- /* 112 */ "cmd ::= select",
- /* 113 */ "select ::= oneselect",
- /* 114 */ "select ::= select multiselect_op oneselect",
- /* 115 */ "multiselect_op ::= UNION",
- /* 116 */ "multiselect_op ::= UNION ALL",
- /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT",
- /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt",
- /* 119 */ "distinct ::= DISTINCT",
- /* 120 */ "distinct ::= ALL",
- /* 121 */ "distinct ::=",
- /* 122 */ "sclp ::= selcollist COMMA",
- /* 123 */ "sclp ::=",
- /* 124 */ "selcollist ::= sclp expr as",
- /* 125 */ "selcollist ::= sclp STAR",
- /* 126 */ "selcollist ::= sclp nm DOT STAR",
- /* 127 */ "as ::= AS nm",
- /* 128 */ "as ::= ids",
- /* 129 */ "as ::=",
- /* 130 */ "from ::=",
- /* 131 */ "from ::= FROM seltablist",
- /* 132 */ "stl_prefix ::= seltablist joinop",
- /* 133 */ "stl_prefix ::=",
- /* 134 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt",
- /* 135 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt",
- /* 136 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt",
- /* 137 */ "dbnm ::=",
- /* 138 */ "dbnm ::= DOT nm",
- /* 139 */ "fullname ::= nm dbnm",
- /* 140 */ "joinop ::= COMMA|JOIN",
- /* 141 */ "joinop ::= JOIN_KW JOIN",
- /* 142 */ "joinop ::= JOIN_KW nm JOIN",
- /* 143 */ "joinop ::= JOIN_KW nm nm JOIN",
- /* 144 */ "on_opt ::= ON expr",
- /* 145 */ "on_opt ::=",
- /* 146 */ "indexed_opt ::=",
- /* 147 */ "indexed_opt ::= INDEXED BY nm",
- /* 148 */ "indexed_opt ::= NOT INDEXED",
- /* 149 */ "using_opt ::= USING LP inscollist RP",
- /* 150 */ "using_opt ::=",
- /* 151 */ "orderby_opt ::=",
- /* 152 */ "orderby_opt ::= ORDER BY sortlist",
- /* 153 */ "sortlist ::= sortlist COMMA expr sortorder",
- /* 154 */ "sortlist ::= expr sortorder",
- /* 155 */ "sortorder ::= ASC",
- /* 156 */ "sortorder ::= DESC",
- /* 157 */ "sortorder ::=",
- /* 158 */ "groupby_opt ::=",
- /* 159 */ "groupby_opt ::= GROUP BY nexprlist",
- /* 160 */ "having_opt ::=",
- /* 161 */ "having_opt ::= HAVING expr",
- /* 162 */ "limit_opt ::=",
- /* 163 */ "limit_opt ::= LIMIT expr",
- /* 164 */ "limit_opt ::= LIMIT expr OFFSET expr",
- /* 165 */ "limit_opt ::= LIMIT expr COMMA expr",
- /* 166 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt",
- /* 167 */ "where_opt ::=",
- /* 168 */ "where_opt ::= WHERE expr",
- /* 169 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt",
- /* 170 */ "setlist ::= setlist COMMA nm EQ expr",
- /* 171 */ "setlist ::= nm EQ expr",
- /* 172 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist",
- /* 173 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select",
- /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES",
- /* 175 */ "insert_cmd ::= INSERT orconf",
- /* 176 */ "insert_cmd ::= REPLACE",
- /* 177 */ "valuelist ::= VALUES LP nexprlist RP",
- /* 178 */ "valuelist ::= valuelist COMMA LP exprlist RP",
- /* 179 */ "inscollist_opt ::=",
- /* 180 */ "inscollist_opt ::= LP inscollist RP",
- /* 181 */ "inscollist ::= inscollist COMMA nm",
- /* 182 */ "inscollist ::= nm",
- /* 183 */ "expr ::= term",
- /* 184 */ "expr ::= LP expr RP",
- /* 185 */ "term ::= NULL",
- /* 186 */ "expr ::= id",
- /* 187 */ "expr ::= JOIN_KW",
- /* 188 */ "expr ::= nm DOT nm",
- /* 189 */ "expr ::= nm DOT nm DOT nm",
- /* 190 */ "term ::= INTEGER|FLOAT|BLOB",
- /* 191 */ "term ::= STRING",
- /* 192 */ "expr ::= REGISTER",
- /* 193 */ "expr ::= VARIABLE",
- /* 194 */ "expr ::= expr COLLATE ids",
- /* 195 */ "expr ::= CAST LP expr AS typetoken RP",
- /* 196 */ "expr ::= ID LP distinct exprlist RP",
- /* 197 */ "expr ::= ID LP STAR RP",
- /* 198 */ "term ::= CTIME_KW",
- /* 199 */ "expr ::= expr AND expr",
- /* 200 */ "expr ::= expr OR expr",
- /* 201 */ "expr ::= expr LT|GT|GE|LE expr",
- /* 202 */ "expr ::= expr EQ|NE expr",
- /* 203 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr",
- /* 204 */ "expr ::= expr PLUS|MINUS expr",
- /* 205 */ "expr ::= expr STAR|SLASH|REM expr",
- /* 206 */ "expr ::= expr CONCAT expr",
- /* 207 */ "likeop ::= LIKE_KW",
- /* 208 */ "likeop ::= NOT LIKE_KW",
- /* 209 */ "likeop ::= MATCH",
- /* 210 */ "likeop ::= NOT MATCH",
- /* 211 */ "expr ::= expr likeop expr",
- /* 212 */ "expr ::= expr likeop expr ESCAPE expr",
- /* 213 */ "expr ::= expr ISNULL|NOTNULL",
- /* 214 */ "expr ::= expr NOT NULL",
- /* 215 */ "expr ::= expr IS expr",
- /* 216 */ "expr ::= expr IS NOT expr",
- /* 217 */ "expr ::= NOT expr",
- /* 218 */ "expr ::= BITNOT expr",
- /* 219 */ "expr ::= MINUS expr",
- /* 220 */ "expr ::= PLUS expr",
- /* 221 */ "between_op ::= BETWEEN",
- /* 222 */ "between_op ::= NOT BETWEEN",
- /* 223 */ "expr ::= expr between_op expr AND expr",
- /* 224 */ "in_op ::= IN",
- /* 225 */ "in_op ::= NOT IN",
- /* 226 */ "expr ::= expr in_op LP exprlist RP",
- /* 227 */ "expr ::= LP select RP",
- /* 228 */ "expr ::= expr in_op LP select RP",
- /* 229 */ "expr ::= expr in_op nm dbnm",
- /* 230 */ "expr ::= EXISTS LP select RP",
- /* 231 */ "expr ::= CASE case_operand case_exprlist case_else END",
- /* 232 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr",
- /* 233 */ "case_exprlist ::= WHEN expr THEN expr",
- /* 234 */ "case_else ::= ELSE expr",
- /* 235 */ "case_else ::=",
- /* 236 */ "case_operand ::= expr",
- /* 237 */ "case_operand ::=",
- /* 238 */ "exprlist ::= nexprlist",
- /* 239 */ "exprlist ::=",
- /* 240 */ "nexprlist ::= nexprlist COMMA expr",
- /* 241 */ "nexprlist ::= expr",
- /* 242 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt",
- /* 243 */ "uniqueflag ::= UNIQUE",
- /* 244 */ "uniqueflag ::=",
- /* 245 */ "idxlist_opt ::=",
- /* 246 */ "idxlist_opt ::= LP idxlist RP",
- /* 247 */ "idxlist ::= idxlist COMMA nm collate sortorder",
- /* 248 */ "idxlist ::= nm collate sortorder",
- /* 249 */ "collate ::=",
- /* 250 */ "collate ::= COLLATE ids",
- /* 251 */ "cmd ::= DROP INDEX ifexists fullname",
- /* 252 */ "cmd ::= VACUUM",
- /* 253 */ "cmd ::= VACUUM nm",
- /* 254 */ "cmd ::= PRAGMA nm dbnm",
- /* 255 */ "cmd ::= PRAGMA nm dbnm EQ nmnum",
- /* 256 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP",
- /* 257 */ "cmd ::= PRAGMA nm dbnm EQ minus_num",
- /* 258 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP",
- /* 259 */ "nmnum ::= plus_num",
- /* 260 */ "nmnum ::= nm",
- /* 261 */ "nmnum ::= ON",
- /* 262 */ "nmnum ::= DELETE",
- /* 263 */ "nmnum ::= DEFAULT",
- /* 264 */ "plus_num ::= PLUS number",
- /* 265 */ "plus_num ::= number",
- /* 266 */ "minus_num ::= MINUS number",
- /* 267 */ "number ::= INTEGER|FLOAT",
- /* 268 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END",
- /* 269 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause",
- /* 270 */ "trigger_time ::= BEFORE",
- /* 271 */ "trigger_time ::= AFTER",
- /* 272 */ "trigger_time ::= INSTEAD OF",
- /* 273 */ "trigger_time ::=",
- /* 274 */ "trigger_event ::= DELETE|INSERT",
- /* 275 */ "trigger_event ::= UPDATE",
- /* 276 */ "trigger_event ::= UPDATE OF inscollist",
- /* 277 */ "foreach_clause ::=",
- /* 278 */ "foreach_clause ::= FOR EACH ROW",
- /* 279 */ "when_clause ::=",
- /* 280 */ "when_clause ::= WHEN expr",
- /* 281 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI",
- /* 282 */ "trigger_cmd_list ::= trigger_cmd SEMI",
- /* 283 */ "trnm ::= nm",
- /* 284 */ "trnm ::= nm DOT nm",
- /* 285 */ "tridxby ::=",
- /* 286 */ "tridxby ::= INDEXED BY nm",
- /* 287 */ "tridxby ::= NOT INDEXED",
- /* 288 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt",
- /* 289 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist",
- /* 290 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select",
- /* 291 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt",
- /* 292 */ "trigger_cmd ::= select",
- /* 293 */ "expr ::= RAISE LP IGNORE RP",
- /* 294 */ "expr ::= RAISE LP raisetype COMMA nm RP",
- /* 295 */ "raisetype ::= ROLLBACK",
- /* 296 */ "raisetype ::= ABORT",
- /* 297 */ "raisetype ::= FAIL",
- /* 298 */ "cmd ::= DROP TRIGGER ifexists fullname",
- /* 299 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt",
- /* 300 */ "cmd ::= DETACH database_kw_opt expr",
- /* 301 */ "key_opt ::=",
- /* 302 */ "key_opt ::= KEY expr",
- /* 303 */ "database_kw_opt ::= DATABASE",
- /* 304 */ "database_kw_opt ::=",
- /* 305 */ "cmd ::= REINDEX",
- /* 306 */ "cmd ::= REINDEX nm dbnm",
- /* 307 */ "cmd ::= ANALYZE",
- /* 308 */ "cmd ::= ANALYZE nm dbnm",
- /* 309 */ "cmd ::= ALTER TABLE fullname RENAME TO nm",
- /* 310 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column",
- /* 311 */ "add_column_fullname ::= fullname",
- /* 312 */ "kwcolumn_opt ::=",
- /* 313 */ "kwcolumn_opt ::= COLUMNKW",
- /* 314 */ "cmd ::= create_vtab",
- /* 315 */ "cmd ::= create_vtab LP vtabarglist RP",
- /* 316 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm",
- /* 317 */ "vtabarglist ::= vtabarg",
- /* 318 */ "vtabarglist ::= vtabarglist COMMA vtabarg",
- /* 319 */ "vtabarg ::=",
- /* 320 */ "vtabarg ::= vtabarg vtabargtoken",
- /* 321 */ "vtabargtoken ::= ANY",
- /* 322 */ "vtabargtoken ::= lp anylist RP",
- /* 323 */ "lp ::= LP",
- /* 324 */ "anylist ::=",
- /* 325 */ "anylist ::= anylist LP anylist RP",
- /* 326 */ "anylist ::= anylist ANY",
-};
-#endif /* NDEBUG */
-
-
-#if YYSTACKDEPTH<=0
-/*
-** Try to increase the size of the parser stack.
-*/
-static void yyGrowStack(yyParser *p){
- int newSize;
- yyStackEntry *pNew;
-
- newSize = p->yystksz*2 + 100;
- pNew = realloc(p->yystack, newSize*sizeof(pNew[0]));
- if( pNew ){
- p->yystack = pNew;
- p->yystksz = newSize;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sStack grows to %d entries!\n",
- yyTracePrompt, p->yystksz);
- }
-#endif
- }
-}
-#endif
-
-/*
-** This function allocates a new parser.
-** The only argument is a pointer to a function which works like
-** malloc.
-**
-** Inputs:
-** A pointer to the function used to allocate memory.
-**
-** Outputs:
-** A pointer to a parser. This pointer is used in subsequent calls
-** to sqlite3Parser and sqlite3ParserFree.
-*/
-void *sqlite3ParserAlloc(void *(*mallocProc)(size_t)){
- yyParser *pParser;
- pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
- if( pParser ){
- pParser->yyidx = -1;
-#ifdef YYTRACKMAXSTACKDEPTH
- pParser->yyidxMax = 0;
-#endif
-#if YYSTACKDEPTH<=0
- pParser->yystack = NULL;
- pParser->yystksz = 0;
- yyGrowStack(pParser);
-#endif
- }
- return pParser;
-}
-
-/* The following function deletes the value associated with a
-** symbol. The symbol can be either a terminal or nonterminal.
-** "yymajor" is the symbol code, and "yypminor" is a pointer to
-** the value.
-*/
-static void yy_destructor(
- yyParser *yypParser, /* The parser */
- YYCODETYPE yymajor, /* Type code for object to destroy */
- YYMINORTYPE *yypminor /* The object to be destroyed */
-){
- sqlite3ParserARG_FETCH;
- switch( yymajor ){
- /* Here is inserted the actions which take place when a
- ** terminal or non-terminal is destroyed. This can happen
- ** when the symbol is popped from the stack during a
- ** reduce or during error processing or when a parser is
- ** being destroyed before it is finished parsing.
- **
- ** Note: during a reduce, the only symbols destroyed are those
- ** which appear on the RHS of the rule, but which are not used
- ** inside the C code.
- */
- case 160: /* select */
- case 194: /* oneselect */
-{
-#line 410 "parse.y"
-sqlite3SelectDelete(pParse->db, (yypminor->yy159));
-#line 1408 "parse.c"
-}
- break;
- case 173: /* term */
- case 174: /* expr */
-{
-#line 759 "parse.y"
-sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr);
-#line 1416 "parse.c"
-}
- break;
- case 178: /* idxlist_opt */
- case 187: /* idxlist */
- case 197: /* selcollist */
- case 200: /* groupby_opt */
- case 202: /* orderby_opt */
- case 204: /* sclp */
- case 214: /* sortlist */
- case 215: /* nexprlist */
- case 216: /* setlist */
- case 220: /* exprlist */
- case 225: /* case_exprlist */
-{
-#line 1142 "parse.y"
-sqlite3ExprListDelete(pParse->db, (yypminor->yy442));
-#line 1433 "parse.c"
-}
- break;
- case 193: /* fullname */
- case 198: /* from */
- case 206: /* seltablist */
- case 207: /* stl_prefix */
-{
-#line 543 "parse.y"
-sqlite3SrcListDelete(pParse->db, (yypminor->yy347));
-#line 1443 "parse.c"
-}
- break;
- case 199: /* where_opt */
- case 201: /* having_opt */
- case 210: /* on_opt */
- case 224: /* case_operand */
- case 226: /* case_else */
- case 236: /* when_clause */
- case 241: /* key_opt */
-{
-#line 650 "parse.y"
-sqlite3ExprDelete(pParse->db, (yypminor->yy122));
-#line 1456 "parse.c"
-}
- break;
- case 211: /* using_opt */
- case 213: /* inscollist */
- case 218: /* inscollist_opt */
-{
-#line 575 "parse.y"
-sqlite3IdListDelete(pParse->db, (yypminor->yy180));
-#line 1465 "parse.c"
-}
- break;
- case 219: /* valuelist */
-{
-#line 708 "parse.y"
-
- sqlite3ExprListDelete(pParse->db, (yypminor->yy487).pList);
- sqlite3SelectDelete(pParse->db, (yypminor->yy487).pSelect);
-
-#line 1475 "parse.c"
-}
- break;
- case 232: /* trigger_cmd_list */
- case 237: /* trigger_cmd */
-{
-#line 1240 "parse.y"
-sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy327));
-#line 1483 "parse.c"
-}
- break;
- case 234: /* trigger_event */
-{
-#line 1226 "parse.y"
-sqlite3IdListDelete(pParse->db, (yypminor->yy410).b);
-#line 1490 "parse.c"
-}
- break;
- default: break; /* If no destructor action specified: do nothing */
- }
-}
-
-/*
-** Pop the parser's stack once.
-**
-** If there is a destructor routine associated with the token which
-** is popped from the stack, then call it.
-**
-** Return the major token number for the symbol popped.
-*/
-static int yy_pop_parser_stack(yyParser *pParser){
- YYCODETYPE yymajor;
- yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
-
- /* There is no mechanism by which the parser stack can be popped below
- ** empty in SQLite. */
- if( NEVER(pParser->yyidx<0) ) return 0;
-#ifndef NDEBUG
- if( yyTraceFILE && pParser->yyidx>=0 ){
- fprintf(yyTraceFILE,"%sPopping %s\n",
- yyTracePrompt,
- yyTokenName[yytos->major]);
- }
-#endif
- yymajor = yytos->major;
- yy_destructor(pParser, yymajor, &yytos->minor);
- pParser->yyidx--;
- return yymajor;
-}
-
-/*
-** Deallocate and destroy a parser. Destructors are all called for
-** all stack elements before shutting the parser down.
-**
-** Inputs:
-**
-** - A pointer to the parser. This should be a pointer
-** obtained from sqlite3ParserAlloc.
-**
- A pointer to a function used to reclaim memory obtained
-** from malloc.
-**
-*/
-void sqlite3ParserFree(
- void *p, /* The parser to be deleted */
- void (*freeProc)(void*) /* Function used to reclaim memory */
-){
- yyParser *pParser = (yyParser*)p;
- /* In SQLite, we never try to destroy a parser that was not successfully
- ** created in the first place. */
- if( NEVER(pParser==0) ) return;
- while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
-#if YYSTACKDEPTH<=0
- free(pParser->yystack);
-#endif
- (*freeProc)((void*)pParser);
-}
-
-/*
-** Return the peak depth of the stack for a parser.
-*/
-#ifdef YYTRACKMAXSTACKDEPTH
-int sqlite3ParserStackPeak(void *p){
- yyParser *pParser = (yyParser*)p;
- return pParser->yyidxMax;
-}
-#endif
-
-/*
-** Find the appropriate action for a parser given the terminal
-** look-ahead token iLookAhead.
-**
-** If the look-ahead token is YYNOCODE, then check to see if the action is
-** independent of the look-ahead. If it is, return the action, otherwise
-** return YY_NO_ACTION.
-*/
-static int yy_find_shift_action(
- yyParser *pParser, /* The parser */
- YYCODETYPE iLookAhead /* The look-ahead token */
-){
- int i;
- int stateno = pParser->yystack[pParser->yyidx].stateno;
-
- if( stateno>YY_SHIFT_COUNT
- || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){
- return yy_default[stateno];
- }
- assert( iLookAhead!=YYNOCODE );
- i += iLookAhead;
- if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
- if( iLookAhead>0 ){
-#ifdef YYFALLBACK
- YYCODETYPE iFallback; /* Fallback token */
- if( iLookAhead %s\n",
- yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
- }
-#endif
- return yy_find_shift_action(pParser, iFallback);
- }
-#endif
-#ifdef YYWILDCARD
- {
- int j = i - iLookAhead + YYWILDCARD;
- if(
-#if YY_SHIFT_MIN+YYWILDCARD<0
- j>=0 &&
-#endif
-#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
- j %s\n",
- yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]);
- }
-#endif /* NDEBUG */
- return yy_action[j];
- }
- }
-#endif /* YYWILDCARD */
- }
- return yy_default[stateno];
- }else{
- return yy_action[i];
- }
-}
-
-/*
-** Find the appropriate action for a parser given the non-terminal
-** look-ahead token iLookAhead.
-**
-** If the look-ahead token is YYNOCODE, then check to see if the action is
-** independent of the look-ahead. If it is, return the action, otherwise
-** return YY_NO_ACTION.
-*/
-static int yy_find_reduce_action(
- int stateno, /* Current state number */
- YYCODETYPE iLookAhead /* The look-ahead token */
-){
- int i;
-#ifdef YYERRORSYMBOL
- if( stateno>YY_REDUCE_COUNT ){
- return yy_default[stateno];
- }
-#else
- assert( stateno<=YY_REDUCE_COUNT );
-#endif
- i = yy_reduce_ofst[stateno];
- assert( i!=YY_REDUCE_USE_DFLT );
- assert( iLookAhead!=YYNOCODE );
- i += iLookAhead;
-#ifdef YYERRORSYMBOL
- if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){
- return yy_default[stateno];
- }
-#else
- assert( i>=0 && iyyidx--;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
- }
-#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
- /* Here code is inserted which will execute if the parser
- ** stack every overflows */
-#line 37 "parse.y"
-
- UNUSED_PARAMETER(yypMinor); /* Silence some compiler warnings */
- sqlite3ErrorMsg(pParse, "parser stack overflow");
-#line 1680 "parse.c"
- sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */
-}
-
-/*
-** Perform a shift action.
-*/
-static void yy_shift(
- yyParser *yypParser, /* The parser to be shifted */
- int yyNewState, /* The new state to shift in */
- int yyMajor, /* The major token to shift in */
- YYMINORTYPE *yypMinor /* Pointer to the minor token to shift in */
-){
- yyStackEntry *yytos;
- yypParser->yyidx++;
-#ifdef YYTRACKMAXSTACKDEPTH
- if( yypParser->yyidx>yypParser->yyidxMax ){
- yypParser->yyidxMax = yypParser->yyidx;
- }
-#endif
-#if YYSTACKDEPTH>0
- if( yypParser->yyidx>=YYSTACKDEPTH ){
- yyStackOverflow(yypParser, yypMinor);
- return;
- }
-#else
- if( yypParser->yyidx>=yypParser->yystksz ){
- yyGrowStack(yypParser);
- if( yypParser->yyidx>=yypParser->yystksz ){
- yyStackOverflow(yypParser, yypMinor);
- return;
- }
- }
-#endif
- yytos = &yypParser->yystack[yypParser->yyidx];
- yytos->stateno = (YYACTIONTYPE)yyNewState;
- yytos->major = (YYCODETYPE)yyMajor;
- yytos->minor = *yypMinor;
-#ifndef NDEBUG
- if( yyTraceFILE && yypParser->yyidx>0 ){
- int i;
- fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
- fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
- for(i=1; i<=yypParser->yyidx; i++)
- fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
- fprintf(yyTraceFILE,"\n");
- }
-#endif
-}
-
-/* The following table contains information about every rule that
-** is used during the reduce.
-*/
-static const struct {
- YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
- unsigned char nrhs; /* Number of right-hand side symbols in the rule */
-} yyRuleInfo[] = {
- { 142, 1 },
- { 143, 2 },
- { 143, 1 },
- { 144, 1 },
- { 144, 3 },
- { 145, 0 },
- { 145, 1 },
- { 145, 3 },
- { 146, 1 },
- { 147, 3 },
- { 149, 0 },
- { 149, 1 },
- { 149, 2 },
- { 148, 0 },
- { 148, 1 },
- { 148, 1 },
- { 148, 1 },
- { 147, 2 },
- { 147, 2 },
- { 147, 2 },
- { 151, 1 },
- { 151, 0 },
- { 147, 2 },
- { 147, 3 },
- { 147, 5 },
- { 147, 2 },
- { 152, 6 },
- { 154, 1 },
- { 156, 0 },
- { 156, 3 },
- { 155, 1 },
- { 155, 0 },
- { 153, 4 },
- { 153, 2 },
- { 158, 3 },
- { 158, 1 },
- { 161, 3 },
- { 162, 1 },
- { 165, 1 },
- { 165, 1 },
- { 166, 1 },
- { 150, 1 },
- { 150, 1 },
- { 150, 1 },
- { 163, 0 },
- { 163, 1 },
- { 167, 1 },
- { 167, 4 },
- { 167, 6 },
- { 168, 1 },
- { 168, 2 },
- { 169, 1 },
- { 169, 1 },
- { 164, 2 },
- { 164, 0 },
- { 172, 2 },
- { 172, 2 },
- { 172, 4 },
- { 172, 3 },
- { 172, 3 },
- { 172, 2 },
- { 172, 2 },
- { 172, 3 },
- { 172, 5 },
- { 172, 2 },
- { 172, 4 },
- { 172, 4 },
- { 172, 1 },
- { 172, 2 },
- { 177, 0 },
- { 177, 1 },
- { 179, 0 },
- { 179, 2 },
- { 181, 2 },
- { 181, 3 },
- { 181, 3 },
- { 181, 3 },
- { 182, 2 },
- { 182, 2 },
- { 182, 1 },
- { 182, 1 },
- { 182, 2 },
- { 180, 3 },
- { 180, 2 },
- { 183, 0 },
- { 183, 2 },
- { 183, 2 },
- { 159, 0 },
- { 159, 2 },
- { 184, 3 },
- { 184, 1 },
- { 185, 1 },
- { 185, 0 },
- { 186, 2 },
- { 186, 7 },
- { 186, 5 },
- { 186, 5 },
- { 186, 10 },
- { 188, 0 },
- { 188, 1 },
- { 175, 0 },
- { 175, 3 },
- { 189, 0 },
- { 189, 2 },
- { 190, 1 },
- { 190, 1 },
- { 190, 1 },
- { 147, 4 },
- { 192, 2 },
- { 192, 0 },
- { 147, 8 },
- { 147, 4 },
- { 147, 1 },
- { 160, 1 },
- { 160, 3 },
- { 195, 1 },
- { 195, 2 },
- { 195, 1 },
- { 194, 9 },
- { 196, 1 },
- { 196, 1 },
- { 196, 0 },
- { 204, 2 },
- { 204, 0 },
- { 197, 3 },
- { 197, 2 },
- { 197, 4 },
- { 205, 2 },
- { 205, 1 },
- { 205, 0 },
- { 198, 0 },
- { 198, 2 },
- { 207, 2 },
- { 207, 0 },
- { 206, 7 },
- { 206, 7 },
- { 206, 7 },
- { 157, 0 },
- { 157, 2 },
- { 193, 2 },
- { 208, 1 },
- { 208, 2 },
- { 208, 3 },
- { 208, 4 },
- { 210, 2 },
- { 210, 0 },
- { 209, 0 },
- { 209, 3 },
- { 209, 2 },
- { 211, 4 },
- { 211, 0 },
- { 202, 0 },
- { 202, 3 },
- { 214, 4 },
- { 214, 2 },
- { 176, 1 },
- { 176, 1 },
- { 176, 0 },
- { 200, 0 },
- { 200, 3 },
- { 201, 0 },
- { 201, 2 },
- { 203, 0 },
- { 203, 2 },
- { 203, 4 },
- { 203, 4 },
- { 147, 5 },
- { 199, 0 },
- { 199, 2 },
- { 147, 7 },
- { 216, 5 },
- { 216, 3 },
- { 147, 5 },
- { 147, 5 },
- { 147, 6 },
- { 217, 2 },
- { 217, 1 },
- { 219, 4 },
- { 219, 5 },
- { 218, 0 },
- { 218, 3 },
- { 213, 3 },
- { 213, 1 },
- { 174, 1 },
- { 174, 3 },
- { 173, 1 },
- { 174, 1 },
- { 174, 1 },
- { 174, 3 },
- { 174, 5 },
- { 173, 1 },
- { 173, 1 },
- { 174, 1 },
- { 174, 1 },
- { 174, 3 },
- { 174, 6 },
- { 174, 5 },
- { 174, 4 },
- { 173, 1 },
- { 174, 3 },
- { 174, 3 },
- { 174, 3 },
- { 174, 3 },
- { 174, 3 },
- { 174, 3 },
- { 174, 3 },
- { 174, 3 },
- { 221, 1 },
- { 221, 2 },
- { 221, 1 },
- { 221, 2 },
- { 174, 3 },
- { 174, 5 },
- { 174, 2 },
- { 174, 3 },
- { 174, 3 },
- { 174, 4 },
- { 174, 2 },
- { 174, 2 },
- { 174, 2 },
- { 174, 2 },
- { 222, 1 },
- { 222, 2 },
- { 174, 5 },
- { 223, 1 },
- { 223, 2 },
- { 174, 5 },
- { 174, 3 },
- { 174, 5 },
- { 174, 4 },
- { 174, 4 },
- { 174, 5 },
- { 225, 5 },
- { 225, 4 },
- { 226, 2 },
- { 226, 0 },
- { 224, 1 },
- { 224, 0 },
- { 220, 1 },
- { 220, 0 },
- { 215, 3 },
- { 215, 1 },
- { 147, 12 },
- { 227, 1 },
- { 227, 0 },
- { 178, 0 },
- { 178, 3 },
- { 187, 5 },
- { 187, 3 },
- { 228, 0 },
- { 228, 2 },
- { 147, 4 },
- { 147, 1 },
- { 147, 2 },
- { 147, 3 },
- { 147, 5 },
- { 147, 6 },
- { 147, 5 },
- { 147, 6 },
- { 229, 1 },
- { 229, 1 },
- { 229, 1 },
- { 229, 1 },
- { 229, 1 },
- { 170, 2 },
- { 170, 1 },
- { 171, 2 },
- { 230, 1 },
- { 147, 5 },
- { 231, 11 },
- { 233, 1 },
- { 233, 1 },
- { 233, 2 },
- { 233, 0 },
- { 234, 1 },
- { 234, 1 },
- { 234, 3 },
- { 235, 0 },
- { 235, 3 },
- { 236, 0 },
- { 236, 2 },
- { 232, 3 },
- { 232, 2 },
- { 238, 1 },
- { 238, 3 },
- { 239, 0 },
- { 239, 3 },
- { 239, 2 },
- { 237, 7 },
- { 237, 5 },
- { 237, 5 },
- { 237, 5 },
- { 237, 1 },
- { 174, 4 },
- { 174, 6 },
- { 191, 1 },
- { 191, 1 },
- { 191, 1 },
- { 147, 4 },
- { 147, 6 },
- { 147, 3 },
- { 241, 0 },
- { 241, 2 },
- { 240, 1 },
- { 240, 0 },
- { 147, 1 },
- { 147, 3 },
- { 147, 1 },
- { 147, 3 },
- { 147, 6 },
- { 147, 6 },
- { 242, 1 },
- { 243, 0 },
- { 243, 1 },
- { 147, 1 },
- { 147, 4 },
- { 244, 8 },
- { 245, 1 },
- { 245, 3 },
- { 246, 0 },
- { 246, 2 },
- { 247, 1 },
- { 247, 3 },
- { 248, 1 },
- { 249, 0 },
- { 249, 4 },
- { 249, 2 },
-};
-
-static void yy_accept(yyParser*); /* Forward Declaration */
-
-/*
-** Perform a reduce action and the shift that must immediately
-** follow the reduce.
-*/
-static void yy_reduce(
- yyParser *yypParser, /* The parser */
- int yyruleno /* Number of the rule by which to reduce */
-){
- int yygoto; /* The next state */
- int yyact; /* The next action */
- YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
- yyStackEntry *yymsp; /* The top of the parser's stack */
- int yysize; /* Amount to pop the stack */
- sqlite3ParserARG_FETCH;
- yymsp = &yypParser->yystack[yypParser->yyidx];
-#ifndef NDEBUG
- if( yyTraceFILE && yyruleno>=0
- && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){
- fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
- yyRuleName[yyruleno]);
- }
-#endif /* NDEBUG */
-
- /* Silence complaints from purify about yygotominor being uninitialized
- ** in some cases when it is copied into the stack after the following
- ** switch. yygotominor is uninitialized when a rule reduces that does
- ** not set the value of its left-hand side nonterminal. Leaving the
- ** value of the nonterminal uninitialized is utterly harmless as long
- ** as the value is never used. So really the only thing this code
- ** accomplishes is to quieten purify.
- **
- ** 2007-01-16: The wireshark project (www.wireshark.org) reports that
- ** without this code, their parser segfaults. I'm not sure what there
- ** parser is doing to make this happen. This is the second bug report
- ** from wireshark this week. Clearly they are stressing Lemon in ways
- ** that it has not been previously stressed... (SQLite ticket #2172)
- */
- /*memset(&yygotominor, 0, sizeof(yygotominor));*/
- yygotominor = yyzerominor;
-
-
- switch( yyruleno ){
- /* Beginning here are the reduction cases. A typical example
- ** follows:
- ** case 0:
- ** #line
- ** { ... } // User supplied code
- ** #line
- ** break;
- */
- case 5: /* explain ::= */
-#line 113 "parse.y"
-{ sqlite3BeginParse(pParse, 0); }
-#line 2121 "parse.c"
- break;
- case 6: /* explain ::= EXPLAIN */
-#line 115 "parse.y"
-{ sqlite3BeginParse(pParse, 1); }
-#line 2126 "parse.c"
- break;
- case 7: /* explain ::= EXPLAIN QUERY PLAN */
-#line 116 "parse.y"
-{ sqlite3BeginParse(pParse, 2); }
-#line 2131 "parse.c"
- break;
- case 8: /* cmdx ::= cmd */
-#line 118 "parse.y"
-{ sqlite3FinishCoding(pParse); }
-#line 2136 "parse.c"
- break;
- case 9: /* cmd ::= BEGIN transtype trans_opt */
-#line 123 "parse.y"
-{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy392);}
-#line 2141 "parse.c"
- break;
- case 13: /* transtype ::= */
-#line 128 "parse.y"
-{yygotominor.yy392 = TK_DEFERRED;}
-#line 2146 "parse.c"
- break;
- case 14: /* transtype ::= DEFERRED */
- case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15);
- case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16);
- case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115);
- case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117);
-#line 129 "parse.y"
-{yygotominor.yy392 = yymsp[0].major;}
-#line 2155 "parse.c"
- break;
- case 17: /* cmd ::= COMMIT trans_opt */
- case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18);
-#line 132 "parse.y"
-{sqlite3CommitTransaction(pParse);}
-#line 2161 "parse.c"
- break;
- case 19: /* cmd ::= ROLLBACK trans_opt */
-#line 134 "parse.y"
-{sqlite3RollbackTransaction(pParse);}
-#line 2166 "parse.c"
- break;
- case 22: /* cmd ::= SAVEPOINT nm */
-#line 138 "parse.y"
-{
- sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0);
-}
-#line 2173 "parse.c"
- break;
- case 23: /* cmd ::= RELEASE savepoint_opt nm */
-#line 141 "parse.y"
-{
- sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0);
-}
-#line 2180 "parse.c"
- break;
- case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */
-#line 144 "parse.y"
-{
- sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0);
-}
-#line 2187 "parse.c"
- break;
- case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */
-#line 151 "parse.y"
-{
- sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy392,0,0,yymsp[-2].minor.yy392);
-}
-#line 2194 "parse.c"
- break;
- case 27: /* createkw ::= CREATE */
-#line 154 "parse.y"
-{
- pParse->db->lookaside.bEnabled = 0;
- yygotominor.yy0 = yymsp[0].minor.yy0;
-}
-#line 2202 "parse.c"
- break;
- case 28: /* ifnotexists ::= */
- case 31: /* temp ::= */ yytestcase(yyruleno==31);
- case 69: /* autoinc ::= */ yytestcase(yyruleno==69);
- case 82: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==82);
- case 84: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==84);
- case 86: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==86);
- case 98: /* defer_subclause_opt ::= */ yytestcase(yyruleno==98);
- case 109: /* ifexists ::= */ yytestcase(yyruleno==109);
- case 221: /* between_op ::= BETWEEN */ yytestcase(yyruleno==221);
- case 224: /* in_op ::= IN */ yytestcase(yyruleno==224);
-#line 159 "parse.y"
-{yygotominor.yy392 = 0;}
-#line 2216 "parse.c"
- break;
- case 29: /* ifnotexists ::= IF NOT EXISTS */
- case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30);
- case 70: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==70);
- case 85: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==85);
- case 108: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==108);
- case 222: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==222);
- case 225: /* in_op ::= NOT IN */ yytestcase(yyruleno==225);
-#line 160 "parse.y"
-{yygotominor.yy392 = 1;}
-#line 2227 "parse.c"
- break;
- case 32: /* create_table_args ::= LP columnlist conslist_opt RP */
-#line 166 "parse.y"
-{
- sqlite3EndTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0);
-}
-#line 2234 "parse.c"
- break;
- case 33: /* create_table_args ::= AS select */
-#line 169 "parse.y"
-{
- sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy159);
- sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159);
-}
-#line 2242 "parse.c"
- break;
- case 36: /* column ::= columnid type carglist */
-#line 181 "parse.y"
-{
- yygotominor.yy0.z = yymsp[-2].minor.yy0.z;
- yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse->sLastToken.n;
-}
-#line 2250 "parse.c"
- break;
- case 37: /* columnid ::= nm */
-#line 185 "parse.y"
-{
- sqlite3AddColumn(pParse,&yymsp[0].minor.yy0);
- yygotominor.yy0 = yymsp[0].minor.yy0;
- pParse->constraintName.n = 0;
-}
-#line 2259 "parse.c"
- break;
- case 38: /* id ::= ID */
- case 39: /* id ::= INDEXED */ yytestcase(yyruleno==39);
- case 40: /* ids ::= ID|STRING */ yytestcase(yyruleno==40);
- case 41: /* nm ::= id */ yytestcase(yyruleno==41);
- case 42: /* nm ::= STRING */ yytestcase(yyruleno==42);
- case 43: /* nm ::= JOIN_KW */ yytestcase(yyruleno==43);
- case 46: /* typetoken ::= typename */ yytestcase(yyruleno==46);
- case 49: /* typename ::= ids */ yytestcase(yyruleno==49);
- case 127: /* as ::= AS nm */ yytestcase(yyruleno==127);
- case 128: /* as ::= ids */ yytestcase(yyruleno==128);
- case 138: /* dbnm ::= DOT nm */ yytestcase(yyruleno==138);
- case 147: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==147);
- case 250: /* collate ::= COLLATE ids */ yytestcase(yyruleno==250);
- case 259: /* nmnum ::= plus_num */ yytestcase(yyruleno==259);
- case 260: /* nmnum ::= nm */ yytestcase(yyruleno==260);
- case 261: /* nmnum ::= ON */ yytestcase(yyruleno==261);
- case 262: /* nmnum ::= DELETE */ yytestcase(yyruleno==262);
- case 263: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==263);
- case 264: /* plus_num ::= PLUS number */ yytestcase(yyruleno==264);
- case 265: /* plus_num ::= number */ yytestcase(yyruleno==265);
- case 266: /* minus_num ::= MINUS number */ yytestcase(yyruleno==266);
- case 267: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==267);
- case 283: /* trnm ::= nm */ yytestcase(yyruleno==283);
-#line 196 "parse.y"
-{yygotominor.yy0 = yymsp[0].minor.yy0;}
-#line 2286 "parse.c"
- break;
- case 45: /* type ::= typetoken */
-#line 258 "parse.y"
-{sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);}
-#line 2291 "parse.c"
- break;
- case 47: /* typetoken ::= typename LP signed RP */
-#line 260 "parse.y"
-{
- yygotominor.yy0.z = yymsp[-3].minor.yy0.z;
- yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z);
-}
-#line 2299 "parse.c"
- break;
- case 48: /* typetoken ::= typename LP signed COMMA signed RP */
-#line 264 "parse.y"
-{
- yygotominor.yy0.z = yymsp[-5].minor.yy0.z;
- yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z);
-}
-#line 2307 "parse.c"
- break;
- case 50: /* typename ::= typename ids */
-#line 270 "parse.y"
-{yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);}
-#line 2312 "parse.c"
- break;
- case 55: /* ccons ::= CONSTRAINT nm */
- case 93: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==93);
-#line 279 "parse.y"
-{pParse->constraintName = yymsp[0].minor.yy0;}
-#line 2318 "parse.c"
- break;
- case 56: /* ccons ::= DEFAULT term */
- case 58: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==58);
-#line 280 "parse.y"
-{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);}
-#line 2324 "parse.c"
- break;
- case 57: /* ccons ::= DEFAULT LP expr RP */
-#line 281 "parse.y"
-{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);}
-#line 2329 "parse.c"
- break;
- case 59: /* ccons ::= DEFAULT MINUS term */
-#line 283 "parse.y"
-{
- ExprSpan v;
- v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0);
- v.zStart = yymsp[-1].minor.yy0.z;
- v.zEnd = yymsp[0].minor.yy342.zEnd;
- sqlite3AddDefaultValue(pParse,&v);
-}
-#line 2340 "parse.c"
- break;
- case 60: /* ccons ::= DEFAULT id */
-#line 290 "parse.y"
-{
- ExprSpan v;
- spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0);
- sqlite3AddDefaultValue(pParse,&v);
-}
-#line 2349 "parse.c"
- break;
- case 62: /* ccons ::= NOT NULL onconf */
-#line 300 "parse.y"
-{sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);}
-#line 2354 "parse.c"
- break;
- case 63: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */
-#line 302 "parse.y"
-{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[-2].minor.yy392);}
-#line 2359 "parse.c"
- break;
- case 64: /* ccons ::= UNIQUE onconf */
-#line 303 "parse.y"
-{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);}
-#line 2364 "parse.c"
- break;
- case 65: /* ccons ::= CHECK LP expr RP */
-#line 304 "parse.y"
-{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);}
-#line 2369 "parse.c"
- break;
- case 66: /* ccons ::= REFERENCES nm idxlist_opt refargs */
-#line 306 "parse.y"
-{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy392);}
-#line 2374 "parse.c"
- break;
- case 67: /* ccons ::= defer_subclause */
-#line 307 "parse.y"
-{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);}
-#line 2379 "parse.c"
- break;
- case 68: /* ccons ::= COLLATE ids */
-#line 308 "parse.y"
-{sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);}
-#line 2384 "parse.c"
- break;
- case 71: /* refargs ::= */
-#line 321 "parse.y"
-{ yygotominor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */}
-#line 2389 "parse.c"
- break;
- case 72: /* refargs ::= refargs refarg */
-#line 322 "parse.y"
-{ yygotominor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; }
-#line 2394 "parse.c"
- break;
- case 73: /* refarg ::= MATCH nm */
- case 74: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==74);
-#line 324 "parse.y"
-{ yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; }
-#line 2400 "parse.c"
- break;
- case 75: /* refarg ::= ON DELETE refact */
-#line 326 "parse.y"
-{ yygotominor.yy207.value = yymsp[0].minor.yy392; yygotominor.yy207.mask = 0x0000ff; }
-#line 2405 "parse.c"
- break;
- case 76: /* refarg ::= ON UPDATE refact */
-#line 327 "parse.y"
-{ yygotominor.yy207.value = yymsp[0].minor.yy392<<8; yygotominor.yy207.mask = 0x00ff00; }
-#line 2410 "parse.c"
- break;
- case 77: /* refact ::= SET NULL */
-#line 329 "parse.y"
-{ yygotominor.yy392 = OE_SetNull; /* EV: R-33326-45252 */}
-#line 2415 "parse.c"
- break;
- case 78: /* refact ::= SET DEFAULT */
-#line 330 "parse.y"
-{ yygotominor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */}
-#line 2420 "parse.c"
- break;
- case 79: /* refact ::= CASCADE */
-#line 331 "parse.y"
-{ yygotominor.yy392 = OE_Cascade; /* EV: R-33326-45252 */}
-#line 2425 "parse.c"
- break;
- case 80: /* refact ::= RESTRICT */
-#line 332 "parse.y"
-{ yygotominor.yy392 = OE_Restrict; /* EV: R-33326-45252 */}
-#line 2430 "parse.c"
- break;
- case 81: /* refact ::= NO ACTION */
-#line 333 "parse.y"
-{ yygotominor.yy392 = OE_None; /* EV: R-33326-45252 */}
-#line 2435 "parse.c"
- break;
- case 83: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */
- case 99: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==99);
- case 101: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==101);
- case 104: /* resolvetype ::= raisetype */ yytestcase(yyruleno==104);
-#line 336 "parse.y"
-{yygotominor.yy392 = yymsp[0].minor.yy392;}
-#line 2443 "parse.c"
- break;
- case 87: /* conslist_opt ::= */
-#line 342 "parse.y"
-{yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;}
-#line 2448 "parse.c"
- break;
- case 88: /* conslist_opt ::= COMMA conslist */
-#line 343 "parse.y"
-{yygotominor.yy0 = yymsp[-1].minor.yy0;}
-#line 2453 "parse.c"
- break;
- case 91: /* tconscomma ::= COMMA */
-#line 346 "parse.y"
-{pParse->constraintName.n = 0;}
-#line 2458 "parse.c"
- break;
- case 94: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */
-#line 350 "parse.y"
-{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);}
-#line 2463 "parse.c"
- break;
- case 95: /* tcons ::= UNIQUE LP idxlist RP onconf */
-#line 352 "parse.y"
-{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0,0,0);}
-#line 2468 "parse.c"
- break;
- case 96: /* tcons ::= CHECK LP expr RP onconf */
-#line 354 "parse.y"
-{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);}
-#line 2473 "parse.c"
- break;
- case 97: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */
-#line 356 "parse.y"
-{
- sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy392);
- sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392);
-}
-#line 2481 "parse.c"
- break;
- case 100: /* onconf ::= */
-#line 370 "parse.y"
-{yygotominor.yy392 = OE_Default;}
-#line 2486 "parse.c"
- break;
- case 102: /* orconf ::= */
-#line 372 "parse.y"
-{yygotominor.yy258 = OE_Default;}
-#line 2491 "parse.c"
- break;
- case 103: /* orconf ::= OR resolvetype */
-#line 373 "parse.y"
-{yygotominor.yy258 = (u8)yymsp[0].minor.yy392;}
-#line 2496 "parse.c"
- break;
- case 105: /* resolvetype ::= IGNORE */
-#line 375 "parse.y"
-{yygotominor.yy392 = OE_Ignore;}
-#line 2501 "parse.c"
- break;
- case 106: /* resolvetype ::= REPLACE */
-#line 376 "parse.y"
-{yygotominor.yy392 = OE_Replace;}
-#line 2506 "parse.c"
- break;
- case 107: /* cmd ::= DROP TABLE ifexists fullname */
-#line 380 "parse.y"
-{
- sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392);
-}
-#line 2513 "parse.c"
- break;
- case 110: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */
-#line 390 "parse.y"
-{
- sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy159, yymsp[-6].minor.yy392, yymsp[-4].minor.yy392);
-}
-#line 2520 "parse.c"
- break;
- case 111: /* cmd ::= DROP VIEW ifexists fullname */
-#line 393 "parse.y"
-{
- sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392);
-}
-#line 2527 "parse.c"
- break;
- case 112: /* cmd ::= select */
-#line 400 "parse.y"
-{
- SelectDest dest = {SRT_Output, 0, 0, 0, 0};
- sqlite3Select(pParse, yymsp[0].minor.yy159, &dest);
- sqlite3ExplainBegin(pParse->pVdbe);
- sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy159);
- sqlite3ExplainFinish(pParse->pVdbe);
- sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159);
-}
-#line 2539 "parse.c"
- break;
- case 113: /* select ::= oneselect */
-#line 414 "parse.y"
-{yygotominor.yy159 = yymsp[0].minor.yy159;}
-#line 2544 "parse.c"
- break;
- case 114: /* select ::= select multiselect_op oneselect */
-#line 416 "parse.y"
-{
- if( yymsp[0].minor.yy159 ){
- yymsp[0].minor.yy159->op = (u8)yymsp[-1].minor.yy392;
- yymsp[0].minor.yy159->pPrior = yymsp[-2].minor.yy159;
- if( yymsp[-1].minor.yy392!=TK_ALL ) pParse->hasCompound = 1;
- }else{
- sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy159);
- }
- yygotominor.yy159 = yymsp[0].minor.yy159;
-}
-#line 2558 "parse.c"
- break;
- case 116: /* multiselect_op ::= UNION ALL */
-#line 428 "parse.y"
-{yygotominor.yy392 = TK_ALL;}
-#line 2563 "parse.c"
- break;
- case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */
-#line 432 "parse.y"
-{
- yygotominor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy347,yymsp[-4].minor.yy122,yymsp[-3].minor.yy442,yymsp[-2].minor.yy122,yymsp[-1].minor.yy442,yymsp[-7].minor.yy305,yymsp[0].minor.yy64.pLimit,yymsp[0].minor.yy64.pOffset);
-}
-#line 2570 "parse.c"
- break;
- case 119: /* distinct ::= DISTINCT */
-#line 440 "parse.y"
-{yygotominor.yy305 = SF_Distinct;}
-#line 2575 "parse.c"
- break;
- case 120: /* distinct ::= ALL */
- case 121: /* distinct ::= */ yytestcase(yyruleno==121);
-#line 441 "parse.y"
-{yygotominor.yy305 = 0;}
-#line 2581 "parse.c"
- break;
- case 122: /* sclp ::= selcollist COMMA */
- case 246: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==246);
-#line 453 "parse.y"
-{yygotominor.yy442 = yymsp[-1].minor.yy442;}
-#line 2587 "parse.c"
- break;
- case 123: /* sclp ::= */
- case 151: /* orderby_opt ::= */ yytestcase(yyruleno==151);
- case 158: /* groupby_opt ::= */ yytestcase(yyruleno==158);
- case 239: /* exprlist ::= */ yytestcase(yyruleno==239);
- case 245: /* idxlist_opt ::= */ yytestcase(yyruleno==245);
-#line 454 "parse.y"
-{yygotominor.yy442 = 0;}
-#line 2596 "parse.c"
- break;
- case 124: /* selcollist ::= sclp expr as */
-#line 455 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yymsp[-1].minor.yy342.pExpr);
- if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[0].minor.yy0, 1);
- sqlite3ExprListSetSpan(pParse,yygotominor.yy442,&yymsp[-1].minor.yy342);
-}
-#line 2605 "parse.c"
- break;
- case 125: /* selcollist ::= sclp STAR */
-#line 460 "parse.y"
-{
- Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0);
- yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p);
-}
-#line 2613 "parse.c"
- break;
- case 126: /* selcollist ::= sclp nm DOT STAR */
-#line 464 "parse.y"
-{
- Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0);
- Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
- Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0);
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot);
-}
-#line 2623 "parse.c"
- break;
- case 129: /* as ::= */
-#line 477 "parse.y"
-{yygotominor.yy0.n = 0;}
-#line 2628 "parse.c"
- break;
- case 130: /* from ::= */
-#line 489 "parse.y"
-{yygotominor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy347));}
-#line 2633 "parse.c"
- break;
- case 131: /* from ::= FROM seltablist */
-#line 490 "parse.y"
-{
- yygotominor.yy347 = yymsp[0].minor.yy347;
- sqlite3SrcListShiftJoinType(yygotominor.yy347);
-}
-#line 2641 "parse.c"
- break;
- case 132: /* stl_prefix ::= seltablist joinop */
-#line 498 "parse.y"
-{
- yygotominor.yy347 = yymsp[-1].minor.yy347;
- if( ALWAYS(yygotominor.yy347 && yygotominor.yy347->nSrc>0) ) yygotominor.yy347->a[yygotominor.yy347->nSrc-1].jointype = (u8)yymsp[0].minor.yy392;
-}
-#line 2649 "parse.c"
- break;
- case 133: /* stl_prefix ::= */
-#line 502 "parse.y"
-{yygotominor.yy347 = 0;}
-#line 2654 "parse.c"
- break;
- case 134: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */
-#line 504 "parse.y"
-{
- yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180);
- sqlite3SrcListIndexedBy(pParse, yygotominor.yy347, &yymsp[-2].minor.yy0);
-}
-#line 2662 "parse.c"
- break;
- case 135: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */
-#line 510 "parse.y"
-{
- yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy159,yymsp[-1].minor.yy122,yymsp[0].minor.yy180);
- }
-#line 2669 "parse.c"
- break;
- case 136: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */
-#line 514 "parse.y"
-{
- if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy122==0 && yymsp[0].minor.yy180==0 ){
- yygotominor.yy347 = yymsp[-4].minor.yy347;
- }else if( yymsp[-4].minor.yy347->nSrc==1 ){
- yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180);
- if( yygotominor.yy347 ){
- struct SrcList_item *pNew = &yygotominor.yy347->a[yygotominor.yy347->nSrc-1];
- struct SrcList_item *pOld = yymsp[-4].minor.yy347->a;
- pNew->zName = pOld->zName;
- pNew->zDatabase = pOld->zDatabase;
- pNew->pSelect = pOld->pSelect;
- pOld->zName = pOld->zDatabase = 0;
- pOld->pSelect = 0;
- }
- sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy347);
- }else{
- Select *pSubquery;
- sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy347);
- pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,SF_NestedFrom,0,0);
- yygotominor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy122,yymsp[0].minor.yy180);
- }
- }
-#line 2695 "parse.c"
- break;
- case 137: /* dbnm ::= */
- case 146: /* indexed_opt ::= */ yytestcase(yyruleno==146);
-#line 539 "parse.y"
-{yygotominor.yy0.z=0; yygotominor.yy0.n=0;}
-#line 2701 "parse.c"
- break;
- case 139: /* fullname ::= nm dbnm */
-#line 544 "parse.y"
-{yygotominor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);}
-#line 2706 "parse.c"
- break;
- case 140: /* joinop ::= COMMA|JOIN */
-#line 548 "parse.y"
-{ yygotominor.yy392 = JT_INNER; }
-#line 2711 "parse.c"
- break;
- case 141: /* joinop ::= JOIN_KW JOIN */
-#line 549 "parse.y"
-{ yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); }
-#line 2716 "parse.c"
- break;
- case 142: /* joinop ::= JOIN_KW nm JOIN */
-#line 550 "parse.y"
-{ yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); }
-#line 2721 "parse.c"
- break;
- case 143: /* joinop ::= JOIN_KW nm nm JOIN */
-#line 552 "parse.y"
-{ yygotominor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); }
-#line 2726 "parse.c"
- break;
- case 144: /* on_opt ::= ON expr */
- case 161: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==161);
- case 168: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==168);
- case 234: /* case_else ::= ELSE expr */ yytestcase(yyruleno==234);
- case 236: /* case_operand ::= expr */ yytestcase(yyruleno==236);
-#line 556 "parse.y"
-{yygotominor.yy122 = yymsp[0].minor.yy342.pExpr;}
-#line 2735 "parse.c"
- break;
- case 145: /* on_opt ::= */
- case 160: /* having_opt ::= */ yytestcase(yyruleno==160);
- case 167: /* where_opt ::= */ yytestcase(yyruleno==167);
- case 235: /* case_else ::= */ yytestcase(yyruleno==235);
- case 237: /* case_operand ::= */ yytestcase(yyruleno==237);
-#line 557 "parse.y"
-{yygotominor.yy122 = 0;}
-#line 2744 "parse.c"
- break;
- case 148: /* indexed_opt ::= NOT INDEXED */
-#line 572 "parse.y"
-{yygotominor.yy0.z=0; yygotominor.yy0.n=1;}
-#line 2749 "parse.c"
- break;
- case 149: /* using_opt ::= USING LP inscollist RP */
- case 180: /* inscollist_opt ::= LP inscollist RP */ yytestcase(yyruleno==180);
-#line 576 "parse.y"
-{yygotominor.yy180 = yymsp[-1].minor.yy180;}
-#line 2755 "parse.c"
- break;
- case 150: /* using_opt ::= */
- case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179);
-#line 577 "parse.y"
-{yygotominor.yy180 = 0;}
-#line 2761 "parse.c"
- break;
- case 152: /* orderby_opt ::= ORDER BY sortlist */
- case 159: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==159);
- case 238: /* exprlist ::= nexprlist */ yytestcase(yyruleno==238);
-#line 586 "parse.y"
-{yygotominor.yy442 = yymsp[0].minor.yy442;}
-#line 2768 "parse.c"
- break;
- case 153: /* sortlist ::= sortlist COMMA expr sortorder */
-#line 587 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy342.pExpr);
- if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392;
-}
-#line 2776 "parse.c"
- break;
- case 154: /* sortlist ::= expr sortorder */
-#line 591 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr);
- if( yygotominor.yy442 && ALWAYS(yygotominor.yy442->a) ) yygotominor.yy442->a[0].sortOrder = (u8)yymsp[0].minor.yy392;
-}
-#line 2784 "parse.c"
- break;
- case 155: /* sortorder ::= ASC */
- case 157: /* sortorder ::= */ yytestcase(yyruleno==157);
-#line 598 "parse.y"
-{yygotominor.yy392 = SQLITE_SO_ASC;}
-#line 2790 "parse.c"
- break;
- case 156: /* sortorder ::= DESC */
-#line 599 "parse.y"
-{yygotominor.yy392 = SQLITE_SO_DESC;}
-#line 2795 "parse.c"
- break;
- case 162: /* limit_opt ::= */
-#line 625 "parse.y"
-{yygotominor.yy64.pLimit = 0; yygotominor.yy64.pOffset = 0;}
-#line 2800 "parse.c"
- break;
- case 163: /* limit_opt ::= LIMIT expr */
-#line 626 "parse.y"
-{yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yygotominor.yy64.pOffset = 0;}
-#line 2805 "parse.c"
- break;
- case 164: /* limit_opt ::= LIMIT expr OFFSET expr */
-#line 628 "parse.y"
-{yygotominor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pOffset = yymsp[0].minor.yy342.pExpr;}
-#line 2810 "parse.c"
- break;
- case 165: /* limit_opt ::= LIMIT expr COMMA expr */
-#line 630 "parse.y"
-{yygotominor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yygotominor.yy64.pLimit = yymsp[0].minor.yy342.pExpr;}
-#line 2815 "parse.c"
- break;
- case 166: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */
-#line 643 "parse.y"
-{
- sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0);
- sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122);
-}
-#line 2823 "parse.c"
- break;
- case 169: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */
-#line 668 "parse.y"
-{
- sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0);
- sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list");
- sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].minor.yy122,yymsp[-5].minor.yy258);
-}
-#line 2832 "parse.c"
- break;
- case 170: /* setlist ::= setlist COMMA nm EQ expr */
-#line 678 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr);
- sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1);
-}
-#line 2840 "parse.c"
- break;
- case 171: /* setlist ::= nm EQ expr */
-#line 682 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExpr);
- sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1);
-}
-#line 2848 "parse.c"
- break;
- case 172: /* cmd ::= insert_cmd INTO fullname inscollist_opt valuelist */
-#line 690 "parse.y"
-{sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);}
-#line 2853 "parse.c"
- break;
- case 173: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */
-#line 692 "parse.y"
-{sqlite3Insert(pParse, yymsp[-2].minor.yy347, 0, yymsp[0].minor.yy159, yymsp[-1].minor.yy180, yymsp[-4].minor.yy258);}
-#line 2858 "parse.c"
- break;
- case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */
-#line 694 "parse.y"
-{sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, 0, yymsp[-2].minor.yy180, yymsp[-5].minor.yy258);}
-#line 2863 "parse.c"
- break;
- case 175: /* insert_cmd ::= INSERT orconf */
-#line 697 "parse.y"
-{yygotominor.yy258 = yymsp[0].minor.yy258;}
-#line 2868 "parse.c"
- break;
- case 176: /* insert_cmd ::= REPLACE */
-#line 698 "parse.y"
-{yygotominor.yy258 = OE_Replace;}
-#line 2873 "parse.c"
- break;
- case 177: /* valuelist ::= VALUES LP nexprlist RP */
-#line 712 "parse.y"
-{
- yygotominor.yy487.pList = yymsp[-1].minor.yy442;
- yygotominor.yy487.pSelect = 0;
-}
-#line 2881 "parse.c"
- break;
- case 178: /* valuelist ::= valuelist COMMA LP exprlist RP */
-#line 720 "parse.y"
-{
- Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy442, 0, 0, 0, 0, 0, 0, 0, 0);
- if( yymsp[-4].minor.yy487.pList ){
- yymsp[-4].minor.yy487.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy487.pList, 0, 0, 0, 0, 0, 0, 0, 0);
- yymsp[-4].minor.yy487.pList = 0;
- }
- yygotominor.yy487.pList = 0;
- if( yymsp[-4].minor.yy487.pSelect==0 || pRight==0 ){
- sqlite3SelectDelete(pParse->db, pRight);
- sqlite3SelectDelete(pParse->db, yymsp[-4].minor.yy487.pSelect);
- yygotominor.yy487.pSelect = 0;
- }else{
- pRight->op = TK_ALL;
- pRight->pPrior = yymsp[-4].minor.yy487.pSelect;
- pRight->selFlags |= SF_Values;
- pRight->pPrior->selFlags |= SF_Values;
- yygotominor.yy487.pSelect = pRight;
- }
-}
-#line 2904 "parse.c"
- break;
- case 181: /* inscollist ::= inscollist COMMA nm */
-#line 749 "parse.y"
-{yygotominor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp[0].minor.yy0);}
-#line 2909 "parse.c"
- break;
- case 182: /* inscollist ::= nm */
-#line 751 "parse.y"
-{yygotominor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);}
-#line 2914 "parse.c"
- break;
- case 183: /* expr ::= term */
-#line 782 "parse.y"
-{yygotominor.yy342 = yymsp[0].minor.yy342;}
-#line 2919 "parse.c"
- break;
- case 184: /* expr ::= LP expr RP */
-#line 783 "parse.y"
-{yygotominor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr; spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);}
-#line 2924 "parse.c"
- break;
- case 185: /* term ::= NULL */
- case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190);
- case 191: /* term ::= STRING */ yytestcase(yyruleno==191);
-#line 784 "parse.y"
-{spanExpr(&yygotominor.yy342, pParse, yymsp[0].major, &yymsp[0].minor.yy0);}
-#line 2931 "parse.c"
- break;
- case 186: /* expr ::= id */
- case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187);
-#line 785 "parse.y"
-{spanExpr(&yygotominor.yy342, pParse, TK_ID, &yymsp[0].minor.yy0);}
-#line 2937 "parse.c"
- break;
- case 188: /* expr ::= nm DOT nm */
-#line 787 "parse.y"
-{
- Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
- Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0);
- spanSet(&yygotominor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);
-}
-#line 2947 "parse.c"
- break;
- case 189: /* expr ::= nm DOT nm DOT nm */
-#line 793 "parse.y"
-{
- Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0);
- Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0);
- Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0);
- Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0);
- spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
-}
-#line 2959 "parse.c"
- break;
- case 192: /* expr ::= REGISTER */
-#line 803 "parse.y"
-{
- /* When doing a nested parse, one can include terms in an expression
- ** that look like this: #1 #2 ... These terms refer to registers
- ** in the virtual machine. #N is the N-th register. */
- if( pParse->nested==0 ){
- sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0);
- yygotominor.yy342.pExpr = 0;
- }else{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0);
- if( yygotominor.yy342.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy342.pExpr->iTable);
- }
- spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0);
-}
-#line 2976 "parse.c"
- break;
- case 193: /* expr ::= VARIABLE */
-#line 816 "parse.y"
-{
- spanExpr(&yygotominor.yy342, pParse, TK_VARIABLE, &yymsp[0].minor.yy0);
- sqlite3ExprAssignVarNumber(pParse, yygotominor.yy342.pExpr);
- spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0);
-}
-#line 2985 "parse.c"
- break;
- case 194: /* expr ::= expr COLLATE ids */
-#line 821 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy342.pExpr, &yymsp[0].minor.yy0);
- yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
-}
-#line 2994 "parse.c"
- break;
- case 195: /* expr ::= CAST LP expr AS typetoken RP */
-#line 827 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342.pExpr, 0, &yymsp[-1].minor.yy0);
- spanSet(&yygotominor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);
-}
-#line 3002 "parse.c"
- break;
- case 196: /* expr ::= ID LP distinct exprlist RP */
-#line 832 "parse.y"
-{
- if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){
- sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0);
- }
- yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0);
- spanSet(&yygotominor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
- if( yymsp[-2].minor.yy305 && yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->flags |= EP_Distinct;
- }
-}
-#line 3016 "parse.c"
- break;
- case 197: /* expr ::= ID LP STAR RP */
-#line 842 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0);
- spanSet(&yygotominor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
-}
-#line 3024 "parse.c"
- break;
- case 198: /* term ::= CTIME_KW */
-#line 846 "parse.y"
-{
- /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are
- ** treated as functions that return constants */
- yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, 0,&yymsp[0].minor.yy0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->op = TK_CONST_FUNC;
- }
- spanSet(&yygotominor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0);
-}
-#line 3037 "parse.c"
- break;
- case 199: /* expr ::= expr AND expr */
- case 200: /* expr ::= expr OR expr */ yytestcase(yyruleno==200);
- case 201: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==201);
- case 202: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==202);
- case 203: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==203);
- case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204);
- case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205);
- case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206);
-#line 873 "parse.y"
-{spanBinaryExpr(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);}
-#line 3049 "parse.c"
- break;
- case 207: /* likeop ::= LIKE_KW */
- case 209: /* likeop ::= MATCH */ yytestcase(yyruleno==209);
-#line 886 "parse.y"
-{yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 0;}
-#line 3055 "parse.c"
- break;
- case 208: /* likeop ::= NOT LIKE_KW */
- case 210: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==210);
-#line 887 "parse.y"
-{yygotominor.yy318.eOperator = yymsp[0].minor.yy0; yygotominor.yy318.bNot = 1;}
-#line 3061 "parse.c"
- break;
- case 211: /* expr ::= expr likeop expr */
-#line 890 "parse.y"
-{
- ExprList *pList;
- pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr);
- pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr);
- yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator);
- if( yymsp[-1].minor.yy318.bNot ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0);
- yygotominor.yy342.zStart = yymsp[-2].minor.yy342.zStart;
- yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd;
- if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc;
-}
-#line 3075 "parse.c"
- break;
- case 212: /* expr ::= expr likeop expr ESCAPE expr */
-#line 900 "parse.y"
-{
- ExprList *pList;
- pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr);
- pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr);
- pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr);
- yygotominor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy318.eOperator);
- if( yymsp[-3].minor.yy318.bNot ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0);
- yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart;
- yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd;
- if( yygotominor.yy342.pExpr ) yygotominor.yy342.pExpr->flags |= EP_InfixFunc;
-}
-#line 3090 "parse.c"
- break;
- case 213: /* expr ::= expr ISNULL|NOTNULL */
-#line 928 "parse.y"
-{spanUnaryPostfix(&yygotominor.yy342,pParse,yymsp[0].major,&yymsp[-1].minor.yy342,&yymsp[0].minor.yy0);}
-#line 3095 "parse.c"
- break;
- case 214: /* expr ::= expr NOT NULL */
-#line 929 "parse.y"
-{spanUnaryPostfix(&yygotominor.yy342,pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy0);}
-#line 3100 "parse.c"
- break;
- case 215: /* expr ::= expr IS expr */
-#line 950 "parse.y"
-{
- spanBinaryExpr(&yygotominor.yy342,pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);
- binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_ISNULL);
-}
-#line 3108 "parse.c"
- break;
- case 216: /* expr ::= expr IS NOT expr */
-#line 954 "parse.y"
-{
- spanBinaryExpr(&yygotominor.yy342,pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yymsp[0].minor.yy342);
- binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yygotominor.yy342.pExpr, TK_NOTNULL);
-}
-#line 3116 "parse.c"
- break;
- case 217: /* expr ::= NOT expr */
- case 218: /* expr ::= BITNOT expr */ yytestcase(yyruleno==218);
-#line 977 "parse.y"
-{spanUnaryPrefix(&yygotominor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);}
-#line 3122 "parse.c"
- break;
- case 219: /* expr ::= MINUS expr */
-#line 980 "parse.y"
-{spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);}
-#line 3127 "parse.c"
- break;
- case 220: /* expr ::= PLUS expr */
-#line 982 "parse.y"
-{spanUnaryPrefix(&yygotominor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);}
-#line 3132 "parse.c"
- break;
- case 223: /* expr ::= expr between_op expr AND expr */
-#line 987 "parse.y"
-{
- ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr);
- pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr);
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy342.pExpr, 0, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->x.pList = pList;
- }else{
- sqlite3ExprListDelete(pParse->db, pList);
- }
- if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0);
- yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart;
- yygotominor.yy342.zEnd = yymsp[0].minor.yy342.zEnd;
-}
-#line 3149 "parse.c"
- break;
- case 226: /* expr ::= expr in_op LP exprlist RP */
-#line 1004 "parse.y"
-{
- if( yymsp[-1].minor.yy442==0 ){
- /* Expressions of the form
- **
- ** expr1 IN ()
- ** expr1 NOT IN ()
- **
- ** simplify to constants 0 (false) and 1 (true), respectively,
- ** regardless of the value of expr1.
- */
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy392]);
- sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy342.pExpr);
- }else{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->x.pList = yymsp[-1].minor.yy442;
- sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr);
- }else{
- sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442);
- }
- if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0);
- }
- yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
- }
-#line 3178 "parse.c"
- break;
- case 227: /* expr ::= LP select RP */
-#line 1029 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159;
- ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect);
- sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr);
- }else{
- sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159);
- }
- yygotominor.yy342.zStart = yymsp[-2].minor.yy0.z;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
- }
-#line 3194 "parse.c"
- break;
- case 228: /* expr ::= expr in_op LP select RP */
-#line 1041 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159;
- ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect);
- sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr);
- }else{
- sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159);
- }
- if( yymsp[-3].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0);
- yygotominor.yy342.zStart = yymsp[-4].minor.yy342.zStart;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
- }
-#line 3211 "parse.c"
- break;
- case 229: /* expr ::= expr in_op nm dbnm */
-#line 1054 "parse.y"
-{
- SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342.pExpr, 0, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0);
- ExprSetProperty(yygotominor.yy342.pExpr, EP_xIsSelect);
- sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr);
- }else{
- sqlite3SrcListDelete(pParse->db, pSrc);
- }
- if( yymsp[-2].minor.yy392 ) yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy342.pExpr, 0, 0);
- yygotominor.yy342.zStart = yymsp[-3].minor.yy342.zStart;
- yygotominor.yy342.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n];
- }
-#line 3229 "parse.c"
- break;
- case 230: /* expr ::= EXISTS LP select RP */
-#line 1068 "parse.y"
-{
- Expr *p = yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0);
- if( p ){
- p->x.pSelect = yymsp[-1].minor.yy159;
- ExprSetProperty(p, EP_xIsSelect);
- sqlite3ExprSetHeight(pParse, p);
- }else{
- sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159);
- }
- yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
- }
-#line 3245 "parse.c"
- break;
- case 231: /* expr ::= CASE case_operand case_exprlist case_else END */
-#line 1083 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, yymsp[-1].minor.yy122, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->x.pList = yymsp[-2].minor.yy442;
- sqlite3ExprSetHeight(pParse, yygotominor.yy342.pExpr);
- }else{
- sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442);
- }
- yygotominor.yy342.zStart = yymsp[-4].minor.yy0.z;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
-}
-#line 3260 "parse.c"
- break;
- case 232: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */
-#line 1096 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy342.pExpr);
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr);
-}
-#line 3268 "parse.c"
- break;
- case 233: /* case_exprlist ::= WHEN expr THEN expr */
-#line 1100 "parse.y"
-{
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr);
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,yygotominor.yy442, yymsp[0].minor.yy342.pExpr);
-}
-#line 3276 "parse.c"
- break;
- case 240: /* nexprlist ::= nexprlist COMMA expr */
-#line 1121 "parse.y"
-{yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy342.pExpr);}
-#line 3281 "parse.c"
- break;
- case 241: /* nexprlist ::= expr */
-#line 1123 "parse.y"
-{yygotominor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr);}
-#line 3286 "parse.c"
- break;
- case 242: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt */
-#line 1129 "parse.y"
-{
- sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0,
- sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy442, yymsp[-10].minor.yy392,
- &yymsp[-11].minor.yy0, yymsp[0].minor.yy122, SQLITE_SO_ASC, yymsp[-8].minor.yy392);
-}
-#line 3295 "parse.c"
- break;
- case 243: /* uniqueflag ::= UNIQUE */
- case 296: /* raisetype ::= ABORT */ yytestcase(yyruleno==296);
-#line 1136 "parse.y"
-{yygotominor.yy392 = OE_Abort;}
-#line 3301 "parse.c"
- break;
- case 244: /* uniqueflag ::= */
-#line 1137 "parse.y"
-{yygotominor.yy392 = OE_None;}
-#line 3306 "parse.c"
- break;
- case 247: /* idxlist ::= idxlist COMMA nm collate sortorder */
-#line 1146 "parse.y"
-{
- Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &yymsp[-1].minor.yy0);
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, p);
- sqlite3ExprListSetName(pParse,yygotominor.yy442,&yymsp[-2].minor.yy0,1);
- sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index");
- if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392;
-}
-#line 3317 "parse.c"
- break;
- case 248: /* idxlist ::= nm collate sortorder */
-#line 1153 "parse.y"
-{
- Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &yymsp[-1].minor.yy0);
- yygotominor.yy442 = sqlite3ExprListAppend(pParse,0, p);
- sqlite3ExprListSetName(pParse, yygotominor.yy442, &yymsp[-2].minor.yy0, 1);
- sqlite3ExprListCheckLength(pParse, yygotominor.yy442, "index");
- if( yygotominor.yy442 ) yygotominor.yy442->a[yygotominor.yy442->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy392;
-}
-#line 3328 "parse.c"
- break;
- case 249: /* collate ::= */
-#line 1162 "parse.y"
-{yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;}
-#line 3333 "parse.c"
- break;
- case 251: /* cmd ::= DROP INDEX ifexists fullname */
-#line 1168 "parse.y"
-{sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);}
-#line 3338 "parse.c"
- break;
- case 252: /* cmd ::= VACUUM */
- case 253: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==253);
-#line 1174 "parse.y"
-{sqlite3Vacuum(pParse);}
-#line 3344 "parse.c"
- break;
- case 254: /* cmd ::= PRAGMA nm dbnm */
-#line 1182 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);}
-#line 3349 "parse.c"
- break;
- case 255: /* cmd ::= PRAGMA nm dbnm EQ nmnum */
-#line 1183 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);}
-#line 3354 "parse.c"
- break;
- case 256: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */
-#line 1184 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);}
-#line 3359 "parse.c"
- break;
- case 257: /* cmd ::= PRAGMA nm dbnm EQ minus_num */
-#line 1186 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);}
-#line 3364 "parse.c"
- break;
- case 258: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */
-#line 1188 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);}
-#line 3369 "parse.c"
- break;
- case 268: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */
-#line 1205 "parse.y"
-{
- Token all;
- all.z = yymsp[-3].minor.yy0.z;
- all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n;
- sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all);
-}
-#line 3379 "parse.c"
- break;
- case 269: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */
-#line 1214 "parse.y"
-{
- sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy392, yymsp[-4].minor.yy410.a, yymsp[-4].minor.yy410.b, yymsp[-2].minor.yy347, yymsp[0].minor.yy122, yymsp[-10].minor.yy392, yymsp[-8].minor.yy392);
- yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0);
-}
-#line 3387 "parse.c"
- break;
- case 270: /* trigger_time ::= BEFORE */
- case 273: /* trigger_time ::= */ yytestcase(yyruleno==273);
-#line 1220 "parse.y"
-{ yygotominor.yy392 = TK_BEFORE; }
-#line 3393 "parse.c"
- break;
- case 271: /* trigger_time ::= AFTER */
-#line 1221 "parse.y"
-{ yygotominor.yy392 = TK_AFTER; }
-#line 3398 "parse.c"
- break;
- case 272: /* trigger_time ::= INSTEAD OF */
-#line 1222 "parse.y"
-{ yygotominor.yy392 = TK_INSTEAD;}
-#line 3403 "parse.c"
- break;
- case 274: /* trigger_event ::= DELETE|INSERT */
- case 275: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==275);
-#line 1227 "parse.y"
-{yygotominor.yy410.a = yymsp[0].major; yygotominor.yy410.b = 0;}
-#line 3409 "parse.c"
- break;
- case 276: /* trigger_event ::= UPDATE OF inscollist */
-#line 1229 "parse.y"
-{yygotominor.yy410.a = TK_UPDATE; yygotominor.yy410.b = yymsp[0].minor.yy180;}
-#line 3414 "parse.c"
- break;
- case 279: /* when_clause ::= */
- case 301: /* key_opt ::= */ yytestcase(yyruleno==301);
-#line 1236 "parse.y"
-{ yygotominor.yy122 = 0; }
-#line 3420 "parse.c"
- break;
- case 280: /* when_clause ::= WHEN expr */
- case 302: /* key_opt ::= KEY expr */ yytestcase(yyruleno==302);
-#line 1237 "parse.y"
-{ yygotominor.yy122 = yymsp[0].minor.yy342.pExpr; }
-#line 3426 "parse.c"
- break;
- case 281: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */
-#line 1241 "parse.y"
-{
- assert( yymsp[-2].minor.yy327!=0 );
- yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327;
- yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327;
- yygotominor.yy327 = yymsp[-2].minor.yy327;
-}
-#line 3436 "parse.c"
- break;
- case 282: /* trigger_cmd_list ::= trigger_cmd SEMI */
-#line 1247 "parse.y"
-{
- assert( yymsp[-1].minor.yy327!=0 );
- yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327;
- yygotominor.yy327 = yymsp[-1].minor.yy327;
-}
-#line 3445 "parse.c"
- break;
- case 284: /* trnm ::= nm DOT nm */
-#line 1259 "parse.y"
-{
- yygotominor.yy0 = yymsp[0].minor.yy0;
- sqlite3ErrorMsg(pParse,
- "qualified table names are not allowed on INSERT, UPDATE, and DELETE "
- "statements within triggers");
-}
-#line 3455 "parse.c"
- break;
- case 286: /* tridxby ::= INDEXED BY nm */
-#line 1271 "parse.y"
-{
- sqlite3ErrorMsg(pParse,
- "the INDEXED BY clause is not allowed on UPDATE or DELETE statements "
- "within triggers");
-}
-#line 3464 "parse.c"
- break;
- case 287: /* tridxby ::= NOT INDEXED */
-#line 1276 "parse.y"
-{
- sqlite3ErrorMsg(pParse,
- "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements "
- "within triggers");
-}
-#line 3473 "parse.c"
- break;
- case 288: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */
-#line 1289 "parse.y"
-{ yygotominor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy442, yymsp[0].minor.yy122, yymsp[-5].minor.yy258); }
-#line 3478 "parse.c"
- break;
- case 289: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist */
-#line 1294 "parse.y"
-{yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, yymsp[0].minor.yy487.pList, yymsp[0].minor.yy487.pSelect, yymsp[-4].minor.yy258);}
-#line 3483 "parse.c"
- break;
- case 290: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */
-#line 1297 "parse.y"
-{yygotominor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, 0, yymsp[0].minor.yy159, yymsp[-4].minor.yy258);}
-#line 3488 "parse.c"
- break;
- case 291: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */
-#line 1301 "parse.y"
-{yygotominor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy122);}
-#line 3493 "parse.c"
- break;
- case 292: /* trigger_cmd ::= select */
-#line 1304 "parse.y"
-{yygotominor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); }
-#line 3498 "parse.c"
- break;
- case 293: /* expr ::= RAISE LP IGNORE RP */
-#line 1307 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0);
- if( yygotominor.yy342.pExpr ){
- yygotominor.yy342.pExpr->affinity = OE_Ignore;
- }
- yygotominor.yy342.zStart = yymsp[-3].minor.yy0.z;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
-}
-#line 3510 "parse.c"
- break;
- case 294: /* expr ::= RAISE LP raisetype COMMA nm RP */
-#line 1315 "parse.y"
-{
- yygotominor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0);
- if( yygotominor.yy342.pExpr ) {
- yygotominor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392;
- }
- yygotominor.yy342.zStart = yymsp[-5].minor.yy0.z;
- yygotominor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n];
-}
-#line 3522 "parse.c"
- break;
- case 295: /* raisetype ::= ROLLBACK */
-#line 1326 "parse.y"
-{yygotominor.yy392 = OE_Rollback;}
-#line 3527 "parse.c"
- break;
- case 297: /* raisetype ::= FAIL */
-#line 1328 "parse.y"
-{yygotominor.yy392 = OE_Fail;}
-#line 3532 "parse.c"
- break;
- case 298: /* cmd ::= DROP TRIGGER ifexists fullname */
-#line 1333 "parse.y"
-{
- sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392);
-}
-#line 3539 "parse.c"
- break;
- case 299: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */
-#line 1340 "parse.y"
-{
- sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr, yymsp[0].minor.yy122);
-}
-#line 3546 "parse.c"
- break;
- case 300: /* cmd ::= DETACH database_kw_opt expr */
-#line 1343 "parse.y"
-{
- sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr);
-}
-#line 3553 "parse.c"
- break;
- case 305: /* cmd ::= REINDEX */
-#line 1358 "parse.y"
-{sqlite3Reindex(pParse, 0, 0);}
-#line 3558 "parse.c"
- break;
- case 306: /* cmd ::= REINDEX nm dbnm */
-#line 1359 "parse.y"
-{sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);}
-#line 3563 "parse.c"
- break;
- case 307: /* cmd ::= ANALYZE */
-#line 1364 "parse.y"
-{sqlite3Analyze(pParse, 0, 0);}
-#line 3568 "parse.c"
- break;
- case 308: /* cmd ::= ANALYZE nm dbnm */
-#line 1365 "parse.y"
-{sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);}
-#line 3573 "parse.c"
- break;
- case 309: /* cmd ::= ALTER TABLE fullname RENAME TO nm */
-#line 1370 "parse.y"
-{
- sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0);
-}
-#line 3580 "parse.c"
- break;
- case 310: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */
-#line 1373 "parse.y"
-{
- sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0);
-}
-#line 3587 "parse.c"
- break;
- case 311: /* add_column_fullname ::= fullname */
-#line 1376 "parse.y"
-{
- pParse->db->lookaside.bEnabled = 0;
- sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347);
-}
-#line 3595 "parse.c"
- break;
- case 314: /* cmd ::= create_vtab */
-#line 1386 "parse.y"
-{sqlite3VtabFinishParse(pParse,0);}
-#line 3600 "parse.c"
- break;
- case 315: /* cmd ::= create_vtab LP vtabarglist RP */
-#line 1387 "parse.y"
-{sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);}
-#line 3605 "parse.c"
- break;
- case 316: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */
-#line 1389 "parse.y"
-{
- sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy392);
-}
-#line 3612 "parse.c"
- break;
- case 319: /* vtabarg ::= */
-#line 1394 "parse.y"
-{sqlite3VtabArgInit(pParse);}
-#line 3617 "parse.c"
- break;
- case 321: /* vtabargtoken ::= ANY */
- case 322: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==322);
- case 323: /* lp ::= LP */ yytestcase(yyruleno==323);
-#line 1396 "parse.y"
-{sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);}
-#line 3624 "parse.c"
- break;
- default:
- /* (0) input ::= cmdlist */ yytestcase(yyruleno==0);
- /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1);
- /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2);
- /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3);
- /* (4) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==4);
- /* (10) trans_opt ::= */ yytestcase(yyruleno==10);
- /* (11) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==11);
- /* (12) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==12);
- /* (20) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==20);
- /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21);
- /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25);
- /* (34) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==34);
- /* (35) columnlist ::= column */ yytestcase(yyruleno==35);
- /* (44) type ::= */ yytestcase(yyruleno==44);
- /* (51) signed ::= plus_num */ yytestcase(yyruleno==51);
- /* (52) signed ::= minus_num */ yytestcase(yyruleno==52);
- /* (53) carglist ::= carglist ccons */ yytestcase(yyruleno==53);
- /* (54) carglist ::= */ yytestcase(yyruleno==54);
- /* (61) ccons ::= NULL onconf */ yytestcase(yyruleno==61);
- /* (89) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==89);
- /* (90) conslist ::= tcons */ yytestcase(yyruleno==90);
- /* (92) tconscomma ::= */ yytestcase(yyruleno==92);
- /* (277) foreach_clause ::= */ yytestcase(yyruleno==277);
- /* (278) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==278);
- /* (285) tridxby ::= */ yytestcase(yyruleno==285);
- /* (303) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==303);
- /* (304) database_kw_opt ::= */ yytestcase(yyruleno==304);
- /* (312) kwcolumn_opt ::= */ yytestcase(yyruleno==312);
- /* (313) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==313);
- /* (317) vtabarglist ::= vtabarg */ yytestcase(yyruleno==317);
- /* (318) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==318);
- /* (320) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==320);
- /* (324) anylist ::= */ yytestcase(yyruleno==324);
- /* (325) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==325);
- /* (326) anylist ::= anylist ANY */ yytestcase(yyruleno==326);
- break;
- };
- assert( yyruleno>=0 && yyrulenoyyidx -= yysize;
- yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto);
- if( yyact < YYNSTATE ){
-#ifdef NDEBUG
- /* If we are not debugging and the reduce action popped at least
- ** one element off the stack, then we can push the new element back
- ** onto the stack here, and skip the stack overflow test in yy_shift().
- ** That gives a significant speed improvement. */
- if( yysize ){
- yypParser->yyidx++;
- yymsp -= yysize-1;
- yymsp->stateno = (YYACTIONTYPE)yyact;
- yymsp->major = (YYCODETYPE)yygoto;
- yymsp->minor = yygotominor;
- }else
-#endif
- {
- yy_shift(yypParser,yyact,yygoto,&yygotominor);
- }
- }else{
- assert( yyact == YYNSTATE + YYNRULE + 1 );
- yy_accept(yypParser);
- }
-}
-
-/*
-** The following code executes when the parse fails
-*/
-#ifndef YYNOERRORRECOVERY
-static void yy_parse_failed(
- yyParser *yypParser /* The parser */
-){
- sqlite3ParserARG_FETCH;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
- }
-#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
- /* Here code is inserted which will be executed whenever the
- ** parser fails */
- sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
-}
-#endif /* YYNOERRORRECOVERY */
-
-/*
-** The following code executes when a syntax error first occurs.
-*/
-static void yy_syntax_error(
- yyParser *yypParser, /* The parser */
- int yymajor, /* The major type of the error token */
- YYMINORTYPE yyminor /* The minor type of the error token */
-){
- sqlite3ParserARG_FETCH;
-#define TOKEN (yyminor.yy0)
-#line 32 "parse.y"
-
- UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */
- assert( TOKEN.z[0] ); /* The tokenizer always gives us a token */
- sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN);
-#line 3727 "parse.c"
- sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
-}
-
-/*
-** The following is executed when the parser accepts
-*/
-static void yy_accept(
- yyParser *yypParser /* The parser */
-){
- sqlite3ParserARG_FETCH;
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
- }
-#endif
- while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
- /* Here code is inserted which will be executed whenever the
- ** parser accepts */
- sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
-}
-
-/* The main parser program.
-** The first argument is a pointer to a structure obtained from
-** "sqlite3ParserAlloc" which describes the current state of the parser.
-** The second argument is the major token number. The third is
-** the minor token. The fourth optional argument is whatever the
-** user wants (and specified in the grammar) and is available for
-** use by the action routines.
-**
-** Inputs:
-**
-** - A pointer to the parser (an opaque structure.)
-**
- The major token number.
-**
- The minor token number.
-**
- An option argument of a grammar-specified type.
-**
-**
-** Outputs:
-** None.
-*/
-void sqlite3Parser(
- void *yyp, /* The parser */
- int yymajor, /* The major token code number */
- sqlite3ParserTOKENTYPE yyminor /* The value for the token */
- sqlite3ParserARG_PDECL /* Optional %extra_argument parameter */
-){
- YYMINORTYPE yyminorunion;
- int yyact; /* The parser action. */
-#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
- int yyendofinput; /* True if we are at the end of input */
-#endif
-#ifdef YYERRORSYMBOL
- int yyerrorhit = 0; /* True if yymajor has invoked an error */
-#endif
- yyParser *yypParser; /* The parser */
-
- /* (re)initialize the parser, if necessary */
- yypParser = (yyParser*)yyp;
- if( yypParser->yyidx<0 ){
-#if YYSTACKDEPTH<=0
- if( yypParser->yystksz <=0 ){
- /*memset(&yyminorunion, 0, sizeof(yyminorunion));*/
- yyminorunion = yyzerominor;
- yyStackOverflow(yypParser, &yyminorunion);
- return;
- }
-#endif
- yypParser->yyidx = 0;
- yypParser->yyerrcnt = -1;
- yypParser->yystack[0].stateno = 0;
- yypParser->yystack[0].major = 0;
- }
- yyminorunion.yy0 = yyminor;
-#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
- yyendofinput = (yymajor==0);
-#endif
- sqlite3ParserARG_STORE;
-
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
- }
-#endif
-
- do{
- yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor);
- if( yyactyyerrcnt--;
- yymajor = YYNOCODE;
- }else if( yyact < YYNSTATE + YYNRULE ){
- yy_reduce(yypParser,yyact-YYNSTATE);
- }else{
- assert( yyact == YY_ERROR_ACTION );
-#ifdef YYERRORSYMBOL
- int yymx;
-#endif
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
- }
-#endif
-#ifdef YYERRORSYMBOL
- /* A syntax error has occurred.
- ** The response to an error depends upon whether or not the
- ** grammar defines an error token "ERROR".
- **
- ** This is what we do if the grammar does define ERROR:
- **
- ** * Call the %syntax_error function.
- **
- ** * Begin popping the stack until we enter a state where
- ** it is legal to shift the error symbol, then shift
- ** the error symbol.
- **
- ** * Set the error count to three.
- **
- ** * Begin accepting and shifting new tokens. No new error
- ** processing will occur until three tokens have been
- ** shifted successfully.
- **
- */
- if( yypParser->yyerrcnt<0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
- }
- yymx = yypParser->yystack[yypParser->yyidx].major;
- if( yymx==YYERRORSYMBOL || yyerrorhit ){
-#ifndef NDEBUG
- if( yyTraceFILE ){
- fprintf(yyTraceFILE,"%sDiscard input token %s\n",
- yyTracePrompt,yyTokenName[yymajor]);
- }
-#endif
- yy_destructor(yypParser, (YYCODETYPE)yymajor,&yyminorunion);
- yymajor = YYNOCODE;
- }else{
- while(
- yypParser->yyidx >= 0 &&
- yymx != YYERRORSYMBOL &&
- (yyact = yy_find_reduce_action(
- yypParser->yystack[yypParser->yyidx].stateno,
- YYERRORSYMBOL)) >= YYNSTATE
- ){
- yy_pop_parser_stack(yypParser);
- }
- if( yypParser->yyidx < 0 || yymajor==0 ){
- yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
- yy_parse_failed(yypParser);
- yymajor = YYNOCODE;
- }else if( yymx!=YYERRORSYMBOL ){
- YYMINORTYPE u2;
- u2.YYERRSYMDT = 0;
- yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
- }
- }
- yypParser->yyerrcnt = 3;
- yyerrorhit = 1;
-#elif defined(YYNOERRORRECOVERY)
- /* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
- ** do any kind of error recovery. Instead, simply invoke the syntax
- ** error routine and continue going as if nothing had happened.
- **
- ** Applications can set this macro (for example inside %include) if
- ** they intend to abandon the parse upon the first syntax error seen.
- */
- yy_syntax_error(yypParser,yymajor,yyminorunion);
- yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
- yymajor = YYNOCODE;
-
-#else /* YYERRORSYMBOL is not defined */
- /* This is what we do if the grammar does not define ERROR:
- **
- ** * Report an error message, and throw away the input token.
- **
- ** * If the input token is $, then fail the parse.
- **
- ** As before, subsequent error messages are suppressed until
- ** three input tokens have been successfully shifted.
- */
- if( yypParser->yyerrcnt<=0 ){
- yy_syntax_error(yypParser,yymajor,yyminorunion);
- }
- yypParser->yyerrcnt = 3;
- yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion);
- if( yyendofinput ){
- yy_parse_failed(yypParser);
- }
- yymajor = YYNOCODE;
-#endif
- }
- }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
- return;
-}
diff --git a/parse.h b/parse.h
deleted file mode 100644
index 536f6328..00000000
--- a/parse.h
+++ /dev/null
@@ -1,157 +0,0 @@
-#define TK_SEMI 1
-#define TK_EXPLAIN 2
-#define TK_QUERY 3
-#define TK_PLAN 4
-#define TK_BEGIN 5
-#define TK_TRANSACTION 6
-#define TK_DEFERRED 7
-#define TK_IMMEDIATE 8
-#define TK_EXCLUSIVE 9
-#define TK_COMMIT 10
-#define TK_END 11
-#define TK_ROLLBACK 12
-#define TK_SAVEPOINT 13
-#define TK_RELEASE 14
-#define TK_TO 15
-#define TK_TABLE 16
-#define TK_CREATE 17
-#define TK_IF 18
-#define TK_NOT 19
-#define TK_EXISTS 20
-#define TK_TEMP 21
-#define TK_LP 22
-#define TK_RP 23
-#define TK_AS 24
-#define TK_COMMA 25
-#define TK_ID 26
-#define TK_INDEXED 27
-#define TK_ABORT 28
-#define TK_ACTION 29
-#define TK_AFTER 30
-#define TK_ANALYZE 31
-#define TK_ASC 32
-#define TK_ATTACH 33
-#define TK_BEFORE 34
-#define TK_BY 35
-#define TK_CASCADE 36
-#define TK_CAST 37
-#define TK_COLUMNKW 38
-#define TK_CONFLICT 39
-#define TK_DATABASE 40
-#define TK_DESC 41
-#define TK_DETACH 42
-#define TK_EACH 43
-#define TK_FAIL 44
-#define TK_FOR 45
-#define TK_IGNORE 46
-#define TK_INITIALLY 47
-#define TK_INSTEAD 48
-#define TK_LIKE_KW 49
-#define TK_MATCH 50
-#define TK_NO 51
-#define TK_KEY 52
-#define TK_OF 53
-#define TK_OFFSET 54
-#define TK_PRAGMA 55
-#define TK_RAISE 56
-#define TK_REPLACE 57
-#define TK_RESTRICT 58
-#define TK_ROW 59
-#define TK_TRIGGER 60
-#define TK_VACUUM 61
-#define TK_VIEW 62
-#define TK_VIRTUAL 63
-#define TK_REINDEX 64
-#define TK_RENAME 65
-#define TK_CTIME_KW 66
-#define TK_ANY 67
-#define TK_OR 68
-#define TK_AND 69
-#define TK_IS 70
-#define TK_BETWEEN 71
-#define TK_IN 72
-#define TK_ISNULL 73
-#define TK_NOTNULL 74
-#define TK_NE 75
-#define TK_EQ 76
-#define TK_GT 77
-#define TK_LE 78
-#define TK_LT 79
-#define TK_GE 80
-#define TK_ESCAPE 81
-#define TK_BITAND 82
-#define TK_BITOR 83
-#define TK_LSHIFT 84
-#define TK_RSHIFT 85
-#define TK_PLUS 86
-#define TK_MINUS 87
-#define TK_STAR 88
-#define TK_SLASH 89
-#define TK_REM 90
-#define TK_CONCAT 91
-#define TK_COLLATE 92
-#define TK_BITNOT 93
-#define TK_STRING 94
-#define TK_JOIN_KW 95
-#define TK_CONSTRAINT 96
-#define TK_DEFAULT 97
-#define TK_NULL 98
-#define TK_PRIMARY 99
-#define TK_UNIQUE 100
-#define TK_CHECK 101
-#define TK_REFERENCES 102
-#define TK_AUTOINCR 103
-#define TK_ON 104
-#define TK_INSERT 105
-#define TK_DELETE 106
-#define TK_UPDATE 107
-#define TK_SET 108
-#define TK_DEFERRABLE 109
-#define TK_FOREIGN 110
-#define TK_DROP 111
-#define TK_UNION 112
-#define TK_ALL 113
-#define TK_EXCEPT 114
-#define TK_INTERSECT 115
-#define TK_SELECT 116
-#define TK_DISTINCT 117
-#define TK_DOT 118
-#define TK_FROM 119
-#define TK_JOIN 120
-#define TK_USING 121
-#define TK_ORDER 122
-#define TK_GROUP 123
-#define TK_HAVING 124
-#define TK_LIMIT 125
-#define TK_WHERE 126
-#define TK_INTO 127
-#define TK_VALUES 128
-#define TK_INTEGER 129
-#define TK_FLOAT 130
-#define TK_BLOB 131
-#define TK_REGISTER 132
-#define TK_VARIABLE 133
-#define TK_CASE 134
-#define TK_WHEN 135
-#define TK_THEN 136
-#define TK_ELSE 137
-#define TK_INDEX 138
-#define TK_ALTER 139
-#define TK_ADD 140
-#define TK_TO_TEXT 141
-#define TK_TO_BLOB 142
-#define TK_TO_NUMERIC 143
-#define TK_TO_INT 144
-#define TK_TO_REAL 145
-#define TK_ISNOT 146
-#define TK_END_OF_FILE 147
-#define TK_ILLEGAL 148
-#define TK_SPACE 149
-#define TK_UNCLOSED_STRING 150
-#define TK_FUNCTION 151
-#define TK_COLUMN 152
-#define TK_AGG_FUNCTION 153
-#define TK_AGG_COLUMN 154
-#define TK_CONST_FUNC 155
-#define TK_UMINUS 156
-#define TK_UPLUS 157
diff --git a/parse.h.temp b/parse.h.temp
deleted file mode 100644
index 10832338..00000000
--- a/parse.h.temp
+++ /dev/null
@@ -1,140 +0,0 @@
-#define TK_SEMI 1
-#define TK_EXPLAIN 2
-#define TK_QUERY 3
-#define TK_PLAN 4
-#define TK_BEGIN 5
-#define TK_TRANSACTION 6
-#define TK_DEFERRED 7
-#define TK_IMMEDIATE 8
-#define TK_EXCLUSIVE 9
-#define TK_COMMIT 10
-#define TK_END 11
-#define TK_ROLLBACK 12
-#define TK_SAVEPOINT 13
-#define TK_RELEASE 14
-#define TK_TO 15
-#define TK_TABLE 16
-#define TK_CREATE 17
-#define TK_IF 18
-#define TK_NOT 19
-#define TK_EXISTS 20
-#define TK_TEMP 21
-#define TK_LP 22
-#define TK_RP 23
-#define TK_AS 24
-#define TK_COMMA 25
-#define TK_ID 26
-#define TK_INDEXED 27
-#define TK_ABORT 28
-#define TK_ACTION 29
-#define TK_AFTER 30
-#define TK_ANALYZE 31
-#define TK_ASC 32
-#define TK_ATTACH 33
-#define TK_BEFORE 34
-#define TK_BY 35
-#define TK_CASCADE 36
-#define TK_CAST 37
-#define TK_COLUMNKW 38
-#define TK_CONFLICT 39
-#define TK_DATABASE 40
-#define TK_DESC 41
-#define TK_DETACH 42
-#define TK_EACH 43
-#define TK_FAIL 44
-#define TK_FOR 45
-#define TK_IGNORE 46
-#define TK_INITIALLY 47
-#define TK_INSTEAD 48
-#define TK_LIKE_KW 49
-#define TK_MATCH 50
-#define TK_NO 51
-#define TK_KEY 52
-#define TK_OF 53
-#define TK_OFFSET 54
-#define TK_PRAGMA 55
-#define TK_RAISE 56
-#define TK_REPLACE 57
-#define TK_RESTRICT 58
-#define TK_ROW 59
-#define TK_TRIGGER 60
-#define TK_VACUUM 61
-#define TK_VIEW 62
-#define TK_VIRTUAL 63
-#define TK_REINDEX 64
-#define TK_RENAME 65
-#define TK_CTIME_KW 66
-#define TK_ANY 67
-#define TK_OR 68
-#define TK_AND 69
-#define TK_IS 70
-#define TK_BETWEEN 71
-#define TK_IN 72
-#define TK_ISNULL 73
-#define TK_NOTNULL 74
-#define TK_NE 75
-#define TK_EQ 76
-#define TK_GT 77
-#define TK_LE 78
-#define TK_LT 79
-#define TK_GE 80
-#define TK_ESCAPE 81
-#define TK_BITAND 82
-#define TK_BITOR 83
-#define TK_LSHIFT 84
-#define TK_RSHIFT 85
-#define TK_PLUS 86
-#define TK_MINUS 87
-#define TK_STAR 88
-#define TK_SLASH 89
-#define TK_REM 90
-#define TK_CONCAT 91
-#define TK_COLLATE 92
-#define TK_BITNOT 93
-#define TK_STRING 94
-#define TK_JOIN_KW 95
-#define TK_CONSTRAINT 96
-#define TK_DEFAULT 97
-#define TK_NULL 98
-#define TK_PRIMARY 99
-#define TK_UNIQUE 100
-#define TK_CHECK 101
-#define TK_REFERENCES 102
-#define TK_AUTOINCR 103
-#define TK_ON 104
-#define TK_INSERT 105
-#define TK_DELETE 106
-#define TK_UPDATE 107
-#define TK_SET 108
-#define TK_DEFERRABLE 109
-#define TK_FOREIGN 110
-#define TK_DROP 111
-#define TK_UNION 112
-#define TK_ALL 113
-#define TK_EXCEPT 114
-#define TK_INTERSECT 115
-#define TK_SELECT 116
-#define TK_DISTINCT 117
-#define TK_DOT 118
-#define TK_FROM 119
-#define TK_JOIN 120
-#define TK_USING 121
-#define TK_ORDER 122
-#define TK_GROUP 123
-#define TK_HAVING 124
-#define TK_LIMIT 125
-#define TK_WHERE 126
-#define TK_INTO 127
-#define TK_VALUES 128
-#define TK_INTEGER 129
-#define TK_FLOAT 130
-#define TK_BLOB 131
-#define TK_REGISTER 132
-#define TK_VARIABLE 133
-#define TK_CASE 134
-#define TK_WHEN 135
-#define TK_THEN 136
-#define TK_ELSE 137
-#define TK_INDEX 138
-#define TK_ALTER 139
-#define TK_ADD 140
diff --git a/parse.out b/parse.out
deleted file mode 100644
index 5c897bbc..00000000
--- a/parse.out
+++ /dev/null
@@ -1,11454 +0,0 @@
-State 0:
- input ::= * cmdlist
- cmdlist ::= * cmdlist ecmd
- cmdlist ::= * ecmd
- ecmd ::= * SEMI
- ecmd ::= * explain cmdx SEMI
- (5) explain ::= *
- explain ::= * EXPLAIN
- explain ::= * EXPLAIN QUERY PLAN
-
- SEMI shift 626
- EXPLAIN shift 330
- input accept
- cmdlist shift 184
- ecmd shift 418
- explain shift 2
- {default} reduce 5
-
-State 1:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= expr in_op LP * exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= expr in_op LP * select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- exprlist ::= * nexprlist
- (239) exprlist ::= *
- nexprlist ::= * nexprlist COMMA expr
- nexprlist ::= * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- SELECT shift 235
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- select shift 201
- id shift 413
- term shift 599
- expr shift 92
- oneselect shift 598
- nexprlist shift 397
- exprlist shift 398
- {default} reduce 239
-
-State 2:
- ecmd ::= explain * cmdx SEMI
- cmdx ::= * cmd
- cmd ::= * BEGIN transtype trans_opt
- cmd ::= * COMMIT trans_opt
- cmd ::= * END trans_opt
- cmd ::= * ROLLBACK trans_opt
- cmd ::= * SAVEPOINT nm
- cmd ::= * RELEASE savepoint_opt nm
- cmd ::= * ROLLBACK trans_opt TO savepoint_opt nm
- cmd ::= * create_table create_table_args
- create_table ::= * createkw temp TABLE ifnotexists nm dbnm
- createkw ::= * CREATE
- cmd ::= * DROP TABLE ifexists fullname
- cmd ::= * createkw temp VIEW ifnotexists nm dbnm AS select
- cmd ::= * DROP VIEW ifexists fullname
- cmd ::= * select
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- cmd ::= * DELETE FROM fullname indexed_opt where_opt
- cmd ::= * UPDATE orconf fullname indexed_opt SET setlist where_opt
- cmd ::= * insert_cmd INTO fullname inscollist_opt valuelist
- cmd ::= * insert_cmd INTO fullname inscollist_opt select
- cmd ::= * insert_cmd INTO fullname inscollist_opt DEFAULT VALUES
- insert_cmd ::= * INSERT orconf
- insert_cmd ::= * REPLACE
- cmd ::= * createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt
- cmd ::= * DROP INDEX ifexists fullname
- cmd ::= * VACUUM
- cmd ::= * VACUUM nm
- cmd ::= * PRAGMA nm dbnm
- cmd ::= * PRAGMA nm dbnm EQ nmnum
- cmd ::= * PRAGMA nm dbnm LP nmnum RP
- cmd ::= * PRAGMA nm dbnm EQ minus_num
- cmd ::= * PRAGMA nm dbnm LP minus_num RP
- cmd ::= * createkw trigger_decl BEGIN trigger_cmd_list END
- cmd ::= * DROP TRIGGER ifexists fullname
- cmd ::= * ATTACH database_kw_opt expr AS expr key_opt
- cmd ::= * DETACH database_kw_opt expr
- cmd ::= * REINDEX
- cmd ::= * REINDEX nm dbnm
- cmd ::= * ANALYZE
- cmd ::= * ANALYZE nm dbnm
- cmd ::= * ALTER TABLE fullname RENAME TO nm
- cmd ::= * ALTER TABLE add_column_fullname ADD kwcolumn_opt column
- cmd ::= * create_vtab
- cmd ::= * create_vtab LP vtabarglist RP
- create_vtab ::= * createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm
-
- BEGIN shift 214
- COMMIT shift 302
- END shift 301
- ROLLBACK shift 300
- SAVEPOINT shift 178
- RELEASE shift 298
- CREATE shift 452
- ANALYZE shift 150
- ATTACH shift 241
- DETACH shift 240
- PRAGMA shift 152
- REPLACE shift 465
- VACUUM shift 153
- REINDEX shift 151
- INSERT shift 255
- DELETE shift 342
- UPDATE shift 244
- DROP shift 311
- SELECT shift 235
- ALTER shift 335
- cmdx shift 417
- cmd shift 624
- create_table shift 236
- createkw shift 123
- select shift 204
- oneselect shift 598
- insert_cmd shift 340
- create_vtab shift 331
-
-State 3:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- expr ::= * term
- expr ::= * LP expr RP
- expr ::= LP * expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= LP * select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- SELECT shift 235
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- select shift 202
- id shift 413
- term shift 599
- expr shift 74
- oneselect shift 598
-
-State 4:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- valuelist ::= valuelist COMMA LP * exprlist RP
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- exprlist ::= * nexprlist
- (239) exprlist ::= *
- nexprlist ::= * nexprlist COMMA expr
- nexprlist ::= * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 92
- nexprlist shift 397
- exprlist shift 348
- {default} reduce 239
-
-State 5:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= ID LP distinct * exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- exprlist ::= * nexprlist
- (239) exprlist ::= *
- nexprlist ::= * nexprlist COMMA expr
- nexprlist ::= * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 92
- nexprlist shift 397
- exprlist shift 387
- {default} reduce 239
-
-State 6:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= PRAGMA nm dbnm LP * nmnum RP
- cmd ::= PRAGMA nm dbnm LP * minus_num RP
- nmnum ::= * plus_num
- nmnum ::= * nm
- nmnum ::= * ON
- nmnum ::= * DELETE
- nmnum ::= * DEFAULT
- plus_num ::= * PLUS number
- plus_num ::= * number
- minus_num ::= * MINUS number
- number ::= * INTEGER|FLOAT
-
- ID shift 621
- INDEXED shift 620
- PLUS shift 232
- MINUS shift 231
- STRING shift 618
- JOIN_KW shift 617
- DEFAULT shift 436
- ON shift 438
- DELETE shift 437
- INTEGER shift 570
- FLOAT shift 570
- nm shift 439
- id shift 619
- plus_num shift 440
- minus_num shift 336
- nmnum shift 337
- number shift 569
-
-State 7:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= PRAGMA nm dbnm EQ * nmnum
- cmd ::= PRAGMA nm dbnm EQ * minus_num
- nmnum ::= * plus_num
- nmnum ::= * nm
- nmnum ::= * ON
- nmnum ::= * DELETE
- nmnum ::= * DEFAULT
- plus_num ::= * PLUS number
- plus_num ::= * number
- minus_num ::= * MINUS number
- number ::= * INTEGER|FLOAT
-
- ID shift 621
- INDEXED shift 620
- PLUS shift 232
- MINUS shift 231
- STRING shift 618
- JOIN_KW shift 617
- DEFAULT shift 436
- ON shift 438
- DELETE shift 437
- INTEGER shift 570
- FLOAT shift 570
- nm shift 439
- id shift 619
- plus_num shift 440
- minus_num shift 441
- nmnum shift 442
- number shift 569
-
-State 8:
- columnlist ::= columnlist COMMA * column
- column ::= * columnid type carglist
- columnid ::= * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- conslist_opt ::= COMMA * conslist
- conslist ::= * conslist tconscomma tcons
- conslist ::= * tcons
- tcons ::= * CONSTRAINT nm
- tcons ::= * PRIMARY KEY LP idxlist autoinc RP onconf
- tcons ::= * UNIQUE LP idxlist RP onconf
- tcons ::= * CHECK LP expr RP onconf
- tcons ::= * FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- CONSTRAINT shift 165
- PRIMARY shift 381
- UNIQUE shift 378
- CHECK shift 377
- FOREIGN shift 376
- nm shift 490
- column shift 605
- columnid shift 67
- id shift 619
- conslist shift 222
- tcons shift 481
-
-State 9:
- ids ::= * ID|STRING
- selcollist ::= sclp expr * as
- as ::= * AS nm
- as ::= * ids
- (129) as ::= *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- AS shift 171
- ID shift 595
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- STRING shift 595
- ids shift 542
- as shift 533
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 129
-
-State 10:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- valuelist ::= VALUES LP * nexprlist RP
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- nexprlist ::= * nexprlist COMMA expr
- nexprlist ::= * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 92
- nexprlist shift 318
-
-State 11:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- groupby_opt ::= GROUP BY * nexprlist
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- nexprlist ::= * nexprlist COMMA expr
- nexprlist ::= * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 92
- nexprlist shift 393
-
-State 12:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- orderby_opt ::= ORDER BY * sortlist
- sortlist ::= * sortlist COMMA expr sortorder
- sortlist ::= * expr sortorder
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 16
- sortlist shift 395
-
-State 13:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= CASE * case_operand case_exprlist case_else END
- case_operand ::= * expr
- (237) case_operand ::= *
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 91
- case_operand shift 290
- {default} reduce 237
-
-State 14:
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- insert_cmd ::= * INSERT orconf
- insert_cmd ::= * REPLACE
- cmd ::= createkw trigger_decl BEGIN * trigger_cmd_list END
- trigger_cmd_list ::= * trigger_cmd_list trigger_cmd SEMI
- trigger_cmd_list ::= * trigger_cmd SEMI
- trigger_cmd ::= * UPDATE orconf trnm tridxby SET setlist where_opt
- trigger_cmd ::= * insert_cmd INTO trnm inscollist_opt valuelist
- trigger_cmd ::= * insert_cmd INTO trnm inscollist_opt select
- trigger_cmd ::= * DELETE FROM trnm tridxby where_opt
- trigger_cmd ::= * select
-
- REPLACE shift 465
- INSERT shift 255
- DELETE shift 347
- UPDATE shift 254
- SELECT shift 235
- select shift 206
- oneselect shift 598
- insert_cmd shift 352
- trigger_cmd_list shift 62
- trigger_cmd shift 346
-
-State 15:
- create_table_args ::= LP * columnlist conslist_opt RP
- columnlist ::= * columnlist COMMA column
- columnlist ::= * column
- column ::= * columnid type carglist
- columnid ::= * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 490
- columnlist shift 297
- column shift 480
- columnid shift 67
- id shift 619
-
-State 16:
- sortlist ::= expr * sortorder
- sortorder ::= * ASC
- sortorder ::= * DESC
- (157) sortorder ::= *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- ASC shift 552
- DESC shift 551
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- sortorder shift 550
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 157
-
-State 17:
- sortlist ::= sortlist COMMA expr * sortorder
- sortorder ::= * ASC
- sortorder ::= * DESC
- (157) sortorder ::= *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- ASC shift 552
- DESC shift 551
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- sortorder shift 553
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 157
-
-State 18:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- cmd ::= ATTACH database_kw_opt expr AS expr * key_opt
- (301) key_opt ::= *
- key_opt ::= * KEY expr
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- KEY shift 21
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- key_opt shift 433
- {default} reduce 301
-
-State 19:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- selcollist ::= sclp * expr as
- selcollist ::= sclp * STAR
- selcollist ::= sclp * nm DOT STAR
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- STAR shift 532
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 388
- id shift 413
- term shift 599
- expr shift 9
-
-State 20:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
- cmd ::= DETACH database_kw_opt * expr
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 78
-
-State 21:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
- key_opt ::= KEY * expr
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 79
-
-State 22:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
- cmd ::= ATTACH database_kw_opt expr AS * expr key_opt
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 18
-
-State 23:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
- cmd ::= ATTACH database_kw_opt * expr AS expr key_opt
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 70
-
-State 24:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- setlist ::= nm EQ * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 80
-
-State 25:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- setlist ::= setlist COMMA nm EQ * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 81
-
-State 26:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- when_clause ::= WHEN * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 82
-
-State 27:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tcons ::= CHECK LP * expr RP onconf
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 71
-
-State 28:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- ccons ::= CHECK LP * expr RP
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 72
-
-State 29:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- on_opt ::= ON * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 83
-
-State 30:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- where_opt ::= WHERE * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 84
-
-State 31:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- having_opt ::= HAVING * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 85
-
-State 32:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- sortlist ::= sortlist COMMA * expr sortorder
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 17
-
-State 33:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- limit_opt ::= LIMIT expr COMMA * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 86
-
-State 34:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= expr IS NOT * expr
- expr ::= * NOT expr
- expr ::= NOT * expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 99
-
-State 35:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- nexprlist ::= nexprlist COMMA * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 87
-
-State 36:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- case_exprlist ::= WHEN expr THEN * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 88
-
-State 37:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- case_exprlist ::= WHEN * expr THEN expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 75
-
-State 38:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- case_else ::= ELSE * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 89
-
-State 39:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- case_exprlist ::= case_exprlist WHEN expr THEN * expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 90
-
-State 40:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- case_exprlist ::= case_exprlist WHEN * expr THEN expr
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 76
-
-State 41:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= PLUS * expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 135
-
-State 42:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= MINUS * expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 136
-
-State 43:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= BITNOT * expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 137
-
-State 44:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= NOT * expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 96
-
-State 45:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= CAST LP * expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 77
-
-State 46:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= expr AND * expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= expr between_op expr AND * expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 100
-
-State 47:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= expr between_op * expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 93
-
-State 48:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= expr IS * expr
- expr ::= * expr IS NOT expr
- expr ::= expr IS * NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 34
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 101
-
-State 49:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= expr likeop expr ESCAPE * expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 102
-
-State 50:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= expr likeop * expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= expr likeop * expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 98
-
-State 51:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= expr CONCAT * expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 134
-
-State 52:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= expr STAR|SLASH|REM * expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 133
-
-State 53:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= expr PLUS|MINUS * expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 106
-
-State 54:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT * expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 105
-
-State 55:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= expr EQ|NE * expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 103
-
-State 56:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= expr LT|GT|GE|LE * expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 104
-
-State 57:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= expr OR * expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 95
-
-State 58:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= expr AND * expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 97
-
-State 59:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- limit_opt ::= LIMIT expr OFFSET * expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 94
-
-State 60:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- limit_opt ::= LIMIT * expr
- limit_opt ::= LIMIT * expr OFFSET expr
- limit_opt ::= LIMIT * expr COMMA expr
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 69
-
-State 61:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- ccons ::= DEFAULT LP * expr RP
- expr ::= * term
- expr ::= * LP expr RP
- term ::= * NULL
- expr ::= * id
- expr ::= * JOIN_KW
- expr ::= * nm DOT nm
- expr ::= * nm DOT nm DOT nm
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- expr ::= * REGISTER
- expr ::= * VARIABLE
- expr ::= * expr COLLATE ids
- expr ::= * CAST LP expr AS typetoken RP
- expr ::= * ID LP distinct exprlist RP
- expr ::= * ID LP STAR RP
- term ::= * CTIME_KW
- expr ::= * expr AND expr
- expr ::= * expr OR expr
- expr ::= * expr LT|GT|GE|LE expr
- expr ::= * expr EQ|NE expr
- expr ::= * expr BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= * expr PLUS|MINUS expr
- expr ::= * expr STAR|SLASH|REM expr
- expr ::= * expr CONCAT expr
- expr ::= * expr likeop expr
- expr ::= * expr likeop expr ESCAPE expr
- expr ::= * expr ISNULL|NOTNULL
- expr ::= * expr NOT NULL
- expr ::= * expr IS expr
- expr ::= * expr IS NOT expr
- expr ::= * NOT expr
- expr ::= * BITNOT expr
- expr ::= * MINUS expr
- expr ::= * PLUS expr
- expr ::= * expr between_op expr AND expr
- expr ::= * expr in_op LP exprlist RP
- expr ::= * LP select RP
- expr ::= * expr in_op LP select RP
- expr ::= * expr in_op nm dbnm
- expr ::= * EXISTS LP select RP
- expr ::= * CASE case_operand case_exprlist case_else END
- expr ::= * RAISE LP IGNORE RP
- expr ::= * RAISE LP raisetype COMMA nm RP
-
- NOT shift 44
- EXISTS shift 404
- LP shift 3
- ID shift 414
- INDEXED shift 620
- CAST shift 407
- RAISE shift 402
- CTIME_KW shift 564
- PLUS shift 41
- MINUS shift 42
- BITNOT shift 43
- STRING shift 412
- JOIN_KW shift 411
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- REGISTER shift 590
- VARIABLE shift 589
- CASE shift 13
- nm shift 410
- id shift 413
- term shift 599
- expr shift 73
-
-State 62:
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- insert_cmd ::= * INSERT orconf
- insert_cmd ::= * REPLACE
- cmd ::= createkw trigger_decl BEGIN trigger_cmd_list * END
- trigger_cmd_list ::= trigger_cmd_list * trigger_cmd SEMI
- trigger_cmd ::= * UPDATE orconf trnm tridxby SET setlist where_opt
- trigger_cmd ::= * insert_cmd INTO trnm inscollist_opt valuelist
- trigger_cmd ::= * insert_cmd INTO trnm inscollist_opt select
- trigger_cmd ::= * DELETE FROM trnm tridxby where_opt
- trigger_cmd ::= * select
-
- END shift 464
- REPLACE shift 465
- INSERT shift 255
- DELETE shift 347
- UPDATE shift 254
- SELECT shift 235
- select shift 206
- oneselect shift 598
- insert_cmd shift 352
- trigger_cmd shift 359
-
-State 63:
- column ::= * columnid type carglist
- columnid ::= * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt * column
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 490
- column shift 428
- columnid shift 67
- id shift 619
-
-State 64:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- cmd ::= ALTER TABLE * fullname RENAME TO nm
- cmd ::= ALTER TABLE * add_column_fullname ADD kwcolumn_opt column
- add_column_fullname ::= * fullname
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 334
- add_column_fullname shift 332
-
-State 65:
- typetoken ::= typename LP signed COMMA * signed RP
- signed ::= * plus_num
- signed ::= * minus_num
- plus_num ::= * PLUS number
- plus_num ::= * number
- minus_num ::= * MINUS number
- number ::= * INTEGER|FLOAT
-
- PLUS shift 232
- MINUS shift 231
- INTEGER shift 570
- FLOAT shift 570
- signed shift 406
- plus_num shift 573
- minus_num shift 572
- number shift 569
-
-State 66:
- typetoken ::= typename LP * signed RP
- typetoken ::= typename LP * signed COMMA signed RP
- signed ::= * plus_num
- signed ::= * minus_num
- plus_num ::= * PLUS number
- plus_num ::= * number
- minus_num ::= * MINUS number
- number ::= * INTEGER|FLOAT
-
- PLUS shift 232
- MINUS shift 231
- INTEGER shift 570
- FLOAT shift 570
- signed shift 328
- plus_num shift 573
- minus_num shift 572
- number shift 569
-
-State 67:
- column ::= columnid * type carglist
- ids ::= * ID|STRING
- (44) type ::= *
- type ::= * typetoken
- typetoken ::= * typename
- typetoken ::= * typename LP signed RP
- typetoken ::= * typename LP signed COMMA signed RP
- typename ::= * ids
- typename ::= * typename ids
-
- ID shift 595
- STRING shift 595
- type shift 309
- ids shift 566
- typetoken shift 491
- typename shift 212
- {default} reduce 44
-
-State 68:
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- stl_prefix ::= * seltablist joinop
- (133) stl_prefix ::= *
- seltablist ::= * stl_prefix nm dbnm as indexed_opt on_opt using_opt
- seltablist ::= * stl_prefix LP select RP as on_opt using_opt
- seltablist ::= stl_prefix LP * select RP as on_opt using_opt
- seltablist ::= * stl_prefix LP seltablist RP as on_opt using_opt
- seltablist ::= stl_prefix LP * seltablist RP as on_opt using_opt
-
- SELECT shift 235
- select shift 198
- oneselect shift 598
- seltablist shift 197
- stl_prefix shift 143
- {default} reduce 133
-
-State 69:
- (163) limit_opt ::= LIMIT expr *
- limit_opt ::= LIMIT expr * OFFSET expr
- limit_opt ::= LIMIT expr * COMMA expr
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- COMMA shift 33
- LIKE_KW shift 588
- MATCH shift 582
- OFFSET shift 59
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 163
-
-State 70:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- cmd ::= ATTACH database_kw_opt expr * AS expr key_opt
-
- NOT shift 310
- AS shift 22
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 71:
- tcons ::= CHECK LP expr * RP onconf
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- RP shift 269
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 72:
- ccons ::= CHECK LP expr * RP
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- RP shift 509
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 73:
- ccons ::= DEFAULT LP expr * RP
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- RP shift 526
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 74:
- expr ::= LP expr * RP
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- RP shift 529
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 75:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- case_exprlist ::= WHEN expr * THEN expr
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- THEN shift 36
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 76:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- case_exprlist ::= case_exprlist WHEN expr * THEN expr
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- THEN shift 39
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 77:
- expr ::= expr * COLLATE ids
- expr ::= CAST LP expr * AS typetoken RP
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- AS shift 132
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 78:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (300) cmd ::= DETACH database_kw_opt expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 300
-
-State 79:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (302) key_opt ::= KEY expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 302
-
-State 80:
- (171) setlist ::= nm EQ expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 171
-
-State 81:
- (170) setlist ::= setlist COMMA nm EQ expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 170
-
-State 82:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (280) when_clause ::= WHEN expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 280
-
-State 83:
- (144) on_opt ::= ON expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 144
-
-State 84:
- (168) where_opt ::= WHERE expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 168
-
-State 85:
- (161) having_opt ::= HAVING expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 161
-
-State 86:
- (165) limit_opt ::= LIMIT expr COMMA expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 165
-
-State 87:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (240) nexprlist ::= nexprlist COMMA expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 240
-
-State 88:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (233) case_exprlist ::= WHEN expr THEN expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 233
-
-State 89:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (234) case_else ::= ELSE expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 234
-
-State 90:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (232) case_exprlist ::= case_exprlist WHEN expr THEN expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 232
-
-State 91:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (236) case_operand ::= expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 236
-
-State 92:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
- (241) nexprlist ::= expr *
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 241
-
-State 93:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- expr ::= expr between_op expr * AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 46
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
-
-State 94:
- (164) limit_opt ::= LIMIT expr OFFSET expr *
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- OR shift 57
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 164
-
-State 95:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- (200) expr ::= expr OR expr *
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- AND shift 58
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 200
-
-State 96:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- (217) expr ::= NOT expr *
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 217
-
-State 97:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- (199) expr ::= expr AND expr *
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- NOT shift 310
- LIKE_KW shift 588
- MATCH shift 582
- IS shift 48
- BETWEEN shift 580
- IN shift 579
- ISNULL shift 581
- NOTNULL shift 581
- NE shift 55
- EQ shift 55
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 199
-
-State 98:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- (211) expr ::= expr likeop expr *
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr likeop expr * ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- ESCAPE shift 49
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 211
-
-State 99:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- (216) expr ::= expr IS NOT expr *
- (217) expr ::= NOT expr *
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 216
-
-State 100:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- (199) expr ::= expr AND expr *
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- (223) expr ::= expr between_op expr AND expr *
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 223
-
-State 101:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- (215) expr ::= expr IS expr *
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 215
-
-State 102:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- (212) expr ::= expr likeop expr ESCAPE expr *
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 212
-
-State 103:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- (202) expr ::= expr EQ|NE expr *
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- GT shift 56
- LE shift 56
- LT shift 56
- GE shift 56
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 202
-
-State 104:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- (201) expr ::= expr LT|GT|GE|LE expr *
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- BITAND shift 54
- BITOR shift 54
- LSHIFT shift 54
- RSHIFT shift 54
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 201
-
-State 105:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- (203) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr *
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- PLUS shift 53
- MINUS shift 53
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 203
-
-State 106:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- (204) expr ::= expr PLUS|MINUS expr *
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- STAR shift 52
- SLASH shift 52
- REM shift 52
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 204
-
-State 107:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- cmd ::= insert_cmd INTO * fullname inscollist_opt valuelist
- cmd ::= insert_cmd INTO * fullname inscollist_opt select
- cmd ::= insert_cmd INTO * fullname inscollist_opt DEFAULT VALUES
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 243
-
-State 108:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= UPDATE orconf fullname indexed_opt SET * setlist where_opt
- setlist ::= * setlist COMMA nm EQ expr
- setlist ::= * nm EQ expr
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 353
- id shift 619
- setlist shift 215
-
-State 109:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- cmd ::= UPDATE orconf * fullname indexed_opt SET setlist where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 216
-
-State 110:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- cmd ::= DELETE FROM * fullname indexed_opt where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 217
-
-State 111:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- cmd ::= DROP TRIGGER ifexists * fullname
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 447
-
-State 112:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- cmd ::= DROP INDEX ifexists * fullname
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 448
-
-State 113:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= DROP VIEW ifexists * fullname
- fullname ::= * nm dbnm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 449
-
-State 114:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= DROP TABLE ifexists * fullname
- fullname ::= * nm dbnm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 451
-
-State 115:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- trnm ::= * nm
- trnm ::= * nm DOT nm
- trigger_cmd ::= DELETE FROM * trnm tridxby where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 358
- id shift 619
- trnm shift 218
-
-State 116:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- inscollist_opt ::= LP * inscollist RP
- inscollist ::= * inscollist COMMA nm
- inscollist ::= * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 538
- id shift 619
- inscollist shift 319
-
-State 117:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- trnm ::= * nm
- trnm ::= * nm DOT nm
- trigger_cmd ::= insert_cmd INTO * trnm inscollist_opt valuelist
- trigger_cmd ::= insert_cmd INTO * trnm inscollist_opt select
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 358
- id shift 619
- trnm shift 253
-
-State 118:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- setlist ::= * setlist COMMA nm EQ expr
- setlist ::= * nm EQ expr
- trigger_cmd ::= UPDATE orconf trnm tridxby SET * setlist where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 353
- id shift 619
- setlist shift 219
-
-State 119:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- trnm ::= * nm
- trnm ::= * nm DOT nm
- trigger_cmd ::= UPDATE orconf * trnm tridxby SET setlist where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 358
- id shift 619
- trnm shift 220
-
-State 120:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP * idxlist RP where_opt
- idxlist ::= * idxlist COMMA nm collate sortorder
- idxlist ::= * nm collate sortorder
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 273
- id shift 619
- idxlist shift 320
-
-State 121:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- inscollist ::= * inscollist COMMA nm
- inscollist ::= * nm
- trigger_event ::= UPDATE OF * inscollist
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 538
- id shift 619
- inscollist shift 365
-
-State 122:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- fullname ::= * nm dbnm
- trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON * fullname foreach_clause when_clause
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 261
- id shift 619
- fullname shift 260
-
-State 123:
- create_table ::= createkw * temp TABLE ifnotexists nm dbnm
- temp ::= * TEMP
- (31) temp ::= *
- cmd ::= createkw * temp VIEW ifnotexists nm dbnm AS select
- cmd ::= createkw * uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt
- uniqueflag ::= * UNIQUE
- (244) uniqueflag ::= *
- cmd ::= createkw * trigger_decl BEGIN trigger_cmd_list END
- trigger_decl ::= * temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause
- create_vtab ::= createkw * VIRTUAL TABLE ifnotexists nm dbnm USING nm
-
- TEMP shift 470
- VIRTUAL shift 345
- UNIQUE shift 468
- INDEX reduce 244
- temp shift 314
- uniqueflag shift 363
- trigger_decl shift 360
- {default} reduce 31
-
-State 124:
- refargs ::= refargs * refarg
- refarg ::= * MATCH nm
- refarg ::= * ON INSERT refact
- refarg ::= * ON DELETE refact
- refarg ::= * ON UPDATE refact
- defer_subclause ::= * NOT DEFERRABLE init_deferred_pred_opt
- defer_subclause ::= * DEFERRABLE init_deferred_pred_opt
- tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs * defer_subclause_opt
- (98) defer_subclause_opt ::= *
- defer_subclause_opt ::= * defer_subclause
-
- NOT shift 373
- MATCH shift 167
- ON shift 315
- DEFERRABLE shift 272
- defer_subclause shift 483
- refarg shift 508
- defer_subclause_opt shift 484
- {default} reduce 98
-
-State 125:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tcons ::= FOREIGN KEY LP * idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt
- idxlist ::= * idxlist COMMA nm collate sortorder
- idxlist ::= * nm collate sortorder
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 273
- id shift 619
- idxlist shift 321
-
-State 126:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tcons ::= UNIQUE LP * idxlist RP onconf
- idxlist ::= * idxlist COMMA nm collate sortorder
- idxlist ::= * nm collate sortorder
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 273
- id shift 619
- idxlist shift 322
-
-State 127:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tcons ::= PRIMARY KEY LP * idxlist autoinc RP onconf
- idxlist ::= * idxlist COMMA nm collate sortorder
- idxlist ::= * nm collate sortorder
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 273
- id shift 619
- idxlist shift 221
-
-State 128:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- idxlist_opt ::= LP * idxlist RP
- idxlist ::= * idxlist COMMA nm collate sortorder
- idxlist ::= * nm collate sortorder
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 273
- id shift 619
- idxlist shift 323
-
-State 129:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- using_opt ::= USING LP * inscollist RP
- inscollist ::= * inscollist COMMA nm
- inscollist ::= * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 538
- id shift 619
- inscollist shift 327
-
-State 130:
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- cmd ::= insert_cmd INTO fullname inscollist_opt * valuelist
- cmd ::= insert_cmd INTO fullname inscollist_opt * select
- cmd ::= insert_cmd INTO fullname inscollist_opt * DEFAULT VALUES
- valuelist ::= * VALUES LP nexprlist RP
- valuelist ::= * valuelist COMMA LP exprlist RP
-
- DEFAULT shift 338
- SELECT shift 235
- VALUES shift 351
- select shift 203
- oneselect shift 598
- valuelist shift 339
-
-State 131:
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- valuelist ::= * VALUES LP nexprlist RP
- valuelist ::= * valuelist COMMA LP exprlist RP
- trigger_cmd ::= insert_cmd INTO trnm inscollist_opt * valuelist
- trigger_cmd ::= insert_cmd INTO trnm inscollist_opt * select
-
- SELECT shift 235
- VALUES shift 351
- select shift 205
- oneselect shift 598
- valuelist shift 350
-
-State 132:
- ids ::= * ID|STRING
- typetoken ::= * typename
- typetoken ::= * typename LP signed RP
- typetoken ::= * typename LP signed COMMA signed RP
- typename ::= * ids
- typename ::= * typename ids
- expr ::= CAST LP expr AS * typetoken RP
-
- ID shift 595
- STRING shift 595
- ids shift 566
- typetoken shift 405
- typename shift 212
-
-State 133:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- (205) expr ::= expr STAR|SLASH|REM expr *
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- CONCAT shift 51
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 205
-
-State 134:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- (206) expr ::= expr CONCAT expr *
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- COLLATE shift 233
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 206
-
-State 135:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- (220) expr ::= PLUS expr *
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 220
-
-State 136:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- (219) expr ::= MINUS expr *
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 219
-
-State 137:
- expr ::= expr * COLLATE ids
- expr ::= expr * AND expr
- expr ::= expr * OR expr
- expr ::= expr * LT|GT|GE|LE expr
- expr ::= expr * EQ|NE expr
- expr ::= expr * BITAND|BITOR|LSHIFT|RSHIFT expr
- expr ::= expr * PLUS|MINUS expr
- expr ::= expr * STAR|SLASH|REM expr
- expr ::= expr * CONCAT expr
- likeop ::= * LIKE_KW
- likeop ::= * NOT LIKE_KW
- likeop ::= * MATCH
- likeop ::= * NOT MATCH
- expr ::= expr * likeop expr
- expr ::= expr * likeop expr ESCAPE expr
- expr ::= expr * ISNULL|NOTNULL
- expr ::= expr * NOT NULL
- expr ::= expr * IS expr
- expr ::= expr * IS NOT expr
- (218) expr ::= BITNOT expr *
- between_op ::= * BETWEEN
- between_op ::= * NOT BETWEEN
- expr ::= expr * between_op expr AND expr
- in_op ::= * IN
- in_op ::= * NOT IN
- expr ::= expr * in_op LP exprlist RP
- expr ::= expr * in_op LP select RP
- expr ::= expr * in_op nm dbnm
-
- likeop shift 50
- between_op shift 47
- in_op shift 146
- {default} reduce 218
-
-State 138:
- id ::= * ID
- id ::= * INDEXED
- ccons ::= DEFAULT * term
- ccons ::= DEFAULT * LP expr RP
- ccons ::= DEFAULT * PLUS term
- ccons ::= DEFAULT * MINUS term
- ccons ::= DEFAULT * id
- term ::= * NULL
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- term ::= * CTIME_KW
-
- LP shift 61
- ID shift 621
- INDEXED shift 620
- CTIME_KW shift 564
- PLUS shift 192
- MINUS shift 191
- STRING shift 524
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- id shift 522
- term shift 602
-
-State 139:
- (36) column ::= columnid type carglist *
- carglist ::= carglist * ccons
- ccons ::= * CONSTRAINT nm
- ccons ::= * DEFAULT term
- ccons ::= * DEFAULT LP expr RP
- ccons ::= * DEFAULT PLUS term
- ccons ::= * DEFAULT MINUS term
- ccons ::= * DEFAULT id
- ccons ::= * NULL onconf
- ccons ::= * NOT NULL onconf
- ccons ::= * PRIMARY KEY sortorder onconf autoinc
- ccons ::= * UNIQUE onconf
- ccons ::= * CHECK LP expr RP
- ccons ::= * REFERENCES nm idxlist_opt refargs
- ccons ::= * defer_subclause
- ccons ::= * COLLATE ids
- defer_subclause ::= * NOT DEFERRABLE init_deferred_pred_opt
- defer_subclause ::= * DEFERRABLE init_deferred_pred_opt
-
- NOT shift 326
- COLLATE shift 223
- CONSTRAINT shift 176
- DEFAULT shift 138
- NULL shift 281
- PRIMARY shift 384
- UNIQUE shift 276
- CHECK shift 383
- REFERENCES shift 168
- DEFERRABLE shift 272
- ccons shift 604
- defer_subclause shift 494
- {default} reduce 36
-
-State 140:
- orconf ::= OR * resolvetype
- resolvetype ::= * raisetype
- resolvetype ::= * IGNORE
- resolvetype ::= * REPLACE
- raisetype ::= * ROLLBACK
- raisetype ::= * ABORT
- raisetype ::= * FAIL
-
- ROLLBACK shift 559
- ABORT shift 558
- FAIL shift 557
- IGNORE shift 518
- REPLACE shift 517
- resolvetype shift 467
- raisetype shift 519
-
-State 141:
- onconf ::= ON CONFLICT * resolvetype
- resolvetype ::= * raisetype
- resolvetype ::= * IGNORE
- resolvetype ::= * REPLACE
- raisetype ::= * ROLLBACK
- raisetype ::= * ABORT
- raisetype ::= * FAIL
-
- ROLLBACK shift 559
- ABORT shift 558
- FAIL shift 557
- IGNORE shift 518
- REPLACE shift 517
- resolvetype shift 520
- raisetype shift 519
-
-State 142:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- selcollist ::= sclp nm DOT * STAR
- expr ::= nm DOT * nm
- expr ::= nm DOT * nm DOT nm
-
- ID shift 621
- INDEXED shift 620
- STAR shift 531
- STRING shift 618
- JOIN_KW shift 617
- nm shift 409
- id shift 619
-
-State 143:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- seltablist ::= stl_prefix * nm dbnm as indexed_opt on_opt using_opt
- seltablist ::= stl_prefix * LP select RP as on_opt using_opt
- seltablist ::= stl_prefix * LP seltablist RP as on_opt using_opt
-
- LP shift 68
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 288
- id shift 619
-
-State 144:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- joinop ::= JOIN_KW nm * JOIN
- joinop ::= JOIN_KW nm * nm JOIN
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- JOIN shift 545
- nm shift 392
- id shift 619
-
-State 145:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- joinop ::= JOIN_KW * JOIN
- joinop ::= JOIN_KW * nm JOIN
- joinop ::= JOIN_KW * nm nm JOIN
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- JOIN shift 546
- nm shift 144
- id shift 619
-
-State 146:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= expr in_op * LP exprlist RP
- expr ::= expr in_op * LP select RP
- expr ::= expr in_op * nm dbnm
-
- LP shift 1
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 289
- id shift 619
-
-State 147:
- (317) vtabarglist ::= vtabarg *
- vtabarg ::= vtabarg * vtabargtoken
- vtabargtoken ::= * ANY
- vtabargtoken ::= * lp anylist RP
- lp ::= * LP
-
- LP shift 420
- RP reduce 317
- COMMA reduce 317
- ANY shift 424
- vtabargtoken shift 425
- lp shift 305
-
-State 148:
- (318) vtabarglist ::= vtabarglist COMMA vtabarg *
- vtabarg ::= vtabarg * vtabargtoken
- vtabargtoken ::= * ANY
- vtabargtoken ::= * lp anylist RP
- lp ::= * LP
-
- LP shift 420
- RP reduce 318
- COMMA reduce 318
- ANY shift 424
- vtabargtoken shift 425
- lp shift 305
-
-State 149:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= ALTER TABLE fullname RENAME TO * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 429
- id shift 619
-
-State 150:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- (307) cmd ::= ANALYZE *
- cmd ::= ANALYZE * nm dbnm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 238
- id shift 619
- {default} reduce 307
-
-State 151:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- (305) cmd ::= REINDEX *
- cmd ::= REINDEX * nm dbnm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 239
- id shift 619
- {default} reduce 305
-
-State 152:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= PRAGMA * nm dbnm
- cmd ::= PRAGMA * nm dbnm EQ nmnum
- cmd ::= PRAGMA * nm dbnm LP nmnum RP
- cmd ::= PRAGMA * nm dbnm EQ minus_num
- cmd ::= PRAGMA * nm dbnm LP minus_num RP
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 242
- id shift 619
-
-State 153:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- (252) cmd ::= VACUUM *
- cmd ::= VACUUM * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 443
- id shift 619
- {default} reduce 252
-
-State 154:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 453
- id shift 619
-
-State 155:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- create_vtab ::= createkw VIRTUAL TABLE ifnotexists * nm dbnm USING nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 250
- id shift 619
-
-State 156:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- setlist ::= setlist COMMA * nm EQ expr
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 354
- id shift 619
-
-State 157:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tridxby ::= INDEXED BY * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 461
- id shift 619
-
-State 158:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- trnm ::= nm DOT * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 462
- id shift 619
-
-State 159:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON * nm LP idxlist RP where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 361
- id shift 619
-
-State 160:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= createkw uniqueflag INDEX ifnotexists * nm dbnm ON nm LP idxlist RP where_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 257
- id shift 619
-
-State 161:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- trigger_decl ::= temp TRIGGER ifnotexists * nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 262
- id shift 619
-
-State 162:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- cmd ::= createkw temp VIEW ifnotexists * nm dbnm AS select
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 264
- id shift 619
-
-State 163:
- create_table ::= createkw temp TABLE ifnotexists * nm dbnm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 266
- id shift 619
-
-State 164:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tcons ::= FOREIGN KEY LP idxlist RP REFERENCES * nm idxlist_opt refargs defer_subclause_opt
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 268
- id shift 619
-
-State 165:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- tcons ::= CONSTRAINT * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 488
- id shift 619
-
-State 166:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- idxlist ::= idxlist COMMA * nm collate sortorder
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 274
- id shift 619
-
-State 167:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- refarg ::= MATCH * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 507
- id shift 619
-
-State 168:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- ccons ::= REFERENCES * nm idxlist_opt refargs
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 275
- id shift 619
-
-State 169:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- indexed_opt ::= INDEXED BY * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 537
- id shift 619
-
-State 170:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- inscollist ::= inscollist COMMA * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 539
- id shift 619
-
-State 171:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- as ::= AS * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 543
- id shift 619
-
-State 172:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- dbnm ::= DOT * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 555
- id shift 619
-
-State 173:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= RAISE LP raisetype COMMA * nm RP
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 399
- id shift 619
-
-State 174:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= nm DOT nm DOT * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 592
- id shift 619
-
-State 175:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- expr ::= nm DOT * nm
- expr ::= nm DOT * nm DOT nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 409
- id shift 619
-
-State 176:
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
- ccons ::= CONSTRAINT * nm
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 603
- id shift 619
-
-State 177:
- cmd ::= RELEASE savepoint_opt * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 608
- id shift 619
-
-State 178:
- cmd ::= SAVEPOINT * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 609
- id shift 619
-
-State 179:
- cmd ::= ROLLBACK trans_opt TO savepoint_opt * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 610
- id shift 619
-
-State 180:
- (11) trans_opt ::= TRANSACTION *
- trans_opt ::= TRANSACTION * nm
- id ::= * ID
- id ::= * INDEXED
- nm ::= * id
- nm ::= * STRING
- nm ::= * JOIN_KW
-
- ID shift 621
- INDEXED shift 620
- STRING shift 618
- JOIN_KW shift 617
- nm shift 622
- id shift 619
- {default} reduce 11
-
-State 181:
- ids ::= * ID|STRING
- as ::= * AS nm
- as ::= * ids
- (129) as ::= *
- seltablist ::= stl_prefix LP seltablist RP * as on_opt using_opt
-
- AS shift 171
- ID shift 595
- STRING shift 595
- ids shift 542
- as shift 283
- {default} reduce 129
-
-State 182:
- ids ::= * ID|STRING
- as ::= * AS nm
- as ::= * ids
- (129) as ::= *
- seltablist ::= stl_prefix LP select RP * as on_opt using_opt
-
- AS shift 171
- ID shift 595
- STRING shift 595
- ids shift 542
- as shift 285
- {default} reduce 129
-
-State 183:
- ids ::= * ID|STRING
- as ::= * AS nm
- as ::= * ids
- (129) as ::= *
- seltablist ::= stl_prefix nm dbnm * as indexed_opt on_opt using_opt
-
- AS shift 171
- ID shift 595
- STRING shift 595
- ids shift 542
- as shift 229
- {default} reduce 129
-
-State 184:
- (0) input ::= cmdlist *
- cmdlist ::= cmdlist * ecmd
- ecmd ::= * SEMI
- ecmd ::= * explain cmdx SEMI
- (5) explain ::= *
- explain ::= * EXPLAIN
- explain ::= * EXPLAIN QUERY PLAN
-
- $ reduce 0
- SEMI shift 626
- EXPLAIN shift 330
- ecmd shift 627
- explain shift 2
- {default} reduce 5
-
-State 185:
- cmd ::= createkw temp VIEW ifnotexists nm dbnm AS * select
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
-
- SELECT shift 235
- select shift 209
- oneselect shift 598
-
-State 186:
- create_table_args ::= AS * select
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
-
- SELECT shift 235
- select shift 210
- oneselect shift 598
-
-State 187:
- select ::= * oneselect
- select ::= * select multiselect_op oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- expr ::= EXISTS LP * select RP
-
- SELECT shift 235
- select shift 200
- oneselect shift 598
-
-State 188:
- cmd ::= create_vtab LP * vtabarglist RP
- vtabarglist ::= * vtabarg
- vtabarglist ::= * vtabarglist COMMA vtabarg
- (319) vtabarg ::= *
- vtabarg ::= * vtabarg vtabargtoken
-
- vtabarglist shift 316
- vtabarg shift 147
- {default} reduce 319
-
-State 189:
- from ::= FROM * seltablist
- stl_prefix ::= * seltablist joinop
- (133) stl_prefix ::= *
- seltablist ::= * stl_prefix nm dbnm as indexed_opt on_opt using_opt
- seltablist ::= * stl_prefix LP select RP as on_opt using_opt
- seltablist ::= * stl_prefix LP seltablist RP as on_opt using_opt
-
- seltablist shift 211
- stl_prefix shift 143
- {default} reduce 133
-
-State 190:
- oneselect ::= SELECT distinct * selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- sclp ::= * selcollist COMMA
- (123) sclp ::= *
- selcollist ::= * sclp expr as
- selcollist ::= * sclp STAR
- selcollist ::= * sclp nm DOT STAR
-
- selcollist shift 234
- sclp shift 19
- {default} reduce 123
-
-State 191:
- ccons ::= DEFAULT MINUS * term
- term ::= * NULL
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- term ::= * CTIME_KW
-
- CTIME_KW shift 564
- STRING shift 524
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- term shift 523
-
-State 192:
- ccons ::= DEFAULT PLUS * term
- term ::= * NULL
- term ::= * INTEGER|FLOAT|BLOB
- term ::= * STRING
- term ::= * CTIME_KW
-
- CTIME_KW shift 564
- STRING shift 524
- NULL shift 593
- INTEGER shift 591
- FLOAT shift 591
- BLOB shift 591
- term shift 525
-
-State 193:
- conslist ::= conslist tconscomma * tcons
- tcons ::= * CONSTRAINT nm
- tcons ::= * PRIMARY KEY LP idxlist autoinc RP onconf
- tcons ::= * UNIQUE LP idxlist RP onconf
- tcons ::= * CHECK LP expr RP onconf
- tcons ::= * FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt
-
- CONSTRAINT shift 165
- PRIMARY shift 381
- UNIQUE shift 378
- CHECK shift 377
- FOREIGN shift 376
- tcons shift 489
-
-State 194:
- refarg ::= ON UPDATE * refact
- refact ::= * SET NULL
- refact ::= * SET DEFAULT
- refact ::= * CASCADE
- refact ::= * RESTRICT
- refact ::= * NO ACTION
-
- CASCADE shift 503
- NO shift 382
- RESTRICT shift 502
- SET shift 324
- refact shift 499
-
-State 195:
- refarg ::= ON DELETE * refact
- refact ::= * SET NULL
- refact ::= * SET DEFAULT
- refact ::= * CASCADE
- refact ::= * RESTRICT
- refact ::= * NO ACTION
-
- CASCADE shift 503
- NO shift 382
- RESTRICT shift 502
- SET shift 324
- refact shift 500
-
-State 196:
- refarg ::= ON INSERT * refact
- refact ::= * SET NULL
- refact ::= * SET DEFAULT
- refact ::= * CASCADE
- refact ::= * RESTRICT
- refact ::= * NO ACTION
-
- CASCADE shift 503
- NO shift 382
- RESTRICT shift 502
- SET shift 324
- refact shift 506
-
-State 197:
- stl_prefix ::= seltablist * joinop
- seltablist ::= stl_prefix LP seltablist * RP as on_opt using_opt
- joinop ::= * COMMA|JOIN
- joinop ::= * JOIN_KW JOIN
- joinop ::= * JOIN_KW nm JOIN
- joinop ::= * JOIN_KW nm nm JOIN
-
- RP shift 181
- COMMA shift 547
- JOIN_KW shift 145
- JOIN shift 547
- joinop shift 548
-
-State 198:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- seltablist ::= stl_prefix LP select * RP as on_opt using_opt
-
- RP shift 182
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
-
-State 199:
- expr ::= RAISE LP * IGNORE RP
- expr ::= RAISE LP * raisetype COMMA nm RP
- raisetype ::= * ROLLBACK
- raisetype ::= * ABORT
- raisetype ::= * FAIL
-
- ROLLBACK shift 559
- ABORT shift 558
- FAIL shift 557
- IGNORE shift 401
- raisetype shift 400
-
-State 200:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- expr ::= EXISTS LP select * RP
-
- RP shift 563
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
-
-State 201:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- expr ::= expr in_op LP select * RP
-
- RP shift 576
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
-
-State 202:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- expr ::= LP select * RP
-
- RP shift 530
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
-
-State 203:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- (173) cmd ::= insert_cmd INTO fullname inscollist_opt select *
-
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
- {default} reduce 173
-
-State 204:
- (112) cmd ::= select *
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
-
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
- {default} reduce 112
-
-State 205:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- (290) trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select *
-
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
- {default} reduce 290
-
-State 206:
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
- (292) trigger_cmd ::= select *
-
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
- {default} reduce 292
-
-State 207:
- trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time * trigger_event ON fullname foreach_clause when_clause
- trigger_event ::= * DELETE|INSERT
- trigger_event ::= * UPDATE
- trigger_event ::= * UPDATE OF inscollist
-
- INSERT shift 474
- DELETE shift 474
- UPDATE shift 366
- trigger_event shift 369
-
-State 208:
- trigger_decl ::= temp TRIGGER ifnotexists nm dbnm * trigger_time trigger_event ON fullname foreach_clause when_clause
- trigger_time ::= * BEFORE
- trigger_time ::= * AFTER
- trigger_time ::= * INSTEAD OF
- (273) trigger_time ::= *
-
- AFTER shift 472
- BEFORE shift 473
- INSTEAD shift 364
- trigger_time shift 207
- {default} reduce 273
-
-State 209:
- (110) cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select *
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
-
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
- {default} reduce 110
-
-State 210:
- (33) create_table_args ::= AS select *
- select ::= select * multiselect_op oneselect
- multiselect_op ::= * UNION
- multiselect_op ::= * UNION ALL
- multiselect_op ::= * EXCEPT|INTERSECT
-
- UNION shift 408
- EXCEPT shift 577
- INTERSECT shift 577
- multiselect_op shift 296
- {default} reduce 33
-
-State 211:
- (131) from ::= FROM seltablist *
- stl_prefix ::= seltablist * joinop
- joinop ::= * COMMA|JOIN
- joinop ::= * JOIN_KW JOIN
- joinop ::= * JOIN_KW nm JOIN
- joinop ::= * JOIN_KW nm nm JOIN
-
- COMMA shift 547
- JOIN_KW shift 145
- JOIN shift 547
- joinop shift 548
- {default} reduce 131
-
-State 212:
- ids ::= * ID|STRING
- (46) typetoken ::= typename *
- typetoken ::= typename * LP signed RP
- typetoken ::= typename * LP signed COMMA signed RP
- typename ::= typename * ids
-
- LP shift 66
- ID shift 595
- STRING shift 595
- ids shift 567
- {default} reduce 46
-
-State 213:
- distinct ::= * DISTINCT
- distinct ::= * ALL
- (121) distinct ::= *
- expr ::= ID LP * distinct exprlist RP
- expr ::= ID LP * STAR RP
-
- STAR shift 386
- ALL shift 600
- DISTINCT shift 601
- distinct shift 5
- {default} reduce 121
-
-State 214:
- cmd ::= BEGIN * transtype trans_opt
- (13) transtype ::= *
- transtype ::= * DEFERRED
- transtype ::= * IMMEDIATE
- transtype ::= * EXCLUSIVE
-
- DEFERRED shift 616
- IMMEDIATE shift 615
- EXCLUSIVE shift 614
- transtype shift 303
- {default} reduce 13
-
-State 215:
- (167) where_opt ::= *
- where_opt ::= * WHERE expr
- cmd ::= UPDATE orconf fullname indexed_opt SET setlist * where_opt
- setlist ::= setlist * COMMA nm EQ expr
-
- COMMA shift 156
- WHERE shift 30
- where_opt shift 445
- {default} reduce 167
-
-State 216:
- (146) indexed_opt ::= *
- indexed_opt ::= * INDEXED BY nm
- indexed_opt ::= * NOT INDEXED
- cmd ::= UPDATE orconf fullname * indexed_opt SET setlist where_opt
-
- NOT shift 389
- INDEXED shift 390
- indexed_opt shift 341
- {default} reduce 146
-
-State 217:
- (146) indexed_opt ::= *
- indexed_opt ::= * INDEXED BY nm
- indexed_opt ::= * NOT INDEXED
- cmd ::= DELETE FROM fullname * indexed_opt where_opt
-
- NOT shift 389
- INDEXED shift 390
- indexed_opt shift 245
- {default} reduce 146
-
-State 218:
- (285) tridxby ::= *
- tridxby ::= * INDEXED BY nm
- tridxby ::= * NOT INDEXED
- trigger_cmd ::= DELETE FROM trnm * tridxby where_opt
-
- NOT shift 356
- INDEXED shift 357
- tridxby shift 252
- {default} reduce 285
-
-State 219:
- (167) where_opt ::= *
- where_opt ::= * WHERE expr
- setlist ::= setlist * COMMA nm EQ expr
- trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist * where_opt
-
- COMMA shift 156
- WHERE shift 30
- where_opt shift 459
- {default} reduce 167
-
-State 220:
- (285) tridxby ::= *
- tridxby ::= * INDEXED BY nm
- tridxby ::= * NOT INDEXED
- trigger_cmd ::= UPDATE orconf trnm * tridxby SET setlist where_opt
-
- NOT shift 356
- INDEXED shift 357
- tridxby shift 355
- {default} reduce 285
-
-State 221:
- (69) autoinc ::= *
- autoinc ::= * AUTOINCR
- tcons ::= PRIMARY KEY LP idxlist * autoinc RP onconf
- idxlist ::= idxlist * COMMA nm collate sortorder
-
- COMMA shift 166
- AUTOINCR shift 511
- autoinc shift 379
- {default} reduce 69
-
-State 222:
- (88) conslist_opt ::= COMMA conslist *
- conslist ::= conslist * tconscomma tcons
- tconscomma ::= * COMMA
- (92) tconscomma ::= *
-
- RP reduce 88
- COMMA shift 482
- tconscomma shift 193
- {default} reduce 92
-
-State 223:
- ids ::= * ID|STRING
- ccons ::= COLLATE * ids
-
- ID shift 595
- STRING shift 595
- ids shift 493
-
-State 224:
- sortorder ::= * ASC
- sortorder ::= * DESC
- (157) sortorder ::= *
- idxlist ::= nm collate * sortorder
-
- ASC shift 552
- DESC shift 551
- sortorder shift 495
- {default} reduce 157
-
-State 225:
- ids ::= * ID|STRING
- collate ::= COLLATE * ids
-
- ID shift 595
- STRING shift 595
- ids shift 496
-
-State 226:
- sortorder ::= * ASC
- sortorder ::= * DESC
- (157) sortorder ::= *
- idxlist ::= idxlist COMMA nm collate * sortorder
-
- ASC shift 552
- DESC shift 551
- sortorder shift 497
- {default} reduce 157
-
-State 227:
- (66) ccons ::= REFERENCES nm idxlist_opt refargs *
- refargs ::= refargs * refarg
- refarg ::= * MATCH nm
- refarg ::= * ON INSERT refact
- refarg ::= * ON DELETE refact
- refarg ::= * ON UPDATE refact
-
- MATCH shift 167
- ON shift 315
- refarg shift 508
- {default} reduce 66
-
-State 228:
- ccons ::= PRIMARY KEY * sortorder onconf autoinc
- sortorder ::= * ASC
- sortorder ::= * DESC
- (157) sortorder ::= *
-
- ASC shift 552
- DESC shift 551
- sortorder shift 278
- {default} reduce 157
-
-State 229:
- seltablist ::= stl_prefix nm dbnm as * indexed_opt on_opt using_opt
- (146) indexed_opt ::= *
- indexed_opt ::= * INDEXED BY nm
- indexed_opt ::= * NOT INDEXED
-
- NOT shift 389
- INDEXED shift 390
- indexed_opt shift 287
- {default} reduce 146
-
-State 230:
- expr ::= CASE case_operand case_exprlist * case_else END
- case_exprlist ::= case_exprlist * WHEN expr THEN expr
- case_else ::= * ELSE expr
- (235) case_else ::= *
-
- WHEN shift 40
- ELSE shift 38
- case_else shift 403
- {default} reduce 235
-
-State 231:
- minus_num ::= MINUS * number
- number ::= * INTEGER|FLOAT
-
- INTEGER shift 570
- FLOAT shift 570
- number shift 568
-
-State 232:
- plus_num ::= PLUS * number
- number ::= * INTEGER|FLOAT
-
- INTEGER shift 570
- FLOAT shift 570
- number shift 571
-
-State 233:
- ids ::= * ID|STRING
- expr ::= expr COLLATE * ids
-
- ID shift 595
- STRING shift 595
- ids shift 594
-
-State 234:
- oneselect ::= SELECT distinct selcollist * from where_opt groupby_opt having_opt orderby_opt limit_opt
- sclp ::= selcollist * COMMA
- (130) from ::= *
- from ::= * FROM seltablist
-
- COMMA shift 549
- FROM shift 189
- from shift 295
- {default} reduce 130
-
-State 235:
- oneselect ::= SELECT * distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
- distinct ::= * DISTINCT
- distinct ::= * ALL
- (121) distinct ::= *
-
- ALL shift 600
- DISTINCT shift 601
- distinct shift 190
- {default} reduce 121
-
-State 236:
- cmd ::= create_table * create_table_args
- create_table_args ::= * LP columnlist conslist_opt RP
- create_table_args ::= * AS select
-
- LP shift 15
- AS shift 186
- create_table_args shift 607
-
-State 237:
- cmd ::= ALTER TABLE add_column_fullname ADD * kwcolumn_opt column
- (312) kwcolumn_opt ::= *
- kwcolumn_opt ::= * COLUMNKW
-
- COLUMNKW shift 427
- kwcolumn_opt shift 63
- {default} reduce 312
-
-State 238:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- cmd ::= ANALYZE nm * dbnm
-
- DOT shift 172
- dbnm shift 430
- {default} reduce 137
-
-State 239:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- cmd ::= REINDEX nm * dbnm
-
- DOT shift 172
- dbnm shift 431
- {default} reduce 137
-
-State 240:
- cmd ::= DETACH * database_kw_opt expr
- database_kw_opt ::= * DATABASE
- (304) database_kw_opt ::= *
-
- DATABASE shift 432
- database_kw_opt shift 20
- {default} reduce 304
-
-State 241:
- cmd ::= ATTACH * database_kw_opt expr AS expr key_opt
- database_kw_opt ::= * DATABASE
- (304) database_kw_opt ::= *
-
- DATABASE shift 432
- database_kw_opt shift 23
- {default} reduce 304
-
-State 242:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- cmd ::= PRAGMA nm * dbnm
- cmd ::= PRAGMA nm * dbnm EQ nmnum
- cmd ::= PRAGMA nm * dbnm LP nmnum RP
- cmd ::= PRAGMA nm * dbnm EQ minus_num
- cmd ::= PRAGMA nm * dbnm LP minus_num RP
-
- DOT shift 172
- dbnm shift 317
- {default} reduce 137
-
-State 243:
- cmd ::= insert_cmd INTO fullname * inscollist_opt valuelist
- cmd ::= insert_cmd INTO fullname * inscollist_opt select
- cmd ::= insert_cmd INTO fullname * inscollist_opt DEFAULT VALUES
- (179) inscollist_opt ::= *
- inscollist_opt ::= * LP inscollist RP
-
- LP shift 116
- inscollist_opt shift 130
- {default} reduce 179
-
-State 244:
- (102) orconf ::= *
- orconf ::= * OR resolvetype
- cmd ::= UPDATE * orconf fullname indexed_opt SET setlist where_opt
-
- OR shift 140
- orconf shift 109
- {default} reduce 102
-
-State 245:
- cmd ::= DELETE FROM fullname indexed_opt * where_opt
- (167) where_opt ::= *
- where_opt ::= * WHERE expr
-
- WHERE shift 30
- where_opt shift 446
- {default} reduce 167
-
-State 246:
- ifexists ::= * IF EXISTS
- (109) ifexists ::= *
- cmd ::= DROP TRIGGER * ifexists fullname
-
- IF shift 343
- ifexists shift 111
- {default} reduce 109
-
-State 247:
- ifexists ::= * IF EXISTS
- (109) ifexists ::= *
- cmd ::= DROP INDEX * ifexists fullname
-
- IF shift 343
- ifexists shift 112
- {default} reduce 109
-
-State 248:
- ifexists ::= * IF EXISTS
- (109) ifexists ::= *
- cmd ::= DROP VIEW * ifexists fullname
-
- IF shift 343
- ifexists shift 113
- {default} reduce 109
-
-State 249:
- cmd ::= DROP TABLE * ifexists fullname
- ifexists ::= * IF EXISTS
- (109) ifexists ::= *
-
- IF shift 343
- ifexists shift 114
- {default} reduce 109
-
-State 250:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm * dbnm USING nm
-
- DOT shift 172
- dbnm shift 344
- {default} reduce 137
-
-State 251:
- (28) ifnotexists ::= *
- ifnotexists ::= * IF NOT EXISTS
- create_vtab ::= createkw VIRTUAL TABLE * ifnotexists nm dbnm USING nm
-
- IF shift 372
- ifnotexists shift 155
- {default} reduce 28
-
-State 252:
- (167) where_opt ::= *
- where_opt ::= * WHERE expr
- trigger_cmd ::= DELETE FROM trnm tridxby * where_opt
-
- WHERE shift 30
- where_opt shift 455
- {default} reduce 167
-
-State 253:
- (179) inscollist_opt ::= *
- inscollist_opt ::= * LP inscollist RP
- trigger_cmd ::= insert_cmd INTO trnm * inscollist_opt valuelist
- trigger_cmd ::= insert_cmd INTO trnm * inscollist_opt select
-
- LP shift 116
- inscollist_opt shift 131
- {default} reduce 179
-
-State 254:
- (102) orconf ::= *
- orconf ::= * OR resolvetype
- trigger_cmd ::= UPDATE * orconf trnm tridxby SET setlist where_opt
-
- OR shift 140
- orconf shift 119
- {default} reduce 102
-
-State 255:
- (102) orconf ::= *
- orconf ::= * OR resolvetype
- insert_cmd ::= INSERT * orconf
-
- OR shift 140
- orconf shift 466
- {default} reduce 102
-
-State 256:
- (167) where_opt ::= *
- where_opt ::= * WHERE expr
- cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP * where_opt
-
- WHERE shift 30
- where_opt shift 469
- {default} reduce 167
-
-State 257:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- cmd ::= createkw uniqueflag INDEX ifnotexists nm * dbnm ON nm LP idxlist RP where_opt
-
- DOT shift 172
- dbnm shift 362
- {default} reduce 137
-
-State 258:
- (28) ifnotexists ::= *
- ifnotexists ::= * IF NOT EXISTS
- cmd ::= createkw uniqueflag INDEX * ifnotexists nm dbnm ON nm LP idxlist RP where_opt
-
- IF shift 372
- ifnotexists shift 160
- {default} reduce 28
-
-State 259:
- trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause * when_clause
- (279) when_clause ::= *
- when_clause ::= * WHEN expr
-
- WHEN shift 26
- when_clause shift 476
- {default} reduce 279
-
-State 260:
- trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname * foreach_clause when_clause
- (277) foreach_clause ::= *
- foreach_clause ::= * FOR EACH ROW
-
- FOR shift 368
- foreach_clause shift 259
- {default} reduce 277
-
-State 261:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- fullname ::= nm * dbnm
-
- DOT shift 172
- dbnm shift 477
- {default} reduce 137
-
-State 262:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- trigger_decl ::= temp TRIGGER ifnotexists nm * dbnm trigger_time trigger_event ON fullname foreach_clause when_clause
-
- DOT shift 172
- dbnm shift 208
- {default} reduce 137
-
-State 263:
- (28) ifnotexists ::= *
- ifnotexists ::= * IF NOT EXISTS
- trigger_decl ::= temp TRIGGER * ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause
-
- IF shift 372
- ifnotexists shift 161
- {default} reduce 28
-
-State 264:
- cmd ::= createkw temp VIEW ifnotexists nm * dbnm AS select
- (137) dbnm ::= *
- dbnm ::= * DOT nm
-
- DOT shift 172
- dbnm shift 370
- {default} reduce 137
-
-State 265:
- (28) ifnotexists ::= *
- ifnotexists ::= * IF NOT EXISTS
- cmd ::= createkw temp VIEW * ifnotexists nm dbnm AS select
-
- IF shift 372
- ifnotexists shift 162
- {default} reduce 28
-
-State 266:
- create_table ::= createkw temp TABLE ifnotexists nm * dbnm
- (137) dbnm ::= *
- dbnm ::= * DOT nm
-
- DOT shift 172
- dbnm shift 479
- {default} reduce 137
-
-State 267:
- create_table ::= createkw temp TABLE * ifnotexists nm dbnm
- (28) ifnotexists ::= *
- ifnotexists ::= * IF NOT EXISTS
-
- IF shift 372
- ifnotexists shift 163
- {default} reduce 28
-
-State 268:
- tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm * idxlist_opt refargs defer_subclause_opt
- (245) idxlist_opt ::= *
- idxlist_opt ::= * LP idxlist RP
-
- LP shift 128
- idxlist_opt shift 307
- {default} reduce 245
-
-State 269:
- tcons ::= CHECK LP expr RP * onconf
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 485
- {default} reduce 100
-
-State 270:
- tcons ::= UNIQUE LP idxlist RP * onconf
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 486
- {default} reduce 100
-
-State 271:
- tcons ::= PRIMARY KEY LP idxlist autoinc RP * onconf
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 487
- {default} reduce 100
-
-State 272:
- defer_subclause ::= DEFERRABLE * init_deferred_pred_opt
- (84) init_deferred_pred_opt ::= *
- init_deferred_pred_opt ::= * INITIALLY DEFERRED
- init_deferred_pred_opt ::= * INITIALLY IMMEDIATE
-
- INITIALLY shift 325
- init_deferred_pred_opt shift 492
- {default} reduce 84
-
-State 273:
- idxlist ::= nm * collate sortorder
- (249) collate ::= *
- collate ::= * COLLATE ids
-
- COLLATE shift 225
- collate shift 224
- {default} reduce 249
-
-State 274:
- idxlist ::= idxlist COMMA nm * collate sortorder
- (249) collate ::= *
- collate ::= * COLLATE ids
-
- COLLATE shift 225
- collate shift 226
- {default} reduce 249
-
-State 275:
- ccons ::= REFERENCES nm * idxlist_opt refargs
- (245) idxlist_opt ::= *
- idxlist_opt ::= * LP idxlist RP
-
- LP shift 128
- idxlist_opt shift 308
- {default} reduce 245
-
-State 276:
- ccons ::= UNIQUE * onconf
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 510
- {default} reduce 100
-
-State 277:
- ccons ::= PRIMARY KEY sortorder onconf * autoinc
- (69) autoinc ::= *
- autoinc ::= * AUTOINCR
-
- AUTOINCR shift 511
- autoinc shift 512
- {default} reduce 69
-
-State 278:
- ccons ::= PRIMARY KEY sortorder * onconf autoinc
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 277
- {default} reduce 100
-
-State 279:
- defer_subclause ::= NOT DEFERRABLE * init_deferred_pred_opt
- (84) init_deferred_pred_opt ::= *
- init_deferred_pred_opt ::= * INITIALLY DEFERRED
- init_deferred_pred_opt ::= * INITIALLY IMMEDIATE
-
- INITIALLY shift 325
- init_deferred_pred_opt shift 515
- {default} reduce 84
-
-State 280:
- ccons ::= NOT NULL * onconf
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 516
- {default} reduce 100
-
-State 281:
- ccons ::= NULL * onconf
- (100) onconf ::= *
- onconf ::= * ON CONFLICT resolvetype
-
- ON shift 385
- onconf shift 521
- {default} reduce 100
-
-State 282:
- seltablist ::= stl_prefix LP seltablist RP as on_opt * using_opt
- using_opt ::= * USING LP inscollist RP
- (150) using_opt ::= *
-
- USING shift 391
- using_opt shift 534
- {default} reduce 150
-
-State 283:
- seltablist ::= stl_prefix LP seltablist RP as * on_opt using_opt
- on_opt ::= * ON expr
- (145) on_opt ::= *
-
- ON shift 29
- on_opt shift 282
- {default} reduce 145
-
-State 284:
- seltablist ::= stl_prefix LP select RP as on_opt * using_opt
- using_opt ::= * USING LP inscollist RP
- (150) using_opt ::= *
-
- USING shift 391
- using_opt shift 535
- {default} reduce 150
-
-State 285:
- seltablist ::= stl_prefix LP select RP as * on_opt using_opt
- on_opt ::= * ON expr
- (145) on_opt ::= *
-
- ON shift 29
- on_opt shift 284
- {default} reduce 145
-
-State 286:
- seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt * using_opt
- using_opt ::= * USING LP inscollist RP
- (150) using_opt ::= *
-
- USING shift 391
- using_opt shift 541
- {default} reduce 150
-
-State 287:
- seltablist ::= stl_prefix nm dbnm as indexed_opt * on_opt using_opt
- on_opt ::= * ON expr
- (145) on_opt ::= *
-
- ON shift 29
- on_opt shift 286
- {default} reduce 145
-
-State 288:
- seltablist ::= stl_prefix nm * dbnm as indexed_opt on_opt using_opt
- (137) dbnm ::= *
- dbnm ::= * DOT nm
-
- DOT shift 172
- dbnm shift 183
- {default} reduce 137
-
-State 289:
- (137) dbnm ::= *
- dbnm ::= * DOT nm
- expr ::= expr in_op nm * dbnm
-
- DOT shift 172
- dbnm shift 554
- {default} reduce 137
-
-State 290:
- expr ::= CASE case_operand * case_exprlist case_else END
- case_exprlist ::= * case_exprlist WHEN expr THEN expr
- case_exprlist ::= * WHEN expr THEN expr
-
- WHEN shift 37
- case_exprlist shift 230
-
-State 291:
- oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt * limit_opt
- (162) limit_opt ::= *
- limit_opt ::= * LIMIT expr
- limit_opt ::= * LIMIT expr OFFSET expr
- limit_opt ::= * LIMIT expr COMMA expr
-
- LIMIT shift 60
- limit_opt shift 596
- {default} reduce 162
-
-State 292:
- oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt * orderby_opt limit_opt
- (151) orderby_opt ::= *
- orderby_opt ::= * ORDER BY sortlist
-
- ORDER shift 396
- orderby_opt shift 291
- {default} reduce 151
-
-State 293:
- oneselect ::= SELECT distinct selcollist from where_opt groupby_opt * having_opt orderby_opt limit_opt
- (160) having_opt ::= *
- having_opt ::= * HAVING expr
-
- HAVING shift 31
- having_opt shift 292
- {default} reduce 160
-
-State 294:
- oneselect ::= SELECT distinct selcollist from where_opt * groupby_opt having_opt orderby_opt limit_opt
- (158) groupby_opt ::= *
- groupby_opt ::= * GROUP BY nexprlist
-
- GROUP shift 394
- groupby_opt shift 293
- {default} reduce 158
-
-State 295:
- oneselect ::= SELECT distinct selcollist from * where_opt groupby_opt having_opt orderby_opt limit_opt
- (167) where_opt ::= *
- where_opt ::= * WHERE expr
-
- WHERE shift 30
- where_opt shift 294
- {default} reduce 167
-
-State 296:
- select ::= select multiselect_op * oneselect
- oneselect ::= * SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt
-
- SELECT shift 235
- oneselect shift 597
-
-State 297:
- create_table_args ::= LP columnlist * conslist_opt RP
- columnlist ::= columnlist * COMMA column
- (87) conslist_opt ::= *
- conslist_opt ::= * COMMA conslist
-
- COMMA shift 8
- conslist_opt shift 415
- {default} reduce 87
-
-State 298:
- savepoint_opt ::= * SAVEPOINT
- (21) savepoint_opt ::= *
- cmd ::= RELEASE * savepoint_opt nm
-
- SAVEPOINT shift 611
- savepoint_opt shift 177
- {default} reduce 21
-
-State 299:
- savepoint_opt ::= * SAVEPOINT
- (21) savepoint_opt ::= *
- cmd ::= ROLLBACK trans_opt TO * savepoint_opt nm
-
- SAVEPOINT shift 611
- savepoint_opt shift 179
- {default} reduce 21
-
-State 300:
- (10) trans_opt ::= *
- trans_opt ::= * TRANSACTION
- trans_opt ::= * TRANSACTION nm
- cmd ::= ROLLBACK * trans_opt
- cmd ::= ROLLBACK * trans_opt TO savepoint_opt nm
-
- TRANSACTION shift 180
- trans_opt shift 416
- {default} reduce 10
-
-State 301:
- (10) trans_opt ::= *
- trans_opt ::= * TRANSACTION
- trans_opt ::= * TRANSACTION nm
- cmd ::= END * trans_opt
-
- TRANSACTION shift 180
- trans_opt shift 612
- {default} reduce 10
-
-State 302:
- (10) trans_opt ::= *
- trans_opt ::= * TRANSACTION
- trans_opt ::= * TRANSACTION nm
- cmd ::= COMMIT * trans_opt
-
- TRANSACTION shift 180
- trans_opt shift 613
- {default} reduce 10
-
-State 303:
- cmd ::= BEGIN transtype * trans_opt
- (10) trans_opt ::= *
- trans_opt ::= * TRANSACTION
- trans_opt ::= * TRANSACTION nm
-
- TRANSACTION shift 180
- trans_opt shift 623
- {default} reduce 10
-
-State 304:
- (324) anylist ::= *
- anylist ::= * anylist LP anylist RP
- anylist ::= anylist LP * anylist RP
- anylist ::= * anylist ANY
-
- anylist shift 312
- {default} reduce 324
-
-State 305:
- vtabargtoken ::= lp * anylist RP
- (324) anylist ::= *
- anylist ::= * anylist LP anylist RP
- anylist ::= * anylist ANY
-
- anylist shift 313
- {default} reduce 324
-
-State 306:
- vtabarglist ::= vtabarglist COMMA * vtabarg
- (319) vtabarg ::= *
- vtabarg ::= * vtabarg vtabargtoken
-
- vtabarg shift 148
- {default} reduce 319
-
-State 307:
- (71) refargs ::= *
- refargs ::= * refargs refarg
- tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt * refargs defer_subclause_opt
-
- refargs shift 124
- {default} reduce 71
-
-State 308:
- ccons ::= REFERENCES nm idxlist_opt * refargs
- (71) refargs ::= *
- refargs ::= * refargs refarg
-
- refargs shift 227
- {default} reduce 71
-
-State 309:
- column ::= columnid type * carglist
- carglist ::= * carglist ccons
- (54) carglist ::= *
-
- carglist shift 139
- {default} reduce 54
-
-State 310:
- likeop ::= NOT * LIKE_KW
- likeop ::= NOT * MATCH
- expr ::= expr NOT * NULL
- between_op ::= NOT * BETWEEN
- in_op ::= NOT * IN
-
- LIKE_KW shift 587
- MATCH shift 586
- BETWEEN shift 584
- IN shift 583
- NULL shift 585
-
-State 311:
- cmd ::= DROP * TABLE ifexists fullname
- cmd ::= DROP * VIEW ifexists fullname
- cmd ::= DROP * INDEX ifexists fullname
- cmd ::= DROP * TRIGGER ifexists fullname
-
- TABLE shift 249
- TRIGGER shift 246
- VIEW shift 248
- INDEX shift 247
-
-State 312:
- anylist ::= anylist * LP anylist RP
- anylist ::= anylist LP anylist * RP
- anylist ::= anylist * ANY
-
- LP shift 304
- RP shift 422
- ANY shift 421
-
-State 313:
- vtabargtoken ::= lp anylist * RP
- anylist ::= anylist * LP anylist RP
- anylist ::= anylist * ANY
-
- LP shift 304
- RP shift 423
- ANY shift 421
-
-State 314:
- create_table ::= createkw temp * TABLE ifnotexists nm dbnm
- cmd ::= createkw temp * VIEW ifnotexists nm dbnm AS select
- trigger_decl ::= temp * TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause
-
- TABLE shift 267
- TRIGGER shift 263
- VIEW shift 265
-
-State 315:
- refarg ::= ON * INSERT refact
- refarg ::= ON * DELETE refact
- refarg ::= ON * UPDATE refact
-
- INSERT shift 196
- DELETE shift 195
- UPDATE shift 194
-
-State 316:
- cmd ::= create_vtab LP vtabarglist * RP
- vtabarglist ::= vtabarglist * COMMA vtabarg
-
- RP shift 426
- COMMA shift 306
-
-State 317:
- (254) cmd ::= PRAGMA nm dbnm *
- cmd ::= PRAGMA nm dbnm * EQ nmnum
- cmd ::= PRAGMA nm dbnm * LP nmnum RP
- cmd ::= PRAGMA nm dbnm * EQ minus_num
- cmd ::= PRAGMA nm dbnm * LP minus_num RP
-
- LP shift 6
- EQ shift 7
- {default} reduce 254
-
-State 318:
- valuelist ::= VALUES LP nexprlist * RP
- nexprlist ::= nexprlist * COMMA expr
-
- RP shift 457
- COMMA shift 35
-
-State 319:
- inscollist_opt ::= LP inscollist * RP
- inscollist ::= inscollist * COMMA nm
-
- RP shift 458
- COMMA shift 170
-
-State 320:
- cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist * RP where_opt
- idxlist ::= idxlist * COMMA nm collate sortorder
-
- RP shift 256
- COMMA shift 166
-
-State 321:
- tcons ::= FOREIGN KEY LP idxlist * RP REFERENCES nm idxlist_opt refargs defer_subclause_opt
- idxlist ::= idxlist * COMMA nm collate sortorder
-
- RP shift 374
- COMMA shift 166
-
-State 322:
- tcons ::= UNIQUE LP idxlist * RP onconf
- idxlist ::= idxlist * COMMA nm collate sortorder
-
- RP shift 270
- COMMA shift 166
-
-State 323:
- idxlist_opt ::= LP idxlist * RP
- idxlist ::= idxlist * COMMA nm collate sortorder
-
- RP shift 498
- COMMA shift 166
-
-State 324:
- refact ::= SET * NULL
- refact ::= SET * DEFAULT
-
- DEFAULT shift 504
- NULL shift 505
-
-State 325:
- init_deferred_pred_opt ::= INITIALLY * DEFERRED
- init_deferred_pred_opt ::= INITIALLY * IMMEDIATE
-
- DEFERRED shift 514
- IMMEDIATE shift 513
-
-State 326:
- ccons ::= NOT * NULL onconf
- defer_subclause ::= NOT * DEFERRABLE init_deferred_pred_opt
-
- NULL shift 280
- DEFERRABLE shift 279
-
-State 327:
- using_opt ::= USING LP inscollist * RP
- inscollist ::= inscollist * COMMA nm
-
- RP shift 540
- COMMA shift 170
-
-State 328:
- typetoken ::= typename LP signed * RP
- typetoken ::= typename LP signed * COMMA signed RP
-
- RP shift 575
- COMMA shift 65
-
-State 329:
- explain ::= EXPLAIN QUERY * PLAN
-
- PLAN shift 419
-
-State 330:
- (6) explain ::= EXPLAIN *
- explain ::= EXPLAIN * QUERY PLAN
-
- QUERY shift 329
- {default} reduce 6
-
-State 331:
- (314) cmd ::= create_vtab *
- cmd ::= create_vtab * LP vtabarglist RP
-
- LP shift 188
- {default} reduce 314
-
-State 332:
- cmd ::= ALTER TABLE add_column_fullname * ADD kwcolumn_opt column
-
- ADD shift 237
-
-State 333:
- cmd ::= ALTER TABLE fullname RENAME * TO nm
-
- TO shift 149
-
-State 334:
- cmd ::= ALTER TABLE fullname * RENAME TO nm
- (311) add_column_fullname ::= fullname *
-
- RENAME shift 333
- {default} reduce 311
-
-State 335:
- cmd ::= ALTER * TABLE fullname RENAME TO nm
- cmd ::= ALTER * TABLE add_column_fullname ADD kwcolumn_opt column
-
- TABLE shift 64
-
-State 336:
- cmd ::= PRAGMA nm dbnm LP minus_num * RP
-
- RP shift 434
-
-State 337:
- cmd ::= PRAGMA nm dbnm LP nmnum * RP
-
- RP shift 435
-
-State 338:
- cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT * VALUES
-
- VALUES shift 444
-
-State 339:
- (172) cmd ::= insert_cmd INTO fullname inscollist_opt valuelist *
- valuelist ::= valuelist * COMMA LP exprlist RP
-
- COMMA shift 349
- {default} reduce 172
-
-State 340:
- cmd ::= insert_cmd * INTO fullname inscollist_opt valuelist
- cmd ::= insert_cmd * INTO fullname inscollist_opt select
- cmd ::= insert_cmd * INTO fullname inscollist_opt DEFAULT VALUES
-
- INTO shift 107
-
-State 341:
- cmd ::= UPDATE orconf fullname indexed_opt * SET setlist where_opt
-
- SET shift 108
-
-State 342:
- cmd ::= DELETE * FROM fullname indexed_opt where_opt
-
- FROM shift 110
-
-State 343:
- ifexists ::= IF * EXISTS
-
- EXISTS shift 450
-
-State 344:
- create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm * USING nm
-
- USING shift 154
-
-State 345:
- create_vtab ::= createkw VIRTUAL * TABLE ifnotexists nm dbnm USING nm
-
- TABLE shift 251
-
-State 346:
- trigger_cmd_list ::= trigger_cmd * SEMI
-
- SEMI shift 454
-
-State 347:
- trigger_cmd ::= DELETE * FROM trnm tridxby where_opt
-
- FROM shift 115
-
-State 348:
- valuelist ::= valuelist COMMA LP exprlist * RP
-
- RP shift 456
-
-State 349:
- valuelist ::= valuelist COMMA * LP exprlist RP
-
- LP shift 4
-
-State 350:
- valuelist ::= valuelist * COMMA LP exprlist RP
- (289) trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist *
-
- COMMA shift 349
- {default} reduce 289
-
-State 351:
- valuelist ::= VALUES * LP nexprlist RP
-
- LP shift 10
-
-State 352:
- trigger_cmd ::= insert_cmd * INTO trnm inscollist_opt valuelist
- trigger_cmd ::= insert_cmd * INTO trnm inscollist_opt select
-
- INTO shift 117
-
-State 353:
- setlist ::= nm * EQ expr
-
- EQ shift 24
-
-State 354:
- setlist ::= setlist COMMA nm * EQ expr
-
- EQ shift 25
-
-State 355:
- trigger_cmd ::= UPDATE orconf trnm tridxby * SET setlist where_opt
-
- SET shift 118
-
-State 356:
- tridxby ::= NOT * INDEXED
-
- INDEXED shift 460
-
-State 357:
- tridxby ::= INDEXED * BY nm
-
- BY shift 157
-
-State 358:
- (283) trnm ::= nm *
- trnm ::= nm * DOT nm
-
- DOT shift 158
- {default} reduce 283
-
-State 359:
- trigger_cmd_list ::= trigger_cmd_list trigger_cmd * SEMI
-
- SEMI shift 463
-
-State 360:
- cmd ::= createkw trigger_decl * BEGIN trigger_cmd_list END
-
- BEGIN shift 14
-
-State 361:
- cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm * LP idxlist RP where_opt
-
- LP shift 120
-
-State 362:
- cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm * ON nm LP idxlist RP where_opt
-
- ON shift 159
-
-State 363:
- cmd ::= createkw uniqueflag * INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt
-
- INDEX shift 258
-
-State 364:
- trigger_time ::= INSTEAD * OF
-
- OF shift 471
-
-State 365:
- inscollist ::= inscollist * COMMA nm
- (276) trigger_event ::= UPDATE OF inscollist *
-
- COMMA shift 170
- {default} reduce 276
-
-State 366:
- (275) trigger_event ::= UPDATE *
- trigger_event ::= UPDATE * OF inscollist
-
- OF shift 121
- {default} reduce 275
-
-State 367:
- foreach_clause ::= FOR EACH * ROW
-
- ROW shift 475
-
-State 368:
- foreach_clause ::= FOR * EACH ROW
-
- EACH shift 367
-
-State 369:
- trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event * ON fullname foreach_clause when_clause
-
- ON shift 122
-
-State 370:
- cmd ::= createkw temp VIEW ifnotexists nm dbnm * AS select
-
- AS shift 185
-
-State 371:
- ifnotexists ::= IF NOT * EXISTS
-
- EXISTS shift 478
-
-State 372:
- ifnotexists ::= IF * NOT EXISTS
-
- NOT shift 371
-
-State 373:
- defer_subclause ::= NOT * DEFERRABLE init_deferred_pred_opt
-
- DEFERRABLE shift 279
-
-State 374:
- tcons ::= FOREIGN KEY LP idxlist RP * REFERENCES nm idxlist_opt refargs defer_subclause_opt
-
- REFERENCES shift 164
-
-State 375:
- tcons ::= FOREIGN KEY * LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt
-
- LP shift 125
-
-State 376:
- tcons ::= FOREIGN * KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt
-
- KEY shift 375
-
-State 377:
- tcons ::= CHECK * LP expr RP onconf
-
- LP shift 27
-
-State 378:
- tcons ::= UNIQUE * LP idxlist RP onconf
-
- LP shift 126
-
-State 379:
- tcons ::= PRIMARY KEY LP idxlist autoinc * RP onconf
-
- RP shift 271
-
-State 380:
- tcons ::= PRIMARY KEY * LP idxlist autoinc RP onconf
-
- LP shift 127
-
-State 381:
- tcons ::= PRIMARY * KEY LP idxlist autoinc RP onconf
-
- KEY shift 380
-
-State 382:
- refact ::= NO * ACTION
-
- ACTION shift 501
-
-State 383:
- ccons ::= CHECK * LP expr RP
-
- LP shift 28
-
-State 384:
- ccons ::= PRIMARY * KEY sortorder onconf autoinc
-
- KEY shift 228
-
-State 385:
- onconf ::= ON * CONFLICT resolvetype
-
- CONFLICT shift 141
-
-State 386:
- expr ::= ID LP STAR * RP
-
- RP shift 527
-
-State 387:
- expr ::= ID LP distinct exprlist * RP
-
- RP shift 528
-
-State 388:
- selcollist ::= sclp nm * DOT STAR
- expr ::= nm * DOT nm
- expr ::= nm * DOT nm DOT nm
-
- DOT shift 142
-
-State 389:
- indexed_opt ::= NOT * INDEXED
-
- INDEXED shift 536
-
-State 390:
- indexed_opt ::= INDEXED * BY nm
-
- BY shift 169
-
-State 391:
- using_opt ::= USING * LP inscollist RP
-
- LP shift 129
-
-State 392:
- joinop ::= JOIN_KW nm nm * JOIN
-
- JOIN shift 544
-
-State 393:
- (159) groupby_opt ::= GROUP BY nexprlist *
- nexprlist ::= nexprlist * COMMA expr
-
- COMMA shift 35
- {default} reduce 159
-
-State 394:
- groupby_opt ::= GROUP * BY nexprlist
-
- BY shift 11
-
-State 395:
- (152) orderby_opt ::= ORDER BY sortlist *
- sortlist ::= sortlist * COMMA expr sortorder
-
- COMMA shift 32
- {default} reduce 152
-
-State 396:
- orderby_opt ::= ORDER * BY sortlist
-
- BY shift 12
-
-State 397:
- (238) exprlist ::= nexprlist *
- nexprlist ::= nexprlist * COMMA expr
-
- COMMA shift 35
- {default} reduce 238
-
-State 398:
- expr ::= expr in_op LP exprlist * RP
-
- RP shift 556
-
-State 399:
- expr ::= RAISE LP raisetype COMMA nm * RP
-
- RP shift 560
-
-State 400:
- expr ::= RAISE LP raisetype * COMMA nm RP
-
- COMMA shift 173
-
-State 401:
- expr ::= RAISE LP IGNORE * RP
-
- RP shift 561
-
-State 402:
- expr ::= RAISE * LP IGNORE RP
- expr ::= RAISE * LP raisetype COMMA nm RP
-
- LP shift 199
-
-State 403:
- expr ::= CASE case_operand case_exprlist case_else * END
-
- END shift 562
-
-State 404:
- expr ::= EXISTS * LP select RP
-
- LP shift 187
-
-State 405:
- expr ::= CAST LP expr AS typetoken * RP
-
- RP shift 565
-
-State 406:
- typetoken ::= typename LP signed COMMA signed * RP
-
- RP shift 574
-
-State 407:
- expr ::= CAST * LP expr AS typetoken RP
-
- LP shift 45
-
-State 408:
- (115) multiselect_op ::= UNION *
- multiselect_op ::= UNION * ALL
-
- ALL shift 578
- {default} reduce 115
-
-State 409:
- (188) expr ::= nm DOT nm *
- expr ::= nm DOT nm * DOT nm
-
- DOT shift 174
- {default} reduce 188
-
-State 410:
- expr ::= nm * DOT nm
- expr ::= nm * DOT nm DOT nm
-
- DOT shift 175
-
-State 411:
- (43) nm ::= JOIN_KW *
- (187) expr ::= JOIN_KW *
-
- DOT reduce 43
- {default} reduce 187
-
-State 412:
- (42) nm ::= STRING *
- (191) term ::= STRING *
-
- DOT reduce 42
- {default} reduce 191
-
-State 413:
- (41) nm ::= id *
- (186) expr ::= id *
-
- DOT reduce 41
- {default} reduce 186
-
-State 414:
- (38) id ::= ID *
- expr ::= ID * LP distinct exprlist RP
- expr ::= ID * LP STAR RP
-
- LP shift 213
- {default} reduce 38
-
-State 415:
- create_table_args ::= LP columnlist conslist_opt * RP
-
- RP shift 606
-
-State 416:
- (19) cmd ::= ROLLBACK trans_opt *
- cmd ::= ROLLBACK trans_opt * TO savepoint_opt nm
-
- TO shift 299
- {default} reduce 19
-
-State 417:
- ecmd ::= explain cmdx * SEMI
-
- SEMI shift 625
-
-State 418:
- (2) cmdlist ::= ecmd *
-
- {default} reduce 2
-
-State 419:
- (7) explain ::= EXPLAIN QUERY PLAN *
-
- {default} reduce 7
-
-State 420:
- (323) lp ::= LP *
-
- {default} reduce 323
-
-State 421:
- (326) anylist ::= anylist ANY *
-
- {default} reduce 326
-
-State 422:
- (325) anylist ::= anylist LP anylist RP *
-
- {default} reduce 325
-
-State 423:
- (322) vtabargtoken ::= lp anylist RP *
-
- {default} reduce 322
-
-State 424:
- (321) vtabargtoken ::= ANY *
-
- {default} reduce 321
-
-State 425:
- (320) vtabarg ::= vtabarg vtabargtoken *
-
- {default} reduce 320
-
-State 426:
- (315) cmd ::= create_vtab LP vtabarglist RP *
-
- {default} reduce 315
-
-State 427:
- (313) kwcolumn_opt ::= COLUMNKW *
-
- {default} reduce 313
-
-State 428:
- (310) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column *
-
- {default} reduce 310
-
-State 429:
- (309) cmd ::= ALTER TABLE fullname RENAME TO nm *
-
- {default} reduce 309
-
-State 430:
- (308) cmd ::= ANALYZE nm dbnm *
-
- {default} reduce 308
-
-State 431:
- (306) cmd ::= REINDEX nm dbnm *
-
- {default} reduce 306
-
-State 432:
- (303) database_kw_opt ::= DATABASE *
-
- {default} reduce 303
-
-State 433:
- (299) cmd ::= ATTACH database_kw_opt expr AS expr key_opt *
-
- {default} reduce 299
-
-State 434:
- (258) cmd ::= PRAGMA nm dbnm LP minus_num RP *
-
- {default} reduce 258
-
-State 435:
- (256) cmd ::= PRAGMA nm dbnm LP nmnum RP *
-
- {default} reduce 256
-
-State 436:
- (263) nmnum ::= DEFAULT *
-
- {default} reduce 263
-
-State 437:
- (262) nmnum ::= DELETE *
-
- {default} reduce 262
-
-State 438:
- (261) nmnum ::= ON *
-
- {default} reduce 261
-
-State 439:
- (260) nmnum ::= nm *
-
- {default} reduce 260
-
-State 440:
- (259) nmnum ::= plus_num *
-
- {default} reduce 259
-
-State 441:
- (257) cmd ::= PRAGMA nm dbnm EQ minus_num *
-
- {default} reduce 257
-
-State 442:
- (255) cmd ::= PRAGMA nm dbnm EQ nmnum *
-
- {default} reduce 255
-
-State 443:
- (253) cmd ::= VACUUM nm *
-
- {default} reduce 253
-
-State 444:
- (174) cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES *
-
- {default} reduce 174
-
-State 445:
- (169) cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt *
-
- {default} reduce 169
-
-State 446:
- (166) cmd ::= DELETE FROM fullname indexed_opt where_opt *
-
- {default} reduce 166
-
-State 447:
- (298) cmd ::= DROP TRIGGER ifexists fullname *
-
- {default} reduce 298
-
-State 448:
- (251) cmd ::= DROP INDEX ifexists fullname *
-
- {default} reduce 251
-
-State 449:
- (111) cmd ::= DROP VIEW ifexists fullname *
-
- {default} reduce 111
-
-State 450:
- (108) ifexists ::= IF EXISTS *
-
- {default} reduce 108
-
-State 451:
- (107) cmd ::= DROP TABLE ifexists fullname *
-
- {default} reduce 107
-
-State 452:
- (27) createkw ::= CREATE *
-
- {default} reduce 27
-
-State 453:
- (316) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm *
-
- {default} reduce 316
-
-State 454:
- (282) trigger_cmd_list ::= trigger_cmd SEMI *
-
- {default} reduce 282
-
-State 455:
- (291) trigger_cmd ::= DELETE FROM trnm tridxby where_opt *
-
- {default} reduce 291
-
-State 456:
- (178) valuelist ::= valuelist COMMA LP exprlist RP *
-
- {default} reduce 178
-
-State 457:
- (177) valuelist ::= VALUES LP nexprlist RP *
-
- {default} reduce 177
-
-State 458:
- (180) inscollist_opt ::= LP inscollist RP *
-
- {default} reduce 180
-
-State 459:
- (288) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt *
-
- {default} reduce 288
-
-State 460:
- (287) tridxby ::= NOT INDEXED *
-
- {default} reduce 287
-
-State 461:
- (286) tridxby ::= INDEXED BY nm *
-
- {default} reduce 286
-
-State 462:
- (284) trnm ::= nm DOT nm *
-
- {default} reduce 284
-
-State 463:
- (281) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI *
-
- {default} reduce 281
-
-State 464:
- (268) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END *
-
- {default} reduce 268
-
-State 465:
- (176) insert_cmd ::= REPLACE *
-
- {default} reduce 176
-
-State 466:
- (175) insert_cmd ::= INSERT orconf *
-
- {default} reduce 175
-
-State 467:
- (103) orconf ::= OR resolvetype *
-
- {default} reduce 103
-
-State 468:
- (243) uniqueflag ::= UNIQUE *
-
- {default} reduce 243
-
-State 469:
- (242) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt *
-
- {default} reduce 242
-
-State 470:
- (30) temp ::= TEMP *
-
- {default} reduce 30
-
-State 471:
- (272) trigger_time ::= INSTEAD OF *
-
- {default} reduce 272
-
-State 472:
- (271) trigger_time ::= AFTER *
-
- {default} reduce 271
-
-State 473:
- (270) trigger_time ::= BEFORE *
-
- {default} reduce 270
-
-State 474:
- (274) trigger_event ::= DELETE|INSERT *
-
- {default} reduce 274
-
-State 475:
- (278) foreach_clause ::= FOR EACH ROW *
-
- {default} reduce 278
-
-State 476:
- (269) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause *
-
- {default} reduce 269
-
-State 477:
- (139) fullname ::= nm dbnm *
-
- {default} reduce 139
-
-State 478:
- (29) ifnotexists ::= IF NOT EXISTS *
-
- {default} reduce 29
-
-State 479:
- (26) create_table ::= createkw temp TABLE ifnotexists nm dbnm *
-
- {default} reduce 26
-
-State 480:
- (35) columnlist ::= column *
-
- {default} reduce 35
-
-State 481:
- (90) conslist ::= tcons *
-
- {default} reduce 90
-
-State 482:
- (91) tconscomma ::= COMMA *
-
- {default} reduce 91
-
-State 483:
- (99) defer_subclause_opt ::= defer_subclause *
-
- {default} reduce 99
-
-State 484:
- (97) tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt *
-
- {default} reduce 97
-
-State 485:
- (96) tcons ::= CHECK LP expr RP onconf *
-
- {default} reduce 96
-
-State 486:
- (95) tcons ::= UNIQUE LP idxlist RP onconf *
-
- {default} reduce 95
-
-State 487:
- (94) tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf *
-
- {default} reduce 94
-
-State 488:
- (93) tcons ::= CONSTRAINT nm *
-
- {default} reduce 93
-
-State 489:
- (89) conslist ::= conslist tconscomma tcons *
-
- {default} reduce 89
-
-State 490:
- (37) columnid ::= nm *
-
- {default} reduce 37
-
-State 491:
- (45) type ::= typetoken *
-
- {default} reduce 45
-
-State 492:
- (83) defer_subclause ::= DEFERRABLE init_deferred_pred_opt *
-
- {default} reduce 83
-
-State 493:
- (68) ccons ::= COLLATE ids *
-
- {default} reduce 68
-
-State 494:
- (67) ccons ::= defer_subclause *
-
- {default} reduce 67
-
-State 495:
- (248) idxlist ::= nm collate sortorder *
-
- {default} reduce 248
-
-State 496:
- (250) collate ::= COLLATE ids *
-
- {default} reduce 250
-
-State 497:
- (247) idxlist ::= idxlist COMMA nm collate sortorder *
-
- {default} reduce 247
-
-State 498:
- (246) idxlist_opt ::= LP idxlist RP *
-
- {default} reduce 246
-
-State 499:
- (76) refarg ::= ON UPDATE refact *
-
- {default} reduce 76
-
-State 500:
- (75) refarg ::= ON DELETE refact *
-
- {default} reduce 75
-
-State 501:
- (81) refact ::= NO ACTION *
-
- {default} reduce 81
-
-State 502:
- (80) refact ::= RESTRICT *
-
- {default} reduce 80
-
-State 503:
- (79) refact ::= CASCADE *
-
- {default} reduce 79
-
-State 504:
- (78) refact ::= SET DEFAULT *
-
- {default} reduce 78
-
-State 505:
- (77) refact ::= SET NULL *
-
- {default} reduce 77
-
-State 506:
- (74) refarg ::= ON INSERT refact *
-
- {default} reduce 74
-
-State 507:
- (73) refarg ::= MATCH nm *
-
- {default} reduce 73
-
-State 508:
- (72) refargs ::= refargs refarg *
-
- {default} reduce 72
-
-State 509:
- (65) ccons ::= CHECK LP expr RP *
-
- {default} reduce 65
-
-State 510:
- (64) ccons ::= UNIQUE onconf *
-
- {default} reduce 64
-
-State 511:
- (70) autoinc ::= AUTOINCR *
-
- {default} reduce 70
-
-State 512:
- (63) ccons ::= PRIMARY KEY sortorder onconf autoinc *
-
- {default} reduce 63
-
-State 513:
- (86) init_deferred_pred_opt ::= INITIALLY IMMEDIATE *
-
- {default} reduce 86
-
-State 514:
- (85) init_deferred_pred_opt ::= INITIALLY DEFERRED *
-
- {default} reduce 85
-
-State 515:
- (82) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt *
-
- {default} reduce 82
-
-State 516:
- (62) ccons ::= NOT NULL onconf *
-
- {default} reduce 62
-
-State 517:
- (106) resolvetype ::= REPLACE *
-
- {default} reduce 106
-
-State 518:
- (105) resolvetype ::= IGNORE *
-
- {default} reduce 105
-
-State 519:
- (104) resolvetype ::= raisetype *
-
- {default} reduce 104
-
-State 520:
- (101) onconf ::= ON CONFLICT resolvetype *
-
- {default} reduce 101
-
-State 521:
- (61) ccons ::= NULL onconf *
-
- {default} reduce 61
-
-State 522:
- (60) ccons ::= DEFAULT id *
-
- {default} reduce 60
-
-State 523:
- (59) ccons ::= DEFAULT MINUS term *
-
- {default} reduce 59
-
-State 524:
- (191) term ::= STRING *
-
- {default} reduce 191
-
-State 525:
- (58) ccons ::= DEFAULT PLUS term *
-
- {default} reduce 58
-
-State 526:
- (57) ccons ::= DEFAULT LP expr RP *
-
- {default} reduce 57
-
-State 527:
- (197) expr ::= ID LP STAR RP *
-
- {default} reduce 197
-
-State 528:
- (196) expr ::= ID LP distinct exprlist RP *
-
- {default} reduce 196
-
-State 529:
- (184) expr ::= LP expr RP *
-
- {default} reduce 184
-
-State 530:
- (227) expr ::= LP select RP *
-
- {default} reduce 227
-
-State 531:
- (126) selcollist ::= sclp nm DOT STAR *
-
- {default} reduce 126
-
-State 532:
- (125) selcollist ::= sclp STAR *
-
- {default} reduce 125
-
-State 533:
- (124) selcollist ::= sclp expr as *
-
- {default} reduce 124
-
-State 534:
- (136) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt *
-
- {default} reduce 136
-
-State 535:
- (135) seltablist ::= stl_prefix LP select RP as on_opt using_opt *
-
- {default} reduce 135
-
-State 536:
- (148) indexed_opt ::= NOT INDEXED *
-
- {default} reduce 148
-
-State 537:
- (147) indexed_opt ::= INDEXED BY nm *
-
- {default} reduce 147
-
-State 538:
- (182) inscollist ::= nm *
-
- {default} reduce 182
-
-State 539:
- (181) inscollist ::= inscollist COMMA nm *
-
- {default} reduce 181
-
-State 540:
- (149) using_opt ::= USING LP inscollist RP *
-
- {default} reduce 149
-
-State 541:
- (134) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt *
-
- {default} reduce 134
-
-State 542:
- (128) as ::= ids *
-
- {default} reduce 128
-
-State 543:
- (127) as ::= AS nm *
-
- {default} reduce 127
-
-State 544:
- (143) joinop ::= JOIN_KW nm nm JOIN *
-
- {default} reduce 143
-
-State 545:
- (142) joinop ::= JOIN_KW nm JOIN *
-
- {default} reduce 142
-
-State 546:
- (141) joinop ::= JOIN_KW JOIN *
-
- {default} reduce 141
-
-State 547:
- (140) joinop ::= COMMA|JOIN *
-
- {default} reduce 140
-
-State 548:
- (132) stl_prefix ::= seltablist joinop *
-
- {default} reduce 132
-
-State 549:
- (122) sclp ::= selcollist COMMA *
-
- {default} reduce 122
-
-State 550:
- (154) sortlist ::= expr sortorder *
-
- {default} reduce 154
-
-State 551:
- (156) sortorder ::= DESC *
-
- {default} reduce 156
-
-State 552:
- (155) sortorder ::= ASC *
-
- {default} reduce 155
-
-State 553:
- (153) sortlist ::= sortlist COMMA expr sortorder *
-
- {default} reduce 153
-
-State 554:
- (229) expr ::= expr in_op nm dbnm *
-
- {default} reduce 229
-
-State 555:
- (138) dbnm ::= DOT nm *
-
- {default} reduce 138
-
-State 556:
- (226) expr ::= expr in_op LP exprlist RP *
-
- {default} reduce 226
-
-State 557:
- (297) raisetype ::= FAIL *
-
- {default} reduce 297
-
-State 558:
- (296) raisetype ::= ABORT *
-
- {default} reduce 296
-
-State 559:
- (295) raisetype ::= ROLLBACK *
-
- {default} reduce 295
-
-State 560:
- (294) expr ::= RAISE LP raisetype COMMA nm RP *
-
- {default} reduce 294
-
-State 561:
- (293) expr ::= RAISE LP IGNORE RP *
-
- {default} reduce 293
-
-State 562:
- (231) expr ::= CASE case_operand case_exprlist case_else END *
-
- {default} reduce 231
-
-State 563:
- (230) expr ::= EXISTS LP select RP *
-
- {default} reduce 230
-
-State 564:
- (198) term ::= CTIME_KW *
-
- {default} reduce 198
-
-State 565:
- (195) expr ::= CAST LP expr AS typetoken RP *
-
- {default} reduce 195
-
-State 566:
- (49) typename ::= ids *
-
- {default} reduce 49
-
-State 567:
- (50) typename ::= typename ids *
-
- {default} reduce 50
-
-State 568:
- (266) minus_num ::= MINUS number *
-
- {default} reduce 266
-
-State 569:
- (265) plus_num ::= number *
-
- {default} reduce 265
-
-State 570:
- (267) number ::= INTEGER|FLOAT *
-
- {default} reduce 267
-
-State 571:
- (264) plus_num ::= PLUS number *
-
- {default} reduce 264
-
-State 572:
- (52) signed ::= minus_num *
-
- {default} reduce 52
-
-State 573:
- (51) signed ::= plus_num *
-
- {default} reduce 51
-
-State 574:
- (48) typetoken ::= typename LP signed COMMA signed RP *
-
- {default} reduce 48
-
-State 575:
- (47) typetoken ::= typename LP signed RP *
-
- {default} reduce 47
-
-State 576:
- (228) expr ::= expr in_op LP select RP *
-
- {default} reduce 228
-
-State 577:
- (117) multiselect_op ::= EXCEPT|INTERSECT *
-
- {default} reduce 117
-
-State 578:
- (116) multiselect_op ::= UNION ALL *
-
- {default} reduce 116
-
-State 579:
- (224) in_op ::= IN *
-
- {default} reduce 224
-
-State 580:
- (221) between_op ::= BETWEEN *
-
- {default} reduce 221
-
-State 581:
- (213) expr ::= expr ISNULL|NOTNULL *
-
- {default} reduce 213
-
-State 582:
- (209) likeop ::= MATCH *
-
- {default} reduce 209
-
-State 583:
- (225) in_op ::= NOT IN *
-
- {default} reduce 225
-
-State 584:
- (222) between_op ::= NOT BETWEEN *
-
- {default} reduce 222
-
-State 585:
- (214) expr ::= expr NOT NULL *
-
- {default} reduce 214
-
-State 586:
- (210) likeop ::= NOT MATCH *
-
- {default} reduce 210
-
-State 587:
- (208) likeop ::= NOT LIKE_KW *
-
- {default} reduce 208
-
-State 588:
- (207) likeop ::= LIKE_KW *
-
- {default} reduce 207
-
-State 589:
- (193) expr ::= VARIABLE *
-
- {default} reduce 193
-
-State 590:
- (192) expr ::= REGISTER *
-
- {default} reduce 192
-
-State 591:
- (190) term ::= INTEGER|FLOAT|BLOB *
-
- {default} reduce 190
-
-State 592:
- (189) expr ::= nm DOT nm DOT nm *
-
- {default} reduce 189
-
-State 593:
- (185) term ::= NULL *
-
- {default} reduce 185
-
-State 594:
- (194) expr ::= expr COLLATE ids *
-
- {default} reduce 194
-
-State 595:
- (40) ids ::= ID|STRING *
-
- {default} reduce 40
-
-State 596:
- (118) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt *
-
- {default} reduce 118
-
-State 597:
- (114) select ::= select multiselect_op oneselect *
-
- {default} reduce 114
-
-State 598:
- (113) select ::= oneselect *
-
- {default} reduce 113
-
-State 599:
- (183) expr ::= term *
-
- {default} reduce 183
-
-State 600:
- (120) distinct ::= ALL *
-
- {default} reduce 120
-
-State 601:
- (119) distinct ::= DISTINCT *
-
- {default} reduce 119
-
-State 602:
- (56) ccons ::= DEFAULT term *
-
- {default} reduce 56
-
-State 603:
- (55) ccons ::= CONSTRAINT nm *
-
- {default} reduce 55
-
-State 604:
- (53) carglist ::= carglist ccons *
-
- {default} reduce 53
-
-State 605:
- (34) columnlist ::= columnlist COMMA column *
-
- {default} reduce 34
-
-State 606:
- (32) create_table_args ::= LP columnlist conslist_opt RP *
-
- {default} reduce 32
-
-State 607:
- (25) cmd ::= create_table create_table_args *
-
- {default} reduce 25
-
-State 608:
- (23) cmd ::= RELEASE savepoint_opt nm *
-
- {default} reduce 23
-
-State 609:
- (22) cmd ::= SAVEPOINT nm *
-
- {default} reduce 22
-
-State 610:
- (24) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm *
-
- {default} reduce 24
-
-State 611:
- (20) savepoint_opt ::= SAVEPOINT *
-
- {default} reduce 20
-
-State 612:
- (18) cmd ::= END trans_opt *
-
- {default} reduce 18
-
-State 613:
- (17) cmd ::= COMMIT trans_opt *
-
- {default} reduce 17
-
-State 614:
- (16) transtype ::= EXCLUSIVE *
-
- {default} reduce 16
-
-State 615:
- (15) transtype ::= IMMEDIATE *
-
- {default} reduce 15
-
-State 616:
- (14) transtype ::= DEFERRED *
-
- {default} reduce 14
-
-State 617:
- (43) nm ::= JOIN_KW *
-
- {default} reduce 43
-
-State 618:
- (42) nm ::= STRING *
-
- {default} reduce 42
-
-State 619:
- (41) nm ::= id *
-
- {default} reduce 41
-
-State 620:
- (39) id ::= INDEXED *
-
- {default} reduce 39
-
-State 621:
- (38) id ::= ID *
-
- {default} reduce 38
-
-State 622:
- (12) trans_opt ::= TRANSACTION nm *
-
- {default} reduce 12
-
-State 623:
- (9) cmd ::= BEGIN transtype trans_opt *
-
- {default} reduce 9
-
-State 624:
- (8) cmdx ::= cmd *
-
- {default} reduce 8
-
-State 625:
- (4) ecmd ::= explain cmdx SEMI *
-
- {default} reduce 4
-
-State 626:
- (3) ecmd ::= SEMI *
-
- {default} reduce 3
-
-State 627:
- (1) cmdlist ::= cmdlist ecmd *
-
- {default} reduce 1
-
-----------------------------------------------------
-Symbols:
- 0: $:
- 1: SEMI
- 2: EXPLAIN
- 3: QUERY
- 4: PLAN
- 5: BEGIN
- 6: TRANSACTION
- 7: DEFERRED
- 8: IMMEDIATE
- 9: EXCLUSIVE
- 10: COMMIT
- 11: END
- 12: ROLLBACK
- 13: SAVEPOINT
- 14: RELEASE
- 15: TO
- 16: TABLE
- 17: CREATE
- 18: IF
- 19: NOT
- 20: EXISTS
- 21: TEMP
- 22: LP
- 23: RP
- 24: AS
- 25: COMMA
- 26: ID
- 27: INDEXED
- 28: ABORT
- 29: ACTION
- 30: AFTER
- 31: ANALYZE
- 32: ASC
- 33: ATTACH
- 34: BEFORE
- 35: BY
- 36: CASCADE
- 37: CAST
- 38: COLUMNKW
- 39: CONFLICT
- 40: DATABASE
- 41: DESC
- 42: DETACH
- 43: EACH
- 44: FAIL
- 45: FOR
- 46: IGNORE
- 47: INITIALLY
- 48: INSTEAD
- 49: LIKE_KW
- 50: MATCH
- 51: NO
- 52: KEY
- 53: OF
- 54: OFFSET
- 55: PRAGMA
- 56: RAISE
- 57: REPLACE
- 58: RESTRICT
- 59: ROW
- 60: TRIGGER
- 61: VACUUM
- 62: VIEW
- 63: VIRTUAL
- 64: REINDEX
- 65: RENAME
- 66: CTIME_KW
- 67: ANY
- 68: OR
- 69: AND
- 70: IS
- 71: BETWEEN
- 72: IN
- 73: ISNULL
- 74: NOTNULL
- 75: NE
- 76: EQ
- 77: GT
- 78: LE
- 79: LT
- 80: GE
- 81: ESCAPE
- 82: BITAND
- 83: BITOR
- 84: LSHIFT
- 85: RSHIFT
- 86: PLUS
- 87: MINUS
- 88: STAR
- 89: SLASH
- 90: REM
- 91: CONCAT
- 92: COLLATE
- 93: BITNOT
- 94: STRING
- 95: JOIN_KW
- 96: CONSTRAINT
- 97: DEFAULT
- 98: NULL
- 99: PRIMARY
- 100: UNIQUE
- 101: CHECK
- 102: REFERENCES
- 103: AUTOINCR
- 104: ON
- 105: INSERT
- 106: DELETE
- 107: UPDATE
- 108: SET
- 109: DEFERRABLE
- 110: FOREIGN
- 111: DROP
- 112: UNION
- 113: ALL
- 114: EXCEPT
- 115: INTERSECT
- 116: SELECT
- 117: DISTINCT
- 118: DOT
- 119: FROM
- 120: JOIN
- 121: USING
- 122: ORDER
- 123: GROUP
- 124: HAVING
- 125: LIMIT
- 126: WHERE
- 127: INTO
- 128: VALUES
- 129: INTEGER
- 130: FLOAT
- 131: BLOB
- 132: REGISTER
- 133: VARIABLE
- 134: CASE
- 135: WHEN
- 136: THEN
- 137: ELSE
- 138: INDEX
- 139: ALTER
- 140: ADD
- 141: error:
- 142: input: SEMI EXPLAIN BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM REINDEX INSERT DELETE UPDATE DROP SELECT ALTER
- 143: cmdlist: SEMI EXPLAIN BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM REINDEX INSERT DELETE UPDATE DROP SELECT ALTER
- 144: ecmd: SEMI EXPLAIN BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM REINDEX INSERT DELETE UPDATE DROP SELECT ALTER
- 145: explain: EXPLAIN
- 146: cmdx: BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM REINDEX INSERT DELETE UPDATE DROP SELECT ALTER
- 147: cmd: BEGIN COMMIT END ROLLBACK SAVEPOINT RELEASE CREATE ANALYZE ATTACH DETACH PRAGMA REPLACE VACUUM REINDEX INSERT DELETE UPDATE DROP SELECT ALTER
- 148: transtype: DEFERRED IMMEDIATE EXCLUSIVE
- 149: trans_opt: TRANSACTION
- 150: nm: ID INDEXED STRING JOIN_KW
- 151: savepoint_opt: SAVEPOINT
- 152: create_table: CREATE
- 153: create_table_args: LP AS
- 154: createkw: CREATE
- 155: temp: TEMP
- 156: ifnotexists: IF
- 157: dbnm: DOT
- 158: columnlist: ID INDEXED STRING JOIN_KW
- 159: conslist_opt: COMMA
- 160: select: SELECT
- 161: column: ID INDEXED STRING JOIN_KW
- 162: columnid: ID INDEXED STRING JOIN_KW
- 163: type: ID STRING
- 164: carglist: NOT COLLATE CONSTRAINT DEFAULT NULL PRIMARY UNIQUE CHECK REFERENCES DEFERRABLE
- 165: id: ID INDEXED
- 166: ids: ID STRING
- 167: typetoken: ID STRING
- 168: typename: ID STRING
- 169: signed: PLUS MINUS INTEGER FLOAT
- 170: plus_num: PLUS INTEGER FLOAT
- 171: minus_num: MINUS
- 172: ccons: NOT COLLATE CONSTRAINT DEFAULT NULL PRIMARY UNIQUE CHECK REFERENCES DEFERRABLE
- 173: term: CTIME_KW STRING NULL INTEGER FLOAT BLOB
- 174: expr: NOT EXISTS LP ID INDEXED CAST RAISE CTIME_KW PLUS MINUS BITNOT STRING JOIN_KW NULL INTEGER FLOAT BLOB REGISTER VARIABLE CASE
- 175: onconf: ON
- 176: sortorder: ASC DESC
- 177: autoinc: AUTOINCR
- 178: idxlist_opt: LP
- 179: refargs: MATCH ON
- 180: defer_subclause: NOT DEFERRABLE
- 181: refarg: MATCH ON
- 182: refact: CASCADE NO RESTRICT SET
- 183: init_deferred_pred_opt: INITIALLY
- 184: conslist: CONSTRAINT PRIMARY UNIQUE CHECK FOREIGN
- 185: tconscomma: COMMA
- 186: tcons: CONSTRAINT PRIMARY UNIQUE CHECK FOREIGN
- 187: idxlist: ID INDEXED STRING JOIN_KW
- 188: defer_subclause_opt: NOT DEFERRABLE
- 189: orconf: OR
- 190: resolvetype: ROLLBACK ABORT FAIL IGNORE REPLACE
- 191: raisetype: ROLLBACK ABORT FAIL
- 192: ifexists: IF
- 193: fullname: ID INDEXED STRING JOIN_KW
- 194: oneselect: SELECT
- 195: multiselect_op: UNION EXCEPT INTERSECT
- 196: distinct: ALL DISTINCT
- 197: selcollist: NOT EXISTS LP ID INDEXED CAST RAISE CTIME_KW PLUS MINUS STAR BITNOT STRING JOIN_KW NULL INTEGER FLOAT BLOB REGISTER VARIABLE CASE
- 198: from: FROM
- 199: where_opt: WHERE
- 200: groupby_opt: GROUP
- 201: having_opt: HAVING
- 202: orderby_opt: ORDER
- 203: limit_opt: