You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Daniel Sun (JIRA)" <ji...@apache.org> on 2018/06/01 15:43:00 UTC

[jira] [Commented] (GROOVY-8625) Groovy Lexer does not accept UTF-8 characters like ° or § ... and a lot more

    [ https://issues.apache.org/jira/browse/GROOVY-8625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16498144#comment-16498144 ] 

Daniel Sun commented on GROOVY-8625:
------------------------------------

# is not part of identifier, so # will not be in some identifier, e.g. first#.  I wonder what version of groovy gives you the result "Now it is interpreted as the value of the variable first#"?

*2.5.0*
{code:java}
def first = "hello"
def second = "world"

println "$first#$second" // yields hello#world
{code}

*3.0.0-alpha-2*
{code:java}
def first = "hello"
def second = "world"

println "$first#$second" // yields hello#world
{code}

In addition, I wish you could provide some runnable code, which can save us much time to reproduce issues.


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