8

Lütfen LL Parser numaralı telefondan Left Most Derivation'un ikinci L ile ne kastedildiğini anlamama yardımcı olun.sola en türetme ile kastedilen nedir?

En basit örnekle açıklayın.

Ben Sol en türetilmesi açıklayan aşağıdaki resmini gördüm ama bunu anlamıyorum:

enter image description here

+0

Sanırım çoğu türetme, her zaman bir kural uygulayabileceğiniz en soldaki yere bir kural uygulayacağınız anlamına gelir. Bu yüzden 'Kural N -> N D' diyebilirim ve bunu mümkün olan en uzak yere uygulayabileceğinizi biliyorsunuz. Bir RR Ayrıştırıcısı olsaydı, bunu en sağdaki yerde uygulardı. – Patashu

cevap

10

gramer kuralları Terminal olmayan semboller ve terminal semboller sol görüntülenir. Nonterminal semboller Büyük harfler olmalı, her şey tipik olarak bir terminal sembolüdür. Örnekte N ve D nonterminal ve 0-9 terminallerdir. Bir Sol Çoğu Türetme HER ZAMAN sol en nonterminal dilbilgisi kuralından geçer. Aşağıdaki örneği biçimlendirmeye çalışıyorum.

N 
=> N D --Replaces the first/left most/only (which is "N") with the N => N D rule 
=> N D D --Replaces the first/left most nonterminal (which is "N") with the N => N D rule 
=> D D D --Replaces the first nonterminal (which is "N") with the N => D rule 
=> 1 D D --Replaces the first nonterminal ("D") with the D => 1 rule(our first terminal character!) 
=> 1 2 D --Replaces the first nonterminal ("D") with the D => 2 rule 
=> 1 2 3 --Replaces the first nonterminal ("D") with the D => 3 rule 
-- Only terminal characters remain, derivation/reduction is complete.