Add a concrete state (has a prompt) or abstract state (mix-in, no prompt).
Add a command edge to state.
Build an integer arg_spec_t.
Build a real arg_spec_t.
Build a character arg_spec_t.
Build a rest arg_spec_t (verbatim remainder of the line; must be last).
Return n copies of an integer spec (fixed-size tuple, e.g. a 2D point).
Return n copies of a real spec.
Successful result, optionally carrying a DoGoto context string.
Error result, optionally with a message written to the error channel.
Merge all commands from abstract state included into state.
The state's own commands override included ones with the same spec.
Register a hook called after every successful transition into state.
Validate the graph and set the initial state.
Sets stat non-zero if a cycle is detected in goto/do_goto edges
or if any state reference is unresolved.
Run an interactive loop reading from the configured input stream.
Execute commands from path, stopping at the first error.
Returns .true. if the file ran to completion (or ended with quit).
Rewind to the initial state without rebuilding the graph.
Clears the stack, contexts, last_message, and last_error.
Redirect I/O channels. Pass QUIET_UNIT to suppress a channel.
Default: stdin / stdout / stderr.
Dispatch one line of input.
Performs prefix matching, arg validation, and edge traversal.
Name of the active state.
Context of the active state.
Returns .false. after Quit or stack exhausted.
Commands visible in the current state (own + included, help/? excluded).
Result depends only on the state name; safe to cache keyed by state name.
State names on the stack, bottom-first.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name | |||
| logical, | intent(in), | optional | :: | optional |