Bunun size zaten bildiğinizden daha fazlasını getireceğinden emin değilim. Ama sonra, terim yeniden yazmayı merak eden nedenleri anlayamayabilirim. Yardım eder.
Bildiğiniz gibi, gramerler dize yeniden yazma sistemleridir. Chomsky hiyerarşisinin en üstünde, yinelenen numaralandırılabilir (RE) dilleri tanımlayan ve Turing makinelerinin hesaplama gücüne sahip olan 0 dilbilgisine sahipsiniz.
Böylece bu, yeniden yazma sistemlerinin genel olarak ifade algoritmalarıyla çok ilgisi olduğunu söyler.
Genel olarak dizelerle ilgili sorun, onlara anlambilim eklemek için açık bir yol olmamasıdır. Bir çeşit şekilsiz yeniden yazmadır.
İnsanların genellikle ilgilendiği şey, yapı ve özelliklere sahip belirli alanlarda algoritmalar ifade etmektir. Bu tür alanlar genellikle temel (atomik) varlıklardan tanımlanır ve muhtemelen denklik ilişkileriyle belirlenen çeşitli işlemlerle kapatılır ve bu böyle devam eder. Bunlara genellikle cebir denir.
Bu alanlar genellikle soyuttur. Ancak unsurları üzerindeki hesaplamalar sadece somut temsiller üzerinde ifade edilebilir. Terimler bu elementlerin doğal temsilidir, çünkü elementlerin diğer elementler için operasyonlar uygulanarak özyinelemeli olarak atomik elementlere nasıl elde edilebileceğini ifade ederler (ancak genel özelliklerin her zaman sonuna kadar gitmesi gerekmez). Terimler, algoritmaları (dize için olduğu gibi) ifade etmek üzere değiştirilebilen bir tür ağaç yapısı sözdizimidir. Ancak terimlerin operatör işlenen yapısı, aynı zamanda, bir soyut alanda semantiklerin homomorfizmlerle ilişkilendirilmesine de izin verir.
Vikipedi ve bu konuyla ilgili birçok metni çok resmi bir şekilde ele almak yerine, programları düşünün. Genellikle programların uygun bir sözdizimsel sunumunun Soyut Sözdizimi Ağacı (AST) olarak adlandırıldığı kabul edilir. Ancak AST, bir program nesnesini temsil eden bir terimdir. Anlamsal anlambilim, soyut alanları tanımlamak ve bu alanlardan değerleri homomorfizmler ile AST (veya AST alt ağacı) ile ilişkilendirmek için bir yoldur. AST biçimindeki programlar yeniden yazma kuralları uygulanarak dönüştürülebilir veya optimize edilebilir (tüm optimizasyonların bu şekilde yapılabileceğini veya yapılması gerektiğini iddia etmiyorum).
Cebirsel ifadelerin çeşitli amaçlarla dönüşümü terim yeniden yazma ile ifade edilebilir. Örneğin, bazı ifadelerin basitleştirilmesi. Çeşitli hesaplama türleri, doğal olarak, türevlerin hesaplanması gibi terim yeniden yazma olarak da ifade edilebilir. Terim yeniden yazma, bazen aynı semantik varlığın birkaç sözdizimsel temsili olabileceği zaman, cebirlerde kanonik formları tanımlamak için de kullanılır.
Bu konuyla ilgili wikipedia makalesine bakmanızı öneririm .