A utility to collect identifiers within a C program.
This returns all identifiers within a C AST. Eventually, we may wish to extend this utility to only collect the identifiers occuring in particular scopes or name spaces.
This utility is intended to operate on unambiguous ASTs. It may or may not collect identifiers appearing in ambiguous AST nodes.
This utility is expected to be useful for checking for freshness of variable names (see fresh-ident-utility).