Class ParserRuntimeFeaturePolicy
Immutable runtime feature policy used by parser components to centralize optional runtime strategies such as semantic predicate evaluation and parser action execution. The policy can affect branch acceptance and action execution, but does not change parser scheduling mechanics.
public sealed record ParserRuntimeFeaturePolicy : IEquatable<ParserRuntimeFeaturePolicy>
- Inheritance
-
ParserRuntimeFeaturePolicy
- Implements
- Inherited Members
- Extension Methods
Properties
Default
Gets the conservative default runtime policy. Semantic predicates are not evaluated, parser actions are not executed, and rule lifecycle hooks are not invoked.
public static ParserRuntimeFeaturePolicy Default { get; }
Property Value
EmbeddedCodeTransformer
Gets the embedded-code transformer that dynamic embedded-code preparation paths apply before invoking their configured compiler. The default transformer preserves code unchanged.
public IParserEmbeddedCodeTransformer EmbeddedCodeTransformer { get; init; }
Property Value
ExecutionStateManager
Gets the parser execution-state manager used to expose opaque semantic state snapshots and memoization keys. ParserEngine reads state keys for completed-result memoization and invokes capture/restore around managed parser attempt boundaries.
public required IParserExecutionStateManager ExecutionStateManager { get; init; }
Property Value
LexerActionExecutor
Gets the lexer action execution strategy. The default no-op executor preserves conservative lexer behavior.
public required ILexerActionExecutor LexerActionExecutor { get; init; }
Property Value
LexerPredicateEvaluator
Gets the lexer predicate evaluation strategy. The default no-op evaluator preserves conservative lexer behavior.
public required ILexerPredicateEvaluator LexerPredicateEvaluator { get; init; }
Property Value
ParserActionExecutor
Gets the parser action execution strategy.
public required IParserActionExecutor ParserActionExecutor { get; init; }
Property Value
RuleCallExecutionPolicy
Gets the explicit parser rule-call execution policy invoked around parser rule references. The default no-op policy preserves metadata-only call arguments and labels.
public IParserRuleCallExecutionPolicy RuleCallExecutionPolicy { get; init; }
Property Value
RuleInvocationFrameManager
Gets the parser rule invocation-frame manager used to create passive per-rule metadata frames. The default no-op manager does not execute parameters, locals, returns, or exception metadata.
public required IParserRuleInvocationFrameManager RuleInvocationFrameManager { get; init; }
Property Value
RuleLifecycleExecutor
Gets the parser rule lifecycle executor that handles @init and @after hooks.
The default no-op executor skips lifecycle hooks and preserves conservative behavior.
public required IParserRuleLifecycleExecutor RuleLifecycleExecutor { get; init; }
Property Value
RuntimeObserver
Gets the optional passive runtime observer for scheduling introspection. This observer is descriptive-only and does not control parser execution.
public IParserRuntimeObserver? RuntimeObserver { get; init; }
Property Value
SemanticPredicateEvaluator
Gets the semantic predicate evaluation strategy.
public required ISemanticPredicateEvaluator SemanticPredicateEvaluator { get; init; }