Provided by: fcode-utils_1.0.2-7build1_amd64 bug

NAME

       toke - OpenBIOS tokenizer

SYNOPSIS

       toke [options] forth-file

DESCRIPTION

       toke is an open-source FCode Tokenizer from the OpenBIOS project.

OPTIONS

       -h, -? Print a brief help message and then exit.

       -i, --ignore-errors
              Generate a Binary Output even if errors were reported.

       -l, --load-list
              Collect  the  names  of floaded files into an FLoad-List file. The names collected are in the same
              form as they were presented in the fload statements.
              The name of the FLoad-List File is derived from the name of the binary output file,  by  replacing
              its extension with .fl , or, if the binary output file name had no extension, merely appending the
              extension .fl.
              The binary output file name used for this purpose is either the one specified on the command line,
              or the one created by default.

       -o, --output-name OutputFileName,
              Direct  the  binary  output  (FCode  result  of  Tokenization) to the named file instead of to the
              default-named file. This option is not valid when multiple input files are named.

       -P, --dependencies
              Collect the fully-resolved pathnames of floaded and ENCODEd files  into  a  dependency-list  file.
              The  names  collected  are  in  the  form  that  is  presented to the host operating system: shell
              environment Variables and related expressions will be fully expanded, and the directory within the
              include-list in which the file was found will be attached.
              The  name of the dependency-list file will be the same as that of the FLoad-list file, except that
              its extension will be .P instead of .fl.

       -v, --verbose
              Print additional messages (including advisories) during tokenization.

       -I, --Include directory
              This tokenizer supports the notion of an  include-list.  The  user  creates  the  include-list  by
              specifying  a  number  of  -I  directory pairs on the command-line. All file-reads, whether for an
              fload command or an encode-file directive, will involve a search for the named  file  through  the
              directories of the include-list, in the order they were supplied on the command-line.
              If  no  include-list  is  created, file-reads are relative to the current working Directory. If an
              include-list is created, file-reads are restricted to the directories within it.  For the  current
              working  directory  to be included in the file-search, it must be specified explicitly.  -I.  will
              accomplish that quite effectively.

       -T, --Trace symbol
              This tokenizer supports the notion of a trace-list. The User creates the trace-list by  specifying
              a number of -T symbol pairs on the command-line.
              When  a name is defined, whether as an FCode, an alias, a Macro or anything else, either in normal
              tokenization mode or "Tokenizer Escape"‐mode, if it matches a symbol that has been  added  to  the
              trace list, a trace note message will be issued indicating that a definition of that name has been
              created.  Subsequent trace note Messages will be issued  when  the  definition  of  that  name  is
              invoked.
              This  trace-symbols  feature  can be helpful during maintenance of legacy code, for instance, when
              multiple symbols carry the same name.

       -d, --define Symbol[=Value]
              Define a command-line symbol and optionally, assign a value to  it.  If  you  wish  the  value  to
              contain  spaces  or  quotes,  you  can  accomplish  that  using the shell escape conventions. This
              sequence may be repeated. Once a Symbol is defined on the command-line, it stays in effect for the
              duration  of  the  entire batch of tokenizations (i.e., if there are multiple input files named on
              the command line). Command-line Symbols can be tested for purposes of conditional tokenization, or
              their assigned values can be evaluated.

       -f, --flag [no]<FlagName>
              The  tokenizer  recognizes a specific set of special-feature flag-names; each is associated with a
              specific non-standard variant behavior. Pass the flag-name as an argument  to  the  -f  switch  to
              enable the behavior; to disable it, precede the flag-name with the optional string no.
              The  settings of the special-feature flags can also be changed or displayed from within the source
              input file.
              The special-feature flags are all initially set to be enabled, except where noted.
              The flag-names and their associated special-features are as follows:

              Local-Values
                     Support IBM-style Local Values ("LV"s). Initially disabled.

              LV-Legacy-Separator
                     Allow Semicolon for Local Values Separator ("Legacy").

              LV-Legacy-Message
                     Display a Warning Message when Semicolon is used as the Local Values Separator.

              ABORT-Quote
                     Allow ABORT" macro.

              Sun-ABORT-Quote
                     ABORT" with implicit IF ... THEN

              Abort-Quote-Throw
                     Use -2 THROW, rather than ABORT, in an Abort" phrase

              String-remark-escape
                     Allow "\ (Quote-Backslash) to interrupt string parsing.

              Hex-remark-escape
                     Allow \ (Backslash) to interrupt hex-sequence parsing within a string.

              C-Style-string-escape
                     Allow the C-style String-Escape pairs \n \t and \xx\ to be treated as special characters in
                     string parsing.

              Always-Headers
                     Override occurrences of the standard directive headerless in the source with -- effectively
                     -- headers to make all definitions have a header. Occurrences  of  the  directive  external
                     will continue to behave in the standard manner. Initially disabled.

              Always-External
                     All  definitions will be made as though under the external directive; occurrences of either
                     Standard directive headerless or headers in the source will be  overridden.  This  special-
                     feature  flag  will also override the Always-Headers special-feature flag in the event that
                     both have been specified. Initially disabled.

              Warn-if-Duplicate
                     Display a WARNING message whenever a definition is made whose name duplicates  that  of  an
                     existing  definition.   Disabling this flag will suspend the duplicate-names test globally,
                     until it is re-enabled. A Directive is  supported  that  will  suspend  the  test  for  the
                     duration of only a single definition, without affecting global behavior.

              Obsolete-FCode-Warning
                     Display  a  WARNING  message  whenever  an  FCode  function  is  invoked  that the Standard
                     identifies as obsolete.

              Trace-Conditionals
                     Issue advisory messages  about  the  state  of  conditional  tokenization.  (Remember  that
                     advisory messages are displayed only if the verbose option -v is set.) Initially disabled.

              Upper-Case-Token-Names
                     Lower-Case-Token-Names When outputting the names of headered functions (token-names) to the
                     binary output file, override the character-case in which the names appeared in the  source,
                     and  convert  them to Upper- or Lower- ‐Case, respectively. (These flags do not affect text
                     string sequences, whose character-case is always preserved.)  Initially disabled.

              Big-End-PCI-Rev-Level
                     Save the Revision Level of the Vendor's ROM field of the PCI  Header  in  big-endian  byte-
                     order,  rather  than  little-endian  as per the general PCI Standard convention. (This flag
                     does not affect any other field
                      of the PCI Header). Initially disabled.

              Ret-Stk-Interp
                     Allow return-stack operations during interpretation.  While  the  standard  specifies  that
                     usage of the operators >r, r@, and r> while interpreting is allowed, actual practice in the
                     industry is inconsistent.  Developers who wish to take a more  cautious  approach  to  this
                     question  can  disable this flag so that any attempt to use the operators >r, r@, and r> in
                     the interpreting state will generate an ERROR Message.

       Also, the pseudo-flag-name help will cause a list of the flag-names and their associated special-features
       to be printed.

SEE ALSO

       detok(1).

AUTHORS

       Stefan Reinauer <stepan@openbios.org>
       David L. Paktor <dlpaktor@us.ibm.com>

       This  manual page was written by Aurelien Jarno <aurel32@debian.org> for the Debian GNU/Linux system (but
       may be used by others).

                                                  May 15, 2007                                           TOKE(1)