RegexRunner.runtrack Fält

Definition

Backtracking stack

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

protected public: cli::array <int> ^ runtrack;
protected internal int[]? runtrack;
protected internal int[] runtrack;
val mutable runtrack : int[]
Protected Friend runtrack As Integer() 

Fältvärde

Int32[]

Kommentarer

Opcodes använder detta för att lagra data om vad de har matchat och var de ska backas till. Varje "ram" i stacken har formen [CodePosition Data1 Data2...], där CodePosition är positionen för den aktuella opcoden och alla datavärden är valfria. CodePosition kan vara negativt och dessa värden (kallas även "back2") används av BranchMark-serien med opcodes för att ange om de backar efter en lyckad eller misslyckad matchning. När vi backar dyker vi upp CodePosition från stacken, anger den aktuella instruktionspekaren till den kodpositionen och markerar opcode med en bakåtspårande flagga ("Bakåt"). Varje opcode vet sedan hur man hanterar sina egna data.

Gäller för