yacc (pre-bison) парсСр Π² bash-скрипт. РСализация jq Π½Π° bash

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСбольшой ΡƒΠΌΠ½Ρ‹ΠΉ скрипт, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΊΡƒΡŽ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с миниязыком внутрях. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ я написал ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ jq Π½Π° bash. Но Ρ‡Π΅ΠΌ большС добавлялось Ρ‚ΡƒΠ΄Π° «ΡƒΠΌΠ½ΠΎΡΡ‚ΠΈ», Ρ‚Π΅ΠΌ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ рСкурсивный Ρ€Π°Π·Π±ΠΎΡ€ ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ Π½Π°Π΄ΠΎΠ΅Π»ΠΎ, Ρ‡Ρ‚ΠΎ сподвигло Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π½Π°Ρ‡Π°Π»Π΅ компилятор LARL(1) yacc (pre-bison) для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ bash-скрипта, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΠΎ маслу получился вСсьма ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для yacc_bash.c ΠΌΠΈΠ½ΠΈ-jq Π½Π° bash.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru