1. ANTLR4自动将类似expr的左递归规则重写成非左递归形式
  2. ANTLR4提供优秀的错误报告功能和复杂的错误恢复机制
  3. ANTLR4使用了一种名为Adaptive LL(*)的新技术
  4. ANTLR4几乎能处理任何文法(二义性文法/间接左递归)

ANTLR是如何消除左递归的

stat: 
	expr ';' EOF;
expr:
	| expr '*' expr
	| expr '+' expr
	| INT
	| ID
	;

todo