hokein added a comment. In D130747#3727386 <https://reviews.llvm.org/D130747#3727386>, @sammccall wrote:
> LG, though i think we should eliminate class-name altogether. > > This gives most of the perf, which is nice! > > The reduction in ambiguous nodes is less impressive than before :-( As > discussed offline, i think the remaining ambiguous nodes serve a purpose as > they will assist in correlated disambiguation & keep the representation of > important concepts uniform. I may be wrong about that, in which case we can > still drop them later. Yeah, this is because we still keep two critical ambiguous nodes: - simple-type-specifier (type-name vs template-name), e.g. for the CTAD case; - nested-name-specifier (type-name vs namespace-name), e.g. for `a::b::c` case; These two ambiguous nodes are the top1 and top2 now. > The forest size reduction is nice to have, but least critical imo. ================ Comment at: clang-tools-extra/pseudo/lib/cxx/cxx.bnf:39 namespace-name := IDENTIFIER -namespace-name := namespace-alias -namespace-alias := IDENTIFIER class-name := IDENTIFIER class-name := simple-template-id ---------------- sammccall wrote: > hokein wrote: > > this can be removed as well, but the `class-head-name` rule uses it. > Can't we use `class-head-name := nested-name-specifier_opt type-name` as > `class-name` and `type-name` now match? > > (Oops, not sure how i lost this comment) ah, this is clever, I missed that the fact that class-name and type-name are identical now. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130747/new/ https://reviews.llvm.org/D130747 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits