From: <dal...@us...> - 2014-05-17 20:59:50
|
Revision: 23550 http://sourceforge.net/p/jedit/svn/23550 Author: daleanson Date: 2014-05-17 20:59:46 +0000 (Sat, 17 May 2014) Log Message: ----------- Attempt to remove left recursion from MethodInvocation. Modified Paths: -------------- plugins/JavaSideKick/trunk/clean_jj/1.8/java18_clean.jj Modified: plugins/JavaSideKick/trunk/clean_jj/1.8/java18_clean.jj =================================================================== --- plugins/JavaSideKick/trunk/clean_jj/1.8/java18_clean.jj 2014-05-17 18:44:55 UTC (rev 23549) +++ plugins/JavaSideKick/trunk/clean_jj/1.8/java18_clean.jj 2014-05-17 20:59:46 UTC (rev 23550) @@ -1763,16 +1763,21 @@ void PrimaryNoNewArray(): {} { - LOOKAHEAD(MethodInvocation()) + LOOKAHEAD(3) + PrimaryNoMethodInvocation() + | MethodInvocation() (LOOKAHEAD(2) <DOT> MethodInvocation())* - | - LOOKAHEAD(ArrayAccess())S +} + +void PrimaryNoMethodInvocation() : +{} +{ + LOOKAHEAD(ArrayAccess()) ArrayAccess() | LOOKAHEAD(FieldAccess()) FieldAccess() | - // TODO: Left recursion, see Primary() above. LOOKAHEAD(MethodReference()) MethodReference() | @@ -1840,20 +1845,23 @@ TODO: Primary causes left recursion. */ - - LOOKAHEAD(3) - MethodName() <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> - | - // combined the 2 typenames - LOOKAHEAD(3) - TypeName() <DOT> [<SUPER> <DOT>] [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> - | - LOOKAHEAD(3) - ExpressionName() <DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> - | - //Primary() <DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> - //| - <SUPER> [<DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER>] <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> + ( + LOOKAHEAD(3) + MethodName() <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> + | + // combined the 2 typenames + LOOKAHEAD(3) + TypeName() <DOT> [<SUPER> <DOT>] [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> + | + LOOKAHEAD(3) + ExpressionName() <DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> + | + LOOKAHEAD(3) + PrimaryNoMethodInvocation() <DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> + | + <SUPER> [<DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER>] <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> + ) + ( LOOKAHEAD(2) <DOT> [LOOKAHEAD(2) TypeArguments()] <IDENTIFIER> <LPAREN> [LOOKAHEAD(2) ArgumentList()] <RPAREN> )* } void ArgumentList(): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |