RegexRunner.runtrack Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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.