-
Notifications
You must be signed in to change notification settings - Fork 0
ToolMaker Tools
The ToolMaker suite consists of the following command line tools:
- IMP — Incremental Macro Processor.
- LMK — ListerMaker.
- PMK — ParserMaker.
- SMK — ScannerMaker.
- toolmake — interactive initiator to setup a ToolMaker subsystem.
In this page I'll include the -help
text of the CLI tools, with some extra comments to introduce what each tool does, which file extensions it's associated with, etc.
Proper documentation of each tool will be further developed in independent documents (Wiki pages).
NOTE — the indentation in the
-help
outputs reproduced here was adjusted, to render them more readable.
Related Wiki pages:
- imp(1) man page (also available in html version)
IMP (Incremental Macro Processor) is a macro tool, similar in function to m4
and other similar tools.
$ imp -help
IMP -- Incremental Macro Processor 2.1(13) (1997-07-29 16:32)
Usage: imp [-h] [options] <input file> [<output file>]
Arguments:
<input file> input file to process (default ".imp" extension)
<output file> output file (default terminal)
Options:
-h show this information
-[-]l enable[disable] listing to file
-[-]i enable[disable] intermediate pass
-[-]u enable[disable] use of environment variables
-[-]v enable[disable] timing figures
-[-]c enable[disable] code coverage messages
-ec set escape character to 'c'
--e set the default escape character '`'
-sVar(Val{,Val}) set the variable "Var" to "Val{,Val}"
Related Wiki pages:
- lmk(1) man page (also available in html version)
LMK (ListerMaker) generates a lister, i.e. modules handling input text and error messages.
$ lmk -help
LMK -- ListerMaker 2.1(26) (1998-04-15 18:36)
Usage: lmk [-help] [options] <input file>
Options:
-[-]verbose enable[disable] verbose mode
-target set target language
-os set target operating system
-prefix set [no] prefix
-library set library
-[-]escape set [no] escape character
-[-]generate select [no] generated output {tables | source}
-[-]force do [not] force generation of source files
-[-]listings select [no] listing functions
-[-]include do [not] allow nested source files
-[-]limit set [no] limit on number of messages in listings
-message storage of messages {file | embedded}
-lmt <file> use <file> for tables
-tmk <file> read common options from <file>
-help this help information
Related Wiki pages:
- pmk(1) man page (also available in html version)
PMK (ParserMaker) is a parser generator, like yacc
and other similar tools.
$ pmk -help
PMK -- ParserMaker 2.1(17) (1997-07-28 17:52)
Usage: pmk [-help] [options] <input file>
Options:
-[-]verbose enable[disable] verbose mode
-target <lang> generate file for target language <lang>
-os <os> generate source files for target operating system <os>
-[-]prefix [<prefix>] set [no] parser prefix
-library <lib> use directory <lib> for library files
-[-]escape [<c>] set [no] escape character
-[-]width [<n>] set [no] listing width
-[-]height [<n>] set [no] listing height
-[-]generate select [no] generated output {tables | source}
-[-]force do [not] force generating of source code
-[-]listerprefix [<prefix>] set [no] lister prefix
-[-]errorhandler enable [disable] generation of error handler
-[-]trace enable [disable] trace mode
-[-]line do [not] generate line information in the semantic actions
-lookaheadmax <n> set max lookahead to <n>
-shiftcost <n> set shift cost for terminals to <n>
-stacklimit <n> set parse stack limit to <n> entries
-[-]pack set [no] table packing { row | column | rds | gcs | les }
-[-]actionpack set [no] packing of action tables
-[-]gotopack set [no] packing of goto tables
-[-]list set [no] listings { input | grammar | items | tables | statistics | info }
-[-]optimize set [no] optimize mode
-[-]recovery set [no] recovery mode { single | multiple | panic }
-[-]resolve set [no] resolve mode { sr | rr }
-voc <file> write vocabulary to <file>
-pml <file> write lists to <file> (if any)
-pmt <file> write tables to <file> (if any)
-tmk <file> read common options from <file>
-help this help information
Related Wiki pages:
- smk(1) man page (also available in html version)
SMK (ScannerMaker) is a lexical scanner (aka lexer) generator, like lex
and other similar tools.
$ smk -help
SMK -- ScannerMaker 2.1(25) (1997-07-28 17:55)
Usage: smk [-help] [options] <input file>
Options:
-[-]verbose do [not] enable verbose mode
-target <lang> generate for target language <lang>
-os <os> generate for target os <os>
-[-]prefix [<prefix>] set [no] scanner prefix
-library <lib> use directory <lib> as library
-[-]escape [<c>] set [no] escape character
-[-]width <n> set [no] listing width to <n>
-[-]height <n> set [no] listing height to <n>
-[-]generate select [no] generated output { tables | source }
-[-]force do [not] force generation of source code
-[-]screening set [no] screened token match length
-[-]set <set> select character set [use default]
-[-]trace do [not] generate tracing
-[-]optimize do [not] optimize tables
-tokensize <n> set normal size of token buffer to <n>
-tokenlimit <n> set maximal token length <n>
-[-]exclude [<c>] set [no] excluded character
-[-]pack select [no] table packing { row | column | rds | les | gcs | error }
-[-]list select [no] listed information { set | map | token | input | nfa | dfa | rule }
-voc <file> read vocabulary from <file>
-sml <file> write lists to <file> (if any)
-smt <file> write tables to <file> (if any)
-tmk <file> read common options from <file>
-help this help information
Related Wiki pages:
- toolmake(1) man page (also available in html version)
$ toolmake -help
toolmake -- initiator for ToolMaker tools 2.1(12) (1997-07-28 17:57)
Usage: toolmake [-[-]go|-[-]verbose|-help]... <name>
Arguments:
<name> -- for the subsystem
Options:
-[-]go -- quick toolmake with all defaults accepted (default: OFF)
-[-]verbose -- verbose mode (default: OFF)
-help -- this help
This tool is currently unavailable under Windows OS.
Description:
Toolmake is a facility to help you to create a SoftLab ToolMaker subsystem, i.e. toolmake will create the appropriate files for you in order to let you concentrate on the essential tasks when writing a ToolMaker subsystem.
It's basically a wizard-like interactive command line tool to help you start a new ToolMaker project with the correct settings, scaffolding the project's directory structure and populating it with the essential files.