diff options
author | Karl Williamson <khw@cpan.org> | 2020-02-17 11:24:19 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2020-02-19 18:18:40 -0700 |
commit | 86451f01babb7e6115c520111d32b1128dcc8f57 (patch) | |
tree | 3eb6740b2a8b4d9e8234f60a4e1c8d7e8e092d11 /regcomp.sym | |
parent | f1f5d51d61d3b95058950a4835a9cadfd8f2ad28 (diff) | |
download | perl-86451f01babb7e6115c520111d32b1128dcc8f57.tar.gz |
regcomp.sym: Add new regnode type for (?[])
This new regnode is used to handle interpolated already-compiled regex
sets inside outer regex sets.
If it isn't present, it will mean that what appears to be a nested,
interpolated set really isn't.
I created a new regnode structure to hold a pointer. This has to be
temporary as pointers can be invalidated. I thought of just having a
regnode without a pointer as a marker, and using a parallel array to
store the data, rather than creating a whole new regnode structure for
just pointers, but parallel data structures can get out of sync, so this
seemed best.
This commit just sets up the regnode; a future commit will actually use
it.
Diffstat (limited to 'regcomp.sym')
-rw-r--r-- | regcomp.sym | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/regcomp.sym b/regcomp.sym index 4b8670fa2c..7c0bf7a484 100644 --- a/regcomp.sym +++ b/regcomp.sym @@ -297,6 +297,8 @@ OPTIMIZED NOTHING, off ; Placeholder for dump. #* mean "not seen anything to optimize yet". PSEUDO PSEUDO, off ; Pseudo opcode for internal use. +REGEX_SET REGEX_SET, depth p S ; Regex set, temporary node used in pre-optimization compilation + ------------------------------------------------------------------------------- # Format for second section: # REGOP \t typelist [ \t typelist] |