next up previous contents
Next: Functional and Performance Requirements Up: Data Dictionary Previous: Output Definitions

Major Data Definitions

The major data structure of the CCA is a list of sublists, hereafter refered to as the ``meta-list''. Each sublist contains:

Directive
A #directive.
Expression
The expression associated with the #directive (if any).
Line Num
Line number of the #directive.
Block x
Length of horizontal line to be drawn outwards from the right side of the symbol for the #directive.
Physical y
Physical vertical position of the symbol for the #directive.
Logical x
Level of nesting for the #directive's symbol.
Physical x
Physical horizontal position of the #directive's symbol.

Each of these data items is a Perl scalar value.

The meta-list is generated and returned by the process_file() subroutine. This subroutine scans the input file and fills in the Directive, Expression, and Line Num elements of each sublist. This list is then sent to verify_cclogic() in a read-only manner. Upon completion of verify_cclogic(), if graphical output is to be generated, then the meta-list is sent to assign_postion(), where the Block x, Physical y, Logical x, and Physical x fields of each sublist are filled in. These last four pieces of data relate to the positioning of symbols in our graphical output. Next, the meta-list is sent to the gen_image() subroutine where the PostScript code is generated for the graphical output. Finally, gen_report() receives the meta-list and uses it to create a textual analysis report on the input file.