[英]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 產生式的語法:
由於ϵ
本身不是終端,因此您必須將其從規則中刪除,這會給您
X → .
然后稍后您將不會有任何帶有“符號” ϵ
的奇怪GOTO
而是您的 state
S' → S.
在您的圖表中是一個接受 state 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.