Hui, To add to Lydia's response, it might also help to check Symbol::hasFlag(FLAG_TEMP). Any symbol with this flag is created by the compiler, not user.
Vass On 04/07/17 10:48, Lydia Duncan wrote: > Hi Hui, > > You probably know this part already, but every subclass of the AST node > Symbol will have a "name" and a "cname" field, where "name" represents the > name given at the Chapel level and "cname" is what will be used in the > generated code. The "name" field only gets modified for instantiated generic > types or for certain of our run time types at function resolution. > > Starting relatively early in compilation, though, there will be many Symbols > introduced that were not present in the user's code (and of course we parse > all the library modules at the same time as the user modules). I believe we > don't insert any new symbols within user code until the passes after > checkParsed, so gathering the symbol names at that pass is your best bet. > > You could filter the symbols you check through based on if their defining > module is a user module (sym->getModule()->modTag == MOD_USER). For > user-defined modules themselves, you would need to check their modTag > directly instead of the modTag of their parent. > > Hope this helps, > Lydia > > > On 04/06/2017 07:08 PM, Hui Zhang wrote: >> Hello, >> >> Since the names of user code variables in the generated code will be changed >> or removed, I'm trying to get all the user code real names (including >> variable name, variable type and function name). Could anyone familiar with >> the compiler give me a clue of where to start? I'm guessing somewhere after >> 'parser' ? >> >> Thanks >> >> -- >> Best regards >> >> >> Hui Zhang >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> >> >> _______________________________________________ >> Chapel-developers mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/chapel-developers > > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > _______________________________________________ > Chapel-developers mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/chapel-developers > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Chapel-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chapel-developers
