ViewVC logotype

Contents of /code/trunk/doc/pcre_assign_jit_stack.3

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1055 - (show annotations)
Tue Oct 16 15:53:30 2012 UTC (7 years ago) by chpe
File size: 1937 byte(s)
pcre32: Add 32-bit library

Create libpcre32 that operates on 32-bit characters (UTF-32).

This turned out to be surprisingly simple after the UTF-16 support
was introduced; mostly just extra ifdefs and adjusting and adding
some tests.
1 .TH PCRE_ASSIGN_JIT_STACK 3 "24 June 2012" "PCRE 8.30"
3 PCRE - Perl-compatible regular expressions
5 .rs
6 .sp
7 .B #include <pcre.h>
8 .PP
9 .SM
10 .B void pcre_assign_jit_stack(pcre_extra *\fIextra\fP,
11 .ti +5n
12 .B pcre_jit_callback \fIcallback\fP, void *\fIdata\fP);
13 .PP
14 .B void pcre16_assign_jit_stack(pcre16_extra *\fIextra\fP,
15 .ti +5n
16 .B pcre16_jit_callback \fIcallback\fP, void *\fIdata\fP);
17 .PP
18 .B void pcre32_assign_jit_stack(pcre32_extra *\fIextra\fP,
19 .ti +5n
20 .B pcre32_jit_callback \fIcallback\fP, void *\fIdata\fP);
21 .
23 .rs
24 .sp
25 This function provides control over the memory used as a stack at run-time by a
26 call to \fBpcre[16|32]_exec()\fP with a pattern that has been successfully
27 compiled with JIT optimization. The arguments are:
28 .sp
29 extra the data pointer returned by \fBpcre[16|32]_study()\fP
30 callback a callback function
31 data a JIT stack or a value to be passed to the callback
32 function
33 .P
34 If \fIcallback\fP is NULL and \fIdata\fP is NULL, an internal 32K block on
35 the machine stack is used.
36 .P
37 If \fIcallback\fP is NULL and \fIdata\fP is not NULL, \fIdata\fP must
38 be a valid JIT stack, the result of calling \fBpcre[16|32]_jit_stack_alloc()\fP.
39 .P
40 If \fIcallback\fP not NULL, it is called with \fIdata\fP as an argument at
41 the start of matching, in order to set up a JIT stack. If the result is NULL,
42 the internal 32K stack is used; otherwise the return value must be a valid JIT
43 stack, the result of calling \fBpcre[16|32]_jit_stack_alloc()\fP.
44 .P
45 You may safely assign the same JIT stack to multiple patterns, as long as they
46 are all matched in the same thread. In a multithread application, each thread
47 must use its own JIT stack. For more details, see the
48 .\" HREF
49 \fBpcrejit\fP
50 .\"
51 page.
52 .P
53 There is a complete description of the PCRE native API in the
54 .\" HREF
55 \fBpcreapi\fP
56 .\"
57 page and a description of the POSIX API in the
58 .\" HREF
59 \fBpcreposix\fP
60 .\"
61 page.

  ViewVC Help
Powered by ViewVC 1.1.5