संकलक
एक कंपाइलर एक कंप्यूटर प्रोग्राम है जो किसी प्रोग्रामिंग भाषा में किसी अन्य कंप्यूटर भाषा में लिखा गया एक स्रोत कोड बदलता है। मशीन द्वारा इसका फायदा उठाने के लिए, कंपाइलर स्रोत कोड का अनुवाद करता है, जो उच्च स्तर के अमूर्त की भाषा में लिखा जाता है, आसानी से मानव द्वारा समझा जाता है, निम्न स्तर की भाषा, विधानसभा की भाषा या मशीन भाषा अर्द्ध-संकलित भाषा के मामले में, स्रोत कोड को इंटरमीडिएट भाषा में अनुवादित किया जाता है, द्विआधारी रूप में, स्वयं को व्याख्या या संकलित होने से पहले। इसके विपरीत, एक प्रोग्राम जो निम्न स्तरीय भाषा को उच्च-स्तरीय भाषा में अनुवादित करता है वह एक डीकंपाइलर है एक कंपाइलर निम्नलिखित कार्यों को पूरा करता है: भाषा संबंधी विश्लेषण, पूर्व प्रसंस्करण, वाक्यविन्यास विश्लेषण, अर्थ विश्लेषण, कोड जनरेशन और कोड अनुकूलन। जब संकलित प्रोग्राम कंप्यूटर पर चलाया जा सकता है, जिसकी प्रोसेसर या ऑपरेटिंग सिस्टम कंपाइलर से अलग है, इसे क्रॉस-संकलन कहा जाता है। एक निष्पादन योग्य फ़ाइल उत्पन्न करने के लिए संकलन अक्सर एक लिंक संपादन चरण है।