簡體   English   中英

消除左遞歸,e,左分解?

[英]eliminating left-recursion, e, left-factoring?

我有語法

S->一個{B}

並且我正在嘗試重寫它以避免使用{}。 如果我寫

S-> a | aB B-> b | bB

那么我無法在第二條規則中進行預測性分析。 如果我寫

S-> a | aB B-> b | Bb

然后我在第二條規則中成為左遞歸。

嘗試做左分解,

B-> bC C->(e)| B

我正在介紹空符號。 到目前為止的願望是制作不帶(e)的語法,該語法適合於預測性分析而不是左遞歸。

可能嗎?

我不這么認為。 本質上,您可以在語法中刪除a部分,然后刪除b的第一個部分,它們與您的問題無關。 然后,您列舉了聲明無限多個b的所有三種樣式。 您必須選擇其中之一。

我建議只使用空符號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM