From 7f1b753dfecb0db660812f00e667abaca6252e28 Mon Sep 17 00:00:00 2001 From: ph10 Date: Sun, 4 Oct 2009 09:27:20 +0000 Subject: Documentation update. git-svn-id: svn://vcs.exim.org/pcre/code/trunk@460 2f5784b3-3f2a-0410-8824-cb99058d5e15 --- HACKING | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'HACKING') diff --git a/HACKING b/HACKING index 623fe5b..8c6a42d 100644 --- a/HACKING +++ b/HACKING @@ -373,12 +373,15 @@ These are like other subpatterns, but they start with the opcode OP_COND, or OP_SCOND for one that might match an empty string in an unbounded repeat. If the condition is a back reference, this is stored at the start of the subpattern using the opcode OP_CREF followed by two bytes containing the -reference number. If the condition is "in recursion" (coded as "(?(R)"), or "in -recursion of group x" (coded as "(?(Rx)"), the group number is stored at the -start of the subpattern using the opcode OP_RREF, and a value of zero for "the -whole pattern". For a DEFINE condition, just the single byte OP_DEF is used (it -has no associated data). Otherwise, a conditional subpattern always starts with -one of the assertions. +reference number. OP_NCREF is used instead if the reference was generated by +name (so that the runtime code knows to check for duplicate names). + +If the condition is "in recursion" (coded as "(?(R)"), or "in recursion of +group x" (coded as "(?(Rx)"), the group number is stored at the start of the +subpattern using the opcode OP_RREF or OP_NRREF (cf OP_NCREF), and a value of +zero for "the whole pattern". For a DEFINE condition, just the single byte +OP_DEF is used (it has no associated data). Otherwise, a conditional subpattern +always starts with one of the assertions. Recursion -- cgit v1.2.1