bash betiğinde yacc (bizon öncesi) ayrıştırıcı. Bash'ta jq'nin uygulanması

Bazen bazı yerleşik dilbilgisini anlayan, yani içinde mini bir dil bulunan küçük, akıllı bir komut dosyası yazmakta sorun ortaya çıkar. Başlangıçta bash'ta jq'nin minimal bir uygulamasını yazdım. Ancak buraya ne kadar çok "akıllılık" eklenirse, alt ifadelerin yinelemeli ayrıştırılmasını uygulamak o kadar zorlaşıyordu. Bundan o kadar yorulmuştum ki, önce bir bash betiği oluşturmak için LARL(1) yacc (bison öncesi) derleyicisini yazmam istendi ve sonra, tıpkı saat gibi, orijinaline çok benzeyen ve iyi bir test kodu elde ettim. bash'taki yacc_bash.c mini-jq için.

Tam makale:

Kaynak: linux.org.ru

Yorum ekle