TOKE(1)
β¨ TOKE(1) β¨ β the OpenBIOS tokenizer, bestie edition π
okay so real quick, this is a page from the General Commands Manual, and the star of the show is toke. sit down, grab a boba, we're doing this π§
πΈ NAME πΈ
toke β the OpenBIOS tokenizer. that's it, that's the name, she's simple and she knows it π
π¦ SYNOPSIS π¦
toke [options] forth-file
β¨ DESCRIPTION β¨
toke is an open-source FCode Tokenizer straight outta the OpenBIOS project. no cap, that's literally what she does and she does it gorgeously π
π OPTIONS π
-h,-?β prints a lil brief help message and then dips out. exit, stage left π-i,--ignore-errorsβ generates a Binary Output even if errors got reported. yes bestie, she's choosing violence (or convenience, you decide π«Ά)-l,--load-listβ collects the names offloaded files into an FLoad-List file. the names collected are in the exact same form as they were presented in thefloadstatements, no glow-up, no editing π«
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 you specified on the command line, or the one created by default. easy π
-o,--output-name OutputFileNameβ directs the binary output (the FCode result of Tokenization) to the named file instead of the default-named file. π―
heads up bestie: this option is not valid when multiple input files are named. one file, one output, that's the rule π€
-P,--dependenciesβ collects the fully-resolved pathnames offloaded andENCODed 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β prints additional messages (including advisories) during tokenization. she's a yapper and we love her for it π£οΈβ¨-I,--Include directoryβ this tokenizer supports the notion of an include-list. you create the include-list by specifying a number of-Idirectorypairs on the command-line. all file-reads, whether for anfloadcommand or anencode-filedirective, 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. so for the current working directory to be included in the file-search, it must be specified explicitly. -I. will accomplish that quite effectively. periodt π―
-T,--Trace symbolβ this tokenizer supports the notion of a trace-list. the User creates the trace-list by specifying a number of-Tsymbolpairs 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. lowkey a lifesaver for archaeology on old code πΊ
-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. she remembers everything, she's the main character π§ β¨
-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-fswitch to enable the behavior; to disable it, precede the flag-name with the optional stringno. π©
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β allowABORT"macro.Sun-ABORT-QuoteβABORT"with implicitIF ... THEN.Abort-Quote-Throwβ use-2 THROW, rather thanABORT, in anAbort"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\tand\xx\to be treated as special characters in string parsing.Always-Headersβ override occurrences of the standard directiveheaderlessin the source with -- effectively --headersto make all definitions have a header. occurrences of the directiveexternalwill continue to behave in the standard manner. Initially disabled.Always-Externalβ all definitions will be made as though under theexternaldirective; occurrences of either Standard directiveheaderlessorheadersin the source will be overridden. this special-feature flag will also override theAlways-Headersspecial-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-vis 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@, andr>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@, andr>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. so cute, she has a built-in FAQ π
π SEE ALSO π
detok(1). go say hi to her sister π―
π 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). π
and that's the whole page bestie!! this one was shipped as part of TOKE(1), dated May 15, 2007 β yes, she's vintage, she's an icon, she ate and left no crumbs πβ¨ mwah, go tokenize something gorgeous π¦π
π¦ where this page comes from
- debian bookworm: fcode-utils 1.0.2-8
- debian trixie: fcode-utils 1.0.3-2 Β· GPL-2.0-only
- ubuntu jammy: fcode-utils 1.0.2-8
- ubuntu noble: fcode-utils 1.0.2-8
- ubuntu questing: fcode-utils 1.0.3-2
- ubuntu resolute: fcode-utils 1.0.3-2build1 Β· GPL-2.0-only
- ubuntu stonking: fcode-utils 1.0.3-2build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms