Tools are selfcontained and documentation is on-line. Some of the tools are marked as being experimental.
The Toolbox contains general file utilities, general and special EDA utilities, tools helping you against operating system idiosyncrasies....
The utility is called by typing TOOL, unless tool is called in immediate mode (see below).
This toolbox may be used in different ways depending upon the type of problem you have.
One possibility is to use the tools separately by simply specifying the tool, then you are taken by the hand and guided through the task in a dialogue. For these reasons this chapter will usually only explain the purpose of the tool, but will not insist on syntactical details.
You may also use another possibility and specify a complete or part of a command line, using the syntax outlined below. Any item not supplied will be queried from the user.
Finally there is a third way to use the toolbox; you may do a sequence of operations (several tools) on the same file; this sequence is done via a mechanism called pipeline, through which you send your file.
This will be explained in detail below. As the various tools are either obvious in purpose and/or extensively documented on-line, the description of individual commands will be rather short here.
Let us show the list of the available tools and then explain how the toolbox works and give some syntactical information.
Currently the following tools are implemented. (Watch out for more to come):
AE archive editor CB combine files CD create documents from a script CF create a file from a script CONCAT catenate files CPY copy a file DD delete_duplicates MM match merge MOD file modification MU matrix utility (computes MATRIX) PP parallel display of two files PR print a file RC replace characters SF split file into files SNIFF file sniff SORT file sort TYPE display a filePIPE create a pipe-line END terminate a pipeline
Quit return to EDA HELP on-line assistance
(1) Enter the TOOLBOX with the TOOL (or UTILITIES, then specify the tool you need. If no other tool is needed return to EDA with Quit.
(2) call TOOL in immediate mode, i.e. specify the tool on a EDA command line; after termination you are again back in EDA normal mode; E.g. if you wish to use the matrix utility you might called it by TOOL MU in immediate mode. In fact immediate mode consists in passing the remainder of the TOOL command to the module, execute it and return to EDA. Immediate mode is also entered when a ) is found in column 1 of and EDA command line; the command
)SORT
will enter the toolbox, invokes the sort tool, asks the user for the necessary information to perform the sort and then returns to EDA mode.
Remember that TOOLBOX may be used either with commands and associated options or in full dialogue (these two modes may of course be freely mixed).
<tool> is the name of the tool (normally two characters are sufficient. (The tool name may be of any length, a blank separates <tool> from the next field.<filenames> is a list of file specifications. The number of files varies with ng varies from tool to tools. A file specification (may also be used with file-name prompts) takes the following form:
[']<name>[(<specs>)][']
The quotes are only needed if a blank character is to be included some where in the file name and/or the specification part. If a command refers to a file called MYFILE, the specification MYFILE and 'MYFILE are strictly equivalent.
The optional <specs> field has the following syntax:
([c1],[c2],[r]],[r2]) or ([c1],[c2]:[r1],[r2])
each fields may be empty; separators are however needed to indicate position. c1,c2 are column limitations, i.e. only the columns c1 through c2 are read, written or otherwise processed. For instance
TYPE MYFILE(10,20)
displays the whole file MYFILE, but only columns 10-20.
The r1,r2 specify record limits, i.e. only records r1 through r2 are treated, therefore
TYPE MYFILE(10,20,100,120)
displays columns as above, but only records 100 through 120.
Note that this is the general syntax; not all tools let you use full column and record limits; check the syntax chart of each tool for information.
Important: The file limits are strictly applied to the very first input operation on the file and to the very last output operation (if limits are allowed). This means that whenever a tool add or deletes lines or columns the limits on input are applied before such an operation, therefore you must specify column or line operations for the transformed input lines. For instance when using the MOD tool, suppose that you specify MYFILE(10,20) on input, that means that the tool takes only columns 10 through 20 as input and a mod specification of "D3C$" means - with respect to the original file - that it should delete columns 10,11,12 and then copy through to column 20.
If the command syntax shows several files, the order is always the following:
in out alt1 alt2
Instead of a file name you may specify a *, meaning the input or output (depending on the file) is from the terminal (input stream) or to the terminal (output stream).
Instead of specifying an output file, you may use *R instead, indicating that the output should be directed to the RAWOUT file, used to write different information (e.g. data) for use with other programs. Note that the RAWOUT file must be connected previously (outside TOOL); this file is never created implicitly. Use the SET RAW command to do so. The RAWOUT file is not closed (disconnected) after the termination of the current tool or the toolbox. This is to let you combine a tool with EDA commands writing to that file in order to produce for instance a file suitable as input to some other piece of software.
The maximum length of a record in a file is limited to 132 characters; when reading from the keyboard (* instead of an input file name) the number of characters per line is limited to 80.
<options>
<options> are defined as follows:\ <specs> <options>
The \ signals the presence of options; <specs> follow the same syntax as the file specs, i.e. (n1,n2,n3,n4), where the n's are some tool specific numbers.
<doptions> contains options, specified exactly as on normal EDA commands, i.e. a list of the three parameter types (keywords, named values and strings enclosed in "").
Pipeline
(Pipeline?? UNIX was here ..! ) In many cases it will be sufficient to use the tools as they are as stand alone tools, e.g. if you just wish to sort a file you call SORT, indicate the input file, the output file as well as the other informations (keys) the sort tool needs.On the other hand there are instances where you wish to do a series of jobs on the same file, i.e. the input file is always the result of the preceding tool, and the output of the current tool is always the input to the next tool. In order to avoid an input and an output file (which in fact must always be different) you may use the pipeline feature; a pipeline does exactly this: the input for a tool is the output of the previous tool ....
How you do this? There are two commands dealing with the pipeline; PIPE initiates the pipe, END terminates it. These two commands are used to specify the input file and the output file respectively.
Syntax: PIPE in FSPEC: in(c1,c2,r1,r2) Purpose: creates a pipeline with file in.Restriction: as a pipeline may not be used in immediate mode, the PIPE and END command are not allowed in that mode.Syntax: END out FSPEC: out(c1,c2,r1,r2) Purpose: terminates a pipeline, and puts the result into file out. Option ABORT terminate the pipe without writing the results to a file.
Information on tools
The information on the various tools is usually limited to its synopsis, i.e. the same text displayed with the HELP command; only more complex commands are explained in more details.To understand the various concepts you need to be familiar with the above information. The double syntax shown reminds you that there are basically two ways to use the toolbox as command language or as prompt command. But you may mix in fact both ways; required information is always prompted for.
File specifications (Fspecs) tell which type of line and/or record limits are admitted by a particular tool.