Brzozowski'nin düzenli ifadelerin dilbilgisine türev yönteminin genelleştirilmesi?


18

Brzozowski'nin türev yöntemi, düzenli ifadelerden güzel bir cebirsel olarak deterministik otomata oluşturmak için çok güzel bir tekniktir. Bazı daha büyük gramer sınıflarını işlemek için bu tekniğin bazı sevimli genellemelerini yaptım, ancak algoritmalar daha önce keşfedilmeleri oldukça mümkün görünüyor. Ancak bu tekniğin torunları için Google'a yapılan atıflar çok fazla görünmüyor. Bir şey bilen var mı?


2
Hangi gramer sınıflarını düşündüğünüzü merak ediyorum. Torunları hakkında, bunun yerine belirsiz olmayan otomata üreten Antimirov tekniği çok güzel: Düzenli ifadelerin ve sonlu otomat yapılarının kısmi türevleri , TCS 155 (2), 1996, ( dx.doi.org/10.1016/0304-3975(95 ) 00182-4 ).
Sylvain

düzenli <içerikten bağımsız <içeriğe duyarlı <... gibi daha karmaşık dillerdeki genellemeler mi demek istediniz?
s8soj3o289

Çoğunlukla çoğunlukla VPL mahallelerinde CFG'lerin alt sistemlerine bakıyordum.
Neel Krishnaswami

... fakat türev seti o zaman sonlu değil. Ve gerçekten de Brzozowski'nin yönteminde olduğu gibi deterministik bir şey istiyorsanız, muhtemelen DCFL'lerle sınırlısınız (bu yüzden VPL'ler için mantıklı olabileceğini hayal ediyorum).
Sylvain

Yanıtlar:



12

Bu yazı ile ilgilenebilirsiniz:

Yat Öldü Matthew Might ve David Darais, 2010

Bağlamdan bağımsız dillerin ayrıştırılmasına iki yeni yaklaşım sunuyoruz. İlk yaklaşım, Brzozowski'nin türevinin düzenli ifadelerden bağlamsız gramerlere genişletilmesine dayanmaktadır. İkinci yaklaşım, türevin ayrıştırıcı birleştiricilere genelleştirilmesine dayanmaktadır. Bu tekniklerin getirisi, keyfi bağlamsız gramerleri tembel ayrıştırma ormanlarına ayırabilen küçük (250 satırdan az kod), uygulaması kolay ayrıştırma kütüphanesidir. Hem Scala hem de Haskell için uygulamalar sunulmaktadır. S-Expressions ile yapılan ön deneyler saniyede milyonlarca jeton ayrıştırdı, bu da bu tekniğin pratikte kullanım için yeterince verimli olduğunu düşündürüyor.

Ayrıca potansiyel ilgi:


Çok komik kağıt başlığı! :-)
Dai Le

7

80'lerin ortalarında tekrarlayan çıkış ayrıştırıcıları ve gramerlerin faktoringi üzerinde çalışırken, gramerlerin kısmi türevlerini tanımlayarak başladım.

Orada bir sürü güzel teori var.

Özel sorularınız mı var?


Şu an sadece ilgili işler için balık tutuyorum. Çoğunlukla özyinelemeli iniş ayrıştırıcılarını düşündüğüm için, özellikle ilgi çekici olduğunu düşündüğünüz gibi LR tarzı ayrıştırma uygulamaları bulurdum. Bana evraklarından birine işaret edebilir misin?
Neel Krishnaswami
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.