簡體   English   中英

涉及 SLR(1) 解析器和 epsilon

[英]SLR(1) Parser and epsilon involved

假設我有以下語法:

S → X  
X → a | ϵ

如果該語法不涉及ϵ ,我將構造第一個 state ,如:

S' → .S
S → .X
X → .a

但是ϵ符號呢? 我應該包括:

X → .ϵ

也?

如果是這樣...在創建下一個狀態時...我應該執行GOTO(Io,ϵ) ,即 Io 是第一個 state 嗎?

我同意霍華德的觀點。 DFA 中的 state 應包含以下項目: x →. 這是我為 SLR(1) 解析器繪制的 DFA,它識別使用兩個 epsilon 產生式的語法:單反(1) DFA

由於ϵ本身不是終端,因此您必須將其從規則中刪除,這會給您

X → .

然后稍后您將不會有任何帶有“符號” ϵ的奇怪GOTO而是您的 state

S' → S.

在您的圖表中是一個接受 state 。

暫無
暫無

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

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