RegexRunner.runtrack Field

Definition

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

Int32[]

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.

Applies to