RegexRunner.runtrack Campo

Definizione

Stack backtracking

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

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

Valore del campo

Int32[]

Commenti

Gli opcode usano questa opzione per archiviare i dati relativi alle corrispondenze e alla posizione in cui eseguire il backtracking. Ogni "frame" nello stack assume la forma di [CodePosition Data1 Data2...], dove CodePosition è la posizione del codice operativo corrente e i valori dei dati sono tutti facoltativi. CodePosition può essere negativo e questi valori (detti anche "back2") vengono usati dalla famiglia BranchMark di opcodes per indicare se il backtracking viene eseguito dopo una corrispondenza riuscita o non riuscita. Quando si esegue il backtracking, si apre codePosition all'esterno dello stack, si imposta il puntatore all'istruzione corrente su tale posizione del codice e si contrassegna il codice operativo con un flag di backtracking ("Indietro"). Ogni codice operativo sa quindi come gestire i propri dati.

Si applica a