FSM_PRINT(3)

πŸ“¦ version 0.1pre2987_087e3389, in nixos 26.05, nixpkgs unstable

πŸ’– 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 (by FSM_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 (by FSM_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 (by FSM_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 (by FSM_OUT_DOT), ... . When producing output case '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. The always_hex option 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