প্রসঙ্গমুক্ত ব্যাকরণ
ভাষাবিজ্ঞান এবং কম্পিউটার বিজ্ঞানে প্রসঙ্গমুক্ত ব্যাকরণ (ইংরেজি: Context-free grammar বা সংক্ষেপে CFG) হচ্ছে একটি বিধিগত ব্যাকরণ (formal grammar) যেখানে প্রতিটি উৎপাদনী সূত্র (production rule) নিম্নোক্ত রূপের হয়- V → w যেখানে V একটি অসমাপ্তিজ্ঞাপক প্রতীক (nonterminal symbol) এবং w হচ্ছে সমাপ্তিজ্ঞাপক (terminal symbol) ও/অথবা অসমাপ্তিজ্ঞাপক প্রতীক দিয়ে গঠিত একটি স্ট্রিং। "প্রসঙ্গমুক্ত" (context-free) পরিভাষাটি দিয়ে বোঝানো হচ্ছে যে অসমাপ্তিজ্ঞাপক V-কে সর্বদাই w দিয়ে প্রতিস্থাপিত করা যাবে, সেটি যে প্রসঙ্গেই ঘটুক না কেন। একটি বিধিগত ভাষা (formal language) যদি কোন প্রসঙ্গমুক্ত ব্যাকরণ থেকে উৎপাদন বা সৃষ্টি (generate) করা হয়, তবে তাকে প্রসঙ্গমুক্ত ভাষা (context-free language) বলা হয়। প্রসঙ্গমুক্ত ব্যাকরণ একটি শক্তিশালী ধারণা এবং এর সাহায্যে বেশির ভাগ প্রোগ্রামিং ভাষার সিনট্যাক্স বর্ণনা করা যায় এবং তা-ই বাস্তবে ঘটেছে। কিন্তু প্রসঙ্গমুক্ত ব্যাকরণগুলি সরলও বটে; এগুলির সাহায্যে দক্ষ পার্সিং অ্যালগোরিদম নির্মাণ করা সম্ভব, যেগুলি কোন প্রদত্ত স্ট্রিং কীভাবে ব্যাকরণটি থেকে সৃষ্টি হতে পারে, তা নির্ণয়ে সক্ষম। আর্লি পার্সার (Earley parser) এই ধরনের অ্যালগোরিদমের একটি উদাহরণ। এলআর পার্সার (LR parser) এবং এলএল পার্সারগুলি (LL parser) প্রসঙ্গমুক্ত ব্যাকরণসমূহের একটি সীমিত উপসেটের ওপর কাজ করে। প্রসঙ্গমুক্ত ব্যাকরণ প্রকাশ করার জন্য সবচেয়ে প্রচলিত লিখন পদ্ধতি (notation) হচ্ছে বিএনএফ (BNF) বা বাকাস-নাউর রূপ। বিধিগত ভাষামাত্রেই প্রসঙ্গমুক্ত নয়। এরকম একটি ভাষা হল { a n b n c n : n ≥ 0 } {\displaystyle \{a^{n}b^{n}c^{n}:n\geq 0\}} , যা এমন কতগুলি স্ট্রিং-এর সেট, যার প্রতিটি স্ট্রিং কিছু সংখ্যক a দিয়ে শুরু হয়, এবং একে অনুসরণ করে সমসংখ্যক b এবং c।