কম্পাইলার

থাম্ব|কম্পাইলার ডিজাইন|459x459পিক্সেল**কম্পাইলার** বা **সংকলক** এমন এক ধরনের কম্পিউটার প্রোগ্রাম বা প্রোগ্রাম-সমষ্টি যা কোন কম্পিউটার বিধিভাষা (উৎস ভাষা) থেকে অপর একটি কম্পিউটার বিধিভাষায় (লক্ষ্য ভাষা) অনুবাদ করে। সাধারণত কোন প্রোগ্রামের উৎসরূপ থেকে যন্ত্রভাষায় রূপান্তরের কাজটির জন্য সংকলক ব্যবহৃত হয়। সাধারণত আমরা সংকলক হিসাবে সেই সকল সফটওয়্যারকে বুঝে করি যারা উৎস বিধিভাষা থেকে লক্ষ্য হিসেবে সমাহিত ভাষাতে (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.  

## তথ্যসূত্র

## গ্রন্থপঞ্জি

* Compiler textbook references A collection of references to mainstream Compiler Construction Textbooks
* **' by [[Alfred V. Aho]], [[Ravi Sethi]], and [[Jeffrey D. Ullman]] () is considered to be the standard authority on compiler basics (undergraduate level), and makes a good primer for the techniques mentioned above. (It is often called the ***Dragon Book**' because of the picture on its cover showing a Knight of Programming fighting the Dragon of Compiler Design.) [http://www.aw.com/catalog/academic/product/0,4096,0201100886,00.html link to publisher]
* *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.
* *Understanding and Writing Compilers: A Do It Yourself Guide* () by [[Richard Bornat]] is an unusually helpful book, being one of the few that adequately explains the recursive generation of [[machine language|machine instructions]] from a [[parse tree]]. The authors experience from the early days of mainframes and minicomputers, provides useful insights that more recent books often fail to convey. [http://www.cs.mdx.ac.uk/staffpages/r_bornat/books/compiling.pdf The book is also available from the author's page.] 
* *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 [https://web.archive.org/web/20070615132948/http://www.oberon2005.ru/book/ccnw2005e.pdf]. 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)|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 [http://www.cs.rochester.edu/~scott/pragmatics/ the author's site].
* [http://www.research.ibm.com/journal/rd/255/ibmrd2505Q.pdf "A History of Language Processor Technology in IBM"], by F.E. Allen, IBM Journal of Research and Development, v.25, no.5, September 1981.
</div>

== বহিঃসংযোগ ==
* [https://web.archive.org/web/20070711173348/http://codepedia.com/compile What is "compile"?] from the developer's encyclopedia
* [http://gcc.gnu.org/ GCC, একটি বহু-প্রচলিত মুক্ত-সোর্স কম্পাইলার]
* [http://www.kegel.com/crosstool/ Building and Testing gcc/glibc cross toolchains]
* [http://tack.sourceforge.net/ The Amsterdam Compiler Kit] open-source
* [http://compilers.iecc.com/ The comp.compilers newsgroup and RSS feed]
* [http://compilers.iecc.com/crenshaw/ *Let's Build a Compiler'' by Jack Crenshaw (1988 to 1995)] "a non-technical introduction to compiler construction"
* Hardware compilation information
* Hardware compilation mailing list


বিষয়শ্রেণী:কম্পিউটার প্রোগ্রামিং
বিষয়শ্রেণী:প্রোগ্রামিং ভাষা বাস্তবায়ন
বিষয়শ্রেণী:সিস্টেম সফটওয়্যার
বিষয়শ্রেণী:মার্কিন উদ্ভাবন
বিষয়শ্রেণী:কম্পিউটার গ্রন্থাগার