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)