ব্যাশ স্ক্রিপ্টে yacc (প্রি-বাইসন) পার্সার। ব্যাশে jq বাস্তবায়ন

কখনও কখনও একটি ছোট স্মার্ট স্ক্রিপ্ট লিখতে সমস্যা দেখা দেয় যা কিছু অন্তর্নির্মিত ব্যাকরণ বোঝে, অর্থাৎ ভিতরে একটি মিনি-ভাষা সহ। আমি মূলত ব্যাশে jq এর একটি ন্যূনতম বাস্তবায়ন লিখেছিলাম। কিন্তু সেখানে যত বেশি "স্মার্টনেস" যোগ করা হয়েছিল, সাব এক্সপ্রেশনের পুনরাবৃত্ত পার্সিং বাস্তবায়ন করা তত কঠিন ছিল। আমি এতে এতটাই ক্লান্ত ছিলাম যে আমাকে প্রথমে একটি ব্যাশ স্ক্রিপ্ট তৈরি করতে LARL(1) yacc (প্রি-বাইসন) কম্পাইলার লিখতে বলা হয়েছিল, এবং তারপরে, ঘড়ির কাজের মতো, আমি আসলটির সাথে খুব মিল এবং একটি ভাল পরীক্ষার কোড পেয়েছি। ব্যাশে yacc_bash.c মিনি-জেকিউ-এর জন্য।

সম্পূর্ণ নিবন্ধ:

উত্স: linux.org.ru

একটি মন্তব্য জুড়ুন