Makrolarla çalışırken, belirli koşullara sahip AST'deki düğümleri güncellemem gereken noktaya (bunu önlemek için çok uğraştım) ulaştım. değeriyleDeğişken bir AST'yi güncellemenin en kolay yolu nedir?
Literal(Constant(1))
: Örneğin, en Her düğüm güncellemek istiyorum diyelim
Literal(Constant(2))
olanlar AST düğümleri ifade ağacında her yerde olabilir, bu yüzden bir reklam-hoc kullanamazsınız desen eşleştiricisi. Açıkçası, yapmak istediğim en son şey, tüm derleyici ilkellerini kapsayabilen tam bir desen eşleştiricisini kodlamak. API'da arama yaptım ama ve dönüşümlü ailesi gibi yöntemlerin gereksinimlerimi karşılayacak kadar iyi olmadığına dair izlenime sahibim, çünkü ağacı doğrusal bir şey olarak kabul ediyorlar ve tümünün güncellenmesini istiyorum sonuç olarak ağaç. Yani, değişmez bir ifade ağacını akıllı bir şekilde güncellemek mümkün mü? Standart API'da neden böyle bir 'güncelleme' işlemi yok? Veri yapıları poli yazılan düğümleri değiştirme
bir TreeTransformer yoktur. Sanırım makrolar için benzer, belki de aynı olmalı. – pedrofurla
Muhtemelen ben o makro bağlamında sormuyordum eğer söyleyebilirim, [fermuarlar] (http://anti-xml.org/zippers.html) –
@NikitaVolkov kontrol etmek isteyeceklerdir. – pedrofurla