FSM_PRINT(3)
π FSM_PRINT(3) β libfsm Programmer's Manual, bestie π
Okay so this is FSM_PRINT(3) from the libfsm Programmer's Manual, and the source is a little bit of a work-in-progress situation β the TODOs are staying because the facts stay, periodt.
πΈ NAME πΈ
fsm_print β FSM API
π SYNOPSIS π
There are literally no synopsis lines in the source under this heading, bestie. It goes straight from SYNOPSIS to DESCRIPTION β no cap.
β¨ DESCRIPTION β¨
First up, the source has this exact artifact sitting in the description:
TODO .SH ""
Yep. Preserved. Then it says:
TODO: options given by struct fsm_options, which contains the following fields:
And also:
TODO: options may not be applicable for all languages
Here are the fields, one bullet each, exactly as named:
anonymous_statesβ when you're producing Graphviz output (byFSM_OUT_DOT), this draws states anonymously. The default is to label each state with a unique identifier. πconsolidate_edgesβ when you're producing Graphviz output (byFSM_OUT_DOT), this draws multiple similar transitions as the same edge. Those consolidated edges get labelled to show the set of transitions they represent. It's an aesthetic optimisation for making diagrams more legible. The default is to draw each transition as a separate edge. β¨fragmentβ when you're producing C output (byFSM_OUT_C), this gives you statements suitable for inlining into a function body, similar in intent to [see also]re2c... . When you're producing Graphviz output (byFSM_OUT_DOT), ... . When producing outputcase 'g': o.fragment = 1; break;πalways_hexβ byte values are escaped in generated code where necessary for the output language. Other values are output in their printable character form, which is meant to help legibility for FSMs that operate on text. Thealways_hexoption instead outputs these values in escaped hexadecimal form regardless of their printability. That better suits FSMs which operate on binary input, where a relation to a particular character value is coincidental. The default is to output values in printable character form where possible. π₯ioβTODO: enum fsm_ioπ«Άprefixβ the source gives you this line:case 'n': out_options.prefix = optarg; break;π
π SEE ALSO π
libfsm
xoxo bestie, this page is from libfsm, dated 01/01/1980, and filed under FSM_PRINT(3) πππ¦
π¦ where this page comes from
- nixos 26.05: libfsm 0.1pre2987_087e3389
- nixpkgs unstable: libfsm 0.1pre2987_087e3389
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms