Symbols are recorded in the symbol table with a mangled name and a pretty name. Most cbmc output uses the pretty name, so modify the symbol table parser to use the pretty name for a symbol if it exists.
Also clean up the symbol table parser to break the cbmc symbol table output into a sequence of definitions and then break each definition into a sequence of lines. The prior implementation just scanned the cbmc output as a sequence of lines, which made grouping symbol names and locations ad hoc and error prone.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Symbols are recorded in the symbol table with a mangled name and a pretty name. Most cbmc output uses the pretty name, so modify the symbol table parser to use the pretty name for a symbol if it exists.
Also clean up the symbol table parser to break the cbmc symbol table output into a sequence of definitions and then break each definition into a sequence of lines. The prior implementation just scanned the cbmc output as a sequence of lines, which made grouping symbol names and locations ad hoc and error prone.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.