This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
pat_debug - PAT structures displayer-debugger
void pat_debug (pnt, type)
void *pnt;
char *type;
When called, pat_debug() first displaies the structure pointed by pnt then, prints the line:
and waits for a command being entered by the user. If pnt is a NULL pointer or type doesn't represent a legal structure, pat_debug() exits without making any action.
To display the structure, pat_debug() prints a line per field. Fields containing immediate value (integer, character, string, ...) are displayed in the following form:
name_of_the_field : value_of_the_field
Fields containing a pointer are marked by the symbol ->. If the pointer is a NULL pointer, the field is displayed as:
In the other case, pat_debug() prints :
Two kinds of command can be introduced by the user.
A command can be the name of a field containing a pointer. The command is accepted only if the pointer is not a NULL pointer (field displayed as AVAILABLE"). Reading such a command, pat_debug() first pushes the current structure on its stack then, displaies the structure pointed by the named field.
The second kind of commands are predefined commands :
In addition to these commands, the command . (dot) can be used to repete the last command.
#include <pat106.h>
struct paseq *paseq_pnt;
pat_debug (paseq_pnt , paseq");
Scanning structures, pat_debug() uses an internal stack. The message stack overflow is printed if too many structures have been pushed on the stack.
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at http://asim.lip6.fr/alliance/support/bug-report/ Thanks for doing this.