hokein added inline comments.
================
Comment at: clang-tools-extra/pseudo/gen/Main.cpp:114
+      const clang::pseudo::Rule &R = G.table().Rules[RID];
+      // lhs$$rhs$rhs$rhs
+      std::string EnumName = symbolName(R.Target, G) + "$";
----------------
sammccall wrote:
> hokein wrote:
> > sammccall wrote:
> > > so the dollar signs are a practical problem: at least on my machine the 
> > > warning is on by default, so we emit thousands of warnings and it's 
> > > impossible to find the error among them.
> > > 
> > > At *minimum* we need to use pragmas or something to suppress the warning.
> > > 
> > > But using nonstandard C++ seems likely to cause other problems and limit 
> > > portability for not-great reasons.
> > > 
> > > Some ideas:
> > >  -`Rule::ptr_declarator__EQUALS__ptr_operator__ptr_declarator` (this 
> > > violates the internal `__` rule, though that one is widely ignored)
> > >  - `Rule::ptr_declarator_0ptr_operator_1ptr_declarator`
> > >  - `Rule::PtrDeclarator_EQ_PtrOperator_PtrDeclarator` (yet another 
> > > spelling variation, but quite readable. We could even change the 
> > > spellings in the BNF file...)
> > > so the dollar signs are a practical problem: at least on my machine the 
> > > warning is on by default, so we emit thousands of warnings and it's 
> > > impossible to find the error among them.
> > 
> > I didn't see this warning on my machine, I'm using the `g++`.
> > 
> > 
> > > Rule::ptr_declarator__EQUALS__ptr_operator__ptr_declarator (this violates 
> > > the internal __ rule, though that one is widely ignored)
> > 
> > It is not quite readable to me. 
> > 
> > > Rule::PtrDeclarator_EQ_PtrOperator_PtrDeclarator (yet another spelling 
> > > variation, but quite readable. We could even change the spellings in the 
> > > BNF file...)
> > 
> > It is better, but I'm not willing to change the spelling to CamelCase in 
> > bnf grammar, I like the current `ptr-declarator` name, and it matches the 
> > standard style. We could keep them unchanged in the bnf, and do the 
> > conversion during the mangling.
> > 
> > > Rule::ptr_declarator_0ptr_operator_1ptr_declarator
> > 
> > I'm starting to like it now. I find that encoding the index for RHS is 
> > useful, especially when we  do some work on the ForestNode based on the 
> > rules. So I will vote this one.
> > 
> > I didn't see this warning on my machine, I'm using the g++.
> 
> Clang seems to enable -Wdollar-in-identifier-extension by default.
> 
> > It is better, but I'm not willing to change the spelling to CamelCase in 
> > bnf grammar
> 
> Fair enough. I find this option the most readable, but the lack of 
> consistency is annoying.
> 
> > I'm starting to like it now. I find that encoding the index for RHS is 
> > useful, especially when we do some work on the ForestNode based on the 
> > rules. So I will vote this one.
> 
> Ok, i find this least readable, but good in all other respects. Let's go for 
> it.
Sounds good, separated it in https://reviews.llvm.org/D129359.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129222/new/

https://reviews.llvm.org/D129222

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to