tesla -- TOM Compiler


tesla [-u unitname | -f file] [options]

tesla {--version}


tesla is the TOM compiler. It translates the TOM source files into C, which may subsequently be translated by the GNU C compiler, gcc(1), to produce an object file. The input file is usually a unit file, specified by -u unitname. This unit file describes the files which are to compiled by tesla. Alternatively, tesla may compile a single source file, specified by -f file.

Regular Options

-I dir

Add dir to the include path.


Use the classic, fully dynamic behavior. This will become useful once tesla can do whole program compilation for greater optiomization.


Write out all files, whether or not they are already present.

-o file

Only output the file and the header.


Be verbose.


Report the version of tug and exit.

Advanced Options

-C name

Add the class name to the classes in the file specified by -f.

-C a:b

Like -C name, except make A pose as B.

-E x:y

Add the extension y of the class x to the file specified by -f.

--c-extension foo

Use '.foo' as the extension of generated source files.


Don't depend upon the presence of unit tom.

-Wx, -Wno-x

Warn or do not warn about 'x'. Possible warnings are empty-compound.

-fx, -fno-x

Include or exclude the x feature. Known features are readable-c.

Debugging Options


Print top expressions while they are read.


Print methods after having been resolved.


Emit names of files that are being read.


Emit names of files that are being resolved.

:trace-parser tesla.ParseTom

Tell the parser to output full debug information. This is really a debugging option for the parser and will output a lot of data.