On Sun, 2 Aug 2020, Markus Elfring wrote: > >> How do you distinguish between metavariables and other SmPL variables then? > > > > Metavariables don't have "name" in their declaration. There is a sentence > > about that in the documentation. > > > > The {\bf name} modifier specifies that instead of declaring a metavariable > > to match over some kind, the identifiers are to be considered as elements > > of that kind when they appear in the code. > > See also: > https://github.com/coccinelle/coccinelle/blob/e06b9156dfa02a28cf3cbf0913a10513f3d163ab/docs/manual/cocci_syntax.tex#L458 > > > > "instead of declaring a metavariable" says that the thing that is declared > > is not a metavariable. > > It seems that we stumble on different interpretations also around a wording > like “to match over some kind”. > > * Which is the category of SmPL identifiers which contain the key word “name” > in their data type (or “kind” if you would like to prevent to denote them > as metavariables)? The ones that have "name" in the BNF. > > * How do you think about to add square brackets to a line in the TeX SmPL grammar? > https://github.com/coccinelle/coccinelle/blob/e06b9156dfa02a28cf3cbf0913a10513f3d163ab/docs/manual/cocci_syntax.tex#L245 > > \CASE{attribute \opt{name} \NT{ids} ;} No, there will be a separate entry for attribute name;. Putting \opt{} would lead to the confusion that you are falling into. They are different things. > > >> Should software users get informed about unused items in consistent ways? > >> https://github.com/coccinelle/coccinelle/blob/04f36d537b9f6c0c127d05184cccd21f1a46b952/parsing_cocci/check_meta.ml#L711 > > Do you care if a SmPL name variable would accidentally not be used > (like in the script “https://github.com/coccinelle/coccinelle/blob/04f36d537b9f6c0c127d05184cccd21f1a46b952/tests/metaattr.cocci#L2”)? It actually is used, to help parsing the .c file. This information will be added to the documentation shortly. julia