Syntax: !assemble specfile | argument_listThe !assemble command automates reading of cells from archives, subsequent processing, and writing to a new archive file. It provides the capabilities of the Format Conversion panel in the Convert Menu, such as format translation, windowing, and flattening. Additionally, multiple input files and cells can be processed and merged into a larger archive, on-the-fly or by using a Cell Hierarchy Digest (CHD) so as to avoid memory limitations. Cell definitions for the read and possibly modified cells are streamed into the output file, and the output file can contain a new top-level cell in which the cells read are instantiated. The input and output can be any of the supported archive formats, in any combination.
The operation can be controlled by a specification script file, the path to which is given as the argument. The script uses a language that is unique to this command, which will be described. This supplies the output file name and the description of the top-level cell (if any), the files to be used as input, the cells to extract from these files, and the operations to perform. It is a simple text file, prepared by the user, containing a number of keywords with values. The specification script can also be obtained from the Assemble command in the Convert Menu, which is a graphical front-end to the !assemble command.
Alternatively, the argument list can consist of a series of option tokens and values. These are logically almost equivalent to the language of the specification file. This gives the user the option to enter job descriptions entirely from the command line. These command-line options start with a `-' character. If the first argument given starts with `-', a list of option arguments is assumed, otherwise the argument is taken as a file name. If the specification file name starts with `-', one should prepend the name with ``./'' to avoid a parse error.
Only physical data are read, electrical data will be stripped in output. A log file is produced when the !assemble command is run. If not explicitly set with a LogFile/-log specification, this is named ``assemble.log'' and is written in the current directory. The log file contains warning and error messages emitted by the readers during file processing, and should be consulted if a problem occurs.