Sıçan!

Sıçanlar! C-benzeri diller için kolayca genişletilebilir bir ayrıştırıcı üreticisidir.
Şimdi İndirin

Sıçan! Sıralama ve Özet

Reklamcılık

  • Rating:
  • Lisans:
  • LGPL
  • Fiyat:
  • FREE
  • Yayıncı adı:
  • Robert Grimm
  • yayıncı web sitesi:
  • http://www.cs.nyu.edu/rgrimm/xtc/rats.html

Sıçan! Etiketler


Sıçan! Açıklama

Sıçan! C-benzeri diller için kolayca genişletilebilir bir ayrıştırıcı üreticisidir. Sıçan! C benzice dilleri için kolayca genişletilebilir bir ayrıştırıcı üreticisidir; Ancak şu anda sadece Java'da ayrıştırıcı üretiyor. Sıçan! Proje açıkça tasarlanmıştır, böylece gramerler özlü ve kolayca değiştirilebilir. Bu amaçla, sıçanlar!? gramerleri modüllere dönüştürür,? Bağlamsız gramerler yerine ayrıştırma ekspresyonu gramerleri ve ayrıştırma ile sözleşmeyle söz konusu vintegratlar, yani tarayıcı değil,? Soyut sözdizimi ağaçlarının otomatik oluşumunu destekler,? ve sadıklara duyarlı dilleri ve formatları tanımalarını sağlamak için ayrıştırıcıların uzatılması için iyi tanımlanmış bir arayüz sağlar. Sıçanlar tarafından üretilen eşler! Sınırsız lookahead ve geri izleme varlığında doğrusal zaman performansını sağlayan ara sonuçları not edin. Sonuç olarak, esasen işlevseldir (zorunlu bir dilde uygulanmasına rağmen) ve ayrıca "Packrat ayrıştırıcıları" olarak adlandırılırlar. İşte "Rats!" In bazı önemli özellikleri: · Sıçanlar! Dilbilgileri ve uzantılarını yapıştırmak için bir modül sistemine dayanır. Özellikle, ilgili üretimleri ayrı birimler halinde gruplandırmak için modüllere dayanır. Daha sonra, modül modifikasyonları, diğer modüllere uzantıları kesin olarak ifade eder ve üretimdeki bireysel alternatifleri ekleyebilir, değiştirebilir veya çıkarabilir. Son olarak, modül parametreleri modülleri ve bunların uzantılarını birbirleriyle beslemek için kullanılır. · Sıçanlar! ' Gramer, ayrıştırma ifadesi dilbilgisi (mandallar) üzerine inşa edilir. PEG'ler, tanıdık EBNF gösterimiyle birçok yapıyı paylaşırken, temel bir fark, bağlamsız gramer (CFG'ler) ve YACC veya ANTLR gibi diğer ayrıştırıcı jeneratörler tarafından kullanılan sıralanmamış seçenekler yerine sıralı seçimler kullanmalarıdır. Sonuç olarak, fareler! Dilbilgiler belirsizliklerden kaçınır ve yerelleştirilmiş değişiklikleri desteklemektedir. İlave esneklik, ifadeleri eşleştiren, ancak girişi tüketmeyin, böylece girişi tüketmeyin, böylece sınırsız Lookahead ve Mechinging'in ayrıştırma ile entegrasyonu yoluyla, bir dilbilgisine yeni belirteçlerin eklenmesini büyük ölçüde kolaylaştırır. PEG'ler, yalnızca kompozisyon altında kapatılmadıkları ek bir faydaya sahiptir (YACC ve ANTLR tarafından kullanılan LR veya LL gramerlerinin aksine), aynı zamanda kesişme ve tamamlayıcı (genel olarak CFG'lerin aksine). · Açıklamalı eylemlere olan ihtiyacı ortadan kaldırmak için fareler! otomatik olarak soyut sözdizimi ağaçları oluşturabilir. Özellikle, anlamsal değer (boşlukları veya yorumları tanıma gibi), dize değerleri (edebi veya tanımlayıcıları tanıyanlar gibi) ve genel ağaç düğümlerini (potansiyel olarak diğer tüm yapımlar gibi) döndürmeyen üretimleri desteklemektedir. · Bazı bilgisayar tarafından okunabilen formatlar doğal olarak bağlamlara duyarlıdır ve mandal (veya CFGS), sıçanlar olarak ifade edilemez! Ayrıştırıcı bağlamını veya durumunu yönetmek için iki tekniği destekler, böylece ayrıştırıcıları uzatmak için iyi tanımlanmış bir arayüz sağlar. İlk önce fareler! Yerel bağlamlara bağlı ifadeleri tanımak için ayrıştırıcı eylemler sağlar, yani aynı üretimde hemen önceki ifadelere bağlı ifadeler. Bu yerel bir bağlam için bir örnek, bazı ifadelerin birçok örneğidir. İkincisi, sıçanlar! Global bir durum nesnesini, muhtemelen global bağlamlara bağlı ifadeleri tanımak için destekler. Devlet modifikasyonları, farelerin temel olarak işlevsel doğasını koruyan hafif işlemlerde gerçekleştirilir! Gizli ayrıştırıcılar. Küresel bir bağlam için bir örnek, C'ye ayrıştırırken değişken ve TypeDef adlarını belirtmek için kullanılan sembol tablosudur. Bu sürümde yenilikler: · Bu sürüm, oluşturulan ayrıştırıcılar tarafından raporlamayı iyileştirir ve bir kod oluşturma hatasını düzeltir.


Sıçan! İlgili Yazılım

Xcc

XCC, XML formatlı ayrıştırıcılar oluşturmak için bir araçtır. ...

228

İndirmek

Makn

Çok platformlu C projeleri oluşturmak için basit ve hafif bir çerçeve, tamamen Bourne kabuğuna ve GNU yapımına dayanır. ...

176

İndirmek

cproto

CPROTO, belirtilen C kaynak dosyalarında tanımlanan fonksiyonlar için standart çıkışa fonksiyon prototipleri oluşturur. ...

154

İndirmek