readme
来自「Ubuntu packages of security software。 相」· 代码 · 共 729 行 · 第 1/3 页
TXT
729 行
If you build PCRE with a locale setting that is not the standard C locale, thecharacter tables may be different (see next paragraph). In some cases, this maycause failures in the second set of tests. For example, in a locale where theisprint() function yields TRUE for characters in the range 128-255, the use of[:isascii:] inside a character class defines a different set of characters, andthis shows up in this test as a difference in the compiled code, which is beinglisted for checking. Where the comparison test output contains [\x00-\x7f] thetest will contain [\x00-\xff], and similarly in some other cases. This is not abug in PCRE.The third set of tests checks pcre_maketables(), the facility for building aset of character tables for a specific locale and using them instead of thedefault tables. The tests make use of the "fr_FR" (French) locale. Beforerunning the test, the script checks for the presence of this locale by runningthe "locale" command. If that command fails, or if it doesn't include "fr_FR"in the list of available locales, the third test cannot be run, and a commentis output to say why. If running this test produces instances of the error ** Failed to set locale "fr_FR"in the comparison output, it means that locale is not available on your system,despite being listed by "locale". This does not mean that PCRE is broken.[If you are trying to run this test on Windows, you may be able to get it towork by changing "fr_FR" to "french" everywhere it occurs. Alternatively, useRunTest.bat. The version of RunTest.bat included with PCRE 7.4 and above usesWindows versions of test 2. More info on using RunTest.bat is included in thedocument entitled NON-UNIX-USE.]The fourth test checks the UTF-8 support. It is not run automatically unlessPCRE is built with UTF-8 support. To do this you must set --enable-utf8 whenrunning "configure". This file can be also fed directly to the perltest script,provided you are running Perl 5.8 or higher. (For Perl 5.6, a small patch,commented in the script, can be be used.)The fifth test checks error handling with UTF-8 encoding, and internal UTF-8features of PCRE that are not relevant to Perl.The sixth test checks the support for Unicode character properties. It it notrun automatically unless PCRE is built with Unicode property support. To tothis you must set --enable-unicode-properties when running "configure".The seventh, eighth, and ninth tests check the pcre_dfa_exec() alternativematching function, in non-UTF-8 mode, UTF-8 mode, and UTF-8 mode with Unicodeproperty support, respectively. The eighth and ninth tests are not runautomatically unless PCRE is build with the relevant support.Character tables----------------For speed, PCRE uses four tables for manipulating and identifying characterswhose code point values are less than 256. The final argument of thepcre_compile() function is a pointer to a block of memory containing theconcatenated tables. A call to pcre_maketables() can be used to generate a setof tables in the current locale. If the final argument for pcre_compile() ispassed as NULL, a set of default tables that is built into the binary is used.The source file called pcre_chartables.c contains the default set of tables. Bydefault, this is created as a copy of pcre_chartables.c.dist, which containstables for ASCII coding. However, if --enable-rebuild-chartables is specifiedfor ./configure, a different version of pcre_chartables.c is built by theprogram dftables (compiled from dftables.c), which uses the ANSI C characterhandling functions such as isalnum(), isalpha(), isupper(), islower(), etc. tobuild the table sources. This means that the default C locale which is set foryour system will control the contents of these default tables. You can changethe default tables by editing pcre_chartables.c and then re-building PCRE. Ifyou do this, you should take care to ensure that the file does not getautomatically re-generated. The best way to do this is to movepcre_chartables.c.dist out of the way and replace it with your customizedtables.When the dftables program is run as a result of --enable-rebuild-chartables,it uses the default C locale that is set on your system. It does not payattention to the LC_xxx environment variables. In other words, it uses thesystem's default locale rather than whatever the compiling user happens to haveset. If you really do want to build a source set of character tables in alocale that is specified by the LC_xxx variables, you can run the dftablesprogram by hand with the -L option. For example: ./dftables -L pcre_chartables.c.specialThe first two 256-byte tables provide lower casing and case flipping functions,respectively. The next table consists of three 32-byte bit maps which identifydigits, "word" characters, and white space, respectively. These are used whenbuilding 32-byte bit maps that represent character classes for code points lessthan 256.The final 256-byte table has bits indicating various character types, asfollows: 1 white space character 2 letter 4 decimal digit 8 hexadecimal digit 16 alphanumeric or '_' 128 regular expression metacharacter or binary zeroYou should not alter the set of characters that contain the 128 bit, as thatwill cause PCRE to malfunction.File manifest-------------The distribution should contain the following files:(A) Source files of the PCRE library functions and their headers: dftables.c auxiliary program for building pcre_chartables.c when --enable-rebuild-chartables is specified pcre_chartables.c.dist a default set of character tables that assume ASCII coding; used, unless --enable-rebuild-chartables is specified, by copying to pcre_chartables.c pcreposix.c ) pcre_compile.c ) pcre_config.c ) pcre_dfa_exec.c ) pcre_exec.c ) pcre_fullinfo.c ) pcre_get.c ) sources for the functions in the library, pcre_globals.c ) and some internal functions that they use pcre_info.c ) pcre_maketables.c ) pcre_newline.c ) pcre_ord2utf8.c ) pcre_refcount.c ) pcre_study.c ) pcre_tables.c ) pcre_try_flipped.c ) pcre_ucp_searchfuncs.c ) pcre_valid_utf8.c ) pcre_version.c ) pcre_xclass.c ) pcre_printint.src ) debugging function that is #included in pcretest, ) and can also be #included in pcre_compile() pcre.h.in template for pcre.h when built by "configure" pcreposix.h header for the external POSIX wrapper API pcre_internal.h header for internal use ucp.h ) headers concerned with ucpinternal.h ) Unicode property handling ucptable.h ) (this one is the data table) config.h.in template for config.h, which is built by "configure" pcrecpp.h public header file for the C++ wrapper pcrecpparg.h.in template for another C++ header file pcre_scanner.h public header file for C++ scanner functions pcrecpp.cc ) pcre_scanner.cc ) source for the C++ wrapper library pcre_stringpiece.h.in template for pcre_stringpiece.h, the header for the C++ stringpiece functions pcre_stringpiece.cc source for the C++ stringpiece functions(B) Source files for programs that use PCRE: pcredemo.c simple demonstration of coding calls to PCRE pcregrep.c source of a grep utility that uses PCRE pcretest.c comprehensive test program(C) Auxiliary files: 132html script to turn "man" pages into HTML AUTHORS information about the author of PCRE ChangeLog log of changes to the code CleanTxt script to clean nroff output for txt man pages Detrail script to remove trailing spaces HACKING some notes about the internals of PCRE INSTALL generic installation instructions LICENCE conditions for the use of PCRE COPYING the same, using GNU's standard name Makefile.in ) template for Unix Makefile, which is built by ) "configure" Makefile.am ) the automake input that was used to create ) Makefile.in NEWS important changes in this release NON-UNIX-USE notes on building PCRE on non-Unix systems PrepareRelease script to make preparations for "make dist" README this file RunTest a Unix shell script for running tests RunGrepTest a Unix shell script for pcregrep tests aclocal.m4 m4 macros (generated by "aclocal") config.guess ) files used by libtool, config.sub ) used only when building a shared library configure a configuring shell script (built by autoconf) configure.ac ) the autoconf input that was used to build ) "configure" and config.h depcomp ) script to find program dependencies, generated by ) automake doc/*.3 man page sources for the PCRE functions doc/*.1 man page sources for pcregrep and pcretest doc/index.html.src the base HTML page doc/html/* HTML documentation doc/pcre.txt plain text version of the man pages doc/pcretest.txt plain text documentation of test program doc/perltest.txt plain text documentation of Perl test program install-sh a shell script for installing files libpcre.pc.in template for libpcre.pc for pkg-config libpcrecpp.pc.in template for libpcrecpp.pc for pkg-config ltmain.sh file used to build a libtool script missing ) common stub for a few missing GNU programs while ) installing, generated by automake mkinstalldirs script for making install directories perltest.pl Perl test program pcre-config.in source of script which retains PCRE information pcrecpp_unittest.cc ) pcre_scanner_unittest.cc ) test programs for the C++ wrapper pcre_stringpiece_unittest.cc ) testdata/testinput* test data for main library tests testdata/testoutput* expected test results testdata/grep* input and output for pcregrep tests(D) Auxiliary files for cmake support CMakeLists.txt config-cmake.h.in(E) Auxiliary files for VPASCAL makevp.bat makevp_c.txt makevp_l.txt pcregexp.pas(F) Auxiliary files for building PCRE "by hand" pcre.h.generic ) a version of the public PCRE header file ) for use in non-"configure" environments config.h.generic ) a version of config.h for use in non-"configure" ) environments(F) Miscellaneous RunTest.bat a script for running tests under WindowsPhilip HazelEmail local part: ph10Email domain: cam.ac.ukLast updated: 21 September 2007
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?