You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2017/05/02 00:32:04 UTC

[jira] [Updated] (GROOVY-8171) Escaped dollar slashy difference between old and parrot parsers

     [ https://issues.apache.org/jira/browse/GROOVY-8171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul King updated GROOVY-8171:
------------------------------
    Description: 
The following test passes with the legacy parser but fails with Parrot

{code}
// legacy parser
def s1 = $/this $$/ is an escaped dollar forward slash/$

assert s1 == 'this $/ is an escaped dollar forward slash'
{code}

{code}
// parrot
assert s1 == 'this $/ is an escaped dollar forward slash'
       |  |
       |  false
       this / is an escaped dollar forward slash
{code}

Noticed this when I inadvertently changed a spec test in commit [0fb89906aa|https://github.com/apache/groovy/commit/0fb89906aa587920d11fae063bba1d1f8fe26254].  When testing for an escaped dollar slash the test had to be changed ([commit 942cf4eb3e|https://github.com/apache/groovy/commit/942cf4eb3e87f2718df490b9e3547f2042720781]) to pass using the Antlr4 parser.

Based on the [dollar slashy docs|http://www.groovy-lang.org/syntax.html#_dollar_slashy_string] I am not sure if the old behavior is correct or not.

  was:
The following test passes with the legacy parser but fails with Parrot

{code}
def s1 = $/this $$/ is an escaped dollar forward slash/$

assert s1 == 'this $/ is an escaped dollar forward slash'
{code}

{code}
assert s1 == 'this $/ is an escaped dollar forward slash'
       |  |
       |  false
       this / is an escaped dollar forward slash
{code}

Noticed this when I inadvertently changed a spec test in commit [0fb89906aa|https://github.com/apache/groovy/commit/0fb89906aa587920d11fae063bba1d1f8fe26254].  When testing for an escaped dollar slash the test had to be changed ([commit 942cf4eb3e|https://github.com/apache/groovy/commit/942cf4eb3e87f2718df490b9e3547f2042720781]) to pass using the Antlr4 parser.

Based on the [dollar slashy docs|http://www.groovy-lang.org/syntax.html#_dollar_slashy_string] I am not sure if the old behavior is correct or not.


> Escaped dollar slashy difference between old and parrot parsers
> ---------------------------------------------------------------
>
>                 Key: GROOVY-8171
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8171
>             Project: Groovy
>          Issue Type: Bug
>          Components: parser-antlr
>    Affects Versions: 3.x
>            Reporter: John Wagenleitner
>            Priority: Minor
>
> The following test passes with the legacy parser but fails with Parrot
> {code}
> // legacy parser
> def s1 = $/this $$/ is an escaped dollar forward slash/$
> assert s1 == 'this $/ is an escaped dollar forward slash'
> {code}
> {code}
> // parrot
> assert s1 == 'this $/ is an escaped dollar forward slash'
>        |  |
>        |  false
>        this / is an escaped dollar forward slash
> {code}
> Noticed this when I inadvertently changed a spec test in commit [0fb89906aa|https://github.com/apache/groovy/commit/0fb89906aa587920d11fae063bba1d1f8fe26254].  When testing for an escaped dollar slash the test had to be changed ([commit 942cf4eb3e|https://github.com/apache/groovy/commit/942cf4eb3e87f2718df490b9e3547f2042720781]) to pass using the Antlr4 parser.
> Based on the [dollar slashy docs|http://www.groovy-lang.org/syntax.html#_dollar_slashy_string] I am not sure if the old behavior is correct or not.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)