<div dir="ltr"><div dir="ltr">Earlier in Clang's life, the parser did not depend on semantic analysis (lib/Parse did not depend on lib/Sema). However, my understanding is that as C++ support was added, it became clear that this was awkward, so in r112244, John removed the virtual 'Action' interface that Sema implemented and made Parse depend directly on Sema. I wasn't around at the time, so I don't know the exact motivations, but from what I can tell, clang has intentionally moved away from the kind of model you are proposing.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 1, 2019 at 10:50 AM McCorney Severin via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>1. What I meant was very clear: currently, type checking is embedded into the parsing logic and AST node creation and it would be really clean if they were decoupled.</div><div>2. Yep, I have been spending time with the codebase for the past couple of years ... just never contributed. </div><div><br></div><div>-McCorney</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 1, 2019 at 10:03 AM Bruno Ricci <<a href="mailto:riccibrun@gmail.com" target="_blank">riccibrun@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 01/04/2019 17:32, McCorney Severin via cfe-dev wrote:<br>
> Hello,<br>
> <br>
> I am currently a math/physics student at UCSD and am looking for a way to get involved in clang. Is there a desire or interest to decouple semantic analysis form syntax parsing? Please let me know. <br>
> <br>
> Thank,<br>
> -McCorney<br>
<br>
What do you mean by that ? In general you need to do some semantic analysis to parse C++<br>
(eg: what is x * y; ?). How you could get involved depends on what you would be<br>
interested to work on. One of the first step is probably to gain familiarity with<br>
the codebase. Familiarity with the standard(s) is also going to be required depending<br>
on what you want to work on.<br>
<br>
Bruno<br>
<br>
> <br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
> <br>
</blockquote></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>