Re: Antlr4-based Groovy parser status update

2016-03-12 Thread daniel_sun
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

About the license of the sample codes from Groovy in Action 2nd Edition

2016-03-21 Thread daniel_sun
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

Re: About the license of the sample codes from Groovy in Action 2nd Edition

2016-03-25 Thread daniel_sun
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.

About the syntheticPublic property of member method node in class

2016-04-01 Thread daniel_sun
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

Re: About the syntheticPublic property of member method node in class

2016-04-02 Thread daniel_sun
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

Re: GROOVY-5727, removal of servlet-api from the zip distribution

2016-04-18 Thread daniel_sun
+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.

Progress on the Antlr4-based parser update(2016.04.30)

2016-04-30 Thread daniel_sun
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

groovy.util.GroovyTestCase is missing in groovy-all-2.5.0-SNAPSHOT(20160608)

2016-06-07 Thread daniel_sun
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

Re: groovy.util.GroovyTestCase is missing in groovy-all-2.5.0-SNAPSHOT(20160608)

2016-06-08 Thread daniel_sun
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

Re: groovy.util.GroovyTestCase is missing in groovy-all-2.5.0-SNAPSHOT(20160608)

2016-06-09 Thread daniel_sun
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

Re: groovy.util.GroovyTestCase is missing in groovy-all-2.5.0-SNAPSHOT(20160608)

2016-06-09 Thread daniel_sun
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

答复: groovy.util.GroovyTestCase is missing in groovy-all-2.5.0-SNAPSHOT(20160608)

2016-06-09 Thread daniel_sun
人: 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

[CONTRIBUTION]groovy-option-support

2016-08-12 Thread daniel_sun
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.

Re: [CONTRIBUTION]groovy-option-support

2016-08-16 Thread daniel_sun
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

Re: [CONTRIBUTION]groovy-parser

2016-09-30 Thread daniel_sun
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

Re: [CONTRIBUTION]groovy-parser

2016-09-30 Thread daniel_sun
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

Re: [CONTRIBUTION]groovy-parser

2016-09-30 Thread daniel_sun
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.

Re: [CONTRIBUTION]groovy-parser

2016-09-30 Thread daniel_sun
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

[PROGRESS REPORT 20161004]groovy-parser

2016-10-03 Thread daniel_sun
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

Re: [PROGRESS REPORT 20161004]groovy-parser

2016-10-04 Thread daniel_sun
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

RE: [PROGRESS REPORT 20161004]groovy-parser

2016-10-04 Thread daniel_sun
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.

答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-06 Thread daniel_sun
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年

答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-06 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-06 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-06 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-07 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-07 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-07 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-08 Thread daniel_sun
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

Re: 答复: 答复: [PROGRESS REPORT 20161004]groovy-parser

2016-10-09 Thread daniel_sun
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

Re: About the compiler optimization of Groovy

2016-10-12 Thread daniel_sun
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

[PROGRESS REPORT 20161012]groovy-parser

2016-10-12 Thread daniel_sun
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

Re: [PROGRESS REPORT 20161012]groovy-parser

2016-10-12 Thread daniel_sun
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

Re: [PROGRESS REPORT 20161012]groovy-parser

2016-10-12 Thread daniel_sun
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

Re: Upgrade of TC server

2016-10-17 Thread daniel_sun
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.

Lambda expression for Groovy 3

2016-10-17 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-17 Thread daniel_sun
. 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,

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
[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

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
[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.

Re: Lambda expression for Groovy 3

2016-10-18 Thread daniel_sun
(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

Re: Lambda expression for Groovy 3

2016-10-19 Thread daniel_sun
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) //

Re: Lambda expression for Groovy 3

2016-10-19 Thread daniel_sun
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

答复: Lambda expression for Groovy 3

2016-10-19 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-19 Thread daniel_sun
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

Re: Lambda expression for Groovy 3

2016-10-19 Thread daniel_sun
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:

Re: getting in line for the releases of groovy 2.4.8 and 2.5.0-beta-1

2016-10-20 Thread daniel_sun
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