Provided by: tcllib_1.21+dfsg-1_all bug

NAME

       fileutil::magic::cgen - Generator core for compiler of magic(5) files

SYNOPSIS

       package require Tcl  8.4

       package require fileutil::magic::cgen  ?1.2.0?

       package require fileutil::magic::rt  ?1.2.0?

       package require struct::tree

       package require struct::list

       ::fileutil::magic::cgen::2tree script

       ::fileutil::magic::cgen::treedump tree

       ::fileutil::magic::cgen::treegen tree node

________________________________________________________________________________________________________________

DESCRIPTION

       This  package  provides  the generator backend for a compiler of magic(5) files into recognizers based on
       the fileutil::magic::rt recognizer runtime package. For the compiler frontend using  this  generator  see
       the package fileutil::magic::cfront.

COMMANDS

       ::fileutil::magic::cgen::2tree script
              This  command  converts  the recognizer specified by the script into a tree and returns the object
              command of that tree as its result. It uses the package struct::tree for the tree.

              The script is in the format specified by magic(5).

       ::fileutil::magic::cgen::treedump tree
              This command takes a tree as generated by  ::fileutil::magic::cgen::2tree  and  returns  a  string
              encoding the tree for human consumption, to aid in debugging.

       ::fileutil::magic::cgen::treegen tree node
              This command takes a tree as generated by ::fileutil::magic::cgen::2tree and returns a Tcl script,
              the  recognizer  for the file types represented by the sub-tree rooted at the node.  The generated
              script  makes  extensive  use  of  the  commands  provided  by  the  recognizer  runtime   package
              fileutil::magic::rt to perform its duties.

BUGS, IDEAS, FEEDBACK

       This  document,  and  the package it describes, will undoubtedly contain bugs and other problems.  Please
       report    such    in    the    category    fileutil    ::    magic     of     the     Tcllib     Trackers
       [http://core.tcl.tk/tcllib/reportlist].   Please  also report any ideas for enhancements you may have for
       either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments  can  be  made  by
       going  to the Edit form of the ticket immediately after its creation, and then using the left-most button
       in the secondary navigation bar.

SEE ALSO

       file(1), fileutil, magic(5)

KEYWORDS

       file recognition, file type, file utilities, mime, type

CATEGORY

       Programming tools

tcllib                                                1.2.0                          fileutil::magic::cgen(3tcl)