কম্পাইলার বা সংকলক এমন এক ধরনের কম্পিউটার প্রোগ্রাম বা প্রোগ্রাম-সমষ্টি যা কোন কম্পিউটার বিধিভাষা (উৎস ভাষা) থেকে অপর একটি কম্পিউটার বিধিভাষায় (লক্ষ্য ভাষা) অনুবাদ করে। সাধারণত কোন প্রোগ্রামের উৎসরূপ থেকে যন্ত্রভাষায় রূপান্তরের কাজটির জন্য সংকলক ব্যবহৃত হয়। সাধারণত আমরা সংকলক হিসাবে সেই সকল সফটওয়্যারকে বুঝে করি যারা উৎস বিধিভাষা থেকে লক্ষ্য হিসেবে সমাহিত ভাষাতে (assembly) পরিণত করে, যা তারপর সমাহিতক (assembler) দ্বারা যন্ত্রভাষায় (machine code) পরিণত হয়। কম্পিউটারের সূক্ষ্মসংসাধক (microprocessor) শুধুমাত্র এই যন্ত্রভাষাই বুঝতে পারে এবং সে অনুযায়ী কর্মসম্পাদন করে।
কম্পাইলার মূলত অনুবাদক প্রোগ্রাম হলেও এর বর্তমান নাম "কম্পাইলার" বা "সংকলক" হওয়ার পেছনের ইতিহাস জানতে পারা যায় নিচের উদ্ধৃতিটি থেকে:
A compiler was originally a program that "compiled" subroutines [a link-loader]. When in 1954 the combination "algebraic compiler" came into use, or rather into misuse, the meaning of the term had already shifted into the present one. [১]
Advanced Compiler Design and Implementation by Steven Muchnick (আইএসবিএন১-৫৫৮৬০-৩২০-৪). One of the widely-used text books for advanced compiler courses (graduate level).
Engineering a Compiler by Keith D. Cooper and Linda Torczon . Morgan Kaufmann 2004, আইএসবিএন১-৫৫৮৬০-৬৯৯-৮. This is a very practical compiler book.
An Overview of the Production Quality Compiler-Compiler Project by Leverett, Cattel, Hobbs, Newcomer, Reiner, Schatz and Wulf. Computer 13(8):38-49 (August 1980)
Compiler Construction by Niklaus Wirth (আইএসবিএন০-২০১-৪০৩৫৩-৬) Addison-Wesley 1996, 176 pages, also available at [১]. Step-by-step guide to using recursive descent parser. Describes a compiler for Oberon-0, a subset of the author's programming language, Oberon.
"Programming Language Pragmatics" by Michael Scott (আইএসবিএন০-১২-৬৩৩৯৫১-১) Morgan Kaufmann 2005, 2nd edition, 912 pages. This book offers a broad and in-depth introduction to compilation techniques and programming languages, illustrated with many examples. More information on the book can be found at the author's site.