groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From daniel_sun <>
Subject Progress on the Antlr4-based parser update(2016.04.30)
Date Sat, 30 Apr 2016 09:27:46 GMT
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 following list shows our
main work ( ):

1)  Support Traits
2)  Support Tuple
3)  Support Labeled statement
4)  Support multi-dimensional array
5)  Support inner enum
6)  Support annotations added for declaration statement
7)  Full Unicode letter support for identifiers
8)  Proper unescaping of string literals
9)  Support named parameter with closures
10) Support var-args
11) Support synchronized statement
12) Import statements, script, declaration and types can be mixed with each
13) Add missing keywords and built-in types
14) Support binary literals
15) Allow enum constants with parameters
16) Make strict check for def and modifiers, which should not be duplicated
17) Allow defining method whose name is non-IDENTIFIER
18) Allow invoking method with optional parentheses
19) Support dollar slashy string
20) Refine strings recognition and process
21) Support expressions and statements spanning rows
22) Fix a lot of bugs(including [GROOVY-7765]Dollar Slashy String in assert
not working left hand side)

       Our next target is listed as follows. In addition, we plan to add
grails-core-3 source code as test cases.
1) Support command expression( Jesper has started to try to complete it )
2) Verify operator precedence
3) Friendly prompt messages
4) Support lamda expression
5) Support do-while, the basic control structure like java's

      Finally, we will thank Jochen who gives us many support and useful
advices, C├ędric who provides us a new CI server :-)

p.s. If you want to play with the new parser, try:

$ git clone -b antlr4
$ cd groovy
$ gradle -PuseAntlr4=true console


View this message in context:
Sent from the Groovy Dev mailing list archive at

View raw message