bash ਸਕ੍ਰਿਪਟ ਵਿੱਚ yacc (ਪ੍ਰੀ-ਬਾਈਸਨ) ਪਾਰਸਰ। bash ਵਿੱਚ jq ਨੂੰ ਲਾਗੂ ਕਰਨਾ

ਕਈ ਵਾਰ ਸਮੱਸਿਆ ਇੱਕ ਛੋਟੀ ਸਮਾਰਟ ਲਿਪੀ ਲਿਖਣ ਦੀ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਜੋ ਕੁਝ ਬਿਲਟ-ਇਨ ਵਿਆਕਰਣ ਨੂੰ ਸਮਝਦੀ ਹੈ, ਯਾਨੀ ਅੰਦਰ ਇੱਕ ਮਿੰਨੀ-ਭਾਸ਼ਾ ਦੇ ਨਾਲ। ਮੈਂ ਅਸਲ ਵਿੱਚ bash ਵਿੱਚ jq ਦਾ ਇੱਕ ਘੱਟੋ-ਘੱਟ ਲਾਗੂਕਰਨ ਲਿਖਿਆ ਸੀ। ਪਰ ਜਿੰਨਾ ਜ਼ਿਆਦਾ "ਸਮਾਰਟਨੇਸ" ਉੱਥੇ ਜੋੜਿਆ ਗਿਆ ਸੀ, ਉਪ-ਅਭਿਵਿਅਕਤੀਆਂ ਦੀ ਮੁੜ-ਵਰਤੀ ਪਾਰਸਿੰਗ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਓਨਾ ਹੀ ਮੁਸ਼ਕਲ ਸੀ। ਮੈਂ ਇਸ ਤੋਂ ਇੰਨਾ ਥੱਕ ਗਿਆ ਸੀ ਕਿ ਮੈਨੂੰ ਬੈਸ਼ ਸਕ੍ਰਿਪਟ ਬਣਾਉਣ ਲਈ ਪਹਿਲਾਂ LARL(1) yacc (ਪ੍ਰੀ-ਬਾਈਸਨ) ਕੰਪਾਈਲਰ ਲਿਖਣ ਲਈ ਕਿਹਾ ਗਿਆ ਸੀ, ਅਤੇ ਫਿਰ, ਕਲਾਕਵਰਕ ਦੀ ਤਰ੍ਹਾਂ, ਮੈਨੂੰ ਅਸਲ ਦੇ ਸਮਾਨ ਅਤੇ ਇੱਕ ਵਧੀਆ ਟੈਸਟ ਕੋਡ ਮਿਲਿਆ। bash ਵਿੱਚ yacc_bash.c mini-jq ਲਈ।

ਪੂਰਾ ਲੇਖ:

ਸਰੋਤ: linux.org.ru

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ