groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesper Steen Møller <jes...@selskabet.org>
Subject Re: Antlr4-based Groovy parser status update
Date Wed, 24 Feb 2016 08:46:17 GMT

> On 24. feb. 2016, at 01.21, Guillaume Laforge <glaforge@gmail.com> wrote:
> 
> Sounds cool, Jesper, great to hear about your progress on the Antlr4 grammar!
> Is there a way we can help you? How can we test drive this? Is the build working?

The build works in that the antlr4 branch can be build and tested with e.g. “gradle -PuseAntlr4=true
test”.

However, I can’t seem to actually build a real distribution and use the new parser in that
(there’s a dynamic switch), without getting some very strange errors.
I’ve put off chasing that problem until I know I have the missing pieces of the grammar
and the AST building done right.

The current tests use Spock. Is that out of the question for the main Groovy build? I loooove
Spock, but I realise we have to keep the number of dependencies down.

-Jesper

> 
> On Wed, Feb 24, 2016 at 1:14 AM, Jesper Steen Møller <jesper@selskabet.org <mailto:jesper@selskabet.org>>
wrote:
> Hi Groovy-dev
> 
> I’ve found some time to work on the Antlr4 parser and fixed some minor tasks there:
> 
> * Fix grammar for several statement sequences, where NL or semicolon was not required
(added negative test cases)
> * Remove non-reentrant static state in ASTBuilder
> * Added syntax error handling to Antlr 4 parser
> * Make sure GrammarPredicates work with arbitrarily nested package hierarchies
> 
> I’m pushing my changes here:
> https://github.com/jespersm/groovy/commits/antlr4 <https://github.com/jespersm/groovy/commits/antlr4>
> 
> Next up is support for non-ID method invocation and command expressions, and then unary
expressions.
> Also, since the GSoC is a bit dated, traits are also missing.
> 
> -Jesper
> 
> 
> 
> -- 
> Guillaume Laforge
> Apache Groovy committer & PMC Vice-President
> Product Ninja & Advocate at Restlet <http://restlet.com/>
> 
> Blog: http://glaforge.appspot.com/ <http://glaforge.appspot.com/>
> Social: @glaforge <http://twitter.com/glaforge> / Google+ <https://plus.google.com/u/0/114130972232398734985/posts>

Mime
View raw message