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 <dblai...@gmail.com> 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" <m...@planetcatfish.com> 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 >> >
_______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users