SORU
19 Temmuz 2011, Salı


O'mümkün düzenli HTML/ayrıştırma için XML neden: meslekten olmayan resmi bir açıklama'In şartları

(X)düzenli ifadeler soruluyor ile HTML ya da XML ayrıştırma hakkında bir soru kalmadan geçer o KADAR gün yok.

Nispeten kolay bir kavram temsil etmek için collection of expressions examples that demonstrates the non-viability of regexes for this task ile veya gelmek olsa da, hala bir üzerinde bulamadımresmibu mümkün değil neden açıklama uzun lafın kısası bitti.

Şimdiye kadar bu sitede bulabildiğim tek resmi açıklama muhtemelen son derece doğru, ama aynı zamanda oldukça kendini yetiştirmiş bir programcı: şifreli

kusur burada HTML Chomsky bir Tip 2 (bağlam serbest dilbilgisi olmasıdır dilbilgisi) ve Düzenli olduğunu Chomsky Tip 3 dilbilgisi (düzenli ifade)

ya da:

Düzenli ifadeler sadece ama HTML bir düzenli dil eşleşebilir bağlam-ücretsiz dil.

ya da:

Sonlu otomat veri yapısı düzenli bir temel ( ifade) dışında, içinde bulunduğu durumdan bellek, ve eğer yok keyfi bir rasgele büyük ihtiyacın iç içe, sonlu otomat kavramı ile çakışır olan otomat,.

ya da:

Düzenli diller için Pompalama lemma yapamazsın nedeni de budur bu.

[Adil olmak: wikipedia sayfaları için açıklama yukarıdaki bağlantıyı, ama bunların çoğunluğu cevapları kendilerinden anlamak] için çok daha kolay değildir.

Benim sorum ise şu:biri resmi açıklamalar yukarıda verilen Olası (X)HTML/XML ayrıştırma için normal ifade kullanmak değil neden bu meslekten olmayanlara bir çeviri sağlayabilir misiniz?

DÜZENLEME:Açıklamak gerektiğini düşündüm ilk cevabı okuduktan sonra: "çeviri" de briefely . arıyorum ^em>açıklıyorkavramlar çalışır çevirmek: sonunda bir cevap, okuyucuyu gereken bir fikir - örneğin - ne "sıradan Dil" ve "bağlam serbest dilbilgisi"

CEVAP
19 Temmuz 2011, Salı


Bu bir konsantre:

Sonlu otomat veri yapısı düzenli bir temel ( ifade) dışında, içinde bulunduğu durumdan bellek, ve eğer yok keyfi bir rasgele büyük ihtiyacın iç içe, sonlu otomat kavramı ile çakışır olan otomat,.

tanımdüzenli ifadeler bir dizi desen eşleşip eşleşmediğini testi sonlu otomat tarafından yapılabilir aslında eşdeğerdir (her model için farklı otomat). Sonlu otomat hafızası yok - hayır, yığın, yığın, sonsuz üzerinde karalamak için teyp. Bütün her dizesi test olmaktan giriş birimi okuyun ve bir sonraki gitmek için hangi bir karar vermek için kullanabilir iç Birleşik Devletleri, sonlu bir sayıdır. Özel durumlar olarak, iki fesih Birleşik Devletleri vardır: "Evet, uyuşuyor", ve "hayır, bu maç olmadı".

HTML, öte yandan keyfi olarak derin yuva olan yapıları vardır. Bir HTML dosyası geçerli olup olmadığını belirlemek için, tüm etiketleri önceki kapanış açılış etiketi eşleşen kontrol etmek gerekir. Bunu anlamak için, kapalı olduğunu da bilmek gerekir. Herhangi bir "" ne gördün etiketleri açma şansı yok. hatırlamak anlamına gelir olmadan

Not ancak en "düzenli" aslında düzenli ifadelerin daha kesin tanımına izin kütüphaneleri. Eğer geri başvurular maç, daha sonra tekrar normal bir dil de ötesine geçmişlerdir. Yani HTML düzenli bir kütüphane kullanmamalısın neden HTML değil normal basit aslında biraz daha karmaşık.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Nightmare2005

    Nightmare200

    14 Ocak 2007