summaryrefslogtreecommitdiffstats
path: root/tcllib/modules/fumagic/cgen.man
diff options
context:
space:
mode:
Diffstat (limited to 'tcllib/modules/fumagic/cgen.man')
-rw-r--r--tcllib/modules/fumagic/cgen.man63
1 files changed, 63 insertions, 0 deletions
diff --git a/tcllib/modules/fumagic/cgen.man b/tcllib/modules/fumagic/cgen.man
new file mode 100644
index 0000000..bca630d
--- /dev/null
+++ b/tcllib/modules/fumagic/cgen.man
@@ -0,0 +1,63 @@
+[comment {-*- tcl -*- doctools manpage}]
+[manpage_begin fileutil::magic::cgen n 1.0]
+[see_also file(1)]
+[see_also fileutil]
+[see_also magic(5)]
+[keywords {file recognition}]
+[keywords {file type}]
+[keywords {file utilities}]
+[keywords mime]
+[keywords type]
+[moddesc {file utilities}]
+[titledesc {Generator core for compiler of magic(5) files}]
+[category {Programming tools}]
+[require Tcl 8.4]
+[require fileutil::magic::cgen [opt 1.0]]
+[require fileutil::magic::rt [opt 1.0]]
+
+[require struct::tree]
+[require struct::list]
+[description]
+[para]
+
+This package provides the generator backend for a compiler of magic(5)
+files into recognizers based on the [package fileutil::magic::rt]
+recognizer runtime package. For the compiler frontend using this
+generator see the package [package fileutil::magic::cfront].
+
+[section COMMANDS]
+
+[list_begin definitions]
+
+[call [cmd ::fileutil::magic::cgen::2tree] [arg script]]
+
+This command converts the recognizer specified by the [arg script]
+into a tree and returns the object command of that tree as its
+result. It uses the package [package struct::tree] for the tree.
+
+[para]
+
+The [arg script] is in the format specified by magic(5).
+
+[call [cmd ::fileutil::magic::cgen::treedump] [arg tree]]
+
+This command takes a [arg tree] as generated by
+[cmd ::fileutil::magic::cgen::2tree] and returns a string encoding the
+tree for human consumption, to aid in debugging.
+
+[call [cmd ::fileutil::magic::cgen::treegen] [arg tree] [arg node]]
+
+This command takes a [arg tree] as generated by
+[cmd ::fileutil::magic::cgen::2tree] and returns a Tcl script, the
+recognizer for the file types represented by the sub-tree rooted at
+the [arg node].
+
+The generated script makes extensive use of the commands provided by
+the recognizer runtime package [package fileutil::magic::rt] to
+perform its duties.
+
+[list_end]
+
+[vset CATEGORY {fileutil :: magic}]
+[include ../doctools2base/include/feedback.inc]
+[manpage_end]