Table of Contents

Class CompilerOptions

Namespace
Pl0.Core
Assembly
Pl0.Core.dll

Compiler configuration limits and language dialect selection.

public sealed record CompilerOptions : IEquatable<CompilerOptions>
Inheritance
CompilerOptions
Implements
Inherited Members

Constructors

CompilerOptions(Pl0Dialect, int, int, int, int, int, int, string, ResourceManager?)

Compiler configuration limits and language dialect selection.

public CompilerOptions(Pl0Dialect Dialect, int MaxLevel = 3, int MaxAddress = 2047, int MaxIdentifierLength = 10, int MaxNumberDigits = 14, int MaxSymbolCount = 100, int MaxCodeLength = 200, string Language = "de", ResourceManager? Messages = null)

Parameters

Dialect Pl0Dialect

Selected language dialect.

MaxLevel int

Maximum block nesting depth.

MaxAddress int

Maximum address/value for literals.

MaxIdentifierLength int

Maximum identifier length.

MaxNumberDigits int

Maximum digits in numeric literals.

MaxSymbolCount int

Maximum number of symbols in the table.

MaxCodeLength int

Maximum number of generated instructions.

Language string

BCP-47-Sprachcode für Diagnosetexte (Standard: "de").

Messages ResourceManager

Optionaler ResourceManager für Dependency Injection (z. B. in Tests); Standard: Pl0CoreMessages.ResourceManager.

Properties

Default

Default compiler options using the extended dialect.

public static CompilerOptions Default { get; }

Property Value

CompilerOptions

Dialect

Selected language dialect.

public Pl0Dialect Dialect { get; init; }

Property Value

Pl0Dialect

EnableIoStatements

Gets a value indicating whether I/O statements are enabled for the dialect.

public bool EnableIoStatements { get; }

Property Value

bool

Language

BCP-47-Sprachcode für Diagnosetexte (Standard: "de").

public string Language { get; init; }

Property Value

string

MaxAddress

Maximum address/value for literals.

public int MaxAddress { get; init; }

Property Value

int

MaxCodeLength

Maximum number of generated instructions.

public int MaxCodeLength { get; init; }

Property Value

int

MaxIdentifierLength

Maximum identifier length.

public int MaxIdentifierLength { get; init; }

Property Value

int

MaxLevel

Maximum block nesting depth.

public int MaxLevel { get; init; }

Property Value

int

MaxNumberDigits

Maximum digits in numeric literals.

public int MaxNumberDigits { get; init; }

Property Value

int

MaxSymbolCount

Maximum number of symbols in the table.

public int MaxSymbolCount { get; init; }

Property Value

int

Messages

Optionaler ResourceManager für Dependency Injection (z. B. in Tests); Standard: Pl0CoreMessages.ResourceManager.

public ResourceManager? Messages { get; init; }

Property Value

ResourceManager