«parsing» etiketlenmiş sorular

Yapısal, normalleştirilmiş bir formata dönüştürmek için yapılandırılmış verilerin analizi (un).


4
Parser Combinator ne zaman kullanılır? Ayrıştırıcı Jeneratör ne zaman kullanılır?
Kendi programlama dilimi oluşturmak isteyen son zamanlarda ortakların dünyasına derin bir dalış yaptım. Ancak, ayrıştırıcı yazma için iki farklı yaklaşımın var olduğunu öğrendim: Ayrıştırıcı Jeneratörler ve Ayrıştırıcı Birleştiriciler. İlginçtir ki, hangi yaklaşımın daha iyi olduğu konusunda hangi kaynakları açıklayabileceğimi; Aksine, birçok kaynak (ve kişi) Ben tabi sadece açıklayan diğer yaklaşım …

4
Soyut bir sözdizimi ağacı tam olarak nasıl oluşturulur?
Bir AST'nin amacını anladığımı düşünüyorum ve daha önce hiç AST olmayan birkaç ağaç yapısı inşa ettim. Çoğunlukla kafam karıştı, çünkü düğümler metin değil sayı değil, bu yüzden bazı kodları ayrıştırırken bir belirteç / string girmek için iyi bir yol düşünemiyorum. Örneğin, AST'nin diyagramlarına baktığımda, değişken ve değeri yaprak düğümleri eşit …

2
Modern diller hala çözümleyici jeneratör kullanıyor mu?
Bu ortaya çıktığında, burada wikipedia'daki gcc derleyici paketi hakkında araştırma yapıyordum : GCC, Bison ile üretilen LALR ayrıştırıcılarını kullanmaya başladı, ancak yavaş yavaş elle yazılmış özyinelemeli iniş ayrıştırıcılarına geçti; 2004’te C ++ ve 2006’da C ve Objective-C için. Şu anda tüm ön uçlar el yazısı özyinelemeli iniş ayrıştırıcıları kullanıyor Bu …

6
HTML için neden katı ayrıştırma seçilmedi?
HTML oluştururken neden katı ayrıştırmanın seçilmediğini merak ettim. İnternet geçmişinin çoğu için, tarayıcılar her türlü işaretlemeyi kabul etmiş ve ayrıştırmak için ellerinden geleni yapmıştır. Süreç performansı düşürüyor, insanların anlamsız yazmalarına izin veriyor ve eski özellikleri bırakmayı zorlaştırıyor. HTML’nin kesin olarak ayrıştırılmamasının belirli bir nedeni var mı?
38 html  history  parsing 

1
C ++ 11 std :: stoi içerir, neden std :: itos olmasın?
G ++ 'e göre, C ++ 11 std::sto@ints / float / longs dizgilerinden kolayca çıkarmak için bir işlev ailesine sahip olduğunu fark ettim . Ancak bunun tam tersi uygulanmadığı için şaşırdım. Neden standartlar komitesi std::itos, ints / float / neyse (geri) dizelere geçmek için bir işlev ailesi içermiyordu ?
37 c++  parsing  strings  c++11 

5
Yorumlar genellikle nasıl ayrıştırılır?
Yorumlar genellikle programlama dillerinde ve işaretlemede nasıl ele alınır? Bazı özel biçimlendirme dili için bir ayrıştırıcı yazıyorum ve en az sürpriz ilkesini takip etmek istiyorum , bu yüzden genel sözleşmeyi belirlemeye çalışıyorum. Örneğin, bir belirteç içine gömülü bir yorum belirteçle etkileşime girmeli mi, gelmemeli mi? Genellikle şöyle bir şeydir: Sys/* …
31 parsing  comments 

1
Inglish ayrıştırıcısı (Hobbit 1982 için)
Metin macera oyunu hakkında okumak için hayran kaldım "Inglish" adında inanılmaz derecede sağlam bir çözümleyici olan Hobbit : ... Inglish "Gandalf'a meraklı haritayı sor, sonra kılıcını al ve troll'la öldür" gibi gelişmiş cümleler yazmasına izin verdi. Ayrıştırıcı karmaşık ve sezgiseldi, zamirleri, zarfları (“goblin'e şiddetle saldırmak”), noktalama işaretlerini ve edatları tanıtmak …

8
Belleğin ne zaman çıkarılacağını statik olarak tahmin etmek mümkün mü --- yalnızca kaynak koddan?
Bellek (ve kaynak kilitleri) bir programın yürütülmesi sırasında belirleyici noktalarda işletim sistemine geri gönderilir. Bir programın kendi başına kontrol akışı kesin olarak, belirli bir kaynağın nerede dağıtılabileceğini bilmek için yeterlidir. Tıpkı bir programcının fclose(file)programın ne zaman yapıldığını nasıl yazacağını bildiği gibi. GC'ler bunu, kontrol akışı yürütüldüğünde çalışma zamanında doğrudan çözerek …
27 parsing  memory 

5
Bu tür çözümleyici adı, VEYA neden yok
Geleneksel ayrıştırıcılar girdilerinin tümünü tüketir ve tek bir ayrıştırma ağacı oluşturur. Sürekli bir akış tüketen ve ayrıştırma ormanı üreten birini arıyorum [ değiştir: bu terimin bu kullanımın neden sıradışı olabileceği ile ilgili yorumlarda tartışmaya bakın ]. Bağırsaklarım, böyle bir çözümleyiciye ihtiyaç duyan (ya da ihtiyacım olduğunu düşünen ) ilk kişi …
27 parsing 

6
Cthulhu yolunu ayrıştırmaya karşı argümanlar nelerdir?
Şirket için oldukça önemli olabilecek bir araç için Etki Alanına Özel Bir Dilin uygulanması görevi verildi. Dil basit ama önemsiz değil, zaten iç içe döngülere, dizi birleştirmeye vb. İzin veriyor ve proje ilerledikçe diğer yapıların ekleneceğinden de kesin olarak emin. Tecrübeyle, bir dilbilgisi / çözümleyici yazmanın, dilbilgisi önemsiz olmasa da …

3
Hangi süreçte sözdizimi hatası oluşuyor? (tokenizing veya ayrıştırma)
Derleme ve yorumlamayı anlamaya çalışıyorum, adım adım toplam bir görüntü bulmaya çalışıyorum. Bu yüzden http://www.cs.man.ac.uk/~pjj/farrell/comp3.html bu makaleyi okurken bir soru sordum. Diyor ki : Derleyicinin bir sonraki aşamasına Ayrıştırıcı denir. Derleyicinin bu kısmı dilin gramerini anlıyor. Sözdizimi hatalarının tanımlanmasından ve hatasız bir programın başka bir dilde yorumlanabilen veya yazılabilen iç …

3
Soyut Bir Sözdizimi Ağacı için Ziyaretçi Şablonunu Uygulama
Öğrenme amaçlı yaptığım kendi programlama dilimi oluşturma sürecindeyim. Dilimi alt kümesi için lexer ve özyinelemeli iniş ayrıştırıcıyı zaten yazdım (şu anda + - * /parantez gibi matematiksel ifadeleri destekliyorum ). Ayrıştırıcı bana Evaluate, ifadenin sonucunu elde etmek için yöntemi çağıracağım bir Soyut Sözdizimi Ağacı'nı geri verir. Her şey iyi çalışıyor. …

12
Komut yorumlayıcı / çözümleyici nasıl yazılır?
Bu soru edildi göç o Yazılım Mühendisliği Stack Exchange'de yanıtlanabilir çünkü yığın taşması gelen. 7 yıl önce göç etti . Sorun: Bir dizge şeklinde komutları çalıştırın. komut örneği: /user/files/ list all; eşittir: /user/files/ ls -la; bir diğeri: post tw fb "HOW DO YOU STOP THE TICKLE MONSTER?;" eşittir: post -tf …


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.