From 86451f01babb7e6115c520111d32b1128dcc8f57 Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Mon, 17 Feb 2020 11:24:19 -0700 Subject: 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. --- regcomp.sym | 2 ++ 1 file changed, 2 insertions(+) (limited to 'regcomp.sym') 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] -- cgit v1.2.1