请问 提取文法的左公因子 要怎么做呢

问题遇到的现象和发生背景

设有文法

E -> T | T ^ E .
T -> int * T | ( E ) | ( S ) .
S -> int T .

请提取文法的左公因子。

https://blog.csdn.net/t1712062347/article/details/106980387

ppt 理解

S →aSb→aaSbb

S 为啥可以是空的

E -> TX

X ->  ^ E| ε

T -> int * T | ( E ) | ( S ) 

T -> int * T | TX | ( S ) 

看不懂 感觉如果S -> int *T . 看起来好像可以提取一样 但是也不对吧。。E 没有 int

而且括号也不一样。。


T -> int * T | (T | T ^ E) | ( S ) 

T -> int * T | (T | T ^ E) | ( int T  ) 

这个括号和数学里的括号一样吗 还是说他是一个符号 和 * 一个类型。所以不能去掉呢

假如括号可以去掉


T -> int * T | T | T ^ E |  int T  

看起来就可以提取了

(int * | ε|int) T 

但是多出一个 T ^ E 怎么提取。

详情见
https://gitee.com/starplatinum111/lab06.-ll-lec/blob/master/lec06.07.LL/lab/lab06.LL.md