Class SteppableVirtualMachine
Zustandsbehaftete PL/0-VM mit Einzelschritten. / Stateful PL/0 VM with single-step execution.
public sealed class SteppableVirtualMachine
- Inheritance
-
SteppableVirtualMachine
- Inherited Members
Fields
session
private VmExecutionSession? session
Field Value
Properties
IsRunning
Gibt an, ob die Ausführung fortgesetzt werden kann. / Indicates whether execution can continue.
public bool IsRunning { get; }
Property Value
State
Ruft den aktuellen defensiven Zustand ab. / Gets the current defensive state.
public VmState State { get; }
Property Value
Methods
Initialize(IReadOnlyList<Instruction>, IPl0Io?, VirtualMachineOptions?)
Initialisiert die VM mit dem bisherigen Vertrag. / Initializes the VM with the previous contract.
public void Initialize(IReadOnlyList<Instruction> program, IPl0Io? io = null, VirtualMachineOptions? options = null)
Parameters
programIReadOnlyList<Instruction>P-Code-Programm. / P-Code program.
ioIPl0IoHost-Ein-/Ausgabe. / Host input/output.
optionsVirtualMachineOptionsVM-Optionen. / VM options.
Exceptions
- CultureNotFoundException
Die Diagnosesprache ist ungültig. / The diagnostic language is invalid.
Initialize(IReadOnlyList<Instruction>, IPl0Io?, VirtualMachineOptions?, CancellationToken)
Initialisiert die VM mit Abbruchunterstützung. / Initializes the VM with cancellation support.
public void Initialize(IReadOnlyList<Instruction> program, IPl0Io? io, VirtualMachineOptions? options, CancellationToken cancellationToken)
Parameters
programIReadOnlyList<Instruction>P-Code-Programm. / P-Code program.
ioIPl0IoHost-Ein-/Ausgabe. / Host input/output.
optionsVirtualMachineOptionsVM-Optionen. / VM options.
cancellationTokenCancellationTokenAbbruchsignal für folgende Schritte. / Cancellation signal for following steps.
Exceptions
- CultureNotFoundException
Die Diagnosesprache ist ungültig. / The diagnostic language is invalid.
Step()
Führt genau eine Instruktion aus. / Executes exactly one instruction.
public VmStepResult Step()
Returns
- VmStepResult
Das Schrittergebnis. / The step result.
Step(CancellationToken)
Führt höchstens eine Instruktion mit Abbruchunterstützung aus. / Executes at most one instruction with cancellation support.
public VmStepResult Step(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationTokenAbbruchsignal an dieser Instruktionsgrenze. / Cancellation signal at this instruction boundary.
Returns
- VmStepResult
Das idempotente Schrittergebnis. / The idempotent step result.
ToExecutionResult()
internal VmExecutionResult ToExecutionResult()