Table of Contents

Namespace DialogueDown.Compilation

Classes

CompilationFailure

A compile that stopped before running every stage, carrying only the artifacts it reached. It is named by where it stopped rather than by a stage field beside optional artifacts, so a combination no compile can reach cannot be constructed.

CompilationResult

The outcome of one compilation: the original Source, the front-end artifacts every compile reaches, and the DialogueDown.Compilation.CompilationResult.Diagnostics collected while compiling. Which ending it is, is its type — a CompilationSuccess carrying every stage artifact, or a CompilationFailure carrying how far the compile got. The stage artifacts and the diagnostics are internal — they are the compiler's own types, still under active design — so tooling that has friend access (the visualization project) can project them, while a public caller sees the source, a HasErrors convenience, and the located diagnostics.

CompilationSuccess

A compile that ran every stage without reporting an error: each artifact is present, so nothing here is optional and nothing throws. Matching this type is how a caller learns the compile produced what it needs — above all the DialogueDown.Compilation.CompilationSuccess.Graph, the flow a runtime walks.

ScriptCompilerFactory

The container-free composition root for the default IScriptCompiler: it wires the standard stages — the Markdig-based parser, the default transpiler, the desugarer, the structural validator, the semantic analyzer, and the graph builder — into a ready compiler in one call, for callers that do not run a dependency injection container. Container callers use the AddDialogueDown registration instead; both build the same graph.

Interfaces

IScriptCompiler

Compiles a DialogueDown script's source into a CompilationResult by running the compiler stages in order. This is the single public entry point that embedders and tools depend on; a ready instance comes from the default factory or from an AddDialogueDown container registration.