SORU
20 NİSAN 2010, Salı


LR, SLR, ve LALR ayrıştırıcıları arasındaki fark nedir?

LR, SLR, ve LALR ayrıştırıcıları arasındaki gerçek fark nedir? SLR ve LALR LR ayrıştırıcıları tür olduğunu biliyorum, ama ne ayrıştırma tablolarıyla ilgili olarak gerçek fark nedir?

Ve nasıl bir dilbilgisi LR, SLR, ya LALR olup olmadığını göstermek için mi? LL bir dilbilgisi için biz sadece ayrıştırma tabloda herhangi bir hücre birden fazla üretim kuralları içermesi gerektiğini göstermek zorunda. LALR, SLR, ve LR için benzer herhangi bir kural?

Örneğin, nasıl dilbilgisi gösterebiliriz

S --> Aa | bAc | dc | bda
A --> d

LALR(1) FOTOĞRAF(1).


DÜZENLE (ybungalobill): LALR ve LR arasındaki fark ne için tatmin edici bir cevap alamadım. LALR. tablo boyutu küçük ama LR gramer yalnızca bir kısmını tanır. Biri daha LALR arasındaki farkı ayrıntılı ve lütfen LR? LALR(1) ve LR(1) bir cevap için yeterli olacaktır. Kullanım 1 token-önüne bak hem deher ikisi demasa tahrik! Farklı nasıl?

CEVAP
22 EKİM 2010, Cuma


LALR ayrıştırıcı tam olarak saf LR ayrıştırma tabloları daha genellikle bir büyüklük sırası olan eşdeğer SLR dilbilgisi, aynı boyutta daha küçük olan ayrıştırıcı devlet tabloları üretmek için LR bir gramer içinde benzer durumları birleştirme. Ancak, LALR olmak için çok karmaşık olduğunu LR gramer için, bu birleştirilmiş Birleşik Devletleri çözümleyici çakışmaları neden, ya da tamamen orijinal LR dilbilgisi tanımadığı bir çözümleyici üretmek.

BTW, here algoritması(k) MLR ayrıştırma benim tablo bu konuda birkaç şey anlattım.

Ek

Kısa cevap LALR ayrıştırma tabloları daha küçük, ama çözümleyici makine aynı. Verilen LALR bir dilbilgisi çok daha büyük olursa LR Birleşik Devletleri, (aynı) yedek Birleşik Devletleri bir sürü ile oluşturulan tablolar ayrıştırma üretecek.

Tablo (yedek) benzer durumları birlikte, etkili bir bağlam/ilerleme atmadan birleştirilmiş olduğundan daha küçük, LALR ayrı devletler kodlamak bilgi. Avantajı aynı dilbilgisi için çok daha küçük ayrıştırma tabloları elde edilmesi.

Dezavantajı tüm LR gramerleri daha karmaşık gramer birleştirilmiş tek bir devlet yerine daha karmaşık lookaheads, iki veya daha fazla devlet ile sonuçlanan, çünkü LALR tablolar olarak kodlanmış olabilir.

Temel fark LR tablolar üretmek için algoritma daha fazla bilgi LALR algoritması yok ederken devlet devlet geçişler arasındaki Göremezsiniz. LALR algoritma eğer belirli bir birleştirilmiş bir devlet gerçekten iki veya daha fazla ayrı devlet olarak bırakılması gerektiğini söyleyemem.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • Tips On Linux

    Tips On Linu

    26 Temmuz 2008