LOGO programlama dili için BNF veya EBNF'yi nereden alabileceğimi bilen var mı?LOGO programlama dili için EBNF veya BNF
cevap
A BNF dilbilgisi kolay bir iş (Böyle bir proje üzerinde çalışarak) değil tarihsel/mevcut uygulamasıyla doğru uyumlu bir LOGO yazılıyor ...
bazı durumlarda çok kullanışlı olmayabilir. Sorun, çözümleyicinin tam işi yapmaması ve değerlendiricinin (yorumlayıcı) kısmi verilerle çalışması gerektiğidir. Bu örneği ele alalım:
PROC1 ab PROC2 C
O (c, b, PROC2()) sayısına göre Proc1 (a, b, PROC2 (c)) ya da Proc1 anlamına gelebilir proc1 & proc2 için parametreler. Dahası, Berkely LOGO gibi bildiğim LOGO tercümanları, her bir prosedüre ve onun nesline erişime sahip olan geleneksel bir ayrıştırıcıyı yazmamak için şerefsiz bir bakış açısına sahiptir; bunun yerine prosedürleri yürütürler ve prosedürler ihtiyaç duydukları parametre sayısını 'tüketirler'. Bu, ayrıştırıcıyı biraz naif yapar ve ana rol bir tercümanınkidür ve böylelikle ayrıştırma olağandışıdır.
Yani, açık olan dil için bir dilbilgisi olamaz mı? –
Evet, bence bu tür bir dilbilgisi (belirsizliğe bakılmaksızın) mevcut değil, çünkü çoğu zaman olduğu gibi komut dizesini ayrıştıran ve yalnızca infix operatörlerini ve benzeri –
'u çözen bir naif dilbilgisi yok, bir naif ayrıştırıcı sadece dilbilgisine göre ayrıştıracaktı ama yerleşik fonksiyonların * aritliğini * anlamazdı. Ayrıştırma yapılırken, başarılı belirteçlerin nasıl ayrıştırılacağına karar vermeden önce işlevin * aritliliğine * bakması gerektiği görülecektir. Aynı zamanda dediğiniz gibi, "giderken ayrıştırmak" için de daha anlamlı olur. –
Standart LOGO uygulaması yoktur.
En iyi çağrı böyle konu dışı olarak bu kapatma yönünde oy UCBLogo
Değil emin olarak, popüler bir uygulama kaynağına bakmak olasılıkla gerçek değildir. "Programlama dili" başlığında bile ... –
Bu göründüğü gibi Reddit yolunda, bunu şimdilik koruyorum (birkaç gün içinde korunmasız olacak). Sorun değil, _yet_, sadece bir önlem. –
@Tim Post Bu, reddit programlama altdizciliğini yaptı, bunun neden alarm olduğunu göremiyorum. Yeni kullanıcıları çekmek için iyi bir fırsat olabilir mi? – ArtB