RegexRunner.runtrack Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Backtracking stack
This API supports the product infrastructure and is not intended to be used directly from your code.
protected public: cli::array <int> ^ runtrack;
protected internal int[]? runtrack;
protected internal int[] runtrack;
val mutable runtrack : int[]
Protected Friend runtrack As Integer()
Field Value
Remarks
Opcodes use this to store data regarding what they have matched and where to backtrack to. Each "frame" on the stack takes the form of [CodePosition Data1 Data2...], where CodePosition is the position of the current opcode and the data values are all optional. The CodePosition can be negative, and these values (also called "back2") are used by the BranchMark family of opcodes to indicate whether they are backtracking after a successful or failed match. When we backtrack, we pop the CodePosition off the stack, set the current instruction pointer to that code position, and mark the opcode with a backtracking flag ("Back"). Each opcode then knows how to handle its own data.