| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(state_t), | public, | allocatable | :: | states(:) | |||
| integer, | public | :: | build_error_stat | = | 0 | ||
| character(len=:), | public, | allocatable | :: | build_error_msg | |||
| character(len=:), | public, | allocatable | :: | last_message |
Last info/prompt string written to the output channel |
||
| character(len=:), | public, | allocatable | :: | last_error |
Last error string written to the error channel |
Add a concrete or abstract state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | name |
Unique state identifier |
||
| character(len=*), | intent(in), | optional | :: | prompt |
Displayed before each input line; omit for an abstract state |
|
| integer, | intent(out), | optional | :: | stat | ||
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg |
Add a command edge to a state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | state |
Owning state name |
||
| character(len=*), | intent(in) | :: | spec |
Command spec, e.g. |
||
| integer, | intent(in) | :: | kind |
Edge behaviour ( |
||
| character(len=*), | intent(in), | optional | :: | target |
Destination state (Goto / DoGoto) |
|
| procedure(action_fun), | optional | :: | proc |
Action / gate proc (Action, DoGoto, DoPop) |
||
| character(len=*), | intent(in), | optional | :: | help |
Shown by built-in help command |
|
| type(arg_spec_t), | intent(in), | optional | :: | args(:) |
Validated before proc is called |
|
| integer, | intent(out), | optional | :: | stat | ||
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg |
Merge commands from an abstract state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | state | |||
| character(len=*), | intent(in) | :: | included | |||
| integer, | intent(out), | optional | :: | stat | ||
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg |
Register a post-transition hook
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | state | |||
| procedure(on_enter_fun) | :: | proc | ||||
| integer, | intent(out), | optional | :: | stat | ||
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg |
Validate the graph and set initial state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | initial |
Name of the starting state |
||
| integer, | intent(out), | optional | :: | stat | ||
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg |
Run an interactive loop on the configured input stream
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this |
Execute commands from a file, stopping at first error
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | path | |||
| logical, | intent(in), | optional | :: | echo |
If |
|
| integer, | intent(out), | optional | :: | stat |
RC of the failing dispatch, or |
|
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg | |
| integer, | intent(out), | optional | :: | line |
1-based line number of the failure |
Rewind to initial state without rebuilding the graph
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| integer, | intent(out), | optional | :: | stat | ||
| character(len=:), | intent(out), | optional, | allocatable | :: | errmsg |
Dispatch one line of input
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | line |
Redirect I/O channels; pass QUIET_UNIT to suppress
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(inout) | :: | this | |||
| integer, | intent(in), | optional | :: | input_unit | ||
| integer, | intent(in), | optional | :: | output_unit | ||
| integer, | intent(in), | optional | :: | error_unit |
Name of the active state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(in) | :: | this |
Context of the active state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(in) | :: | this |
False after Quit or stack exhausted
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(in) | :: | this |
Commands visible in the current state
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(in) | :: | this |
State names on the stack, bottom-first
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 | ||
|---|---|---|---|---|---|---|
| class(engine_t), | intent(in) | :: | this |