Ev gelişme Ayrıştırıcı nedir? - techopedia nedir?

Ayrıştırıcı nedir? - techopedia nedir?

İçindekiler:

Anonim

Tanımı - Parser ne anlama geliyor?

Ayrıştırıcı, başka bir dile kolay çeviri için verileri daha küçük öğelere ayıran bir derleyici veya yorumlayıcı bileşenidir. Ayrıştırıcı, girdiyi bir dizi belirteç veya program talimatı şeklinde alır ve genellikle bir ayrıştırma ağacı veya soyut bir sözdizimi ağacı şeklinde bir veri yapısı oluşturur.

Techopedia, Ayrıştırıcıyı açıklıyor

Ayrıştırıcı genellikle bir tercümanın veya derleyicinin bir bileşeni olarak kullanılır. Genel ayrıştırma süreci üç aşamadan oluşur:

  1. Sözcüksel Analiz: Sözcüksel bir çözümleyici, anlamlı ifadeler oluşturmak için küçük bileşenlere ayrılan bir giriş dizesi karakterleri akışından belirteçler üretmek için kullanılır.
  2. Sözdizimsel Analiz: Oluşturulan belirteçlerin anlamlı bir ifade oluşturup oluşturmadığını denetler. Bu, bileşenler için algoritmik yordamları tanımlayan bağlamsız bir gramer kullanır. Bunlar bir ifade oluşturmak ve belirteçlerin yerleştirilmesi gereken belirli düzeni tanımlamak için çalışır.
  3. Anlamsal Ayrıştırma: Doğrulanmış ifadenin anlamının ve sonuçlarının belirlendiği ve gerekli eylemlerin gerçekleştirildiği son ayrıştırma aşaması.

Ayrıştırıcının ana amacı, giriş verilerinin dilbilgisinin başlangıç ​​sembolünden türetilip türlenemeyeceğini belirlemektir. Evetse, bu giriş verileri hangi yollarla türetilebilir? Bu, aşağıdaki gibi gerçekleştirilir:

  • Yukarıdan Aşağıya Ayrıştırma: Yukarıdan aşağıya genişletme kullanarak bir girdi akışının en soldaki türevlerini bulmak için ayrıştırma ağacında arama yapmayı içerir. Örnekler LL ayrıştırıcıları ve özyinelemeli iniş ayrıştırıcılarıdır.
  • Aşağıdan Yukarıya Ayrıştırma: Girişin yeniden başlangıç ​​sembolüne yeniden yazılmasını içerir. Bu ayrıştırma türü kaydırma azaltma ayrıştırma olarak da bilinir. Bir örnek bir LR ayrıştırıcısıdır.

Ayrıştırıcılar aşağıdaki teknolojilerde yaygın olarak kullanılmaktadır:

  • Java ve diğer programlama dilleri
  • HTML ve XML
  • Etkileşimli veri dili ve nesne tanımlama dili
  • SQL gibi veritabanı dilleri
  • Sanal gerçeklik modelleme dili gibi modelleme dilleri
  • Komut dosyası dilleri
  • HTTP ve Internet uzaktan işlev çağrıları gibi protokoller
Ayrıştırıcı nedir? - techopedia nedir?