rroonga 6.0.7-x64-mingw32 → 6.0.9-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/doc/text/cross-compile.md +24 -23
- data/doc/text/news.md +10 -0
- data/ext/groonga/rb-grn-database.c +33 -0
- data/ext/groonga/rb-grn-id.c +19 -0
- data/ext/groonga/rb-grn-table.c +3 -1
- data/ext/groonga/rb-grn.h +1 -1
- data/lib/2.1/groonga.so +0 -0
- data/lib/2.2/groonga.so +0 -0
- data/lib/2.3/groonga.so +0 -0
- data/rroonga-build.rb +3 -3
- data/test/test-database.rb +21 -1
- data/test/test-id.rb +16 -0
- data/vendor/local/bin/grndb.exe +0 -0
- data/vendor/local/bin/groonga-benchmark.exe +0 -0
- data/vendor/local/bin/groonga-suggest-create-dataset.exe +0 -0
- data/vendor/local/bin/groonga.exe +0 -0
- data/vendor/local/bin/libgroonga-0.dll +0 -0
- data/vendor/local/bin/libmecab-2.dll +0 -0
- data/vendor/local/bin/libmsgpackc.dll +0 -0
- data/vendor/local/bin/libonig-5.dll +0 -0
- data/vendor/local/bin/libpcre-1.dll +0 -0
- data/vendor/local/bin/libpcrecpp-0.dll +0 -0
- data/vendor/local/bin/libpcreposix-0.dll +0 -0
- data/vendor/local/bin/lz4.exe +0 -0
- data/vendor/local/bin/lz4c.exe +0 -0
- data/vendor/local/bin/lz4cat +0 -0
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/bin/pcre-config +133 -0
- data/vendor/local/bin/pcregrep.exe +0 -0
- data/vendor/local/bin/pcretest.exe +0 -0
- data/vendor/local/bin/zlib1.dll +0 -0
- data/vendor/local/include/groonga/groonga/db.h +22 -0
- data/vendor/local/include/groonga/groonga/groonga.h +21 -1
- data/vendor/local/include/groonga/groonga/id.h +1 -0
- data/vendor/local/include/pcre.h +677 -0
- data/vendor/local/include/pcre_scanner.h +172 -0
- data/vendor/local/include/pcre_stringpiece.h +180 -0
- data/vendor/local/include/pcrecpp.h +710 -0
- data/vendor/local/include/pcrecpparg.h +174 -0
- data/vendor/local/include/pcreposix.h +146 -0
- data/vendor/local/lib/groonga/plugins/functions/number.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/number.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/number.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/string.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/string.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/string.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/time.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/time.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/time.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/sharding/logical_table_remove.rb +253 -23
- data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
- data/vendor/local/lib/groonga/scripts/ruby/context.rb +19 -0
- data/vendor/local/lib/groonga/scripts/ruby/context/rc.rb +12 -4
- data/vendor/local/lib/groonga/scripts/ruby/database.rb +36 -18
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +13 -10
- data/vendor/local/lib/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/liblz4.a +0 -0
- data/vendor/local/lib/liblz4.dll +0 -0
- data/vendor/local/lib/liblz4.dll.1 +0 -0
- data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
- data/vendor/local/lib/libmecab.a +0 -0
- data/vendor/local/lib/libmecab.dll.a +0 -0
- data/vendor/local/lib/libmsgpackc.a +0 -0
- data/vendor/local/lib/libmsgpackc.dll.a +0 -0
- data/vendor/local/lib/libonig.a +0 -0
- data/vendor/local/lib/libonig.dll.a +0 -0
- data/vendor/local/lib/libpcre.a +0 -0
- data/vendor/local/lib/libpcre.dll.a +0 -0
- data/vendor/local/lib/libpcre.la +41 -0
- data/vendor/local/lib/libpcrecpp.a +0 -0
- data/vendor/local/lib/libpcrecpp.dll.a +0 -0
- data/vendor/local/lib/libpcrecpp.la +41 -0
- data/vendor/local/lib/libpcreposix.a +0 -0
- data/vendor/local/lib/libpcreposix.dll.a +0 -0
- data/vendor/local/lib/libpcreposix.la +41 -0
- data/vendor/local/lib/libz.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
- data/vendor/local/lib/pkgconfig/libpcre.pc +13 -0
- data/vendor/local/lib/pkgconfig/libpcrecpp.pc +12 -0
- data/vendor/local/lib/pkgconfig/libpcreposix.pc +13 -0
- data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
- data/vendor/local/sbin/groonga-httpd.exe +0 -0
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
- data/vendor/local/share/doc/groonga/en/html/_sources/limitations.txt +24 -5
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +156 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_acquire.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_release.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_table_remove.txt +86 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_list.txt +23 -11
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_copy.txt +64 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/tables.txt +88 -45
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/client.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/development.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/index.html +15 -14
- data/vendor/local/share/doc/groonga/en/html/install.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/install/centos.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/debian.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/fedora.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/others.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/solaris.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/windows.html +14 -14
- data/vendor/local/share/doc/groonga/en/html/limitations.html +28 -9
- data/vendor/local/share/doc/groonga/en/html/news.html +196 -61
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/2.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/3.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/4.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/5.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/reference.html +15 -14
- data/vendor/local/share/doc/groonga/en/html/reference/alias.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/cast.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/column.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command.html +15 -14
- data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +6 -6
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +6 -6
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +98 -8
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +32 -18
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_copy.html +200 -0
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +52 -52
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +41 -41
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +41 -41
- data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +43 -43
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/function.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/record_number.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/log.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/operations.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/output.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/tables.html +41 -34
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/types.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/server.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/memcached.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/package.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/spec.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
- data/vendor/local/share/doc/groonga/ja/html/_sources/limitations.txt +24 -5
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +156 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_acquire.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_release.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_table_remove.txt +86 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_list.txt +23 -11
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_copy.txt +64 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tables.txt +88 -45
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/client.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/development.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/index.html +15 -14
- data/vendor/local/share/doc/groonga/ja/html/install.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/install/centos.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/debian.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/others.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/windows.html +14 -14
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +21 -8
- data/vendor/local/share/doc/groonga/ja/html/news.html +185 -61
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/reference.html +15 -14
- data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/column.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command.html +15 -14
- data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +88 -8
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +103 -103
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +10 -10
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_copy.html +201 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +52 -52
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +41 -41
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +41 -41
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +43 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/function.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/record_number.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/log.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/output.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +33 -10
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/types.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/server.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/package.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/spec.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/pcre/AUTHORS +45 -0
- data/vendor/local/share/doc/pcre/COPYING +5 -0
- data/vendor/local/share/doc/pcre/ChangeLog +6010 -0
- data/vendor/local/share/doc/pcre/LICENCE +93 -0
- data/vendor/local/share/doc/pcre/NEWS +725 -0
- data/vendor/local/share/doc/pcre/README +1002 -0
- data/vendor/local/share/doc/pcre/html/NON-AUTOTOOLS-BUILD.txt +772 -0
- data/vendor/local/share/doc/pcre/html/README.txt +1002 -0
- data/vendor/local/share/doc/pcre/html/index.html +185 -0
- data/vendor/local/share/doc/pcre/html/pcre-config.html +109 -0
- data/vendor/local/share/doc/pcre/html/pcre.html +224 -0
- data/vendor/local/share/doc/pcre/html/pcre16.html +384 -0
- data/vendor/local/share/doc/pcre/html/pcre32.html +382 -0
- data/vendor/local/share/doc/pcre/html/pcre_assign_jit_stack.html +76 -0
- data/vendor/local/share/doc/pcre/html/pcre_compile.html +111 -0
- data/vendor/local/share/doc/pcre/html/pcre_compile2.html +115 -0
- data/vendor/local/share/doc/pcre/html/pcre_config.html +94 -0
- data/vendor/local/share/doc/pcre/html/pcre_copy_named_substring.html +65 -0
- data/vendor/local/share/doc/pcre/html/pcre_copy_substring.html +61 -0
- data/vendor/local/share/doc/pcre/html/pcre_dfa_exec.html +129 -0
- data/vendor/local/share/doc/pcre/html/pcre_exec.html +111 -0
- data/vendor/local/share/doc/pcre/html/pcre_free_study.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcre_free_substring.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcre_free_substring_list.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcre_fullinfo.html +118 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_named_substring.html +68 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_stringnumber.html +57 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_stringtable_entries.html +60 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_substring.html +64 -0
- data/vendor/local/share/doc/pcre/html/pcre_get_substring_list.html +61 -0
- data/vendor/local/share/doc/pcre/html/pcre_jit_exec.html +108 -0
- data/vendor/local/share/doc/pcre/html/pcre_jit_stack_alloc.html +55 -0
- data/vendor/local/share/doc/pcre/html/pcre_jit_stack_free.html +48 -0
- data/vendor/local/share/doc/pcre/html/pcre_maketables.html +48 -0
- data/vendor/local/share/doc/pcre/html/pcre_pattern_to_host_byte_order.html +58 -0
- data/vendor/local/share/doc/pcre/html/pcre_refcount.html +51 -0
- data/vendor/local/share/doc/pcre/html/pcre_study.html +68 -0
- data/vendor/local/share/doc/pcre/html/pcre_utf16_to_host_byte_order.html +57 -0
- data/vendor/local/share/doc/pcre/html/pcre_utf32_to_host_byte_order.html +57 -0
- data/vendor/local/share/doc/pcre/html/pcre_version.html +46 -0
- data/vendor/local/share/doc/pcre/html/pcreapi.html +2921 -0
- data/vendor/local/share/doc/pcre/html/pcrebuild.html +534 -0
- data/vendor/local/share/doc/pcre/html/pcrecallout.html +286 -0
- data/vendor/local/share/doc/pcre/html/pcrecompat.html +235 -0
- data/vendor/local/share/doc/pcre/html/pcrecpp.html +368 -0
- data/vendor/local/share/doc/pcre/html/pcredemo.html +426 -0
- data/vendor/local/share/doc/pcre/html/pcregrep.html +759 -0
- data/vendor/local/share/doc/pcre/html/pcrejit.html +452 -0
- data/vendor/local/share/doc/pcre/html/pcrelimits.html +90 -0
- data/vendor/local/share/doc/pcre/html/pcrematching.html +242 -0
- data/vendor/local/share/doc/pcre/html/pcrepartial.html +509 -0
- data/vendor/local/share/doc/pcre/html/pcrepattern.html +3273 -0
- data/vendor/local/share/doc/pcre/html/pcreperform.html +195 -0
- data/vendor/local/share/doc/pcre/html/pcreposix.html +290 -0
- data/vendor/local/share/doc/pcre/html/pcreprecompile.html +163 -0
- data/vendor/local/share/doc/pcre/html/pcresample.html +110 -0
- data/vendor/local/share/doc/pcre/html/pcrestack.html +225 -0
- data/vendor/local/share/doc/pcre/html/pcresyntax.html +561 -0
- data/vendor/local/share/doc/pcre/html/pcretest.html +1158 -0
- data/vendor/local/share/doc/pcre/html/pcreunicode.html +262 -0
- data/vendor/local/share/doc/pcre/pcre-config.txt +86 -0
- data/vendor/local/share/doc/pcre/pcre.txt +10454 -0
- data/vendor/local/share/doc/pcre/pcregrep.txt +741 -0
- data/vendor/local/share/doc/pcre/pcretest.txt +1087 -0
- data/vendor/local/share/groonga/html/admin.old/js/groonga-admin.ja.js +11 -6
- data/vendor/local/share/groonga/html/admin.old/js/groonga-admin.js +11 -6
- data/vendor/local/share/license/pcre/LICENCE +93 -0
- data/vendor/local/share/man/man1/pcre-config.1 +92 -0
- data/vendor/local/share/man/man1/pcregrep.1 +683 -0
- data/vendor/local/share/man/man1/pcretest.1 +1156 -0
- data/vendor/local/share/man/man3/pcre.3 +230 -0
- data/vendor/local/share/man/man3/pcre16.3 +371 -0
- data/vendor/local/share/man/man3/pcre16_assign_jit_stack.3 +59 -0
- data/vendor/local/share/man/man3/pcre16_compile.3 +96 -0
- data/vendor/local/share/man/man3/pcre16_compile2.3 +101 -0
- data/vendor/local/share/man/man3/pcre16_config.3 +79 -0
- data/vendor/local/share/man/man3/pcre16_copy_named_substring.3 +51 -0
- data/vendor/local/share/man/man3/pcre16_copy_substring.3 +47 -0
- data/vendor/local/share/man/man3/pcre16_dfa_exec.3 +118 -0
- data/vendor/local/share/man/man3/pcre16_exec.3 +99 -0
- data/vendor/local/share/man/man3/pcre16_free_study.3 +31 -0
- data/vendor/local/share/man/man3/pcre16_free_substring.3 +31 -0
- data/vendor/local/share/man/man3/pcre16_free_substring_list.3 +31 -0
- data/vendor/local/share/man/man3/pcre16_fullinfo.3 +103 -0
- data/vendor/local/share/man/man3/pcre16_get_named_substring.3 +54 -0
- data/vendor/local/share/man/man3/pcre16_get_stringnumber.3 +43 -0
- data/vendor/local/share/man/man3/pcre16_get_stringtable_entries.3 +46 -0
- data/vendor/local/share/man/man3/pcre16_get_substring.3 +50 -0
- data/vendor/local/share/man/man3/pcre16_get_substring_list.3 +47 -0
- data/vendor/local/share/man/man3/pcre16_jit_exec.3 +96 -0
- data/vendor/local/share/man/man3/pcre16_jit_stack_alloc.3 +43 -0
- data/vendor/local/share/man/man3/pcre16_jit_stack_free.3 +35 -0
- data/vendor/local/share/man/man3/pcre16_maketables.3 +33 -0
- data/vendor/local/share/man/man3/pcre16_pattern_to_host_byte_order.3 +44 -0
- data/vendor/local/share/man/man3/pcre16_refcount.3 +36 -0
- data/vendor/local/share/man/man3/pcre16_study.3 +54 -0
- data/vendor/local/share/man/man3/pcre16_utf16_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre16_version.3 +31 -0
- data/vendor/local/share/man/man3/pcre32.3 +369 -0
- data/vendor/local/share/man/man3/pcre32_assign_jit_stack.3 +59 -0
- data/vendor/local/share/man/man3/pcre32_compile.3 +96 -0
- data/vendor/local/share/man/man3/pcre32_compile2.3 +101 -0
- data/vendor/local/share/man/man3/pcre32_config.3 +79 -0
- data/vendor/local/share/man/man3/pcre32_copy_named_substring.3 +51 -0
- data/vendor/local/share/man/man3/pcre32_copy_substring.3 +47 -0
- data/vendor/local/share/man/man3/pcre32_dfa_exec.3 +118 -0
- data/vendor/local/share/man/man3/pcre32_exec.3 +99 -0
- data/vendor/local/share/man/man3/pcre32_free_study.3 +31 -0
- data/vendor/local/share/man/man3/pcre32_free_substring.3 +31 -0
- data/vendor/local/share/man/man3/pcre32_free_substring_list.3 +31 -0
- data/vendor/local/share/man/man3/pcre32_fullinfo.3 +103 -0
- data/vendor/local/share/man/man3/pcre32_get_named_substring.3 +54 -0
- data/vendor/local/share/man/man3/pcre32_get_stringnumber.3 +43 -0
- data/vendor/local/share/man/man3/pcre32_get_stringtable_entries.3 +46 -0
- data/vendor/local/share/man/man3/pcre32_get_substring.3 +50 -0
- data/vendor/local/share/man/man3/pcre32_get_substring_list.3 +47 -0
- data/vendor/local/share/man/man3/pcre32_jit_exec.3 +96 -0
- data/vendor/local/share/man/man3/pcre32_jit_stack_alloc.3 +43 -0
- data/vendor/local/share/man/man3/pcre32_jit_stack_free.3 +35 -0
- data/vendor/local/share/man/man3/pcre32_maketables.3 +33 -0
- data/vendor/local/share/man/man3/pcre32_pattern_to_host_byte_order.3 +44 -0
- data/vendor/local/share/man/man3/pcre32_refcount.3 +36 -0
- data/vendor/local/share/man/man3/pcre32_study.3 +54 -0
- data/vendor/local/share/man/man3/pcre32_utf32_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre32_version.3 +31 -0
- data/vendor/local/share/man/man3/pcre_assign_jit_stack.3 +59 -0
- data/vendor/local/share/man/man3/pcre_compile.3 +96 -0
- data/vendor/local/share/man/man3/pcre_compile2.3 +101 -0
- data/vendor/local/share/man/man3/pcre_config.3 +79 -0
- data/vendor/local/share/man/man3/pcre_copy_named_substring.3 +51 -0
- data/vendor/local/share/man/man3/pcre_copy_substring.3 +47 -0
- data/vendor/local/share/man/man3/pcre_dfa_exec.3 +118 -0
- data/vendor/local/share/man/man3/pcre_exec.3 +99 -0
- data/vendor/local/share/man/man3/pcre_free_study.3 +31 -0
- data/vendor/local/share/man/man3/pcre_free_substring.3 +31 -0
- data/vendor/local/share/man/man3/pcre_free_substring_list.3 +31 -0
- data/vendor/local/share/man/man3/pcre_fullinfo.3 +103 -0
- data/vendor/local/share/man/man3/pcre_get_named_substring.3 +54 -0
- data/vendor/local/share/man/man3/pcre_get_stringnumber.3 +43 -0
- data/vendor/local/share/man/man3/pcre_get_stringtable_entries.3 +46 -0
- data/vendor/local/share/man/man3/pcre_get_substring.3 +50 -0
- data/vendor/local/share/man/man3/pcre_get_substring_list.3 +47 -0
- data/vendor/local/share/man/man3/pcre_jit_exec.3 +96 -0
- data/vendor/local/share/man/man3/pcre_jit_stack_alloc.3 +43 -0
- data/vendor/local/share/man/man3/pcre_jit_stack_free.3 +35 -0
- data/vendor/local/share/man/man3/pcre_maketables.3 +33 -0
- data/vendor/local/share/man/man3/pcre_pattern_to_host_byte_order.3 +44 -0
- data/vendor/local/share/man/man3/pcre_refcount.3 +36 -0
- data/vendor/local/share/man/man3/pcre_study.3 +54 -0
- data/vendor/local/share/man/man3/pcre_utf16_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre_utf32_to_host_byte_order.3 +45 -0
- data/vendor/local/share/man/man3/pcre_version.3 +31 -0
- data/vendor/local/share/man/man3/pcreapi.3 +2918 -0
- data/vendor/local/share/man/man3/pcrebuild.3 +550 -0
- data/vendor/local/share/man/man3/pcrecallout.3 +255 -0
- data/vendor/local/share/man/man3/pcrecompat.3 +200 -0
- data/vendor/local/share/man/man3/pcrecpp.3 +348 -0
- data/vendor/local/share/man/man3/pcredemo.3 +424 -0
- data/vendor/local/share/man/man3/pcrejit.3 +431 -0
- data/vendor/local/share/man/man3/pcrelimits.3 +71 -0
- data/vendor/local/share/man/man3/pcrematching.3 +214 -0
- data/vendor/local/share/man/man3/pcrepartial.3 +476 -0
- data/vendor/local/share/man/man3/pcrepattern.3 +3301 -0
- data/vendor/local/share/man/man3/pcreperform.3 +177 -0
- data/vendor/local/share/man/man3/pcreposix.3 +267 -0
- data/vendor/local/share/man/man3/pcreprecompile.3 +155 -0
- data/vendor/local/share/man/man3/pcresample.3 +99 -0
- data/vendor/local/share/man/man3/pcrestack.3 +215 -0
- data/vendor/local/share/man/man3/pcresyntax.3 +540 -0
- data/vendor/local/share/man/man3/pcreunicode.3 +249 -0
- metadata +255 -59
@@ -0,0 +1,172 @@
|
|
1
|
+
// Copyright (c) 2005, Google Inc.
|
2
|
+
// All rights reserved.
|
3
|
+
//
|
4
|
+
// Redistribution and use in source and binary forms, with or without
|
5
|
+
// modification, are permitted provided that the following conditions are
|
6
|
+
// met:
|
7
|
+
//
|
8
|
+
// * Redistributions of source code must retain the above copyright
|
9
|
+
// notice, this list of conditions and the following disclaimer.
|
10
|
+
// * Redistributions in binary form must reproduce the above
|
11
|
+
// copyright notice, this list of conditions and the following disclaimer
|
12
|
+
// in the documentation and/or other materials provided with the
|
13
|
+
// distribution.
|
14
|
+
// * Neither the name of Google Inc. nor the names of its
|
15
|
+
// contributors may be used to endorse or promote products derived from
|
16
|
+
// this software without specific prior written permission.
|
17
|
+
//
|
18
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
20
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
21
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
22
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
23
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
24
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
25
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
26
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
//
|
30
|
+
// Author: Sanjay Ghemawat
|
31
|
+
//
|
32
|
+
// Regular-expression based scanner for parsing an input stream.
|
33
|
+
//
|
34
|
+
// Example 1: parse a sequence of "var = number" entries from input:
|
35
|
+
//
|
36
|
+
// Scanner scanner(input);
|
37
|
+
// string var;
|
38
|
+
// int number;
|
39
|
+
// scanner.SetSkipExpression("\\s+"); // Skip any white space we encounter
|
40
|
+
// while (scanner.Consume("(\\w+) = (\\d+)", &var, &number)) {
|
41
|
+
// ...;
|
42
|
+
// }
|
43
|
+
|
44
|
+
#ifndef _PCRE_SCANNER_H
|
45
|
+
#define _PCRE_SCANNER_H
|
46
|
+
|
47
|
+
#include <assert.h>
|
48
|
+
#include <string>
|
49
|
+
#include <vector>
|
50
|
+
|
51
|
+
#include <pcrecpp.h>
|
52
|
+
#include <pcre_stringpiece.h>
|
53
|
+
|
54
|
+
namespace pcrecpp {
|
55
|
+
|
56
|
+
class PCRECPP_EXP_DEFN Scanner {
|
57
|
+
public:
|
58
|
+
Scanner();
|
59
|
+
explicit Scanner(const std::string& input);
|
60
|
+
~Scanner();
|
61
|
+
|
62
|
+
// Return current line number. The returned line-number is
|
63
|
+
// one-based. I.e. it returns 1 + the number of consumed newlines.
|
64
|
+
//
|
65
|
+
// Note: this method may be slow. It may take time proportional to
|
66
|
+
// the size of the input.
|
67
|
+
int LineNumber() const;
|
68
|
+
|
69
|
+
// Return the byte-offset that the scanner is looking in the
|
70
|
+
// input data;
|
71
|
+
int Offset() const;
|
72
|
+
|
73
|
+
// Return true iff the start of the remaining input matches "re"
|
74
|
+
bool LookingAt(const RE& re) const;
|
75
|
+
|
76
|
+
// Return true iff all of the following are true
|
77
|
+
// a. the start of the remaining input matches "re",
|
78
|
+
// b. if any arguments are supplied, matched sub-patterns can be
|
79
|
+
// parsed and stored into the arguments.
|
80
|
+
// If it returns true, it skips over the matched input and any
|
81
|
+
// following input that matches the "skip" regular expression.
|
82
|
+
bool Consume(const RE& re,
|
83
|
+
const Arg& arg0 = RE::no_arg,
|
84
|
+
const Arg& arg1 = RE::no_arg,
|
85
|
+
const Arg& arg2 = RE::no_arg
|
86
|
+
// TODO: Allow more arguments?
|
87
|
+
);
|
88
|
+
|
89
|
+
// Set the "skip" regular expression. If after consuming some data,
|
90
|
+
// a prefix of the input matches this RE, it is automatically
|
91
|
+
// skipped. For example, a programming language scanner would use
|
92
|
+
// a skip RE that matches white space and comments.
|
93
|
+
//
|
94
|
+
// scanner.SetSkipExpression("\\s+|//.*|/[*](.|\n)*?[*]/");
|
95
|
+
//
|
96
|
+
// Skipping repeats as long as it succeeds. We used to let people do
|
97
|
+
// this by writing "(...)*" in the regular expression, but that added
|
98
|
+
// up to lots of recursive calls within the pcre library, so now we
|
99
|
+
// control repetition explicitly via the function call API.
|
100
|
+
//
|
101
|
+
// You can pass NULL for "re" if you do not want any data to be skipped.
|
102
|
+
void Skip(const char* re); // DEPRECATED; does *not* repeat
|
103
|
+
void SetSkipExpression(const char* re);
|
104
|
+
|
105
|
+
// Temporarily pause "skip"ing. This
|
106
|
+
// Skip("Foo"); code ; DisableSkip(); code; EnableSkip()
|
107
|
+
// is similar to
|
108
|
+
// Skip("Foo"); code ; Skip(NULL); code ; Skip("Foo");
|
109
|
+
// but avoids creating/deleting new RE objects.
|
110
|
+
void DisableSkip();
|
111
|
+
|
112
|
+
// Reenable previously paused skipping. Any prefix of the input
|
113
|
+
// that matches the skip pattern is immediately dropped.
|
114
|
+
void EnableSkip();
|
115
|
+
|
116
|
+
/***** Special wrappers around SetSkip() for some common idioms *****/
|
117
|
+
|
118
|
+
// Arranges to skip whitespace, C comments, C++ comments.
|
119
|
+
// The overall RE is a disjunction of the following REs:
|
120
|
+
// \\s whitespace
|
121
|
+
// //.*\n C++ comment
|
122
|
+
// /[*](.|\n)*?[*]/ C comment (x*? means minimal repetitions of x)
|
123
|
+
// We get repetition via the semantics of SetSkipExpression, not by using *
|
124
|
+
void SkipCXXComments() {
|
125
|
+
SetSkipExpression("\\s|//.*\n|/[*](?:\n|.)*?[*]/");
|
126
|
+
}
|
127
|
+
|
128
|
+
void set_save_comments(bool comments) {
|
129
|
+
save_comments_ = comments;
|
130
|
+
}
|
131
|
+
|
132
|
+
bool save_comments() {
|
133
|
+
return save_comments_;
|
134
|
+
}
|
135
|
+
|
136
|
+
// Append to vector ranges the comments found in the
|
137
|
+
// byte range [start,end] (inclusive) of the input data.
|
138
|
+
// Only comments that were extracted entirely within that
|
139
|
+
// range are returned: no range splitting of atomically-extracted
|
140
|
+
// comments is performed.
|
141
|
+
void GetComments(int start, int end, std::vector<StringPiece> *ranges);
|
142
|
+
|
143
|
+
// Append to vector ranges the comments added
|
144
|
+
// since the last time this was called. This
|
145
|
+
// functionality is provided for efficiency when
|
146
|
+
// interleaving scanning with parsing.
|
147
|
+
void GetNextComments(std::vector<StringPiece> *ranges);
|
148
|
+
|
149
|
+
private:
|
150
|
+
std::string data_; // All the input data
|
151
|
+
StringPiece input_; // Unprocessed input
|
152
|
+
RE* skip_; // If non-NULL, RE for skipping input
|
153
|
+
bool should_skip_; // If true, use skip_
|
154
|
+
bool skip_repeat_; // If true, repeat skip_ as long as it works
|
155
|
+
bool save_comments_; // If true, aggregate the skip expression
|
156
|
+
|
157
|
+
// the skipped comments
|
158
|
+
// TODO: later consider requiring that the StringPieces be added
|
159
|
+
// in order by their start position
|
160
|
+
std::vector<StringPiece> *comments_;
|
161
|
+
|
162
|
+
// the offset into comments_ that has been returned by GetNextComments
|
163
|
+
int comments_offset_;
|
164
|
+
|
165
|
+
// helper function to consume *skip_ and honour
|
166
|
+
// save_comments_
|
167
|
+
void ConsumeSkip();
|
168
|
+
};
|
169
|
+
|
170
|
+
} // namespace pcrecpp
|
171
|
+
|
172
|
+
#endif /* _PCRE_SCANNER_H */
|
@@ -0,0 +1,180 @@
|
|
1
|
+
// Copyright (c) 2005, Google Inc.
|
2
|
+
// All rights reserved.
|
3
|
+
//
|
4
|
+
// Redistribution and use in source and binary forms, with or without
|
5
|
+
// modification, are permitted provided that the following conditions are
|
6
|
+
// met:
|
7
|
+
//
|
8
|
+
// * Redistributions of source code must retain the above copyright
|
9
|
+
// notice, this list of conditions and the following disclaimer.
|
10
|
+
// * Redistributions in binary form must reproduce the above
|
11
|
+
// copyright notice, this list of conditions and the following disclaimer
|
12
|
+
// in the documentation and/or other materials provided with the
|
13
|
+
// distribution.
|
14
|
+
// * Neither the name of Google Inc. nor the names of its
|
15
|
+
// contributors may be used to endorse or promote products derived from
|
16
|
+
// this software without specific prior written permission.
|
17
|
+
//
|
18
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
20
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
21
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
22
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
23
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
24
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
25
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
26
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
//
|
30
|
+
// Author: Sanjay Ghemawat
|
31
|
+
//
|
32
|
+
// A string like object that points into another piece of memory.
|
33
|
+
// Useful for providing an interface that allows clients to easily
|
34
|
+
// pass in either a "const char*" or a "string".
|
35
|
+
//
|
36
|
+
// Arghh! I wish C++ literals were automatically of type "string".
|
37
|
+
|
38
|
+
#ifndef _PCRE_STRINGPIECE_H
|
39
|
+
#define _PCRE_STRINGPIECE_H
|
40
|
+
|
41
|
+
#include <cstring>
|
42
|
+
#include <string>
|
43
|
+
#include <iosfwd> // for ostream forward-declaration
|
44
|
+
|
45
|
+
#if 0
|
46
|
+
#define HAVE_TYPE_TRAITS
|
47
|
+
#include <type_traits.h>
|
48
|
+
#elif 0
|
49
|
+
#define HAVE_TYPE_TRAITS
|
50
|
+
#include <bits/type_traits.h>
|
51
|
+
#endif
|
52
|
+
|
53
|
+
#include <pcre.h>
|
54
|
+
|
55
|
+
using std::memcmp;
|
56
|
+
using std::strlen;
|
57
|
+
using std::string;
|
58
|
+
|
59
|
+
namespace pcrecpp {
|
60
|
+
|
61
|
+
class PCRECPP_EXP_DEFN StringPiece {
|
62
|
+
private:
|
63
|
+
const char* ptr_;
|
64
|
+
int length_;
|
65
|
+
|
66
|
+
public:
|
67
|
+
// We provide non-explicit singleton constructors so users can pass
|
68
|
+
// in a "const char*" or a "string" wherever a "StringPiece" is
|
69
|
+
// expected.
|
70
|
+
StringPiece()
|
71
|
+
: ptr_(NULL), length_(0) { }
|
72
|
+
StringPiece(const char* str)
|
73
|
+
: ptr_(str), length_(static_cast<int>(strlen(ptr_))) { }
|
74
|
+
StringPiece(const unsigned char* str)
|
75
|
+
: ptr_(reinterpret_cast<const char*>(str)),
|
76
|
+
length_(static_cast<int>(strlen(ptr_))) { }
|
77
|
+
StringPiece(const string& str)
|
78
|
+
: ptr_(str.data()), length_(static_cast<int>(str.size())) { }
|
79
|
+
StringPiece(const char* offset, int len)
|
80
|
+
: ptr_(offset), length_(len) { }
|
81
|
+
|
82
|
+
// data() may return a pointer to a buffer with embedded NULs, and the
|
83
|
+
// returned buffer may or may not be null terminated. Therefore it is
|
84
|
+
// typically a mistake to pass data() to a routine that expects a NUL
|
85
|
+
// terminated string. Use "as_string().c_str()" if you really need to do
|
86
|
+
// this. Or better yet, change your routine so it does not rely on NUL
|
87
|
+
// termination.
|
88
|
+
const char* data() const { return ptr_; }
|
89
|
+
int size() const { return length_; }
|
90
|
+
bool empty() const { return length_ == 0; }
|
91
|
+
|
92
|
+
void clear() { ptr_ = NULL; length_ = 0; }
|
93
|
+
void set(const char* buffer, int len) { ptr_ = buffer; length_ = len; }
|
94
|
+
void set(const char* str) {
|
95
|
+
ptr_ = str;
|
96
|
+
length_ = static_cast<int>(strlen(str));
|
97
|
+
}
|
98
|
+
void set(const void* buffer, int len) {
|
99
|
+
ptr_ = reinterpret_cast<const char*>(buffer);
|
100
|
+
length_ = len;
|
101
|
+
}
|
102
|
+
|
103
|
+
char operator[](int i) const { return ptr_[i]; }
|
104
|
+
|
105
|
+
void remove_prefix(int n) {
|
106
|
+
ptr_ += n;
|
107
|
+
length_ -= n;
|
108
|
+
}
|
109
|
+
|
110
|
+
void remove_suffix(int n) {
|
111
|
+
length_ -= n;
|
112
|
+
}
|
113
|
+
|
114
|
+
bool operator==(const StringPiece& x) const {
|
115
|
+
return ((length_ == x.length_) &&
|
116
|
+
(memcmp(ptr_, x.ptr_, length_) == 0));
|
117
|
+
}
|
118
|
+
bool operator!=(const StringPiece& x) const {
|
119
|
+
return !(*this == x);
|
120
|
+
}
|
121
|
+
|
122
|
+
#define STRINGPIECE_BINARY_PREDICATE(cmp,auxcmp) \
|
123
|
+
bool operator cmp (const StringPiece& x) const { \
|
124
|
+
int r = memcmp(ptr_, x.ptr_, length_ < x.length_ ? length_ : x.length_); \
|
125
|
+
return ((r auxcmp 0) || ((r == 0) && (length_ cmp x.length_))); \
|
126
|
+
}
|
127
|
+
STRINGPIECE_BINARY_PREDICATE(<, <);
|
128
|
+
STRINGPIECE_BINARY_PREDICATE(<=, <);
|
129
|
+
STRINGPIECE_BINARY_PREDICATE(>=, >);
|
130
|
+
STRINGPIECE_BINARY_PREDICATE(>, >);
|
131
|
+
#undef STRINGPIECE_BINARY_PREDICATE
|
132
|
+
|
133
|
+
int compare(const StringPiece& x) const {
|
134
|
+
int r = memcmp(ptr_, x.ptr_, length_ < x.length_ ? length_ : x.length_);
|
135
|
+
if (r == 0) {
|
136
|
+
if (length_ < x.length_) r = -1;
|
137
|
+
else if (length_ > x.length_) r = +1;
|
138
|
+
}
|
139
|
+
return r;
|
140
|
+
}
|
141
|
+
|
142
|
+
string as_string() const {
|
143
|
+
return string(data(), size());
|
144
|
+
}
|
145
|
+
|
146
|
+
void CopyToString(string* target) const {
|
147
|
+
target->assign(ptr_, length_);
|
148
|
+
}
|
149
|
+
|
150
|
+
// Does "this" start with "x"
|
151
|
+
bool starts_with(const StringPiece& x) const {
|
152
|
+
return ((length_ >= x.length_) && (memcmp(ptr_, x.ptr_, x.length_) == 0));
|
153
|
+
}
|
154
|
+
};
|
155
|
+
|
156
|
+
} // namespace pcrecpp
|
157
|
+
|
158
|
+
// ------------------------------------------------------------------
|
159
|
+
// Functions used to create STL containers that use StringPiece
|
160
|
+
// Remember that a StringPiece's lifetime had better be less than
|
161
|
+
// that of the underlying string or char*. If it is not, then you
|
162
|
+
// cannot safely store a StringPiece into an STL container
|
163
|
+
// ------------------------------------------------------------------
|
164
|
+
|
165
|
+
#ifdef HAVE_TYPE_TRAITS
|
166
|
+
// This makes vector<StringPiece> really fast for some STL implementations
|
167
|
+
template<> struct __type_traits<pcrecpp::StringPiece> {
|
168
|
+
typedef __true_type has_trivial_default_constructor;
|
169
|
+
typedef __true_type has_trivial_copy_constructor;
|
170
|
+
typedef __true_type has_trivial_assignment_operator;
|
171
|
+
typedef __true_type has_trivial_destructor;
|
172
|
+
typedef __true_type is_POD_type;
|
173
|
+
};
|
174
|
+
#endif
|
175
|
+
|
176
|
+
// allow StringPiece to be logged
|
177
|
+
PCRECPP_EXP_DECL std::ostream& operator<<(std::ostream& o,
|
178
|
+
const pcrecpp::StringPiece& piece);
|
179
|
+
|
180
|
+
#endif /* _PCRE_STRINGPIECE_H */
|
@@ -0,0 +1,710 @@
|
|
1
|
+
// Copyright (c) 2005, Google Inc.
|
2
|
+
// All rights reserved.
|
3
|
+
//
|
4
|
+
// Redistribution and use in source and binary forms, with or without
|
5
|
+
// modification, are permitted provided that the following conditions are
|
6
|
+
// met:
|
7
|
+
//
|
8
|
+
// * Redistributions of source code must retain the above copyright
|
9
|
+
// notice, this list of conditions and the following disclaimer.
|
10
|
+
// * Redistributions in binary form must reproduce the above
|
11
|
+
// copyright notice, this list of conditions and the following disclaimer
|
12
|
+
// in the documentation and/or other materials provided with the
|
13
|
+
// distribution.
|
14
|
+
// * Neither the name of Google Inc. nor the names of its
|
15
|
+
// contributors may be used to endorse or promote products derived from
|
16
|
+
// this software without specific prior written permission.
|
17
|
+
//
|
18
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
19
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
20
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
21
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
22
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
23
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
24
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
25
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
26
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
27
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
28
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
+
//
|
30
|
+
// Author: Sanjay Ghemawat
|
31
|
+
// Support for PCRE_XXX modifiers added by Giuseppe Maxia, July 2005
|
32
|
+
|
33
|
+
#ifndef _PCRECPP_H
|
34
|
+
#define _PCRECPP_H
|
35
|
+
|
36
|
+
// C++ interface to the pcre regular-expression library. RE supports
|
37
|
+
// Perl-style regular expressions (with extensions like \d, \w, \s,
|
38
|
+
// ...).
|
39
|
+
//
|
40
|
+
// -----------------------------------------------------------------------
|
41
|
+
// REGEXP SYNTAX:
|
42
|
+
//
|
43
|
+
// This module is part of the pcre library and hence supports its syntax
|
44
|
+
// for regular expressions.
|
45
|
+
//
|
46
|
+
// The syntax is pretty similar to Perl's. For those not familiar
|
47
|
+
// with Perl's regular expressions, here are some examples of the most
|
48
|
+
// commonly used extensions:
|
49
|
+
//
|
50
|
+
// "hello (\\w+) world" -- \w matches a "word" character
|
51
|
+
// "version (\\d+)" -- \d matches a digit
|
52
|
+
// "hello\\s+world" -- \s matches any whitespace character
|
53
|
+
// "\\b(\\w+)\\b" -- \b matches empty string at a word boundary
|
54
|
+
// "(?i)hello" -- (?i) turns on case-insensitive matching
|
55
|
+
// "/\\*(.*?)\\*/" -- .*? matches . minimum no. of times possible
|
56
|
+
//
|
57
|
+
// -----------------------------------------------------------------------
|
58
|
+
// MATCHING INTERFACE:
|
59
|
+
//
|
60
|
+
// The "FullMatch" operation checks that supplied text matches a
|
61
|
+
// supplied pattern exactly.
|
62
|
+
//
|
63
|
+
// Example: successful match
|
64
|
+
// pcrecpp::RE re("h.*o");
|
65
|
+
// re.FullMatch("hello");
|
66
|
+
//
|
67
|
+
// Example: unsuccessful match (requires full match):
|
68
|
+
// pcrecpp::RE re("e");
|
69
|
+
// !re.FullMatch("hello");
|
70
|
+
//
|
71
|
+
// Example: creating a temporary RE object:
|
72
|
+
// pcrecpp::RE("h.*o").FullMatch("hello");
|
73
|
+
//
|
74
|
+
// You can pass in a "const char*" or a "string" for "text". The
|
75
|
+
// examples below tend to use a const char*.
|
76
|
+
//
|
77
|
+
// You can, as in the different examples above, store the RE object
|
78
|
+
// explicitly in a variable or use a temporary RE object. The
|
79
|
+
// examples below use one mode or the other arbitrarily. Either
|
80
|
+
// could correctly be used for any of these examples.
|
81
|
+
//
|
82
|
+
// -----------------------------------------------------------------------
|
83
|
+
// MATCHING WITH SUB-STRING EXTRACTION:
|
84
|
+
//
|
85
|
+
// You can supply extra pointer arguments to extract matched subpieces.
|
86
|
+
//
|
87
|
+
// Example: extracts "ruby" into "s" and 1234 into "i"
|
88
|
+
// int i;
|
89
|
+
// string s;
|
90
|
+
// pcrecpp::RE re("(\\w+):(\\d+)");
|
91
|
+
// re.FullMatch("ruby:1234", &s, &i);
|
92
|
+
//
|
93
|
+
// Example: does not try to extract any extra sub-patterns
|
94
|
+
// re.FullMatch("ruby:1234", &s);
|
95
|
+
//
|
96
|
+
// Example: does not try to extract into NULL
|
97
|
+
// re.FullMatch("ruby:1234", NULL, &i);
|
98
|
+
//
|
99
|
+
// Example: integer overflow causes failure
|
100
|
+
// !re.FullMatch("ruby:1234567891234", NULL, &i);
|
101
|
+
//
|
102
|
+
// Example: fails because there aren't enough sub-patterns:
|
103
|
+
// !pcrecpp::RE("\\w+:\\d+").FullMatch("ruby:1234", &s);
|
104
|
+
//
|
105
|
+
// Example: fails because string cannot be stored in integer
|
106
|
+
// !pcrecpp::RE("(.*)").FullMatch("ruby", &i);
|
107
|
+
//
|
108
|
+
// The provided pointer arguments can be pointers to any scalar numeric
|
109
|
+
// type, or one of
|
110
|
+
// string (matched piece is copied to string)
|
111
|
+
// StringPiece (StringPiece is mutated to point to matched piece)
|
112
|
+
// T (where "bool T::ParseFrom(const char*, int)" exists)
|
113
|
+
// NULL (the corresponding matched sub-pattern is not copied)
|
114
|
+
//
|
115
|
+
// CAVEAT: An optional sub-pattern that does not exist in the matched
|
116
|
+
// string is assigned the empty string. Therefore, the following will
|
117
|
+
// return false (because the empty string is not a valid number):
|
118
|
+
// int number;
|
119
|
+
// pcrecpp::RE::FullMatch("abc", "[a-z]+(\\d+)?", &number);
|
120
|
+
//
|
121
|
+
// -----------------------------------------------------------------------
|
122
|
+
// DO_MATCH
|
123
|
+
//
|
124
|
+
// The matching interface supports at most 16 arguments per call.
|
125
|
+
// If you need more, consider using the more general interface
|
126
|
+
// pcrecpp::RE::DoMatch(). See pcrecpp.h for the signature for DoMatch.
|
127
|
+
//
|
128
|
+
// -----------------------------------------------------------------------
|
129
|
+
// PARTIAL MATCHES
|
130
|
+
//
|
131
|
+
// You can use the "PartialMatch" operation when you want the pattern
|
132
|
+
// to match any substring of the text.
|
133
|
+
//
|
134
|
+
// Example: simple search for a string:
|
135
|
+
// pcrecpp::RE("ell").PartialMatch("hello");
|
136
|
+
//
|
137
|
+
// Example: find first number in a string:
|
138
|
+
// int number;
|
139
|
+
// pcrecpp::RE re("(\\d+)");
|
140
|
+
// re.PartialMatch("x*100 + 20", &number);
|
141
|
+
// assert(number == 100);
|
142
|
+
//
|
143
|
+
// -----------------------------------------------------------------------
|
144
|
+
// UTF-8 AND THE MATCHING INTERFACE:
|
145
|
+
//
|
146
|
+
// By default, pattern and text are plain text, one byte per character.
|
147
|
+
// The UTF8 flag, passed to the constructor, causes both pattern
|
148
|
+
// and string to be treated as UTF-8 text, still a byte stream but
|
149
|
+
// potentially multiple bytes per character. In practice, the text
|
150
|
+
// is likelier to be UTF-8 than the pattern, but the match returned
|
151
|
+
// may depend on the UTF8 flag, so always use it when matching
|
152
|
+
// UTF8 text. E.g., "." will match one byte normally but with UTF8
|
153
|
+
// set may match up to three bytes of a multi-byte character.
|
154
|
+
//
|
155
|
+
// Example:
|
156
|
+
// pcrecpp::RE_Options options;
|
157
|
+
// options.set_utf8();
|
158
|
+
// pcrecpp::RE re(utf8_pattern, options);
|
159
|
+
// re.FullMatch(utf8_string);
|
160
|
+
//
|
161
|
+
// Example: using the convenience function UTF8():
|
162
|
+
// pcrecpp::RE re(utf8_pattern, pcrecpp::UTF8());
|
163
|
+
// re.FullMatch(utf8_string);
|
164
|
+
//
|
165
|
+
// NOTE: The UTF8 option is ignored if pcre was not configured with the
|
166
|
+
// --enable-utf8 flag.
|
167
|
+
//
|
168
|
+
// -----------------------------------------------------------------------
|
169
|
+
// PASSING MODIFIERS TO THE REGULAR EXPRESSION ENGINE
|
170
|
+
//
|
171
|
+
// PCRE defines some modifiers to change the behavior of the regular
|
172
|
+
// expression engine.
|
173
|
+
// The C++ wrapper defines an auxiliary class, RE_Options, as a vehicle
|
174
|
+
// to pass such modifiers to a RE class.
|
175
|
+
//
|
176
|
+
// Currently, the following modifiers are supported
|
177
|
+
//
|
178
|
+
// modifier description Perl corresponding
|
179
|
+
//
|
180
|
+
// PCRE_CASELESS case insensitive match /i
|
181
|
+
// PCRE_MULTILINE multiple lines match /m
|
182
|
+
// PCRE_DOTALL dot matches newlines /s
|
183
|
+
// PCRE_DOLLAR_ENDONLY $ matches only at end N/A
|
184
|
+
// PCRE_EXTRA strict escape parsing N/A
|
185
|
+
// PCRE_EXTENDED ignore whitespaces /x
|
186
|
+
// PCRE_UTF8 handles UTF8 chars built-in
|
187
|
+
// PCRE_UNGREEDY reverses * and *? N/A
|
188
|
+
// PCRE_NO_AUTO_CAPTURE disables matching parens N/A (*)
|
189
|
+
//
|
190
|
+
// (For a full account on how each modifier works, please check the
|
191
|
+
// PCRE API reference manual).
|
192
|
+
//
|
193
|
+
// (*) Both Perl and PCRE allow non matching parentheses by means of the
|
194
|
+
// "?:" modifier within the pattern itself. e.g. (?:ab|cd) does not
|
195
|
+
// capture, while (ab|cd) does.
|
196
|
+
//
|
197
|
+
// For each modifier, there are two member functions whose name is made
|
198
|
+
// out of the modifier in lowercase, without the "PCRE_" prefix. For
|
199
|
+
// instance, PCRE_CASELESS is handled by
|
200
|
+
// bool caseless(),
|
201
|
+
// which returns true if the modifier is set, and
|
202
|
+
// RE_Options & set_caseless(bool),
|
203
|
+
// which sets or unsets the modifier.
|
204
|
+
//
|
205
|
+
// Moreover, PCRE_EXTRA_MATCH_LIMIT can be accessed through the
|
206
|
+
// set_match_limit() and match_limit() member functions.
|
207
|
+
// Setting match_limit to a non-zero value will limit the executation of
|
208
|
+
// pcre to keep it from doing bad things like blowing the stack or taking
|
209
|
+
// an eternity to return a result. A value of 5000 is good enough to stop
|
210
|
+
// stack blowup in a 2MB thread stack. Setting match_limit to zero will
|
211
|
+
// disable match limiting. Alternately, you can set match_limit_recursion()
|
212
|
+
// which uses PCRE_EXTRA_MATCH_LIMIT_RECURSION to limit how much pcre
|
213
|
+
// recurses. match_limit() caps the number of matches pcre does;
|
214
|
+
// match_limit_recrusion() caps the depth of recursion.
|
215
|
+
//
|
216
|
+
// Normally, to pass one or more modifiers to a RE class, you declare
|
217
|
+
// a RE_Options object, set the appropriate options, and pass this
|
218
|
+
// object to a RE constructor. Example:
|
219
|
+
//
|
220
|
+
// RE_options opt;
|
221
|
+
// opt.set_caseless(true);
|
222
|
+
//
|
223
|
+
// if (RE("HELLO", opt).PartialMatch("hello world")) ...
|
224
|
+
//
|
225
|
+
// RE_options has two constructors. The default constructor takes no
|
226
|
+
// arguments and creates a set of flags that are off by default.
|
227
|
+
//
|
228
|
+
// The optional parameter 'option_flags' is to facilitate transfer
|
229
|
+
// of legacy code from C programs. This lets you do
|
230
|
+
// RE(pattern, RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);
|
231
|
+
//
|
232
|
+
// But new code is better off doing
|
233
|
+
// RE(pattern,
|
234
|
+
// RE_Options().set_caseless(true).set_multiline(true)).PartialMatch(str);
|
235
|
+
// (See below)
|
236
|
+
//
|
237
|
+
// If you are going to pass one of the most used modifiers, there are some
|
238
|
+
// convenience functions that return a RE_Options class with the
|
239
|
+
// appropriate modifier already set:
|
240
|
+
// CASELESS(), UTF8(), MULTILINE(), DOTALL(), EXTENDED()
|
241
|
+
//
|
242
|
+
// If you need to set several options at once, and you don't want to go
|
243
|
+
// through the pains of declaring a RE_Options object and setting several
|
244
|
+
// options, there is a parallel method that give you such ability on the
|
245
|
+
// fly. You can concatenate several set_xxxxx member functions, since each
|
246
|
+
// of them returns a reference to its class object. e.g.: to pass
|
247
|
+
// PCRE_CASELESS, PCRE_EXTENDED, and PCRE_MULTILINE to a RE with one
|
248
|
+
// statement, you may write
|
249
|
+
//
|
250
|
+
// RE(" ^ xyz \\s+ .* blah$", RE_Options()
|
251
|
+
// .set_caseless(true)
|
252
|
+
// .set_extended(true)
|
253
|
+
// .set_multiline(true)).PartialMatch(sometext);
|
254
|
+
//
|
255
|
+
// -----------------------------------------------------------------------
|
256
|
+
// SCANNING TEXT INCREMENTALLY
|
257
|
+
//
|
258
|
+
// The "Consume" operation may be useful if you want to repeatedly
|
259
|
+
// match regular expressions at the front of a string and skip over
|
260
|
+
// them as they match. This requires use of the "StringPiece" type,
|
261
|
+
// which represents a sub-range of a real string. Like RE, StringPiece
|
262
|
+
// is defined in the pcrecpp namespace.
|
263
|
+
//
|
264
|
+
// Example: read lines of the form "var = value" from a string.
|
265
|
+
// string contents = ...; // Fill string somehow
|
266
|
+
// pcrecpp::StringPiece input(contents); // Wrap in a StringPiece
|
267
|
+
//
|
268
|
+
// string var;
|
269
|
+
// int value;
|
270
|
+
// pcrecpp::RE re("(\\w+) = (\\d+)\n");
|
271
|
+
// while (re.Consume(&input, &var, &value)) {
|
272
|
+
// ...;
|
273
|
+
// }
|
274
|
+
//
|
275
|
+
// Each successful call to "Consume" will set "var/value", and also
|
276
|
+
// advance "input" so it points past the matched text.
|
277
|
+
//
|
278
|
+
// The "FindAndConsume" operation is similar to "Consume" but does not
|
279
|
+
// anchor your match at the beginning of the string. For example, you
|
280
|
+
// could extract all words from a string by repeatedly calling
|
281
|
+
// pcrecpp::RE("(\\w+)").FindAndConsume(&input, &word)
|
282
|
+
//
|
283
|
+
// -----------------------------------------------------------------------
|
284
|
+
// PARSING HEX/OCTAL/C-RADIX NUMBERS
|
285
|
+
//
|
286
|
+
// By default, if you pass a pointer to a numeric value, the
|
287
|
+
// corresponding text is interpreted as a base-10 number. You can
|
288
|
+
// instead wrap the pointer with a call to one of the operators Hex(),
|
289
|
+
// Octal(), or CRadix() to interpret the text in another base. The
|
290
|
+
// CRadix operator interprets C-style "0" (base-8) and "0x" (base-16)
|
291
|
+
// prefixes, but defaults to base-10.
|
292
|
+
//
|
293
|
+
// Example:
|
294
|
+
// int a, b, c, d;
|
295
|
+
// pcrecpp::RE re("(.*) (.*) (.*) (.*)");
|
296
|
+
// re.FullMatch("100 40 0100 0x40",
|
297
|
+
// pcrecpp::Octal(&a), pcrecpp::Hex(&b),
|
298
|
+
// pcrecpp::CRadix(&c), pcrecpp::CRadix(&d));
|
299
|
+
// will leave 64 in a, b, c, and d.
|
300
|
+
//
|
301
|
+
// -----------------------------------------------------------------------
|
302
|
+
// REPLACING PARTS OF STRINGS
|
303
|
+
//
|
304
|
+
// You can replace the first match of "pattern" in "str" with
|
305
|
+
// "rewrite". Within "rewrite", backslash-escaped digits (\1 to \9)
|
306
|
+
// can be used to insert text matching corresponding parenthesized
|
307
|
+
// group from the pattern. \0 in "rewrite" refers to the entire
|
308
|
+
// matching text. E.g.,
|
309
|
+
//
|
310
|
+
// string s = "yabba dabba doo";
|
311
|
+
// pcrecpp::RE("b+").Replace("d", &s);
|
312
|
+
//
|
313
|
+
// will leave "s" containing "yada dabba doo". The result is true if
|
314
|
+
// the pattern matches and a replacement occurs, or false otherwise.
|
315
|
+
//
|
316
|
+
// GlobalReplace() is like Replace(), except that it replaces all
|
317
|
+
// occurrences of the pattern in the string with the rewrite.
|
318
|
+
// Replacements are not subject to re-matching. E.g.,
|
319
|
+
//
|
320
|
+
// string s = "yabba dabba doo";
|
321
|
+
// pcrecpp::RE("b+").GlobalReplace("d", &s);
|
322
|
+
//
|
323
|
+
// will leave "s" containing "yada dada doo". It returns the number
|
324
|
+
// of replacements made.
|
325
|
+
//
|
326
|
+
// Extract() is like Replace(), except that if the pattern matches,
|
327
|
+
// "rewrite" is copied into "out" (an additional argument) with
|
328
|
+
// substitutions. The non-matching portions of "text" are ignored.
|
329
|
+
// Returns true iff a match occurred and the extraction happened
|
330
|
+
// successfully. If no match occurs, the string is left unaffected.
|
331
|
+
|
332
|
+
|
333
|
+
#include <string>
|
334
|
+
#include <pcre.h>
|
335
|
+
#include <pcrecpparg.h> // defines the Arg class
|
336
|
+
// This isn't technically needed here, but we include it
|
337
|
+
// anyway so folks who include pcrecpp.h don't have to.
|
338
|
+
#include <pcre_stringpiece.h>
|
339
|
+
|
340
|
+
namespace pcrecpp {
|
341
|
+
|
342
|
+
#define PCRE_SET_OR_CLEAR(b, o) \
|
343
|
+
if (b) all_options_ |= (o); else all_options_ &= ~(o); \
|
344
|
+
return *this
|
345
|
+
|
346
|
+
#define PCRE_IS_SET(o) \
|
347
|
+
(all_options_ & o) == o
|
348
|
+
|
349
|
+
/***** Compiling regular expressions: the RE class *****/
|
350
|
+
|
351
|
+
// RE_Options allow you to set options to be passed along to pcre,
|
352
|
+
// along with other options we put on top of pcre.
|
353
|
+
// Only 9 modifiers, plus match_limit and match_limit_recursion,
|
354
|
+
// are supported now.
|
355
|
+
class PCRECPP_EXP_DEFN RE_Options {
|
356
|
+
public:
|
357
|
+
// constructor
|
358
|
+
RE_Options() : match_limit_(0), match_limit_recursion_(0), all_options_(0) {}
|
359
|
+
|
360
|
+
// alternative constructor.
|
361
|
+
// To facilitate transfer of legacy code from C programs
|
362
|
+
//
|
363
|
+
// This lets you do
|
364
|
+
// RE(pattern, RE_Options(PCRE_CASELESS|PCRE_MULTILINE)).PartialMatch(str);
|
365
|
+
// But new code is better off doing
|
366
|
+
// RE(pattern,
|
367
|
+
// RE_Options().set_caseless(true).set_multiline(true)).PartialMatch(str);
|
368
|
+
RE_Options(int option_flags) : match_limit_(0), match_limit_recursion_(0),
|
369
|
+
all_options_(option_flags) {}
|
370
|
+
// we're fine with the default destructor, copy constructor, etc.
|
371
|
+
|
372
|
+
// accessors and mutators
|
373
|
+
int match_limit() const { return match_limit_; };
|
374
|
+
RE_Options &set_match_limit(int limit) {
|
375
|
+
match_limit_ = limit;
|
376
|
+
return *this;
|
377
|
+
}
|
378
|
+
|
379
|
+
int match_limit_recursion() const { return match_limit_recursion_; };
|
380
|
+
RE_Options &set_match_limit_recursion(int limit) {
|
381
|
+
match_limit_recursion_ = limit;
|
382
|
+
return *this;
|
383
|
+
}
|
384
|
+
|
385
|
+
bool caseless() const {
|
386
|
+
return PCRE_IS_SET(PCRE_CASELESS);
|
387
|
+
}
|
388
|
+
RE_Options &set_caseless(bool x) {
|
389
|
+
PCRE_SET_OR_CLEAR(x, PCRE_CASELESS);
|
390
|
+
}
|
391
|
+
|
392
|
+
bool multiline() const {
|
393
|
+
return PCRE_IS_SET(PCRE_MULTILINE);
|
394
|
+
}
|
395
|
+
RE_Options &set_multiline(bool x) {
|
396
|
+
PCRE_SET_OR_CLEAR(x, PCRE_MULTILINE);
|
397
|
+
}
|
398
|
+
|
399
|
+
bool dotall() const {
|
400
|
+
return PCRE_IS_SET(PCRE_DOTALL);
|
401
|
+
}
|
402
|
+
RE_Options &set_dotall(bool x) {
|
403
|
+
PCRE_SET_OR_CLEAR(x, PCRE_DOTALL);
|
404
|
+
}
|
405
|
+
|
406
|
+
bool extended() const {
|
407
|
+
return PCRE_IS_SET(PCRE_EXTENDED);
|
408
|
+
}
|
409
|
+
RE_Options &set_extended(bool x) {
|
410
|
+
PCRE_SET_OR_CLEAR(x, PCRE_EXTENDED);
|
411
|
+
}
|
412
|
+
|
413
|
+
bool dollar_endonly() const {
|
414
|
+
return PCRE_IS_SET(PCRE_DOLLAR_ENDONLY);
|
415
|
+
}
|
416
|
+
RE_Options &set_dollar_endonly(bool x) {
|
417
|
+
PCRE_SET_OR_CLEAR(x, PCRE_DOLLAR_ENDONLY);
|
418
|
+
}
|
419
|
+
|
420
|
+
bool extra() const {
|
421
|
+
return PCRE_IS_SET(PCRE_EXTRA);
|
422
|
+
}
|
423
|
+
RE_Options &set_extra(bool x) {
|
424
|
+
PCRE_SET_OR_CLEAR(x, PCRE_EXTRA);
|
425
|
+
}
|
426
|
+
|
427
|
+
bool ungreedy() const {
|
428
|
+
return PCRE_IS_SET(PCRE_UNGREEDY);
|
429
|
+
}
|
430
|
+
RE_Options &set_ungreedy(bool x) {
|
431
|
+
PCRE_SET_OR_CLEAR(x, PCRE_UNGREEDY);
|
432
|
+
}
|
433
|
+
|
434
|
+
bool utf8() const {
|
435
|
+
return PCRE_IS_SET(PCRE_UTF8);
|
436
|
+
}
|
437
|
+
RE_Options &set_utf8(bool x) {
|
438
|
+
PCRE_SET_OR_CLEAR(x, PCRE_UTF8);
|
439
|
+
}
|
440
|
+
|
441
|
+
bool no_auto_capture() const {
|
442
|
+
return PCRE_IS_SET(PCRE_NO_AUTO_CAPTURE);
|
443
|
+
}
|
444
|
+
RE_Options &set_no_auto_capture(bool x) {
|
445
|
+
PCRE_SET_OR_CLEAR(x, PCRE_NO_AUTO_CAPTURE);
|
446
|
+
}
|
447
|
+
|
448
|
+
RE_Options &set_all_options(int opt) {
|
449
|
+
all_options_ = opt;
|
450
|
+
return *this;
|
451
|
+
}
|
452
|
+
int all_options() const {
|
453
|
+
return all_options_ ;
|
454
|
+
}
|
455
|
+
|
456
|
+
// TODO: add other pcre flags
|
457
|
+
|
458
|
+
private:
|
459
|
+
int match_limit_;
|
460
|
+
int match_limit_recursion_;
|
461
|
+
int all_options_;
|
462
|
+
};
|
463
|
+
|
464
|
+
// These functions return some common RE_Options
|
465
|
+
static inline RE_Options UTF8() {
|
466
|
+
return RE_Options().set_utf8(true);
|
467
|
+
}
|
468
|
+
|
469
|
+
static inline RE_Options CASELESS() {
|
470
|
+
return RE_Options().set_caseless(true);
|
471
|
+
}
|
472
|
+
static inline RE_Options MULTILINE() {
|
473
|
+
return RE_Options().set_multiline(true);
|
474
|
+
}
|
475
|
+
|
476
|
+
static inline RE_Options DOTALL() {
|
477
|
+
return RE_Options().set_dotall(true);
|
478
|
+
}
|
479
|
+
|
480
|
+
static inline RE_Options EXTENDED() {
|
481
|
+
return RE_Options().set_extended(true);
|
482
|
+
}
|
483
|
+
|
484
|
+
// Interface for regular expression matching. Also corresponds to a
|
485
|
+
// pre-compiled regular expression. An "RE" object is safe for
|
486
|
+
// concurrent use by multiple threads.
|
487
|
+
class PCRECPP_EXP_DEFN RE {
|
488
|
+
public:
|
489
|
+
// We provide implicit conversions from strings so that users can
|
490
|
+
// pass in a string or a "const char*" wherever an "RE" is expected.
|
491
|
+
RE(const string& pat) { Init(pat, NULL); }
|
492
|
+
RE(const string& pat, const RE_Options& option) { Init(pat, &option); }
|
493
|
+
RE(const char* pat) { Init(pat, NULL); }
|
494
|
+
RE(const char* pat, const RE_Options& option) { Init(pat, &option); }
|
495
|
+
RE(const unsigned char* pat) {
|
496
|
+
Init(reinterpret_cast<const char*>(pat), NULL);
|
497
|
+
}
|
498
|
+
RE(const unsigned char* pat, const RE_Options& option) {
|
499
|
+
Init(reinterpret_cast<const char*>(pat), &option);
|
500
|
+
}
|
501
|
+
|
502
|
+
// Copy constructor & assignment - note that these are expensive
|
503
|
+
// because they recompile the expression.
|
504
|
+
RE(const RE& re) { Init(re.pattern_, &re.options_); }
|
505
|
+
const RE& operator=(const RE& re) {
|
506
|
+
if (this != &re) {
|
507
|
+
Cleanup();
|
508
|
+
|
509
|
+
// This is the code that originally came from Google
|
510
|
+
// Init(re.pattern_.c_str(), &re.options_);
|
511
|
+
|
512
|
+
// This is the replacement from Ari Pollak
|
513
|
+
Init(re.pattern_, &re.options_);
|
514
|
+
}
|
515
|
+
return *this;
|
516
|
+
}
|
517
|
+
|
518
|
+
|
519
|
+
~RE();
|
520
|
+
|
521
|
+
// The string specification for this RE. E.g.
|
522
|
+
// RE re("ab*c?d+");
|
523
|
+
// re.pattern(); // "ab*c?d+"
|
524
|
+
const string& pattern() const { return pattern_; }
|
525
|
+
|
526
|
+
// If RE could not be created properly, returns an error string.
|
527
|
+
// Else returns the empty string.
|
528
|
+
const string& error() const { return *error_; }
|
529
|
+
|
530
|
+
/***** The useful part: the matching interface *****/
|
531
|
+
|
532
|
+
// This is provided so one can do pattern.ReplaceAll() just as
|
533
|
+
// easily as ReplaceAll(pattern-text, ....)
|
534
|
+
|
535
|
+
bool FullMatch(const StringPiece& text,
|
536
|
+
const Arg& ptr1 = no_arg,
|
537
|
+
const Arg& ptr2 = no_arg,
|
538
|
+
const Arg& ptr3 = no_arg,
|
539
|
+
const Arg& ptr4 = no_arg,
|
540
|
+
const Arg& ptr5 = no_arg,
|
541
|
+
const Arg& ptr6 = no_arg,
|
542
|
+
const Arg& ptr7 = no_arg,
|
543
|
+
const Arg& ptr8 = no_arg,
|
544
|
+
const Arg& ptr9 = no_arg,
|
545
|
+
const Arg& ptr10 = no_arg,
|
546
|
+
const Arg& ptr11 = no_arg,
|
547
|
+
const Arg& ptr12 = no_arg,
|
548
|
+
const Arg& ptr13 = no_arg,
|
549
|
+
const Arg& ptr14 = no_arg,
|
550
|
+
const Arg& ptr15 = no_arg,
|
551
|
+
const Arg& ptr16 = no_arg) const;
|
552
|
+
|
553
|
+
bool PartialMatch(const StringPiece& text,
|
554
|
+
const Arg& ptr1 = no_arg,
|
555
|
+
const Arg& ptr2 = no_arg,
|
556
|
+
const Arg& ptr3 = no_arg,
|
557
|
+
const Arg& ptr4 = no_arg,
|
558
|
+
const Arg& ptr5 = no_arg,
|
559
|
+
const Arg& ptr6 = no_arg,
|
560
|
+
const Arg& ptr7 = no_arg,
|
561
|
+
const Arg& ptr8 = no_arg,
|
562
|
+
const Arg& ptr9 = no_arg,
|
563
|
+
const Arg& ptr10 = no_arg,
|
564
|
+
const Arg& ptr11 = no_arg,
|
565
|
+
const Arg& ptr12 = no_arg,
|
566
|
+
const Arg& ptr13 = no_arg,
|
567
|
+
const Arg& ptr14 = no_arg,
|
568
|
+
const Arg& ptr15 = no_arg,
|
569
|
+
const Arg& ptr16 = no_arg) const;
|
570
|
+
|
571
|
+
bool Consume(StringPiece* input,
|
572
|
+
const Arg& ptr1 = no_arg,
|
573
|
+
const Arg& ptr2 = no_arg,
|
574
|
+
const Arg& ptr3 = no_arg,
|
575
|
+
const Arg& ptr4 = no_arg,
|
576
|
+
const Arg& ptr5 = no_arg,
|
577
|
+
const Arg& ptr6 = no_arg,
|
578
|
+
const Arg& ptr7 = no_arg,
|
579
|
+
const Arg& ptr8 = no_arg,
|
580
|
+
const Arg& ptr9 = no_arg,
|
581
|
+
const Arg& ptr10 = no_arg,
|
582
|
+
const Arg& ptr11 = no_arg,
|
583
|
+
const Arg& ptr12 = no_arg,
|
584
|
+
const Arg& ptr13 = no_arg,
|
585
|
+
const Arg& ptr14 = no_arg,
|
586
|
+
const Arg& ptr15 = no_arg,
|
587
|
+
const Arg& ptr16 = no_arg) const;
|
588
|
+
|
589
|
+
bool FindAndConsume(StringPiece* input,
|
590
|
+
const Arg& ptr1 = no_arg,
|
591
|
+
const Arg& ptr2 = no_arg,
|
592
|
+
const Arg& ptr3 = no_arg,
|
593
|
+
const Arg& ptr4 = no_arg,
|
594
|
+
const Arg& ptr5 = no_arg,
|
595
|
+
const Arg& ptr6 = no_arg,
|
596
|
+
const Arg& ptr7 = no_arg,
|
597
|
+
const Arg& ptr8 = no_arg,
|
598
|
+
const Arg& ptr9 = no_arg,
|
599
|
+
const Arg& ptr10 = no_arg,
|
600
|
+
const Arg& ptr11 = no_arg,
|
601
|
+
const Arg& ptr12 = no_arg,
|
602
|
+
const Arg& ptr13 = no_arg,
|
603
|
+
const Arg& ptr14 = no_arg,
|
604
|
+
const Arg& ptr15 = no_arg,
|
605
|
+
const Arg& ptr16 = no_arg) const;
|
606
|
+
|
607
|
+
bool Replace(const StringPiece& rewrite,
|
608
|
+
string *str) const;
|
609
|
+
|
610
|
+
int GlobalReplace(const StringPiece& rewrite,
|
611
|
+
string *str) const;
|
612
|
+
|
613
|
+
bool Extract(const StringPiece &rewrite,
|
614
|
+
const StringPiece &text,
|
615
|
+
string *out) const;
|
616
|
+
|
617
|
+
// Escapes all potentially meaningful regexp characters in
|
618
|
+
// 'unquoted'. The returned string, used as a regular expression,
|
619
|
+
// will exactly match the original string. For example,
|
620
|
+
// 1.5-2.0?
|
621
|
+
// may become:
|
622
|
+
// 1\.5\-2\.0\?
|
623
|
+
// Note QuoteMeta behaves the same as perl's QuoteMeta function,
|
624
|
+
// *except* that it escapes the NUL character (\0) as backslash + 0,
|
625
|
+
// rather than backslash + NUL.
|
626
|
+
static string QuoteMeta(const StringPiece& unquoted);
|
627
|
+
|
628
|
+
|
629
|
+
/***** Generic matching interface *****/
|
630
|
+
|
631
|
+
// Type of match (TODO: Should be restructured as part of RE_Options)
|
632
|
+
enum Anchor {
|
633
|
+
UNANCHORED, // No anchoring
|
634
|
+
ANCHOR_START, // Anchor at start only
|
635
|
+
ANCHOR_BOTH // Anchor at start and end
|
636
|
+
};
|
637
|
+
|
638
|
+
// General matching routine. Stores the length of the match in
|
639
|
+
// "*consumed" if successful.
|
640
|
+
bool DoMatch(const StringPiece& text,
|
641
|
+
Anchor anchor,
|
642
|
+
int* consumed,
|
643
|
+
const Arg* const* args, int n) const;
|
644
|
+
|
645
|
+
// Return the number of capturing subpatterns, or -1 if the
|
646
|
+
// regexp wasn't valid on construction.
|
647
|
+
int NumberOfCapturingGroups() const;
|
648
|
+
|
649
|
+
// The default value for an argument, to indicate the end of the argument
|
650
|
+
// list. This must be used only in optional argument defaults. It should NOT
|
651
|
+
// be passed explicitly. Some people have tried to use it like this:
|
652
|
+
//
|
653
|
+
// FullMatch(x, y, &z, no_arg, &w);
|
654
|
+
//
|
655
|
+
// This is a mistake, and will not work.
|
656
|
+
static Arg no_arg;
|
657
|
+
|
658
|
+
private:
|
659
|
+
|
660
|
+
void Init(const string& pattern, const RE_Options* options);
|
661
|
+
void Cleanup();
|
662
|
+
|
663
|
+
// Match against "text", filling in "vec" (up to "vecsize" * 2/3) with
|
664
|
+
// pairs of integers for the beginning and end positions of matched
|
665
|
+
// text. The first pair corresponds to the entire matched text;
|
666
|
+
// subsequent pairs correspond, in order, to parentheses-captured
|
667
|
+
// matches. Returns the number of pairs (one more than the number of
|
668
|
+
// the last subpattern with a match) if matching was successful
|
669
|
+
// and zero if the match failed.
|
670
|
+
// I.e. for RE("(foo)|(bar)|(baz)") it will return 2, 3, and 4 when matching
|
671
|
+
// against "foo", "bar", and "baz" respectively.
|
672
|
+
// When matching RE("(foo)|hello") against "hello", it will return 1.
|
673
|
+
// But the values for all subpattern are filled in into "vec".
|
674
|
+
int TryMatch(const StringPiece& text,
|
675
|
+
int startpos,
|
676
|
+
Anchor anchor,
|
677
|
+
bool empty_ok,
|
678
|
+
int *vec,
|
679
|
+
int vecsize) const;
|
680
|
+
|
681
|
+
// Append the "rewrite" string, with backslash subsitutions from "text"
|
682
|
+
// and "vec", to string "out".
|
683
|
+
bool Rewrite(string *out,
|
684
|
+
const StringPiece& rewrite,
|
685
|
+
const StringPiece& text,
|
686
|
+
int *vec,
|
687
|
+
int veclen) const;
|
688
|
+
|
689
|
+
// internal implementation for DoMatch
|
690
|
+
bool DoMatchImpl(const StringPiece& text,
|
691
|
+
Anchor anchor,
|
692
|
+
int* consumed,
|
693
|
+
const Arg* const args[],
|
694
|
+
int n,
|
695
|
+
int* vec,
|
696
|
+
int vecsize) const;
|
697
|
+
|
698
|
+
// Compile the regexp for the specified anchoring mode
|
699
|
+
pcre* Compile(Anchor anchor);
|
700
|
+
|
701
|
+
string pattern_;
|
702
|
+
RE_Options options_;
|
703
|
+
pcre* re_full_; // For full matches
|
704
|
+
pcre* re_partial_; // For partial matches
|
705
|
+
const string* error_; // Error indicator (or points to empty string)
|
706
|
+
};
|
707
|
+
|
708
|
+
} // namespace pcrecpp
|
709
|
+
|
710
|
+
#endif /* _PCRECPP_H */
|