Here are notes on a medium-sized commit by jrose to clean up groovy.g and associated files.
Affected source files:
- groovy.g, rev 1.17: http://cvs.groovy.codehaus.org/viewrep/groovy/groovy/groovy-core/src/main/org/codehaus/groovy/antlr/groovy.g
- plugin, rev 1.18: http://cvs.groovy.codehaus.org/viewrep/groovy/groovy/groovy-core/src/main/org/codehaus/groovy/antlr/AntlrParserPlugin.java
- Isolated token changes in a couple of test files (x..<y range syntax).
Functional changes
- Allow newline before
LBRACEuniformly. Use nlsWarn in all such cases. - Factor
T[]syntax into declaratorBrackets rule. - Make
newandMETHOD_CALLexpressions have common structure. - Add grammar for proposed
"$*x"GString syntax. - Right-exclusive ranges are spelled
x..<y(x...ytemporarily backward-compatible). - Fix bug in
#!comment syntax. - Clarify keywords in argList rule. Allow '
[:' only ingrammar notes.
Name changes
- SPREAD_ARG => SPREAD_DOT (for *. nodes)
- OPTIONAL_ARG => OPTIONAL_DOT (for ?. nodes)
- METHOD_POINTER => MEMBER_POINTER (for .& nodes)
Cleanups
- Remove transitional hack arrayOrTypeArgs.
- Clean up and simplify
pathExpressionandcommandStatementrules. - Add some more javadoc.
- Remove annoying
zz=decorations on argList, etc. - Remove useless rules for
expressionBlock,assignmentTail,assignmentOp. - Factor statement label syntax into
statementLabelPrefix. - Remove some useless 'greedy' declarations.
