[問題] Compiler -LL(1) Grammar
Compute the First and Follow sets for the following grammar.
S ← TS | a
T ← UVb | ε
U ← V | ca | ε
B ← aUb | c
已經知道:
First(S) = {a,c}
First(T) = {a,c,ε}
First(U) = {a,c,ε}
First(V) = {a,c}
Follow(S) = {$}
Follow(T) = {a,c,$}
Follow(U) = {a,c,b}
Follow(V) = {a,b,c}
我想問為什麼 Follow(V) 中有 a 和 c 呢?
我看 Aho 的 Compiler Principle.. 那本
他說 Follow set 的計算有三個規則:
1. 將 $ 放到 Follow(S) 中,其中 S 是 start symbol
2. 如果存在一個 production A→αBβ
則 First(β) 中除了ε之外的所有符號都在Follow(B)中
3. 如果存在一個 production A→αB
或 A→αBβ且 First(β)包含ε
則 Follow(A)中所有符號都在Follow(B)中
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.224.200
推
04/10 17:03, , 1F
04/10 17:03, 1F
→
04/10 17:03, , 2F
04/10 17:03, 2F
→
04/10 17:12, , 3F
04/10 17:12, 3F
CSSE 近期熱門文章
PTT數位生活區 即時熱門文章