Hi Pascal,

Thank you, I’d missed that one.

Any thought on the validity of “- -1”?

-Jesper

> On 28. feb. 2016, at 18.23, Pascal Schumacher <pascalschumac...@gmx.net 
> <mailto:pascalschumac...@gmx.net>> wrote:
> 
> Hi Jesper,
> 
> thanks for the update. :) Nice to hear you are progressing.
> 
> Concerning the ASTBuilder to Java conversion, there is a pull request with 
> this at the old repo https://github.com/groovy/groovy-core/pull/513 
> <https://github.com/groovy/groovy-core/pull/513>
> 
> Cheers,
> Pascal
> 
> Am 28.02.2016 um 12:55 schrieb Jesper Steen Møller:
>> Hi Groovy-Dev
>> 
>> Here’s another update on the progress on the Antlr4 parser, as maintained on 
>> https://github.com/jespersm/groovy.git 
>> <https://github.com/jespersm/groovy.git> (in the antlr4 branch).
>> To play with it, try:
>> 
>> $ git clone -b antlr4 https://jespe...@github.com/jespersm/groovy.git 
>> <https://jespe...@github.com/jespersm/groovy.git>
>> $ cd groovy
>> $ gradle -PuseAntlr4=true console
>> 
>> I’ve fixed a number of issues:
>> Support method pointer operator
>> Attributes/method/property names as strings/gstrings
>> Real support for unary plus and minus (mimics old parser’s behaviour)
>> Compilation units not ending with semicolon or newline
>> Slashy strings could span lines, confusing division statements and comments
>> I can now explore the new grammar and AST building using the Console, which 
>> is fun, but it’s very easy to find unsupported constructs. Mapping out the 
>> full Groovy grammar from the documentation alone is quite a task. Just 
>> today, I discovered lacking support for ‘assert’ and for ’super’-calls. The 
>> smaller issues currently are:
>> assert
>> super()
>> Full Unicode letter support  for identifiers
>> Support identifiers as property names and map literal entry names
>> 
>> The bigger issue is with converting the ASTBuilder to pure Java, a task I 
>> havn’t started yet. Actually, this poses a different question for AST 
>> generation: Whether to switch from tree-walking the parse tree (so whole 
>> tree must be kept in memory), to the listener-based approach, where the AST 
>> is built mostly bottom-up, ensuring smaller memory footprint.
>> 
>> So you can help me with a couple of answers:
>> Memory: Is this an issue I should be focusing on — and is there a test to 
>> baseline against?
>> I’ve discovered a small issue with unary syntax. Currently, nested unary 
>> expressions are not supported without parenthesis: Try e.g. - -1 or + -1. Is 
>> this intentional, or just an artifact of the precedence-refactored Java 
>> grammar?
>> 
>> -Jesper
>> 
> 

Reply via email to