Usage and Command Line Options¶
- Usage : /mnt/c/GitHub/FSMLang2/linux/fsm [-tc|s|e|h|p|r] [-o outfile] <filename>.fsm¶
- 'c'¶
gets you c code output based on an event/state table,
- 's'¶
gets you c code output with individual state functions using switch constructions,
- 'e'¶
gets you c code output with a table of functions for each event using switch constructions,
- 'h'¶
gets you html output
- 'p'¶
gets you PlantUML output
- 'r'¶
gets you reStructuredText output
- -i0¶
inhibits the creation of a machine instance any other argument to ‘i’ allows the creation of an instance; this is the default
- -c¶
will create a more compact event/state table when -tc is used with machines having actions which return states
- -s¶
prints some useful statistics and exits
- -o <outfile>¶
will use <outfile> as the filename for the top-level machine output. Any sub-machines will be put into files based on the sub-machine names.
- --generate-weak-fns=false¶
suppresses the generation of weak function stubs.
- --short-user-fn-names=true¶
causes user functions (such as action functions to use only the machine name when the sub-machine depth is 1).
- --force-generation-of-event-passing-actions¶
forces the generation of actions which pass events when weak function generation is disabled. The generated functions are not weak.
- --core-logging-only=true¶
suppresses the generation of debug log messages in all but the core FSM function.
- --generate-run-function<=true|false>¶
this option is deprecated. The run function is always generated; no RUN_STATE_MACHINE macro is provided.
- --include-svg-img<=*true|false>¶
adds <img/> tag referencing <filename>.svg to include an image at the top of the web page.
- --css-content-internal=true¶
puts the CSS directly into the html.
- --css-content-filename=<filename>¶
uses the named file for the css citation, or for the content copy.
- --add-plantuml-title=<*true|false>¶
adds the machine name as a title to the plantuml.
- --add-plantuml-legend=<*center|left|right|top|*bottm>¶
adds a legend to the plantuml. Center, bottom are the defaults. Horizontal and vertial parameters can be added in a quoted string. Center is a horizontal parameter. By default, event, state, and action lists are included in the legend, and event descriptions are removed from the body of the diagram.
- --exclude-states-from-plantuml-legend=<*true|false>¶
excludes state information from the plantuml legend. When excluded from legend, state comments are included in the diagram body.
- --exclude-events-from-plantuml-legend=<*true|false>¶
excludes event information from the plantuml legend.
- --exclude-actions-from-plantuml-legend=<*true|false>¶
excludes action information from the plantuml legend.
- --convenience-macros-in-public-header[=<*true|false>]¶
includes convenience macros (THIS, UFMN, e.g.) in the public header of the top-level machine; otherwise, they are placed in the private header.
- --add-machine-name¶
adds the machine name when using the –short-debug-names option
- --add-event-cross-reference<=true|*false>¶
adds a cross-reference list as a comment block in front of the machine event enumeration. Omitting the optional argument is equivalent to specifying “true”
- --event-cross-ref-only<=*true|false>¶
creates a cross-reference list as a separate file. When the format is not specified by –event-cross-ref-format, json is provided. The file created is <filename>.[json|csv|tab|xml]
- --event-cross-ref-format=[json|csv|tab|xml]¶
specifies the output format for –event-cross-ref-only. Specifying this option obviates –event-cross-ref-only.
- --include-state-cross-refs=<*true|false>¶
Includes cross reference for states. Top-level states are placed in the same file as the events; sub-machines each get their own files.
- --add-plantuml-prefix-string=<text>¶
will add the specified text to the plantuml output before any generated output. This option can be specified multiple times; all text will be added in the order given for the content copy.
- --add-plantuml-prefix-file=<text>¶
will add the text in the specified file to the plantuml output before any generated output. This option can be specified multiple times; all text will be added in the order given for the content copy.
- -M¶
prints the file name(s) of the source files that would have been created to stdout. This is useful in Makefiles for getting the list of files that will be generated (e.g. GENERATED_SRC=$(shell $(FSM) -M -tc $(FSM_SRC))). This option must preceed the -t option.
- -Mh¶
prints the file name(s) of the headers that would have been created to stdout. This is useful in Makefiles for getting the list of files that will be generated (e.g. GENERATED_HDRS=$(shell $(FSM) -M -tc $(FSM_SRC))). This option must preceed the -t option. And, only tc or ts are applicable.
- -Md¶
print a line suitable for inclusion in a Makefile giving the recipe for creating dependent files. This option must preceed the -t option.
- --add-profiling-macros<=true|*false>¶
adds profiling macros at the beginning and end of the FSM function, and before and after invocation of action functions.
- --profile-sub-fsms<=true|*false>¶
adds profiling macros at the beginning and end of the FSM function in sub-machines. Profiling macros must also be enabled.
- --empty-cell-fn=<name>¶
designates a function to be called when an event/state cell is empty.
When true, events are shared to sub-machines even in states which inhibit them. The default is to not share. This option allows sharing behavior of version 1.45.1 and before to be preserved.
- -v¶
prints the version and exits