149
edits
mNo edit summary |
(Add notes for anyone interested in using sanhozay's CLGen DSL for generating checklist XML files.) |
||
Line 287: | Line 287: | ||
== Checklist Generation Language == | == Checklist Generation Language == | ||
Forum user sanhozay has created a custom language called [https://github.com/sanhozay/CLGen CLGen] for generating checklists. | |||
The main benefits to be gained from using CLGen are: | |||
* More compact Nasal-like syntax that is easier to work with than XML | |||
* Re-use of item definitions means source code is around 20-25% of the equivalent hand-written XML | |||
* PDF and Graphviz DOT views of the checklists to aid prototyping | |||
* Type checking and code generation means less debugging of checklists in Flightgear | |||
Creating checklists with CLGen can be as simple as: | |||
<pre> | |||
checklist("Startup") { | |||
check("Parking Brake", "ON"); | |||
check("Navigation Lights", "ON"); | |||
check("Beacon", "OFF"); | |||
}</pre> | |||
CLGen supports conditions expressed in Nasal-like syntax, bindings, fgcommands, markers and automated inclusion of copyright headers. It is also possible, with some restrictions, to reverse-engineer existing checklists into CLGen source format and to generate PDF and Graphviz DOT representations of existing checklists. | |||
[[File:CLGen DOT File.png|500px|Example of an image created from CLGen's DOT file output.]] | |||
[[File:CLGen PDF Output.png|300px|Example of a PDF file created from CLGen.]] | |||
CLGen is written in Java and runs on Mac OS, Linux and Windows platforms with a Java 8 runtime. | |||
For more information, including a step-by-step Wiki tutorial, visit the [https://github.com/sanhozay/CLGen CLGen project on Github] | |||
== External link == | == External link == |
edits