Gpl.jj defines a suitable token category
TOKEN : // Identifier
{
< IDENTIFIER: (<LETTER>|<UNDER_SCORE>) (<LETTER>|<DIGIT>|
<UNDER_SCORE>)* >
}
for identifiers.
Name() are identifiers being composed using a "name
separator" (currrently a '.' (dot) character)
void Name() :
{
}
{
<IDENTIFIER> ( <NAME_PART_SEPARATOR> <IDENTIFIER> )*
} // end Gpl.Name()
There is an identifier ("id") that is reserved and can be used to make
identifiers and names only for actual arguments of group functions.
There is a limited set of group functions (their names are known).
In other words we have that the grammar is integrally extended to the
"id" identifier only in the specific context of calls to group
functions.
Or, equivalently, "id" is a reserved identifier that cannot be used
but in the calls of group functions.
Any hint about how to handle such an issue?
Thanks in advance
ciao
Cesare