ParsingStage

Pipeline stage responsible for parsing tokens into an abstract syntax tree (AST).

This stage takes a sequence of tokens (produced by the LexingStage) as input and produces an AstRoot as output.

Properties

Link copied to clipboard
open override val hook: KProperty1<PipelineHooks, Pipeline.(AstRoot) -> Unit>

A hook function that is invoked after the stage completes processing.

Functions

Link copied to clipboard
open fun execute(input: Sequence<Token>, data: SharedPipelineData): AstRoot

Executes this pipeline stage with the given input and shared data.

Link copied to clipboard

Utility function to execute a pipeline stage that takes Unit as input.

Link copied to clipboard
open fun invokeHook(data: SharedPipelineData, input: Sequence<Token>, output: AstRoot)

Invokes the hook function for this stage, if one is defined.

Link copied to clipboard
open override fun process(input: Sequence<Token>, data: SharedPipelineData): AstRoot

Processes the input I and produces an output O.

Link copied to clipboard
infix fun <A, B, C> PipelineStage<A, B>.then(next: PipelineStage<B, C>): PipelineStage<A, C>

Chains two pipeline stages together to form a new pipeline stage.

Link copied to clipboard

Conditionally chains this pipeline stage with next if it is not null.