| 18 |
<li><a name="TOC3" href="#SEC3">UTF-8 SUPPORT</a> |
<li><a name="TOC3" href="#SEC3">UTF-8 SUPPORT</a> |
| 19 |
<li><a name="TOC4" href="#SEC4">UNICODE CHARACTER PROPERTY SUPPORT</a> |
<li><a name="TOC4" href="#SEC4">UNICODE CHARACTER PROPERTY SUPPORT</a> |
| 20 |
<li><a name="TOC5" href="#SEC5">CODE VALUE OF NEWLINE</a> |
<li><a name="TOC5" href="#SEC5">CODE VALUE OF NEWLINE</a> |
| 21 |
<li><a name="TOC6" href="#SEC6">BUILDING SHARED AND STATIC LIBRARIES</a> |
<li><a name="TOC6" href="#SEC6">WHAT \R MATCHES</a> |
| 22 |
<li><a name="TOC7" href="#SEC7">POSIX MALLOC USAGE</a> |
<li><a name="TOC7" href="#SEC7">BUILDING SHARED AND STATIC LIBRARIES</a> |
| 23 |
<li><a name="TOC8" href="#SEC8">HANDLING VERY LARGE PATTERNS</a> |
<li><a name="TOC8" href="#SEC8">POSIX MALLOC USAGE</a> |
| 24 |
<li><a name="TOC9" href="#SEC9">AVOIDING EXCESSIVE STACK USAGE</a> |
<li><a name="TOC9" href="#SEC9">HANDLING VERY LARGE PATTERNS</a> |
| 25 |
<li><a name="TOC10" href="#SEC10">LIMITING PCRE RESOURCE USAGE</a> |
<li><a name="TOC10" href="#SEC10">AVOIDING EXCESSIVE STACK USAGE</a> |
| 26 |
<li><a name="TOC11" href="#SEC11">CREATING CHARACTER TABLES AT BUILD TIME</a> |
<li><a name="TOC11" href="#SEC11">LIMITING PCRE RESOURCE USAGE</a> |
| 27 |
<li><a name="TOC12" href="#SEC12">USING EBCDIC CODE</a> |
<li><a name="TOC12" href="#SEC12">CREATING CHARACTER TABLES AT BUILD TIME</a> |
| 28 |
<li><a name="TOC13" href="#SEC13">SEE ALSO</a> |
<li><a name="TOC13" href="#SEC13">USING EBCDIC CODE</a> |
| 29 |
<li><a name="TOC14" href="#SEC14">AUTHOR</a> |
<li><a name="TOC14" href="#SEC14">SEE ALSO</a> |
| 30 |
<li><a name="TOC15" href="#SEC15">REVISION</a> |
<li><a name="TOC15" href="#SEC15">AUTHOR</a> |
| 31 |
|
<li><a name="TOC16" href="#SEC16">REVISION</a> |
| 32 |
</ul> |
</ul> |
| 33 |
<br><a name="SEC1" href="#TOC1">PCRE BUILD-TIME OPTIONS</a><br> |
<br><a name="SEC1" href="#TOC1">PCRE BUILD-TIME OPTIONS</a><br> |
| 34 |
<P> |
<P> |
| 121 |
overridden when the library functions are called. At build time it is |
overridden when the library functions are called. At build time it is |
| 122 |
conventional to use the standard for your operating system. |
conventional to use the standard for your operating system. |
| 123 |
</P> |
</P> |
| 124 |
<br><a name="SEC6" href="#TOC1">BUILDING SHARED AND STATIC LIBRARIES</a><br> |
<br><a name="SEC6" href="#TOC1">WHAT \R MATCHES</a><br> |
| 125 |
|
<P> |
| 126 |
|
By default, the sequence \R in a pattern matches any Unicode newline sequence, |
| 127 |
|
whatever has been selected as the line ending sequence. If you specify |
| 128 |
|
<pre> |
| 129 |
|
--enable-bsr-anycrlf |
| 130 |
|
</pre> |
| 131 |
|
the default is changed so that \R matches only CR, LF, or CRLF. Whatever is |
| 132 |
|
selected when PCRE is built can be overridden when the library functions are |
| 133 |
|
called. |
| 134 |
|
</P> |
| 135 |
|
<br><a name="SEC7" href="#TOC1">BUILDING SHARED AND STATIC LIBRARIES</a><br> |
| 136 |
<P> |
<P> |
| 137 |
The PCRE building process uses <b>libtool</b> to build both shared and static |
The PCRE building process uses <b>libtool</b> to build both shared and static |
| 138 |
Unix libraries by default. You can suppress one of these by adding one of |
Unix libraries by default. You can suppress one of these by adding one of |
| 142 |
</pre> |
</pre> |
| 143 |
to the <b>configure</b> command, as required. |
to the <b>configure</b> command, as required. |
| 144 |
</P> |
</P> |
| 145 |
<br><a name="SEC7" href="#TOC1">POSIX MALLOC USAGE</a><br> |
<br><a name="SEC8" href="#TOC1">POSIX MALLOC USAGE</a><br> |
| 146 |
<P> |
<P> |
| 147 |
When PCRE is called through the POSIX interface (see the |
When PCRE is called through the POSIX interface (see the |
| 148 |
<a href="pcreposix.html"><b>pcreposix</b></a> |
<a href="pcreposix.html"><b>pcreposix</b></a> |
| 158 |
</pre> |
</pre> |
| 159 |
to the <b>configure</b> command. |
to the <b>configure</b> command. |
| 160 |
</P> |
</P> |
| 161 |
<br><a name="SEC8" href="#TOC1">HANDLING VERY LARGE PATTERNS</a><br> |
<br><a name="SEC9" href="#TOC1">HANDLING VERY LARGE PATTERNS</a><br> |
| 162 |
<P> |
<P> |
| 163 |
Within a compiled pattern, offset values are used to point from one part to |
Within a compiled pattern, offset values are used to point from one part to |
| 164 |
another (for example, from an opening parenthesis to an alternation |
another (for example, from an opening parenthesis to an alternation |
| 174 |
longer offsets slows down the operation of PCRE because it has to load |
longer offsets slows down the operation of PCRE because it has to load |
| 175 |
additional bytes when handling them. |
additional bytes when handling them. |
| 176 |
</P> |
</P> |
| 177 |
<br><a name="SEC9" href="#TOC1">AVOIDING EXCESSIVE STACK USAGE</a><br> |
<br><a name="SEC10" href="#TOC1">AVOIDING EXCESSIVE STACK USAGE</a><br> |
| 178 |
<P> |
<P> |
| 179 |
When matching with the <b>pcre_exec()</b> function, PCRE implements backtracking |
When matching with the <b>pcre_exec()</b> function, PCRE implements backtracking |
| 180 |
by making recursive calls to an internal function called <b>match()</b>. In |
by making recursive calls to an internal function called <b>match()</b>. In |
| 205 |
slowly when built in this way. This option affects only the <b>pcre_exec()</b> |
slowly when built in this way. This option affects only the <b>pcre_exec()</b> |
| 206 |
function; it is not relevant for the the <b>pcre_dfa_exec()</b> function. |
function; it is not relevant for the the <b>pcre_dfa_exec()</b> function. |
| 207 |
</P> |
</P> |
| 208 |
<br><a name="SEC10" href="#TOC1">LIMITING PCRE RESOURCE USAGE</a><br> |
<br><a name="SEC11" href="#TOC1">LIMITING PCRE RESOURCE USAGE</a><br> |
| 209 |
<P> |
<P> |
| 210 |
Internally, PCRE has a function called <b>match()</b>, which it calls repeatedly |
Internally, PCRE has a function called <b>match()</b>, which it calls repeatedly |
| 211 |
(sometimes recursively) when matching a pattern with the <b>pcre_exec()</b> |
(sometimes recursively) when matching a pattern with the <b>pcre_exec()</b> |
| 234 |
</pre> |
</pre> |
| 235 |
to the <b>configure</b> command. This value can also be overridden at run time. |
to the <b>configure</b> command. This value can also be overridden at run time. |
| 236 |
</P> |
</P> |
| 237 |
<br><a name="SEC11" href="#TOC1">CREATING CHARACTER TABLES AT BUILD TIME</a><br> |
<br><a name="SEC12" href="#TOC1">CREATING CHARACTER TABLES AT BUILD TIME</a><br> |
| 238 |
<P> |
<P> |
| 239 |
PCRE uses fixed tables for processing characters whose code values are less |
PCRE uses fixed tables for processing characters whose code values are less |
| 240 |
than 256. By default, PCRE is built with a set of tables that are distributed |
than 256. By default, PCRE is built with a set of tables that are distributed |
| 251 |
create alternative tables when cross compiling, you will have to do so "by |
create alternative tables when cross compiling, you will have to do so "by |
| 252 |
hand".) |
hand".) |
| 253 |
</P> |
</P> |
| 254 |
<br><a name="SEC12" href="#TOC1">USING EBCDIC CODE</a><br> |
<br><a name="SEC13" href="#TOC1">USING EBCDIC CODE</a><br> |
| 255 |
<P> |
<P> |
| 256 |
PCRE assumes by default that it will run in an environment where the character |
PCRE assumes by default that it will run in an environment where the character |
| 257 |
code is ASCII (or Unicode, which is a superset of ASCII). This is the case for |
code is ASCII (or Unicode, which is a superset of ASCII). This is the case for |
| 264 |
--enable-rebuild-chartables. You should only use it if you know that you are in |
--enable-rebuild-chartables. You should only use it if you know that you are in |
| 265 |
an EBCDIC environment (for example, an IBM mainframe operating system). |
an EBCDIC environment (for example, an IBM mainframe operating system). |
| 266 |
</P> |
</P> |
| 267 |
<br><a name="SEC13" href="#TOC1">SEE ALSO</a><br> |
<br><a name="SEC14" href="#TOC1">SEE ALSO</a><br> |
| 268 |
<P> |
<P> |
| 269 |
<b>pcreapi</b>(3), <b>pcre_config</b>(3). |
<b>pcreapi</b>(3), <b>pcre_config</b>(3). |
| 270 |
</P> |
</P> |
| 271 |
<br><a name="SEC14" href="#TOC1">AUTHOR</a><br> |
<br><a name="SEC15" href="#TOC1">AUTHOR</a><br> |
| 272 |
<P> |
<P> |
| 273 |
Philip Hazel |
Philip Hazel |
| 274 |
<br> |
<br> |
| 277 |
Cambridge CB2 3QH, England. |
Cambridge CB2 3QH, England. |
| 278 |
<br> |
<br> |
| 279 |
</P> |
</P> |
| 280 |
<br><a name="SEC15" href="#TOC1">REVISION</a><br> |
<br><a name="SEC16" href="#TOC1">REVISION</a><br> |
| 281 |
<P> |
<P> |
| 282 |
Last updated: 30 July 2007 |
Last updated: 11 September 2007 |
| 283 |
<br> |
<br> |
| 284 |
Copyright © 1997-2007 University of Cambridge. |
Copyright © 1997-2007 University of Cambridge. |
| 285 |
<br> |
<br> |