Reputation: 4283
I'd like to be able to treat:
int(int, int)
As a function type. How do I normalize this (stripped down) grammar?
type : classOrInterfaceType | primitiveType | functionType;
functionType : type '(' (type (',' type)*)? ')';
classOrInterfaceType : ;
primitiveType : ;
Upvotes: 0
Views: 138
Reputation: 4283
There's an algorithm for eliminating left recursion. http://web.cs.wpi.edu/~kal/PLT/PLT4.1.2.html
Upvotes: 0