Skip to content

man Toolmake

tajmone edited this page Feb 5, 2022 · 2 revisions

Toolmake(1) — man page

ℹ️

This document was converted from man page format to AsciiDoc by Tristano Ajmone using pandoc on the original “toolmake.1” file from the source repository.

Styles and formatting were adjusted according to need, but the original contents were left unaltered.

⚠️

The company SoftLab AB (Sweden) mentioned in this document no longer exists, it was sold in the late 90s.

Any reference to the softlab.se web domain found in this document is unrelated to the SoftLab Rising company using the softlab.se domain today.

If you have any questions regarding this software, please open an Issue on the upstream repository.

NAME

toolmake — create a ToolMaker subsystem

SYNOPSIS

toolmake [-help] [<option> …​] <name>

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.

Toolmake currently supports ParserMaker, ScannerMaker and ListerMaker. You can choose any combination of these to include into your subsystem. Furthermore toolmake will offer you an example main module and a Makefile, all in order to make life easier for you as an application (or compiler) implementor.

Essentially what toolmake will do is to generate a set of files, all under your supervision. Toolmake will not overwrite anything unless you explicitly tells it to do so.

Normally toolmake will ask you about the name of your subsystem, and then enter a “command loop”. In this command phase you can change the default settings for the coming generation phase, or just enter it. You can always give a single question mark (followed by carriage return) to toolmake in order to get some brief help. In some cases you can get further help with a HELP command.

If you are familiar with the ToolMaker system toolmake ought to be self explanatory.

ARGUMENTS

name

The subsystem name, this is used as prefix for the generated files and all externally visible symbols in generated code.

OPTIONS

-[-]go

[Do not] Enter the generation phase immediatly (default: off).

-[-]verbose

Enable [disable] verbose output mode (default: off).
Verbose mode will give some information regarding the actions choosen by toolmake.

-help

Gives you a brief but fresh help on the arguments and options to the toolmake program.

FILES

The files generated differs naturally depending on target language, wanted components and generation level. For the default case and a subsystem called x, the following ToolMaker description files will be generated:

  1. The common ToolMaker description file.

  1. The ScannerMaker description file.

  1. The ParserMaker description file.

  1. The ListerMaker description file.

And for your convience:

  1. An example main program.

Makefile

A suitable file for make(1).

For the default case the following source code files will be generated empty by toolmake:

xCommon.h

Subsystem common definitions, e.g. token definition.

xScSema.c, xScan.c, xScan.h

The scanner.

xPaSema.c, xParse.c, xParse.h

The parser.

xList.c, xList.h

The lister.

xErr.c, xErr.h

Error handler, interface between parser and lister.

Of course will they be filled when the proper makers are invoked.

To be able to use ToolMaker programs the environmental variable TMHOME should be set, probably to /usr/local/ToolMaker. The origin for the generated files will be found in a language subdirectory to $TMHOME/lib, like $TMHOME/lib/ansi-c.

DIAGNOSTICS

A number of diagnostic messages can appear when running toolmake. See your Toolmake Reference Manual for a detailed listing.

SEE ALSO

make(1), pmk(1), smk(1), lmk(1), imp(1)
ToolMaker documentation

BUGS

Please contact SoftLab about bugs and wishes.

AUTHOR

Reibert Arbring, SoftLab ab.
Email to: tools@softlab.se

NOTES

These manual pages corresponds to ToolMaker version 2.1.

Copyright © 1989–1995, SoftLab ab.

Clone this wiki locally