[cfe-users] Clang - Requesting Help

2018-08-08 Thread Praveen Velliengiri via cfe-users
Hello all,
I'm new to compilers and LLVM technologies, I find LLVM and related tools
fascinating. Initially, I started to understand and work on Clang AST. As a
beginner, I find it difficult to understand the docs, source code for clang
AST. Could anyone please guide or help me to get started and work with
clang AST? More specifically I'm looking for the Prerequisites to
understand clang AST, some beginner level open source projects which use
clang AST, some blogs or articles. I would also appreciate if you guys
share your experience in understanding clang and it's related tooling and
about your work-flow, it will be a great help for me :)

In short, "What advice you will give to a student, to understand and work
with Clang and it's related projects"?

Thank you very much
___
cfe-users mailing list
cfe-users@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users


Re: [cfe-users] [cfe-dev] Clang - Requesting Help

2018-08-08 Thread Praveen Velliengiri via cfe-users
Thanks for your reply, I know the overview of how modern compilers work,
but I don't know about the internal details such as working and
interactions of various optimization passes. And I didn't have experience
with non-uniform trees before.

Things I have done so far:
1)  I tried to dump the clang ast for my toy programs to understand the AST
in small scale.

2) I have watched some of the talks about clang ast, mostly it sounds
difficult to get started.

I'm looking for contributing with some open source projects and to improve
clang in future if I can.

Thank you very much

On Aug 8, 2018 11:50 PM, "mats petersson"  wrote:

> I'm not sure I can offer much direct help, but I think it may help if you
> explain more precisely what it is you're struggling with?
> - Do you (not) understand the overall concept of how (modern) compilers
> work?
> - Do you have some experience in working with tree-data structures in
> general? And specifically non-uniform trees (nodes have many different
> types of nodes in AST)
>
> None of the above are entirely trivial, and it will take some effort to
> learn these things.
>
> If you have a specific task in mind, perhaps describing what you have done
> so far (in form of code or words, whichever you think is the best way to
> describe it), and a more precise description of what you're struggling with.
>
> I've not done much work on Clang AST myself, I've built my own compiler
> generating code through LLVM - my compiler has it's own form of AST nodes.
> I found the Kaleidoscope example good for learning "how to build your own
> compiler".
> https://llvm.org/docs/tutorial/LangImpl03.html
>
> If you haven't done so yet, and you have enough time to spend a few weeks
> on [probably full time days], I would definitely recommend starting to
> write your own compiler on top of LLVM - use (a subset of) an existing
> compiled language that you already know at least reasonably well, and start
> with the very basics - even building a trivial programmable calculator
> would be a learning experience if you haven't done that before.
>
> Good luck.
>
> --
> Mats
>
>
> On 8 August 2018 at 18:59, Praveen Velliengiri via cfe-dev <
> cfe-...@lists.llvm.org> wrote:
>
>> Hello all,
>> I'm new to compilers and LLVM technologies, I find LLVM and related tools
>> fascinating. Initially, I started to understand and work on Clang AST. As a
>> beginner, I find it difficult to understand the docs, source code for clang
>> AST. Could anyone please guide or help me to get started and work with
>> clang AST? More specifically I'm looking for the Prerequisites to
>> understand clang AST, some beginner level open source projects which use
>> clang AST, some blogs or articles. I would also appreciate if you guys
>> share your experience in understanding clang and it's related tooling and
>> about your work-flow, it will be a great help for me :)
>>
>> In short, "What advice you will give to a student, to understand and work
>> with Clang and it's related projects"?
>>
>> Thank you very much
>>
>> ___
>> cfe-dev mailing list
>> cfe-...@lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>>
>
___
cfe-users mailing list
cfe-users@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users


Re: [cfe-users] [cfe-dev] Clang - Requesting Help

2018-08-09 Thread Praveen Velliengiri via cfe-users
Thanks for sharing the insights and your experience with me, It will be
very helpful to me to get started with minimal knowledge of clang AST :)
Thank you very much, David
PreeJackie

On Thu, 9 Aug 2018 at 23:50, David Blaikie  wrote:

> If you're looking to contribute to Clang & have a particular interest in
> the AST, etc - the way I started was to look at simple/small bugs in
> diagnostics - either false positives (a diagnostic (often a warning)
> produced when it shouldn't be (wehn it doesn't tell the user something
> actionable/buggy)) or false negatives (missed opportunity to warn a user
> about something important).
>
> The way I'd do this without knowing much about Clang's code at all is to
> take the buggy test case and a similar non-buggy example - run clang
> compiling the examples in a debugger in parallel (one debugger running the
> buggy case, one debugger running the non-buggy case) to compare the
> behavior to try to find what the important difference is - and maybe
> somewhere near where the behavior/logic diverges, try to fix the bug.
>
> Then send the fix for review, or start an email discussion (responding to
> the bug is usually not too effective because bug update email doesn't go to
> many people - only those subscribed to the bug) with what you've found and
> maybe someone with more knowledge can use that information you've provided
> to point you in the right direction to a fix or other questions you can
> research/answer to help.
>
> On Wed, Aug 8, 2018 at 12:12 PM Praveen Velliengiri via cfe-users <
> cfe-users@lists.llvm.org> wrote:
>
>> Thanks for your reply, I know the overview of how modern compilers work,
>> but I don't know about the internal details such as working and
>> interactions of various optimization passes. And I didn't have experience
>> with non-uniform trees before.
>>
>> Things I have done so far:
>> 1)  I tried to dump the clang ast for my toy programs to understand the
>> AST in small scale.
>>
>> 2) I have watched some of the talks about clang ast, mostly it sounds
>> difficult to get started.
>>
>> I'm looking for contributing with some open source projects and to
>> improve clang in future if I can.
>>
>> Thank you very much
>>
>> On Aug 8, 2018 11:50 PM, "mats petersson"  wrote:
>>
>>> I'm not sure I can offer much direct help, but I think it may help if
>>> you explain more precisely what it is you're struggling with?
>>> - Do you (not) understand the overall concept of how (modern) compilers
>>> work?
>>> - Do you have some experience in working with tree-data structures in
>>> general? And specifically non-uniform trees (nodes have many different
>>> types of nodes in AST)
>>>
>>> None of the above are entirely trivial, and it will take some effort to
>>> learn these things.
>>>
>>> If you have a specific task in mind, perhaps describing what you have
>>> done so far (in form of code or words, whichever you think is the best way
>>> to describe it), and a more precise description of what you're struggling
>>> with.
>>>
>>> I've not done much work on Clang AST myself, I've built my own compiler
>>> generating code through LLVM - my compiler has it's own form of AST nodes.
>>> I found the Kaleidoscope example good for learning "how to build your own
>>> compiler".
>>> https://llvm.org/docs/tutorial/LangImpl03.html
>>>
>>> If you haven't done so yet, and you have enough time to spend a few
>>> weeks on [probably full time days], I would definitely recommend starting
>>> to write your own compiler on top of LLVM - use (a subset of) an existing
>>> compiled language that you already know at least reasonably well, and start
>>> with the very basics - even building a trivial programmable calculator
>>> would be a learning experience if you haven't done that before.
>>>
>>> Good luck.
>>>
>>> --
>>> Mats
>>>
>>>
>>> On 8 August 2018 at 18:59, Praveen Velliengiri via cfe-dev <
>>> cfe-...@lists.llvm.org> wrote:
>>>
>>>> Hello all,
>>>> I'm new to compilers and LLVM technologies, I find LLVM and related
>>>> tools fascinating. Initially, I started to understand and work on Clang
>>>> AST. As a beginner, I find it difficult to understand the docs, source code
>>>> for clang AST. Could anyone please guide or help me