Improvements to the -debug command line options

The debug command line options that display parse tree nodes
(-debug-module, -debug-top, -debug-symtabs) now display previously hidden
linked list pointers which are useful for debugging parse trees.

Added new command line option -debug-quiet. This suppresses the display
of most linked list pointers and symbol table pointers in the parse tree nodes.

The keys in the parse tree node are now shown in alphabetical order.
This commit is contained in:
William S Fulton 2022-03-25 23:31:43 +00:00
commit 1db04bf322
9 changed files with 277 additions and 215 deletions

View file

@ -155,6 +155,7 @@ General Options
-debug-symbols - Display target language symbols in the symbol tables
-debug-csymbols - Display C symbols in the symbol tables
-debug-lsymbols - Display target language layer symbols
-debug-quiet - Display less parse tree node debug info when using other -debug options
-debug-tags - Display information about the tags found in the interface
-debug-template - Display information for debugging templates
-debug-top <n> - Display entire parse tree at stages 1-4, <n> is a csv list of stages
@ -2186,18 +2187,19 @@ of the expression.
<p>
For a comprehensive understanding of how the matching works, the internal
<a href="Extending.html#Extending_nn8">parse tree</a> needs to be examined using the
command line option: <tt>-debug-module 1</tt>.
command line option: <tt>-debug-module 1 -debug-quiet</tt>.
A snippet of the resulting output might be:
</p>
<div class="shell">
<pre>
+++ destructor - 0x7fc10ea05af0 ----------------------------------------
| name - "~Shape"
| ismember - "1"
| sym:name - "~Shape"
+++ destructor ----------------------------------------
| access - "public"
| decl - "f()."
| ismember - "1"
| name - "~Shape"
| storage - "virtual"
| sym:name - "~Shape"
</pre>
</div>