Statifier.Parser.SCXML.StateStack (statifier v1.9.0)
View SourceManages the parsing state stack for hierarchical SCXML document construction.
This module handles adding and removing elements from the parsing stack, and updating parent elements when child elements are completed.
Summary
Functions
Handle the end of an assign element by adding it to the parent onentry/onexit block.
Handle text content for elements that support it (like <content> and <data>).
Handle the end of a content element (child of send).
Handle the end of a data element by adding it to the document's datamodel.
Handle the end of a datamodel element by simply popping it from the stack.
Handle the end of an else element by adding it to the if container as final block.
Handle the end of an elseif element by adding it to the if container and switching blocks.
Handle the end of a foreach element by creating a ForeachAction from collected actions.
Handle the end of an if element by creating an IfAction from collected conditional blocks.
Handle the end of an invoke element by adding it to its parent context.
Handle the end of a log element by adding it to the parent onentry/onexit block.
Handle the end of an onentry element by moving collected actions to parent state.
Handle the end of an onexit element by moving collected actions to parent state.
Handle the end of a param element (child of send or invoke).
Handle the end of a raise element by adding it to the parent onentry/onexit block.
Handle the end of a send element.
Handle the end of a state element by adding it to its parent.
Handle the end of a transition element by adding it to its parent state.
Peek at the type of the top element on the stack without modifying the stack. Returns nil if stack is empty.
Pop an element from the parsing stack.
Push an element onto the parsing stack.
Functions
Handle the end of an assign element by adding it to the parent onentry/onexit block.
Handle text content for elements that support it (like <content> and <data>).
Handle the end of a content element (child of send).
Handle the end of a data element by adding it to the document's datamodel.
Handle the end of a datamodel element by simply popping it from the stack.
Handle the end of an else element by adding it to the if container as final block.
Handle the end of an elseif element by adding it to the if container and switching blocks.
Handle the end of a foreach element by creating a ForeachAction from collected actions.
Handle the end of an if element by creating an IfAction from collected conditional blocks.
Handle the end of an invoke element by adding it to its parent context.
Handle the end of a log element by adding it to the parent onentry/onexit block.
Handle the end of an onentry element by moving collected actions to parent state.
Handle the end of an onexit element by moving collected actions to parent state.
Handle the end of a param element (child of send or invoke).
Handle the end of a raise element by adding it to the parent onentry/onexit block.
Handle the end of a send element.
Handle the end of a state element by adding it to its parent.
Handle the end of a transition element by adding it to its parent state.
Peek at the type of the top element on the stack without modifying the stack. Returns nil if stack is empty.
Pop an element from the parsing stack.
Push an element onto the parsing stack.