Hi Jesper,
I'm very glad to know the antlr4 works on Groovy re-launched.
A few days ago, I gave it a try and found it did not support optional
parentheses of invoking method, so I managed to fix it and new a pull
request on the github, pls verify it.
The dev environment settin
Hi List,
Jesper and I are tring to implement Groovy parser via antlr4. Some
typical test cases are required to check the compatibility between the
antlr2 parser and the antlr4 parser. As we all know, Groovy in Action 2nd
Edition is the most definitive book for Groovy and contain many sample
c
Thank you, Jorge!
--
View this message in context:
http://groovy.329449.n5.nabble.com/About-the-license-of-the-sample-codes-from-Groovy-in-Action-2nd-Edition-tp5732026p5732073.html
Sent from the Groovy Dev mailing list archive at Nabble.com.
Hi List,
The following code is copied from GinA2, which we use to test the new
parser for Groovy.
class Book {
private String title
Book (String theTitle) {
title = theTitle
}
String getTitle(){
return title
}
}
I have a question about the syntheti
I've fixed the issue in the new parser. Thanks for your help, Jochen :)
在 "Jochen Theodorou [via Groovy]"
,2016年4月2日 上午12:02写道:
On 01.04.2016 17:50, daniel_sun wrote:
> Hi List,
>
>The following code is copied from GinA2, which we use to test the new
> p
+1
--
View this message in context:
http://groovy.329449.n5.nabble.com/GROOVY-5727-removal-of-servlet-api-from-the-zip-distribution-tp5732373p5732396.html
Sent from the Groovy Dev mailing list archive at Nabble.com.
Hi Groovy-Dev,
Since Jesper reported the progress last time, Jesper and I have refined
the new parser for Groovy programming language in many aspects, which now
can handle almost all source code of Groovy in Action 2nd Edition(633 passed
/ 635 total, including our own 72 test cases). The follo
Hi List,
I found groovy.util.GroovyTestCase does not exist in the
groovy-all-2.5.0-SNAPSHOT(20160608). Is it deprecated and removed? or
replaced by some other class?
Daniel.Sun
--
View this message in context:
http://groovy.329449.n5.nabble.com/groovy-util-GroovyTestCase-is-missing-in-gr
Hi Paul,
I downloaded groovy-all-2.5.0-SNAPSHOT.jar by gradle(compile
"org.codehaus.groovy:groovy-all:2.5.0-SNAPSHOT"). groovy.util.GroovyTestCase
does not exist in the jar file.
The groovy-all-2.5.0-SNAPSHOT.jar is here:
http://pan.baidu.com/s/1i4J189n
Cheers,
Daniel.Sun
--
View this
Hi Paul,
I downloaded the jar file via gradle and the coresponding file can be
found in the repository:
https://oss.jfrog.org/oss-snapshot-local/org/codehaus/groovy/groovy-all/2.5.0-SNAPSHOT/groovy-all-2.5.0-20160607.103553-603.jar
Cheers,
Daniel.Sun
--
View this message in context:
htt
Hi Paul,
I downloaded the jar file via gradle and the coresponding file can be
found in the repository:
https://oss.jfrog.org/oss-snapshot-local/org/codehaus/groovy/groovy-all/2.5.0-SNAPSHOT/groovy-all-2.5.0-20160607.103553-603.jar
Cheers,
Daniel.Sun
--
View this message in context:
htt
人: paulk_asert [via Groovy]
发送时间: 2016年6月9日 15:06
收件人: daniel_sun
主题: Re: groovy.util.GroovyTestCase is missing in
groovy-all-2.5.0-SNAPSHOT(20160608)
Yes, the link you sent has all in the name but is definitely not the
all jar. It contains none of the modules. Where did it come from
again?
Paul
Hi all,
The option
pattern(http://www.codecommit.com/blog/scala/the-option-pattern) is very
useful to improve the robustness of program by avoiding NPE. Scala and Rust
have build in the
pattern(http://www.tutorialspoint.com/scala/scala_options.htm), but Groovy
currently is lack of it.
Hi Jochen,
Thanks for your reviewing the codes. I think you are right about the
difference between Java8's Optional and the proposed Option. As Java8 has
supported option pattern and Groovy will migrate to Java8, there is no need to
integrate the library and DGM will be better :)
B
Hi Jochen,
The groovy grammar bases on Java7
grammar(https://github.com/antlr/grammars-v4/blob/master/java/Java.g4) at
the beginning because I noticed the comment of Java8 grammar, which tells us
Java7 has better performance.
In addition, I refine the cache management of antlr4, so t
Hi Guillaume,
The groovy parser is almost completed. I am parsing groovy files of
groovy project and comparing the old and new parser via the AST result. Some
bugs needs to fix. I wish the brand new parser can execute all test cases of
groovy project before the end of this year.
The f
Hi Graeme,
Thanks for your staring the project :)
Cheers,
Daniel.Sun
--
View this message in context:
http://groovy.329449.n5.nabble.com/CONTRIBUTION-groovy-parser-tp5735184p5735698.html
Sent from the Groovy Dev mailing list archive at Nabble.com.
Hi Sergei,
I tried to add the statement to expression as an alternative, the
antlr4 failed to generate sources becuase of the error "error(119):
GroovyParser.g4::: The following sets of rules are mutually left-recursive
[statement, expression, statementExpression]".
Currenty the express
Hi List,
Currently the new parser can parse almost all groovy source
codes(including the scripts embedded) of groovy project(2.5.0 master branch,
*4621 IN TOTAL, 4619 PASSES, 2 FAILED*). In other words, the AST generated
by the new and old parsers are almost same(except corrected location
in
I'm trying to set the new parser as the default to build and test, *13396
tests completed, 6 failed, 9 skipped*
https://travis-ci.org/danielsun1106/groovy
--
View this message in context:
http://groovy.329449.n5.nabble.com/PROGRESS-REPORT-20161004-groovy-parser-tp5735725p5735777.html
Sent from
Thanks :)
--
View this message in context:
http://groovy.329449.n5.nabble.com/PROGRESS-REPORT-20161004-groovy-parser-tp5735725p5735778.html
Sent from the Groovy Dev mailing list archive at Nabble.com.
ovy-ant:compileTestGroovy']
org.gradle.process.internal.worker.WorkerProcessException: Failed to run Gradle
Compiler Daemon
https://github.com/danielsun1106/groovy/issues/4
Graeme, did you encounter some similiar problem like the above ever?
Thanks,
Daniel.Sun
发件人: Graeme Rocher-2 [via Groovy]
发送时间: 2016年
Hi Graeme,
Thanks for your help! I'll give it a try :)
PS: The new parser requires Java8 because streams and lambda expression are
used.
Cheers,
Daniel.Sun
发件人: Graeme Rocher-2 [via Groovy]
发送时间: 2016年10月6日 18:27
收件人: daniel_sun
主题: Re: 答复: [PRO
2016 at 12:44 PM, daniel_sun <[hidden email]> wrote:
> Hi Graeme,
>
>
>Thanks for your help! I'll give it a try :)
>
>
> PS: The new parser requires Java8 because streams and lambda expression are
> used.
>
>
> Cheers,
> Daniel.Sun
>
&g
hanism would be
required?
I think 3.0 was the target for Java8+. We would certainly have the new
parser there and probably switched on by default - with a switch to
fall back (only if we absolutely need it). I don't know what others
think.
Paul.
On Thu, Oct 6, 2016 at 10:39 PM, daniel_sun &l
t;
,2016年10月7日 19:03写道:
On 07.10.2016 08:52, daniel_sun wrote:
> How about providing a jar file containing the new parser, which is
> compiled by Java8. When developers use Java8, they can try the new
> parser by turning on the switch.
I think for the time being we could make th
On 07.10.2016 13:35, daniel_sun wrote:
> I see.
>
> Feel free to merge the new parser back when you think it is mature and
> ready to go home ;) Currently The parser is lack of some syntax
> checks(e.g. continue should only be used in loop) and friendly messages
> for developers.
Before t
Jochen, you can see the test result at:
http://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy_Antlr4grammar
在 "Jochen Theodorou [via Groovy]"
,2016年10月7日 下午7:40写道:
On 07.10.2016 13:35, daniel_sun wrote:
> I see.
>
> Feel free to merge the new parser back when you thi
the new parser also pass tests for the most-used frameworks
before being merged? Grails, Gradle, Spock and Geb come to my mind.
On Fri, Oct 7, 2016 at 8:40 PM, Jochen Theodorou <[hidden email]> wrote:
>
>
> On 07.10.2016 13:35, daniel_sun wrote:
>>
>> I see.
>>
&g
2016 18:09, daniel_sun wrote:
> Jochen, you can see the test result at:
> http://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy_Antlr4grammar
thanks... but there are 3 tests failing. Are those the test you have a
local fix for?
bye Jochen
If you reply to
Hi Jochen,
> Tail recursion: see TailRecursive. But I don't see this as an optimization
Yeah, that is what I want :)
> instead of first creating a GString and then cast it to String, we could
> instead produce the String right away
We could try to optimize it in the later release.
> As for a pl
Hi dev list,
The brand new parser for Groovy can parse all groovy code of
*Grails-3.2.0(1150 PASSES / 1150 IN TOTAL)*, almost all groovy code of
*Gradle-3.1(3961 PASSES / 3963 IN TOTAL)*, all groovy code of *Spock(294
PASSES / 294 IN TOTAL)*, all groovy code of *Geb-1.0(409 PASSES / 409 IN
T
ght break as well if they rely on the source positions.
Thanks for mention BTW :)
BR,
Sergei
On Wed, Oct 12, 2016 at 3:47 PM daniel_sun <[hidden email]> wrote:
Hi dev list,
The brand new parser for Groovy can parse all groovy code of
*Grails-3.2.0(1150 PASSES / 1150 IN TOTAL)*, al
BTW, Groovy 2.5.0 can be built and tested via setting the new parser as the
default parser.
*groovy-parser:*
https://github.com/danielsun1106/groovy-parser
*groovy fork:*
https://github.com/danielsun1106/groovy
Cheers,
Daniel.Sun
--
View this message in context:
http://groovy.329449.n5.nabbl
That's great! Thank you, Cédric.
Cheers,
Daniel.Sun
--
View this message in context:
http://groovy.329449.n5.nabble.com/Upgrade-of-TC-server-tp5736156p5736168.html
Sent from the Groovy Dev mailing list archive at Nabble.com.
Hi all,
Lambda expression for Groovy has been completed with a little
limitation, which is due to the existing closure whose parameter list can be
ambiguous to lambda expression, e.g. {a -> a} which can be parsed as a
lambda expression in a block, but we expect it a closure. In order to
res
.
It is the initial implementation, anyway. I'll set aside more time to try
to refine it later ;) Thanks for your suggestions and reviewing.
Cheers,
Daniel.Sun
在 "Jochen Theodorou [via Groovy]"
,2016年10月18日 上午12:37写道:
On 17.10.2016 17:40, daniel_sun wrote:
> Hi all,
[via Groovy]"
,2016年10月18日 00:37写道:
On 17.10.2016 17:40, daniel_sun wrote:
> Hi all,
>
>Lambda expression for Groovy has been completed with a little
> limitation, which is due to the existing closure whose parameter list can be
> ambiguous to lambda expression, e
PM, Jochen Theodorou <[hidden email]> wrote:
hah, I knew you can do it ;)
On 18.10.2016 18:34, daniel_sun wrote:
Jochen, lambda expression is fully supported now :)
https://github.com/danielsun1106/groovy-parser/commit/c380e4230ecef350855b9f56a220411635a7ff87
https://github.com/danielsun1106
16 8:21:34 PM GMT+02:00, Guillaume Laforge <[hidden email]>
wrote:
Is it actually Groovy closures? or "real" Java lambdas?
On Tue, Oct 18, 2016 at 7:42 PM, Jochen Theodorou <[hidden email]> wrote:
hah, I knew you can do it ;)
On 18.10.2016 18:34, daniel_sun wrote:
Jo
ly Groovy closures? or "real" Java lambdas?
On Tue, Oct 18, 2016 at 7:42 PM, Jochen Theodorou <[hidden email]> wrote:
hah, I knew you can do it ;)
On 18.10.2016 18:34, daniel_sun wrote:
Jochen, lambda expression is fully supported now :)
https://g
Thanks :)
Cheers,
Daniel.Sun
在 "Roman Shaposhnik-2 [via Groovy]"
,2016年10月19日 上午7:17写道:
On Tue, Oct 18, 2016 at 4:15 PM, Jesper Steen Møller
<[hidden email]> wrote:
> "Real lambdas" with the full invokedynamic treatment is a big job, and
> requires static type inference.
> Given that Groovy c
ment!)
On Wed, Oct 19, 2016 at 1:43 AM, daniel_sun <[hidden email]> wrote:
To be exact, lambda expression of Groovy enhances the syntax of Java lambda
expression, e.g. lambda expression of Java is not callable.
Cheers,
Daniel.Sun
在 "Remi Forax [via Groovy]" ,2016年10月19日 上午4
[via Groovy]"
,2016年10月19日 上午8:36写道:
Nothing's definitive at all for Groovy 2.5 or 3.0.
It's up for discussion here on the list :-)
On Wed, Oct 19, 2016 at 2:33 AM, daniel_sun <[hidden email]> wrote:
Thanks :)
Guillaume, is there a road map to show us the plan of Groovy3? e.g.
(a) That's great! We can get feedback from Groovy developers and refine the new
parser.
(b) It's really a hard work. I believe you can achieve it at last :)
Cheers,
Daniel.Sun
在 "Jochen Theodorou [via Groovy]"
,2016年10月19日 上午9:30写道:
On 19.10.2016 02:49, daniel_sun wro
Hi Jochen,
I plan to map Java's *::* to Groovy's *.&*, the following code is ok
now. What do you think about it?
[1, 2, 3].stream().forEach(System.out.&println) // object method,
[1, 2, 3].stream().forEach(System.out::println)
[1, 2, 3].stream().forEach(Objects.&requireNonNull) //
Hi Jesper,
> Be careful with that approach, as it won’t work for static methods —
> leading to very different semantics for the two languages.
'.&' can reference the static methods, here is the sample code:
[1, 2, 3].each(Objects.&requireNonNull)
> Also, you won’t
Hi Rémi,
Groovy can choose the right method to call :)
assert ['1', '2', '3'] == [1, 2, 3].collect(Integer.&toString)
Cheers,
Daniel.Sun
发件人: Remi Forax [via Groovy]
发送时间: 2016年10月19日 19:29
收件人: daniel_sun
主题: Re: Lamb
Hi Jochen,
Thanks for your detail explanation. I'll try to implement the method
reference for Groovy 3 :)
Cheers,
Daniel.Sun
--
View this message in context:
http://groovy.329449.n5.nabble.com/Lambda-expression-for-Groovy-3-tp5736169p5736212.html
Sent from the Groovy Dev mailing list ar
Hi Rémi,
'this' inside the closure references the instance of enclosing class, so
no difference exists in the semantic of 'this'.
PS: I verified it using groovy2.4.7
Cheers,
Daniel.Sun
在 "Remi Forax [via Groovy]"
,2016年10月19日 下午7:17写道:
Hi Cedric,
De:
Hi Cédric,
If possible, how about providing the new parser via putting it in a
separate artifact(e.g. groovy-parser-x.x.x.jar). When Groovy developers want
to try the new parser, they can enable the switch(-Dgroovy.antlr4=true).
Before set the new parser as the default parser in the future r
51 matches
Mail list logo