Table of Contents

Class SteppableVirtualMachine

Namespace
Pl0.Vm
Assembly
Pl0.Vm.dll

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

VmExecutionSession

Properties

IsRunning

Gibt an, ob die Ausführung fortgesetzt werden kann. / Indicates whether execution can continue.

public bool IsRunning { get; }

Property Value

bool

State

Ruft den aktuellen defensiven Zustand ab. / Gets the current defensive state.

public VmState State { get; }

Property Value

VmState

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

program IReadOnlyList<Instruction>

P-Code-Programm. / P-Code program.

io IPl0Io

Host-Ein-/Ausgabe. / Host input/output.

options VirtualMachineOptions

VM-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

program IReadOnlyList<Instruction>

P-Code-Programm. / P-Code program.

io IPl0Io

Host-Ein-/Ausgabe. / Host input/output.

options VirtualMachineOptions

VM-Optionen. / VM options.

cancellationToken CancellationToken

Abbruchsignal 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

cancellationToken CancellationToken

Abbruchsignal an dieser Instruktionsgrenze. / Cancellation signal at this instruction boundary.

Returns

VmStepResult

Das idempotente Schrittergebnis. / The idempotent step result.

ToExecutionResult()

internal VmExecutionResult ToExecutionResult()

Returns

VmExecutionResult