A special program that processes statements written in a particular programming language and turns them into machine language or code that a computer's processor uses.
A compiler is a program that translates human readable source code into computer executable machine code. To do this successfully the human readable code must comply with the syntax rules of whichever programming language it is written in. The compiler is only a program and cannot fix your programs for you. This output from Lexical Analyzer goes to the Syntactical Analyzer part of the compiler. This uses the rules of grammar to decide whether the input is valid or not. Unless variables A and B had been previously declared and were in scope, the compiler might say. ' 1 A' : undeclared identifier. Traditionally, the output of the compilation has been called object code or sometimes an object module. (Note that the term object here is not related to object-oriented programming .) The object code is machine code that the processor can process or execute one instruction at a time. The file that is created contains what are called the source statements. The programmer then runs the appropriate language compiler, specifying the name of the file that contains The compiler derives its name from the way it works, looking at the entire piece of source code and collecting and reorganizing the instructions. Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code in succession, without looking at the entire program. Because compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language. For example, there is a FORTRAN compiler for PCs and another for Apple Macintosh computers. Rating Newest Oldest. Best Answer: An assembler translate a program written in assembly-language to machine-code (object-file), and optionally to an executable (runnable program-file), like a EXE or COM file. A compiler translate a source-code written i a programming-language (like C or Pascal) to an object-file (machine code). Report Abuse. a compiler converts the source code of a program into assembly language, and the assembler converts the assembly source into something that can be read by the computer (1's and 0's). Lexical Analysis. Lexical analysis is the process of analyzing a stream of individual characters (normally arranged as lines), into a sequence of lexical tokens (tokenization. for instance of words and punctuation symbols that make up source code) to feed into the parser.  MinGW does not rely on third-party C runtime dynamic-link library (DLL) files, and because the runtime libraries are not distributed using the GNU General Public License (GPL), it is not necessary to distribute the source code with the programs produced, unless a GPL library is used elsewhere in the program. MinGW (Minimalist GNU for Windows), formerly mingw32, is a free and open source software development environment for creating Microsoft Windows applications. Messages: 1,296. Java has a compiler which compiles source into byte code. This can be run on a virtual machine(which can be seen as an interpreter) or a machine whose machine language is bytecode, eg. picojava chips. The third option is a just in time(JIT) compiler which compiles java to native code. Voodoo Child, Jun 18, 2004. #6. A compiler is a special program that processes statements written in a particular programming language and turns them into machine language or code that a computer's processor uses. Typically, a programmer writes language statements in a language such as Pascal or C one line at a time using an editor. The file that is created contains what are called the source statements. The programmer then runs the appropriate language compiler, specifying the name of the file that contains From wikipedia: The name compiler is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine code). The most common reason for wanting to transform source code is to create an executable program. So how does IDEs like Code::Blocks or Dev-C++ compile your code? They use compilers. Code::Blocks uses MinGW Compiler which is a port of the GCC set of compilers. Dev-C++ uses that same compiler too but the version may vary. Interpreters languages like Perl, or even Interpreter programs like the browser your using to view the forums, allows human readible programming to be executed. However Interpreting code thats human readible is Slow, and in most interpreters I know of it works on the basis of Line by Line. Java has a compiler which compiles source into byte code. This can be run on a virtual machine(which can be seen as an interpreter) or a machine whose machine language is bytecode, eg. picojava chips. The third option is a just in time(JIT) compiler which compiles java to native code. Voodoo Child, Jun 18, 2004. #6.
http://cplus.about.com/od/introductiontoprogramming/p/compiler.htm http://whatis.techtarget.com/definition/compiler http://www.webopedia.com/TERM/C/compiler.html https://in.answers.yahoo.com/question/index?qid=20091030083211AAKHkdC https://en.wikibooks.org/wiki/Compiler_Construction/Lexical_analysis https://en.wikipedia.org/wiki/MinGW http://www.sciforums.com/threads/whats-the-importance-of-compiler-technology.37505/ http://whatis.techtarget.com/definition/compiler http://www.cplusplus.com/articles/o8TbqMoL/ http://www.sciforums.com/threads/whats-the-importance-of-compiler-technology.37505/
what is the importance of compiler
कंपाइलर का महत्व क्या है
एक विशिष्ट प्रोग्रामन भाषा में लिखे गए कथनों को संसाधित करके उन्हें मशीन भाषा या कंप्यूटर के प्रक्रमक द्वारा प्रयुक्त कोड में परिवर्तित किया जाता है.
कंपाइलर एक प्रोग्राम है जो मानव पठनीय स्रोत कोड को कंप्यूटर निष्पादन योग्य मशीन कोड में अनुवाद करता है। इसे सफलतापूर्वक करने के लिए, मानव पठनीय कोड को जिस भी प्रोग्रामिंग भाषा में लिखा गया है, उसके सिंटैक्स नियमों का पालन करना चाहिए। कंपाइलर केवल एक प्रोग्राम है और आपके लिए आपके प्रोग्राम को ठीक नहीं कर सकता है। लेक्सिकल एनालाइज़र से यह आउटपुट कंपाइलर के सिंटैक्टिकल एनालाइज़र भाग में जाता है। यह व्याकरण के नियमों का उपयोग यह तय करने के लिए करता है कि इनपुट मान्य है या नहीं। जब तक चर ए और बी पहले घोषित नहीं किए गए थे और दायरे में थे, संकलक कह सकता है। ' 1 ए' : अघोषित पहचानकर्ता। परंपरागत रूप से, संकलन के आउटपुट को ऑब्जेक्ट कोड या कभी-कभी ऑब्जेक्ट मॉड्यूल कहा जाता है। (ध्यान दें कि यहां ऑब्जेक्ट शब्द ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग से संबंधित नहीं है। ऑब्जेक्ट कोड मशीन कोड है जिसे प्रोसेसर एक समय में एक निर्देश को संसाधित या निष्पादित कर सकता है। बनाई गई फ़ाइल में स्रोत कथन कहलाते हैं। प्रोग्रामर तब उपयुक्त भाषा कंपाइलर चलाता है, जिसमें फ़ाइल का नाम निर्दिष्ट होता है कंपाइलर अपना नाम अपने काम करने के तरीके से प्राप्त करता है, स्रोत कोड के पूरे टुकड़े को देखता है और निर्देशों को इकट्ठा और पुनर्गठित करता है। इस प्रकार, एक कंपाइलर एक दुभाषिया से भिन्न होता है, जो पूरे कार्यक्रम को देखे बिना, उत्तराधिकार में स्रोत कोड की प्रत्येक पंक्ति का विश्लेषण और निष्पादन करता है। क्योंकि कंपाइलर स्रोत कोड को ऑब्जेक्ट कोड में अनुवाद करते हैं, जो प्रत्येक प्रकार के कंप्यूटर के लिए अद्वितीय है, एक ही भाषा के लिए कई कंपाइलर उपलब्ध हैं। उदाहरण के लिए, पीसी के लिए एक फोरट्रान कंपाइलर है और दूसरा ऐप्पल मैकिंटोश कंप्यूटर के लिए है। रेटिंग सबसे पुराना। सर्वश्रेष्ठ उत्तर: एक कोडांतरक असेंबली-भाषा में लिखे गए प्रोग्राम का मशीन-कोड (ऑब्जेक्ट-फाइल) में अनुवाद करता है, और वैकल्पिक रूप से एक निष्पादन योग्य (रननेबल प्रोग्राम-फाइल), जैसे EXE या COM फ़ाइल। एक कंपाइलर एक प्रोग्रामिंग-भाषा (जैसे सी या पास्कल) में लिखे गए स्रोत-कोड को ऑब्जेक्ट-फ़ाइल (मशीन कोड) में अनुवाद करता है। दुर्व्यवहार की रिपोर्ट करें पर टैप करें. एक कंपाइलर प्रोग्राम के सोर्स कोड को असेंबली भाषा में कनवर्ट करता है, और असेंबलर असेंबली स्रोत को किसी ऐसी चीज़ में परिवर्तित करता है जिसे कंप्यूटर (1 और 0) द्वारा पढ़ा जा सकता है। लेक्सिकल विश्लेषण। लेक्सिकल विश्लेषण व्यक्तिगत वर्णों की एक धारा का विश्लेषण करने की प्रक्रिया है (आमतौर पर लाइनों के रूप में व्यवस्थित), लेक्सिकल टोकन के अनुक्रम में (टोकनकरण। उदाहरण के लिए शब्दों और विराम चिह्न प्रतीकों के लिए जो स्रोत कोड बनाते हैं) पार्सर में फ़ीड करने के लिए।  MinGW तृतीय-पक्ष C रनटाइम डायनामिक-लिंक लाइब्रेरी (DLL) फ़ाइलों पर निर्भर नहीं करता है, और क्योंकि रनटाइम लाइब्रेरी GNU जनरल पब्लिक लाइसेंस (GPL) का उपयोग करके वितरित नहीं की जाती हैं, इसलिए उत्पादित कार्यक्रमों के साथ स्रोत कोड वितरित करना आवश्यक नहीं है, जब तक कि GPL लाइब्रेरी का उपयोग प्रोग्राम में कहीं और नहीं किया जाता है। MinGW (विंडोज के लिए मिनिमलिस्ट GNU), पूर्व में mingw32, Microsoft Windows एप्लिकेशन बनाने के लिए एक स्वतंत्र और खुला स्रोत सॉफ़्टवेयर विकास वातावरण है। संदेश: 1,296। जावा में एक कंपाइलर है जो स्रोत को बाइट कोड में संकलित करता है। इसे वर्चुअल मशीन (जिसे दुभाषिया के रूप में देखा जा सकता है) या एक मशीन पर चलाया जा सकता है जिसकी मशीन भाषा बाइटकोड है, जैसे। पिकोजावा चिप्स। तीसरा विकल्प जस्ट इन टाइम (जेआईटी) कंपाइलर है जो जावा को देशी कोड में संकलित करता है। वूडू चाइल्ड, 18 जून, 2004। #6. एक कंपाइलर एक विशेष प्रोग्राम है जो किसी विशेष प्रोग्रामिंग भाषा में लिखे गए बयानों को संसाधित करता है और उन्हें मशीन भाषा या कोड में बदल देता है जो कंप्यूटर का प्रोसेसर उपयोग करता है। आमतौर पर, एक प्रोग्रामर एक संपादक का उपयोग करके एक समय में पास्कल या सी जैसी भाषा में भाषा के बयान लिखता है। बनाई गई फ़ाइल में स्रोत कथन कहलाते हैं। प्रोग्रामर तब उपयुक्त भाषा कंपाइलर चलाता है, जिसमें फ़ाइल का नाम निर्दिष्ट होता है विकिपीडिया से: नाम संकलक मुख्य रूप से उन कार्यक्रमों के लिए उपयोग किया जाता है जो स्रोत कोड को उच्च-स्तरीय प्रोग्रामिंग भाषा से निचले स्तर की भाषा (जैसे, असेंबली भाषा या मशीन कोड) में अनुवाद करते हैं। स्रोत कोड को बदलने की इच्छा का सबसे आम कारण एक निष्पादन योग्य प्रोग्राम बनाना है। तो आईडीई जैसे कोड :: ब्लॉक या देव-सी ++ आपके कोड को कैसे संकलित करता है? वे कंपाइलर का उपयोग करते हैं। कोड:: ब्लॉक मिनजीडब्ल्यू कंपाइलर का उपयोग करता है जो कंपाइलर्स के जीसीसी सेट का एक पोर्ट है। देव-सी ++ उसी कंपाइलर का भी उपयोग करता है लेकिन संस्करण भिन्न हो सकता है। पर्ल जैसी दुभाषिए भाषाएं, या यहां तक कि ब्राउज़र जैसे इंटरप्रेटर प्रोग्राम जो आपके द्वारा फ़ोरम देखने के लिए उपयोग किए जाते हैं, मानव पठनीय प्रोग्रामिंग को निष्पादित करने की अनुमति देते हैं। हालांकि मानव पठनीय कोड की व्याख्या धीमी है, और अधिकांश दुभाषियों में मुझे पता है कि यह लाइन द्वारा लाइन के आधार पर काम करता है। जावा में एक कंपाइलर है जो स्रोत को बाइट कोड में संकलित करता है। इसे वर्चुअल मशीन (जिसे दुभाषिया के रूप में देखा जा सकता है) या एक मशीन पर चलाया जा सकता है जिसकी मशीन भाषा बाइटकोड है, जैसे। पिकोजावा चिप्स। तीसरा विकल्प जस्ट इन टाइम (जेआईटी) कंपाइलर है जो जावा को देशी कोड में संकलित करता है। वूडू चाइल्ड, 18 जून, 2004। #6.
संकलकाचे महत्त्व काय आहे
संकलक हा एक प्रोग्राम आहे जो मानवी वाचनीय स्त्रोत कोडला संगणक कार्यक्षम मशीन कोडमध्ये भाषांतरित करतो. हे यशस्वीरित्या करण्यासाठी, मानवी वाचनीय कोड कोणत्याही प्रोग्रामिंग भाषेत लिहिलेल्या वाक्यरचना नियमांचे पालन करणे आवश्यक आहे. संकलक केवळ एक प्रोग्राम आहे आणि आपल्यासाठी आपले प्रोग्राम निश्चित करू शकत नाही. लेक्सिकल अॅनालायझरचे हे आउटपुट संकलकाच्या सिंटॅक्टिकल अॅनालायझर भागाकडे जाते. हे इनपुट वैध आहे की नाही हे ठरविण्यासाठी व्याकरणाच्या नियमांचा वापर करते. व्हेरिएबल ए आणि बी पूर्वी घोषित केले गेले नसते आणि कार्यक्षेत्रात होते, संकलक म्हणू शकेल. '१ अ' : अघोषित ओळखकर्ता. पारंपारिकपणे, संकलनाच्या आउटपुटला ऑब्जेक्ट कोड किंवा कधीकधी ऑब्जेक्ट मॉड्यूल म्हणतात. (येथे ऑब्जेक्ट हा शब्द ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंगशी संबंधित नाही हे लक्षात घ्या.) ऑब्जेक्ट कोड मशीन कोड आहे जो प्रोसेसर एका वेळी एका सूचनेवर प्रक्रिया करू शकतो किंवा अंमलात आणू शकतो. जी फाईल तयार केली जाते त्यामध्ये सोर्स स्टेटमेंट्स म्हणतात. त्यानंतर प्रोग्रामर योग्य भाषा संकलक चालवतो, ज्यात असलेल्या फाइलचे नाव निर्दिष्ट केले जाते संकलक त्याचे नाव कार्य करण्याच्या पद्धतीवरून प्राप्त करते, स्त्रोत कोडचा संपूर्ण तुकडा पाहतो आणि सूचना गोळा करतो आणि पुनर्रचना करतो. अशा प्रकारे, संकलक दुभाषियापेक्षा भिन्न आहे, जो संपूर्ण प्रोग्राम न पाहता, स्त्रोत कोडच्या प्रत्येक ओळीचे विश्लेषण आणि अंमलबजावणी करतो. कारण संकलक सोर्स कोडऑब्जेक्ट कोडमध्ये भाषांतरित करतात, जे प्रत्येक प्रकारच्या संगणकासाठी अद्वितीय आहे, बरेच संकलक एकाच भाषेसाठी उपलब्ध आहेत. उदाहरणार्थ, पीसीसाठी एक फोरट्रान संकलक आहे आणि अॅपल मॅकिन्टोश संगणकांसाठी दुसरा आहे. सर्वात नवीन सर्वात जुने रेटिंग. सर्वोत्कृष्ट उत्तर: असेंबलर असेंब्ली-भाषेत लिहिलेल्या प्रोग्रामचे मशीन-कोड (ऑब्जेक्ट-फाइल) मध्ये आणि पर्यायाने एक्सई किंवा सीओएम फाइलसारख्या एक्झिक्युटेबल (रनेबल प्रोग्राम-फाइल) मध्ये भाषांतर करतो. संकलक प्रोग्रामिंग-भाषेत लिहिलेल्या स्त्रोत-कोडचे (जसे की सी किंवा पास्कल) ऑब्जेक्ट-फाईलमध्ये (मशीन कोड) भाषांतर करतो. गैरवर्तनाची तक्रार करा. संकलक एखाद्या प्रोग्रामच्या स्त्रोत कोडला असेंब्ली भाषेत रूपांतरित करतो आणि असेंबलर असेंब्ली सोर्सला संगणकाद्वारे वाचता येईल अशा गोष्टीत रूपांतरित करतो (1 आणि 0). शाब्दिक विश्लेषण। शाब्दिक विश्लेषण म्हणजे पार्सरमध्ये फीड करण्यासाठी वैयक्तिक वर्णांच्या प्रवाहाचे (सामान्यत: रेषा म्हणून व्यवस्थाकृत), शाब्दिक टोकनच्या अनुक्रमात (टोकनीकरण. उदाहरणार्थ स्त्रोत कोड तयार करणारे शब्द आणि विरामचिन्हे चिन्हे) विश्लेषण करण्याची प्रक्रिया.  एमआयएनजीडब्ल्यू तृतीय-पक्ष सी रनटाइम डायनॅमिक-लिंक लायब्ररी (डीएलएल) फाइल्सवर अवलंबून नाही आणि जीएनयू जनरल पब्लिक लायसन्स (जीपीएल) वापरुन रनटाइम लायब्ररी वितरित केली जात नसल्यामुळे, प्रोग्राममध्ये इतरत्र जीपीएल लायब्ररी वापरल्याशिवाय तयार केलेल्या प्रोग्रामसह स्त्रोत कोड वितरित करणे आवश्यक नाही. मिनजीडब्ल्यू (विंडोजसाठी मिनिमलिस्ट जीएनयू), पूर्वी मिंगडब्ल्यू 32, मायक्रोसॉफ्ट विंडोज अनुप्रयोग तयार करण्यासाठी एक विनामूल्य आणि मुक्त स्त्रोत सॉफ्टवेअर विकास वातावरण आहे. संदेश: 1,296. जावामध्ये एक संकलक आहे जो स्त्रोत बाइट कोडमध्ये संकलित करतो. हे व्हर्च्युअल मशीनवर चालवले जाऊ शकते (जे दुभाषी म्हणून पाहिले जाऊ शकते) किंवा ज्या मशीनची मशीन भाषा बाइटकोड आहे, उदा. पिकोजावा चिप्स। तिसरा पर्याय म्हणजे जस्ट इन टाईम (जेआयटी) संकलक जो जावा ते नेटिव्ह कोड संकलित करतो. वूडू चाइल्ड, 18 जून 2004। #6. कंपाइलर हा एक विशेष प्रोग्राम आहे जो विशिष्ट प्रोग्रामिंग भाषेत लिहिलेल्या विधानांवर प्रक्रिया करतो आणि संगणकाचा प्रोसेसर वापरत असलेल्या मशीन भाषा किंवा कोडमध्ये रूपांतरित करतो. थोडक्यात, प्रोग्रामर संपादक वापरून एका वेळी पास्कल किंवा सी सारख्या भाषेत भाषेची विधाने लिहितो. जी फाईल तयार केली जाते त्यामध्ये सोर्स स्टेटमेंट्स म्हणतात. त्यानंतर प्रोग्रामर योग्य भाषा संकलक चालवतो, ज्यात असलेल्या फाइलचे नाव निर्दिष्ट केले जाते विकिपीडियावरून : संकलक हे नाव प्रामुख्याने उच्च-स्तरीय प्रोग्रामिंग भाषेतून खालच्या स्तरावरील भाषेत (उदा., असेंब्ली लँग्वेज किंवा मशीन कोड) सोर्स कोडचे भाषांतर करणाऱ्या प्रोग्रामसाठी वापरले जाते. स्त्रोत कोड रूपांतरित करण्याची इच्छा असण्याचे सर्वात सामान्य कारण म्हणजे कार्यक्षम प्रोग्राम तयार करणे. तर आयडीई कोड सारखे कोड::ब्लॉक्स किंवा डेव्ह-सी ++ आपला कोड कसे संकलित करतात? ते संकलकांचा वापर करतात. कोड::ब्लॉक्स मिनजीडब्ल्यू कंपाइलर वापरतात जे संकलकांच्या जीसीसी संचाचे पोर्ट आहे. देव-सी ++ देखील तोच संकलक वापरतो परंतु आवृत्ती बदलू शकते. पर्लसारख्या दुभाषी भाषा किंवा अगदी फोरम पाहण्यासाठी वापरल्या जाणार्या ब्राउझरसारखे इंटरप्रेटर प्रोग्राम, मानवी वाचनीय प्रोग्रामिंग कार्यान्वित करण्यास अनुमती देतात. तथापि मानवी वाचनीय असलेल्या कोडचा अर्थ लावणे स्लो आहे आणि बहुतेक दुभाषकांमध्ये मला माहित आहे की ते लाइन बाय लाइनच्या आधारावर कार्य करते. जावामध्ये एक संकलक आहे जो स्त्रोत बाइट कोडमध्ये संकलित करतो. हे व्हर्च्युअल मशीनवर चालवले जाऊ शकते (जे दुभाषी म्हणून पाहिले जाऊ शकते) किंवा ज्या मशीनची मशीन भाषा बाइटकोड आहे, उदा. पिकोजावा चिप्स। तिसरा पर्याय म्हणजे जस्ट इन टाईम (जेआयटी) संकलक जो जावा ते नेटिव्ह कोड संकलित करतो. वूडू चाइल्ड, 18 जून 2004। #6.
एक विशेष प्रोग्राम जो विशिष्ट प्रोग्रामिंग भाषेत लिहिलेल्या विधानांवर प्रक्रिया करतो आणि संगणकाचा प्रोसेसर वापरत असलेल्या मशीन लँग्वेज किंवा कोडमध्ये रूपांतरित करतो.