»»»Home «««
»»»TELL «««
»»»Toped «««
»»»Ifaces «««
|
Table of Contents Toped is driven by TELL input commands, described in the following chapters. There is a functionality however, specific to the editor, like session log files, script debugging, undo, etc. which is often executed behind the scene, but is important for the editor performance. The current menu and dialog boxes are not described, because their purpose is supposed to be obvious.
Example 1. Define Toped environment TPD_LOCAL=/home/myusername/toped_local TPD_GLOBAL=/usr/local/toped export TPD_LOCAL TPD_GLOBAL TLL_INCLUDE_PATH=/opt/toped/tll:/home/myusername/toped/local/tll export TLL_INCLUDE_PATH The command line format is pretty simple. Apart from the parameters described below the user can set a tell file which will be executed immediately after the tool boots-up.
Both versions of the -D parameter can be submitted many times. For the proper editor functionality, it’s important to have valid layout objects. To achieve this, Toped checks and validates all layout objects as soon as they are added to the database or edited by some of the TELL operations. Invalid objects are divided into two categories:
Validation implies also internal optimization of the layout object, which is done silently. Checks executed for each layout object type are listed below. No checks are implemented for text objects.
Toped considers that polygons are always closed. This means that when polygons are added the first and last points of the polygon description don’t need explicitly to coincide.
There is no particular optimizations for cell or array references
Undo is a powerful engine build into Toped for all internal functions which modify the layout database. For user defined functions, undo works on a step by step basis, e.g. to undo a single call to a user function, one might have to repeat undo command multiple times. The depth of the undo stack is not limited, however for long sessions it might take significant memory resources. That’s why an additional field is provided in the Toped options menu, so that the user can limit the depth of the undo stack.
At the beginning of every session, Toped normally creates a file called tpd_session.log where all successfully executed TELL functions are recorded. When the session is exited normally, the file is renamed to tpd_previous.log. The program is always trying to put the log files in directory $TPD_LOCAL/log. If $TPD_LOCAL is not defined or $TPD_LOCAL/log does not exists, then the log files are placed in the current directory. A warning message will appear in the console.
In case the session crashed or was aborted abnormally tpd_session.log file will remain in the current log directory. The next program session will find the file and will ask for permission to recover previous session. After a successful recovery, tpd_session.log will be updated with the commands executed in the current session. If recovery was declined, tpd_session.log will be renamed to crash_<YYMMDD_HHMMSS>.log where YYMMDD_HHMMSS is the time stamp of the current session. Crash files are not cleaned-up by Toped. Recovery normally doesn’t need any manual corrections in the log file. If this has to be done though, beware that when in recovery mode Toped executes all TELL commands in a single thread. This implies that log files don’t contain any interactive commands which usually require miltithreading (e.g. getpoint()). There are no such restriction for regular tll files. For log and recovery purposes, time stamps are introduced in the TDT files, log files and TELL commands. A time stamp in TELL is represented by a string formatted as described below.
There are no script debugging tools at present. Run time error policy still has to be clearly defined. The only function that can be helpful here is the echo( .. ) function, that takes a single argument of any type and prints its value on the log window. |