I have this project and I have to eliminate left recursion from my grammar, the book gives psuedocode. I understand how the pseudocode works, but I can't figure out how to implement it.

I know that

E -> E + T
E -> T

goes to

E -> + E E'
E' -> T
E' ->

I've tried a few things, but I can't figure it out. Obviously I can't have a null token.

void Expression() :
{}
{
LOOKAHEAD(2) Expression() <OP> Expression()
| LOOKAHEAD(2) Expression() <LSBRACE> Expression() <RSBRACE>
| LOOKAHEAD(2) Expression() <DOT> <LENGTH>
| Expression() <ID> <LPAREN> ExpressionList() <RPAREN>
| <NUM>
| <TRUE>
| <FALSE>
| <ID>
| <THIS>
| LOOKAHEAD(2) <NEW> "int" <LSBRACE> Expression() <RSBRACE>
| <NEW> <ID> <LPAREN> <RPAREN>
| <NOT> Expression()
| <LPAREN> Expression() <RPAREN>
}
Oh, it's JavaCC, not Sable.