[ 
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)

Reply via email to