Class CompilerOptions
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
DialectPl0DialectSelected language dialect.
MaxLevelintMaximum block nesting depth.
MaxAddressintMaximum address/value for literals.
MaxIdentifierLengthintMaximum identifier length.
MaxNumberDigitsintMaximum digits in numeric literals.
MaxSymbolCountintMaximum number of symbols in the table.
MaxCodeLengthintMaximum number of generated instructions.
LanguagestringBCP-47-Sprachcode für Diagnosetexte (Standard: "de").
MessagesResourceManagerOptionaler 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
Dialect
Selected language dialect.
public Pl0Dialect Dialect { get; init; }
Property Value
EnableIoStatements
Gets a value indicating whether I/O statements are enabled for the dialect.
public bool EnableIoStatements { get; }
Property Value
Language
BCP-47-Sprachcode für Diagnosetexte (Standard: "de").
public string Language { get; init; }
Property Value
MaxAddress
Maximum address/value for literals.
public int MaxAddress { get; init; }
Property Value
MaxCodeLength
Maximum number of generated instructions.
public int MaxCodeLength { get; init; }
Property Value
MaxIdentifierLength
Maximum identifier length.
public int MaxIdentifierLength { get; init; }
Property Value
MaxLevel
Maximum block nesting depth.
public int MaxLevel { get; init; }
Property Value
MaxNumberDigits
Maximum digits in numeric literals.
public int MaxNumberDigits { get; init; }
Property Value
MaxSymbolCount
Maximum number of symbols in the table.
public int MaxSymbolCount { get; init; }
Property Value
Messages
Optionaler ResourceManager für Dependency Injection (z. B. in Tests); Standard: Pl0CoreMessages.ResourceManager.
public ResourceManager? Messages { get; init; }