Recursion 左递归消除,星形封闭

Recursion 左递归消除,星形封闭,recursion,compiler-construction,left-recursion,Recursion,Compiler Construction,Left Recursion,我有一个遗留递归的语法,我试图删除它们,我能够删除其中两个,但对于其中一个,我不知道该怎么做! 以下是语法: R -> R "|" S R -> S S -> S.T S -> T T -> T* T -> U U -> (R) U -> a U -> "ε" 我删除了规则1和规则3中的左递归,但我不知道如何处理规则5,这是一个星型外壳 如果您能在这个问题上提供帮助,我将不胜感激。欢迎使用SO!你能展示一下你是如何在1和3

我有一个遗留递归的语法,我试图删除它们,我能够删除其中两个,但对于其中一个,我不知道该怎么做! 以下是语法:

R -> R "|" S 
R -> S 
S -> S.T 
S -> T 
T -> T* 
T -> U 
U -> (R) 
U -> a 
U -> "ε" 
我删除了规则1和规则3中的左递归,但我不知道如何处理规则5,这是一个星型外壳


如果您能在这个问题上提供帮助,我将不胜感激。

欢迎使用SO!你能展示一下你是如何在1和3上删除左递归的吗?我相信您可以应用您在这里为
T
使用的技术。上下文无关语法没有“星形外壳”。也许原始语法实际上是
T->T“*”
,在这种情况下,过程与其他两个相同。欢迎使用!你能展示一下你是如何在1和3上删除左递归的吗?我相信您可以应用您在这里为
T
使用的技术。上下文无关语法没有“星形外壳”。也许原始语法实际上是
T->T“*”
,在这种情况下,过程与其他两个相同。