Each of the displays is build by the Display package from information contained in the AST. This package provides functionality
to build:
-
Metrics Display which shows, for each function, size in line count and complexity as measured by the number of descendent scopes
in the function.
- Abstract Syntax Tree visualization, an indented list of all the nodes in the AST.
- SLOC list, showing each file and its source line count.
The logger package is used by display to write to the console and to a log file. It has three different kinds of output,
using three different specialized loggers:
- Results mode - used to show normal output
-
Demonstration mode - used to help users understand how the program works, mostly by looking at rule firings and
the resulting actions
-
Debug mode - used to look at parsing details to help make the parsing detections and actions correct.
Analyzser code has statements for each of these three specialized loggers. The user just turns them on and off to
see the various types of output. That is done with checkboxes in the GUI Display Mode tab.