[ https://issues.apache.org/jira/browse/GROOVY-8625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16498796#comment-16498796 ]
Jochen Theodorou commented on GROOVY-8625: ------------------------------------------ The point here is that Alexander would like to have # and others as part of the identifier. After such a change println "$first#$second" would no longer yield hello#world. You may want for example write 20°C in a DSL, but you cannot, because ° is not accepted > Groovy Lexer does not accept UTF-8 characters like ° or § ... and a lot more > ---------------------------------------------------------------------------- > > Key: GROOVY-8625 > URL: https://issues.apache.org/jira/browse/GROOVY-8625 > Project: Groovy > Issue Type: Bug > Components: Compiler > Affects Versions: 2.5.0 > Reporter: Alexander Klein > Priority: Major > Labels: compiler, grammar, lexer > > The grammar uses a similar specification for LETTERs as the old Java-grammar. > By intention most UTF-8 characters should possible to use for names to enable > localization in languages using non-latin characters. This is especially > important for DSLs. > Ast-transformations will take place after the Lexer. With the Lexer accepting > his characters, ast-transformations are now able to handle more things like > creating custom operators and so on. > This is a problem only for ANTLR 2. > ANTLR 4 is only missing the '#'-sign. > This maybe introduces a breaking change, because GStrings like > "$first#$second" worked in the past, and now will not anymore. Before this > change, "$first#" is interpreted as the value of the variable first plus a > '#' sign. Now it is interpreted as the value of the variable first#. > This, of cause, is a problem for all newly added letters. -- This message was sent by Atlassian JIRA (v7.6.3#76005)