How would I normalize the following ANTLR grammar rules to eliminate left recursion?

StackOverflow https://stackoverflow.com/questions/16003248

  •  03-04-2022
  •  | 
  •  

Question

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 : ;
Was it helpful?

Solution

There's an algorithm for eliminating left recursion. http://web.cs.wpi.edu/~kal/PLT/PLT4.1.2.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top