Skip to main content

Module ir

Module ir 

Source
Expand description

The chart IR: the canonical, surface-independent representation of a statechart.

Every surface (SCXML, RDF, and later YAML and the Rust DSL) reads into and writes from these types. The IR keeps expression text uninterpreted; it is evaluated only by a crate::datamodel::Datamodel. Source positions are carried in Span values, which compare equal to every other span so that derived equality is structural ([[openspec:chart-model#Chart Equality]]).

Structs§

Chart
The root of a chart: the <scxml> element.
Content
<content>.
Data
A <data> item.
DoneData
<donedata>.
Exec
One executable content element.
Extension
An attribute or element from the vt: namespace or a foreign namespace, kept on its owner.
IfBranch
One branch of an <if>.
Initial
The <initial> pseudo-state of a compound state.
Invoke
<invoke> (W3C SCXML 6.4).
Param
<param>.
Script
<script>.
Send
<send> (W3C SCXML 6.2).
Span
A source location in the document a node was read from.
State
A state node of any kind.
Transition
A transition.

Enums§

Binding
Binding mode for data items (W3C SCXML 5.3).
ExecKind
The executable content elements of SCXML.
ExtensionValue
The content of an extension node.
HistoryType
History depth.
StateElement
The element a state was written as.
StateKind
The classification of a state (W3C SCXML 3.1).
TransitionType
Transition type (W3C SCXML 3.13).

Constants§

SCXML_NS
The SCXML namespace.
VT_NS
The Vertep extension namespace, used in SCXML documents and as the ontology namespace.

Type Aliases§

Block
An ordered block of executable content.
Expr
Uninterpreted expression text, evaluated by the chart’s datamodel.