Switches for release 1.1 MSoft.4 :-

There are a two new switches to the driver, '!k' and '!x'. Also the character
'@' may be used instead of '!'. The following is a quick summary of each
switch applicable to this release.

'!' or '@':-	Driver special switches:-

	'O','o':	Commands are written to standard output rather than
			executed. Useful for executing the various phases from
			a batch file rather than from the driver. Especially
			useful if the memory requirements are too high.

	'K','k':	Keep generated .C files. All .C files generated by the
			translator will not be deleted after they have been
			compiled. The default is to delete them.

	'X','x':	Delete generated .OBJ files. All .OBJ files generated
			by the compilation phase will be deleted. The default
			is not to delete them.

	'P','p':	Keep generated .IXX files. All .IXX files generated by
			the pre-processor will not be deleted after they
			have been translated. The default is to delete them.

	'V','v':	Verbose mode. All commands will be written to standard
			error prior to their execution. This is especially
			useful for debugging, and also to familiarize the user
			with appropriate commands for processing a C++ file.

	'C','c':	Generate information needed for use with a Microsoft
			CodeView symbolic debugger.


'-':-	Compiler and Driver Switches:-

	'M','m':	Specify the model. This is a two letter combination
			from the following set:

			'H','h':	Huge model: this is treated exactly
					as large model.

			'L','l':	Large model.

			'M','m':	Medium model.

			'C','c':	Compact model.

			'S','s':	Small Model.

			'P','p':	Packed Structures.

	'D':
	'I':
	'U':		This switch and everything that follows it, is passed
			to the pre-processor, and the compiler phases.

	'C':		Save comments. This allows comments to be preserved in
			the pre-processing phase. However, the translator 
			itself cannot preserve comments, so the switch is not 
			very useful.

	'P':		Pre-process only. Processing will terminate after the
			pre-processing phase. The generated .IXX files will
			not be deleted.

	't':		Translate only. Processing will terminate after the
			translation phase. The generated .C files will not be
			deleted.

	'c':		Compile only. Processing will terminate after the
			compilation phase. The generated .OBJ files will not 
			be deleted.

	'o':		Rename the output file. This switch causes the output
			executable file to be named according to the argument
			following the '-o' switch. This filename may or may
			not be separated from the switch by whitespace. The
			extension of the filename is ignored.


'+':-	Translator Switches:-

			All '+' Switches are passed unmodified through to the
			translator.

	'C','c':	Save comments. This results in a "sorry, not
			implemented" warning from 'cfxx'.

	'S','s':	Display memory usage information. Usually used only if
			there are problems with space on the machine.

	'L','l': 	Inject #line information into the generated .C code.
			The default is not to do so, with the result that
			errors reported by the compilation phase do not 
			reflect the true position in the C++ file, but rather
			the position in the .C file.

	'V','v':	Use K&R function templates. This switch is used when
			integrating existing C code and new C++ code. Normally
			this switch should not be used, as it prevents
			most of the type checking done by C++.

	'M','m':	The model switch:

			'S','s':	Small model {default}

			'M','m':	Medium model.

			'C','c':	Compact model.

			'L','l':	Large model.

			'H','h':	Huge model: this is treated exactly
					as large model.

			Any other model specification will result in an error.

	'Z','z':	This is a special switch and is not normally used. Due
			to the space restrictions on DOS, the input buffer for
			CFXX is restricted to 10000 bytes. If you get the
			error message "input buffer overflow", use
			this switch with a decimal parameter (not separated by
			a space, e.g. "+Z20000") to increase the input buffer.
			However, we find that typical C++ programs tend to
			use no more than 4000 bytes.

	'F','f':	The name immediately following this switch is the name
			of the original file before pre-processing. It is used
			in order to correctly generate '#line' directives to
			the generated C code. If it is not specified, then
			input and output default to the standard input and
			output devices, else the input and output filenames
			are derived from this name, with the extensions '.ixx'
			and '.c' respectively.

	'I','i':	Rename the input file to that immediately following
			the '+I' switch, without intervening spaces. If no
			name follows the '+I' switch, input will be taken
			from the standard input device. If no '+I' switch is
			specified at all, then input will be derived from the
			name specified using the '+F' switch, but with the
			extension '.ixx'.

	'O','o':	Rename the output file to that immediately following
			the '+O' switch, without intervening spaces. If no
			name follows the '+O' switch, output will be sent to
			the standard output device. If no '+O' switch is
			specified at all, then output will be derived from the
			name specified using the '+F' switch, but with the
			extension '.c'.


'/':-	Linker Switches:-

			All '/' switches are passed unmodified through to the
			linker.


