Thanks !
On Fri, Apr 7, 2017 at 2:25 PM, Vassily Litvinov <[email protected]> wrote:
> 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
>>
>>
--
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