SYNOPSIS
package require Tcl 8.4package require fileutil::magic::cfront ?1.0?
package require fileutil::magic::cgen ?1.0?
package require fileutil::magic::rt ?1.0?
package require struct::list
package require fileutil
::fileutil::magic::cfront::compile path...
::fileutil::magic::cfront::procdef procname path...
::fileutil::magic::cfront::install path...
DESCRIPTION
This package provides the frontend of a compiler of magic(5) files into recognizers based on the fileutil::magic::rt recognizer runtime package. For the generator backed used by this compiler see the package fileutil::magic::cgen.
COMMANDS
- ::fileutil::magic::cfront::compile path...
-
This command takes the paths of one or more files and directories and
compiles all the files, and the files in all the directories into a
single recognizer for all the file types specified in these files.
All the files have to be in the format specified by magic(5).
The result of the command is a Tcl script containing the generated recognizer.
- ::fileutil::magic::cfront::procdef procname path...
- This command behaves like ::fileutil::magic::cfront::compile with regard to the specified path arguments, then wraps the resulting recognizer script into a procedure named procname, puts code setting up the namespace of procname in front, and returns the resulting script.
- ::fileutil::magic::cfront::install path...
-
This command uses ::fileutil::magic::cfront::procdef to compile
each of the paths into a recognizer procedure and installs the result
in the current interpreter.
The name of each new procedure is derived from the name of the file/directory used in its creation, with file/directory "FOO" causing the creation of procedure ::fileutil::magic::/FOO::run.