Compiler (original) (raw)
Překladač (též kompilátor, anglicky translator nebo také compiler z to compile – sestavit, zpracovat) je v nejčastějším smyslu slova softwarový nástroj používaný programátory pro vývoj softwaru. Kompilátor slouží pro překlad algoritmů zapsaných ve vyšším programovacím jazyce do jazyka nižšího, nejčastěji strojového, či spíše do strojového kódu. Z širšího obecného hlediska je kompilátor stroj, respektive program, provádějící překlad z nějakého vstupního jazyka do jazyka výstupního. Z matematického hlediska je kompilátor funkce, která mapuje jeden nebo více zdrojových kódů podle překladových parametrů na kód ve výstupním jazyce.
Property | Value |
---|---|
dbo:abstract | المحول البرمجي أو المُصرِّف أو البرنامج المُترجِم أو المُترجِم أو برنامج الترجمة أو البرنامج المُؤلِّف (بالإنجليزية: Compiler) هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج. على غير البدايات حين كانت البرامج تبرمج أصلاً بلغات متدنية المستوى (أي قريبة من بنية الحاسوب) يفهمها الحاسوب مباشرة، أصبحت الآن البرامج تبرمج بلغات عالية المستوى (عالية أي بعيدة عن فهم الحاسوب لها، وأقرب إلى فهم البشر). السبب في هذا أن البرامج زادت في تعقيدها وفي حساباتها، مما جعل البرمجة المباشرة للحاسوب أمرًا صعبًا، كما أن انتشار عدة بنى للحاسوب (مثل ARM ) جعل من اللازم كتابة البرامج عدة مرات بلغات ذات مستويات متدنية عدة لكي تعمل على عدة حواسيب مختلفة. لمواجهة هذا ظهرت لغات برمجة عالية المستوى تركز على المهم من الأمور في البرمجة وتسهل من إدارة المشاريع البرمجية، وتجعل إستهداف عدة أجهزة ممكنا بملف مصدري واحد مهما تعددت البنى (مع مراعاة بعض التفاصيل الصغيرة عند ذلك وضبطها). والأسباب الرئيسية لذلك هي: * بالمقارنة بلغة الآلة، فإن شكل لغات البرمجة عالية المستوى أقرب لطريقة تفكير الإنسان في حل المشكلات. * يستطيع المترجم معرفة الأخطاء الواضحة أثناء البرمجة. * البرامج المكتوبة بلغات عالية المستوى تكون في الغالب أقصر من البرامج المناظرة لها والمكتوبة بلغة الآلة. ميزة أخرى في استخدام لغات البرمجة عالية المستوى أن نفس البرنامج المكتوب بها يمكن ترجمته إلى أنواع كثيرة من لغات الآلة وبالتالي يمكن نقله إلى منصات كثيرة وأنواع كثيرة من الحواسيب. من ناحية أخرى فان البرامج المكتوبة بلغة برمجة عالية المستوى ويتم ترجمتها تلقائيا إلى لغة الآلة ربما يتم تنفيذها ببطء أكثر مما لو كتبت بلغة الآلة مباشرة. ومن هنا فإن بعض البرامج التي يعتبر عامل الوقت والسرعة في التنفيذ مهم جدا بالنسبة لها ما زالت تكتب بلغة الآلة، ومع ذلك فإن المترجم الجيد يمكنه أن يصل بسرعة البرامج المكتوبة بلغة عالية المستوى إلى نفس سرعة تنفيذ البرامج المناظرة لها والمكتوبة بلغة الآلة إذا قام بعمل الكثير من التحسينات الجيدة وكانت البرامج المكتوبة باللغة عالية المستوى مكتوبة بشكل جيد ومنظم. (ar) Překladač (též kompilátor, anglicky translator nebo také compiler z to compile – sestavit, zpracovat) je v nejčastějším smyslu slova softwarový nástroj používaný programátory pro vývoj softwaru. Kompilátor slouží pro překlad algoritmů zapsaných ve vyšším programovacím jazyce do jazyka nižšího, nejčastěji strojového, či spíše do strojového kódu. Z širšího obecného hlediska je kompilátor stroj, respektive program, provádějící překlad z nějakého vstupního jazyka do jazyka výstupního. Z matematického hlediska je kompilátor funkce, která mapuje jeden nebo více zdrojových kódů podle překladových parametrů na kód ve výstupním jazyce. (cs) Un compilador és un programa informàtic que escrit en un llenguatge de programació a un altre llenguatge de programació, generant un programa equivalent que la màquina serà capaç d'interpretar. Usualment el segon llenguatge és llenguatge de màquina, però també pot ser un codi intermedi (bytecode), o simplement text. Aquest procés de traducció es coneix com a compilació. Un compilador és un programa que permet traduir el codi font d'un programa en llenguatge d'alt nivell, a un altre llenguatge de nivell inferior (típicament llenguatge de màquina). D'aquesta manera un programador pot dissenyar un programa en un llenguatge molt més proper a com pensa un ésser humà, per després compilar-ho a un programa més manejable per un ordinador. Com a part important d'aquest procés de traducció, el compilador informa al seu usuari de la presència d'errors en el programa font. (ca) Μεταγλωττιστής ή μεταφραστής (compiler) ονομάζεται ένα πρόγραμμα υπολογιστή που διαβάζει κώδικα γραμμένο σε μια γλώσσα προγραμματισμού (την πηγαία γλώσσα) και τον μεταφράζει σε ισοδύναμο κώδικα σε μια άλλη γλώσσα προγραμματισμού (τη γλώσσα στόχο). Το κείμενο της εισόδου ονομάζεται πηγαίος κώδικας (source code), ενώ η έξοδος του προγράμματος, η οποία συχνά έχει δυαδική μορφή, αντικειμενικός κώδικας (object code). Ο όρος «μεταγλωττιστής» χρησιμοποιείται κυρίως για προγράμματα που μεταφράζουν μια γλώσσα προγραμματισμού υψηλού επιπέδου σε μια γλώσσα χαμηλότερου επιπέδου (όπως η συμβολική γλώσσα ή η γλώσσα μηχανής). Αν το μεταγλωττισμένο πρόγραμμα πρόκειται να εκτελεστεί σε έναν υπολογιστή που έχει διαφορετικό επεξεργαστή ή λειτουργικό σύστημα σε σχέση με την πλατφόρμα που εκτελείται ο μεταγλωττιστής, ο τελευταίος τότε ονομάζεται . Ένα πρόγραμμα που μεταφράζει από μια γλώσσα χαμηλού επιπέδου σε μια υψηλότερου επιπέδου ονομάζεται . Ένα πρόγραμμα που μεταφράζει από μια γλώσσα υψηλού επιπέδου σε μια άλλη, επίσης υψηλού επιπέδου, ονομάζεται συνήθως , μεταφραστής από πηγαίο κώδικα σε πηγαίο κώδικα (source to source translator) ή μετατροπέας γλωσσών. Ένα πρόγραμμα που μεταφράζει τη μορφή εκφράσεων σε άλλη μορφή, διατηρώντας την ίδια γλώσσα, ονομάζεται language . Ένας μεταγλωττιστής μπορεί να περιλαμβάνει οποιαδήποτε από τις εξής λειτουργίες: λεκτική ανάλυση, προεπεξεργασία, , σημασιολογική ανάλυση, και . Τα σφάλματα προγραμμάτων που προκύπτουν από λανθασμένη μεταγλώττιση είναι πολύ δύσκολο να εντοπιστούν και να αντιμετωπιστούν. Για αυτόν τον λόγο οι κατασκευαστές μεταγλωττιστών κάνουν σημαντικές προσπάθειες για να βεβαιώσουν την ορθότητα λειτουργίας του λογισμικού τους. Ο όρος (compiler-compiler) χρησιμοποιείται συχνά για τις , που είναι εργαλεία που βοηθούν στην κατασκευή λεκτικών και . (el) Ein Compiler (auch Kompilierer; von englisch compile ‚zusammentragen‘ bzw. lateinisch compilare ‚aufhäufen‘) ist ein Computerprogramm, das Quellcodes einer bestimmten Programmiersprache in eine Form übersetzt, die von einem Computer (direkter) ausgeführt werden kann. Daraus entsteht ein mehr oder weniger direkt ausführbares Programm. Davon zu unterscheiden sind Interpreter, etwa für frühe Versionen von BASIC, die keinen Maschinencode erzeugen. Teils wird zwischen den Begriffen Übersetzer und Compiler unterschieden. Ein Übersetzer übersetzt ein Programm aus einer formalen Quellsprache in ein semantisches Äquivalent in einer formalen Zielsprache. Compiler sind spezielle Übersetzer, die Programmcode aus problemorientierten Programmiersprachen, sogenannten Hochsprachen, in ausführbaren Maschinencode einer bestimmten Architektur oder einen Zwischencode (Bytecode, p-Code oder .NET-Code) überführen. Diese Trennung zwischen den Begriffen Übersetzer und Compiler wird nicht in allen Fällen vorgenommen. Der Vorgang der Übersetzung wird auch als Kompilierung oder Umwandlung (bzw. mit dem entsprechenden Verb) bezeichnet. Das Gegenteil, also die Rückübersetzung von Maschinensprache in Quelltext einer bestimmten Programmiersprache, wird Dekompilierung und entsprechende Programme Decompiler genannt. (de) Tradukilo estas komputila programo kiu tradukas homlegeblan programon al bazaj instrukcioj por la komputilo. Tiu traduko fariĝas unufoje por ĉiu programo kaj ĉiu sistemo. Se la programo estas legata kaj tuj efektivigata, oni parolas pri interpretilo: la komputilo tiam ne tradukas unufoje, sed ĉiufoje kiam la programo estas uzata. (eo) In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language). 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, object code, or machine code) to create an executable program. There are many different types of compilers which produce output in different useful forms. A cross-compiler produces code for a different CPU or operating system than the one on which the cross-compiler itself runs. A bootstrap compiler is often a temporary compiler, used for compiling a more permanent or better optimised compiler for a language. Related software include, a program that translates from a low-level language to a higher level one is a decompiler ; a program that translates between high-level languages, usually called a source-to-source compiler or transpiler. A language rewriter is usually a program that translates the form of expressions without a change of language. A compiler-compiler is a compiler that produces a compiler (or part of one), often in a generic and reusable way so as to be able to produce many differing compilers. A compiler is likely to perform some or all of the following operations, often called phases: preprocessing, lexical analysis, parsing, semantic analysis (syntax-directed translation), conversion of input programs to an intermediate representation, code optimization and code generation. Compilers generally implement these phases as modular components, promoting efficient design and correctness of transformations of source input to target output. Program faults caused by incorrect compiler behavior can be very difficult to track down and work around; therefore, compiler implementers invest significant effort to ensure compiler correctness. Compilers are not the only language processor used to transform source programs. An interpreter is computer software that transforms and then executes the indicated operations. The translation process influences the design of computer languages, which leads to a preference of compilation or interpretation. In theory, a programming language can have both a compiler and an interpreter. In practice, programming languages tend to be associated with just one (a compiler or an interpreter). (en) Konpiladorea programak itzultzeko programa informatiko bat da. Honekin, programazio lengoaia batean idatzita dagoena beste programazio lengoaia batera pasatzen da, ordenagailua interpretatzeko gai den beste programa bat sortuz. Aipatutako bigarren lengoaia normalean makina kodea izaten da, baino, testua ere izan daiteke. Prozesu hori konpilazioa bezala ezagutzen da. Konpiladoreak programa baten iturburu-kodea itzultzea ahalbidetzen du, goiko edo beheko mailako beste lengoaia batera (makina-lengoaia, normalean). Honela, programatzaile batek gizakiek erabiltzen duten lengoaian diseina dezake berak nahi duen programa. Ondoren, beste programa batera konpilatuko da ordenagailuan erabiltzeko. XIX. mendean, Charles Babbage matematikari britainiarrak, ordenagailu digital modernoaren printzipioak sortu zituen. Makina batzuk asmatu zituen: makina diferentziala, problema matematiko konplexuak konpontzeko. Historialari askok, Babbage eta Augusta Ada Byron (1815-1852) hartzen dituzte ordenagailu digital modernoaren asmatzaile bezala. Garai hartako teknologia ez zen gai bere kontzeptuak praktikara eramateko, baina, bere asmakizunetako batek, makina analitikoak, bazituen ordenagailu modernoaren hainbat ezaugarri. Konpilazioa egiteko momentuan, datu egiturak konpiladorearen toki desberdinetan gorde egiten dira ondoren errazago erabiltzeko. Horrela, optimizazioa egiteko orduan zailtasun gutxiago egongo dira eta, horrela, prozesua hobetuko da. (eu) En informática, un compilador es un programa que traduce código escrito en un lenguaje de programación (llamado fuente) a otro lenguaje (conocido como objeto). En este tipo de traductor el lenguaje fuente es generalmente un lenguaje de alto nivel y el objeto un lenguaje de bajo nivel, como assembly o código máquina. Este proceso de traducción se conoce como compilación. La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto. * Análisis: se trata de la comprobación de la corrección del programa fuente, según la definición del lenguaje en términos de teoría de lenguajes formales. Incluye las fases correspondientes al análisis léxico (que consiste en la descomposición del programa fuente en componentes léxicos), análisis sintáctico (agrupación de los componentes léxicos en frases gramaticales ) y análisis semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase de análisis sintáctico). * Síntesis: su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de generación de código (normalmente se trata de código intermedio o de código objeto) y de optimización de código (en las que se busca obtener un programa objetivo lo más eficiente posible, según su complejidad computacional o complejidad de Kolmogórov: tiempo de ejecución, espacio durante ejecución, espacio para ser almacenado fuera de ejecución, etc.). Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en: * Analizador o front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el análisis léxico y la generación de código intermedio. * Generador o back-end: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis. Esta división permite que el mismo generador se utilice para crear el código máquina de varios lenguajes de programación distintos y que el mismo analizador que sirve para examinar el código fuente de un lenguaje de programación concreto sirva para producir código máquina en varias plataformas. (es) Clár ríomhaire a aistríonn (a thiomsaíonn) cód foinseach cláir i dteanga ríomhaire ardleibhéil, cosúil le Basic nó Fortran, isteach i sraith treoracha i dtreoirchód chun go dtuigfidh an láraonad próiseála iad. Is cláir an-fhada iad, a chuimsíonn seiceáil earráidí is áiseanna cabhraitheacha eile. (ga) En informatique, un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau d'abstraction, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine. (fr) Kompilator atau kompiler (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu (bahasa asal) menjadi program yang ditulis dalam bahasa pemrograman lain (bahasa target). Terlepas dari pengertiannya yang demikian relatif luas, istilah kompilator biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, , Java, , atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly sebagai perantara. Arsitektur kompilator modern biasanya bukan lagi merupakan program tunggal namun merupakan rangkaian komunikasi antar program dengan tugas spesifik masing-masing. Program-program tersebut beserta tugasnya secara umum terdiri dari: * Kompilator itu sendiri, yang menerima kode sumber dan menghasilkan bahasa tingkat rendah (assembly) * Assembler, yang menerima keluaran kompilator dan menghasilkan berkas objek dalam bahasa mesin * Linker, yang menerima berkas objek keluaran assembler untuk kemudian digabungkan dengan pustaka-pustaka yang diperlukan dan menghasilkan program yang dapat dieksekusi (executable) Kompilator yang menggunakan arsitektur ini misalnya , dan FreeBASIC. Beberapa kompilator tidak menggunakan arsitektur di atas secara gamblang, dikarenakan komunikasi antar program jauh lebih lambat dibandingkan jika komunikasi dilakukan secara internal di dalam satu program. Sehingga kompilator-kompilator tersebut mengintegrasikan assembler dan linker di dalam kompilator. Namun, biasanya arsitektur yang digunakan pun tidak kaku dan mengizinkan penggunaan assembler maupun linker eksternal (berguna jika assembler dan linker internal bermasalah atau memiliki galat). Kompilator yang menggunakan arsitektur ini salah satunya adalah Free Pascal. Profesor Niklaus Wirth dalam bukunya Compiler Construction menyatakan bahwa penggunaan assembler sebagai bahasa perantara sering kali tidak memberikan keuntungan yang signifikan, sehingga dia menyarankan agar kompilator langsung menghasilkan bahasa mesin. Kompilator dengan arsitektur seperti ini dapat berjalan dengan sangat cepat, seperti yang ditunjukkan pada kompilator orisinil Pascal, dan Oberon yang dibuat oleh sang profesor. Kompilator melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan kompilasi lebih lama, tetapi hasilnya lebih cepat dalam proses eksekusi daripada program yang dibuat dengan menggunakan teknik interpretasi dengan interpreter. (in) コンパイラ(英: compiler)は、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語あるいは元のプログラムよりも低い水準のコードに変換(コンパイル)するプログラムである。 (ja) ( 컴파일은 여기로 연결됩니다. 일본의 기업에 대해서는 컴파일 (기업) 문서를 참고하십시오.) 컴파일러(compiler, 순화 용어: 해석기, 번역기)는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다. 컴파일러는 고급 프로그래밍 언어를 실행 프로그램으로 만들기 위해 저급 프로그래밍 언어(예, 어셈블리 언어, object 코드, machine code)로 바꾸는 데 사용된다. 원래의 문서를 소스 코드 혹은 원시 코드라고 부르고, 출력된 문서를 목적 코드라고 부른다. 목적 코드는 주로 다른 프로그램이나 하드웨어가 처리하기에 용이한 형태로 출력되지만 사람이 읽을 수 있는 문서 파일이나 그림 파일 등으로 옮기는 경우도 있다. 원시 코드에서 목적 코드로 옮기는 과정을 컴파일(compile, 순화 용어: 옮김, 번역, 문화어: 콤파일)이라고 한다. 컴파일러는 소스 프로그램을 읽어서 즉시 결과를 출력하는 인터프리터와는 구분된다. 그러나 현대에 들어 많은 인터프리터가 JIT 컴파일 등의 기술로 실시간 컴파일을 수행하므로, 컴파일러와 인터프리터 사이의 기술적 구분은 사라져 가는 추세이다. 소스 코드를 컴파일하는 이유는 대부분 사람에게 이해하기 쉬운 형태의 고수준 언어로부터 실행가능한 기계어 프로그램을 만들기 위해서이다. 좁은 의미의 컴파일러는 주로 고수준 언어로 쓰인 소스 코드를 저수준 언어(어셈블리어, 기계어 등)로 번역하는 프로그램을 가리킨다. (ko) Un compilatore è un programma informatico che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto): il processo di traduzione si chiama compilazione mentre l'attività inversa - ovvero passare dal codice oggetto al codice sorgente - è chiamata decompilazione ed è effettuata per mezzo di un decompilatore. Se tutti i compilatori aderissero esattamente alla specifica del linguaggio, lo stesso programma potrebbe essere compilato senza modifiche da ciascun compilatore, producendo risultati semanticamente uguali, ovvero programmi che producono lo stesso risultato se sottoposti agli stessi dati di ingresso. Nella realtà, molti compilatori implementano il linguaggio in modo incompleto o aggiungono estensioni proprietarie, creando quindi dei dialetti del linguaggio principale. Per i linguaggi che adottano uno standard nella decorazione dei simboli, il codice oggetto generato da compilatori differenti può essere collegato assieme in un unico eseguibile. (it) Een compiler (letterlijk samensteller of opbouwer) is een computerprogramma dat een in een brontaal geschreven programma vertaalt in een semantisch equivalent programma in een doeltaal. Het vertalen of omzetten wordt compilatie of compileren genoemd. Met compiler wordt voornamelijk een programma bedoeld dat een programma in een hogere programmeertaal vertaalt naar een lagere programmeertaal, meestal assembleertaal of machinecode. De voornaamste reden om broncode te compileren is dan ook het maken van uitvoerbare code. Als het gecompileerde programma uitgevoerd kan worden op een computer met een andere CPU of een ander besturingssysteem dan de computer waarop de compiler zelf draait, spreekt men van een . Een programma dat een vertaling uitvoert tussen hogere programmeertalen wordt meestal niet compiler genoemd, maar . Vertaalt een programma van een lagere programmeertaal naar een hogere dan spreekt men van een decompiler. Formeel is compilatie het vertalen van expressies uit een formele invoertaal naar expressies uit een formele uitvoertaal (of doeltaal). De compiler controleert ook of de invoer welgevormd is en of er een correcte vertaling gemaakt kan worden, zo niet dan worden er foutmeldingen gegeven. Tegenwoordig werkt men meestal interactief en stopt de compiler doorgaans bij de eerste foutmelding. Bij de klassieke batchverwerking (de programmeur stuurt zijn programma naar het computercentrum en ontvangt de uitvoer uren later of de volgende dag) onderzoekt de compiler het hele programma op fouten. (nl) Kompilator – program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym). Proces ten nazywany jest kompilacją. W informatyce kompilatorem nazywa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre z nich tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler. Różnica pomiędzy kompilatorem a asemblerem polega na tym, iż każde polecenie języka programowania może zostać rozbite na wiele podpoleceń języka maszynowego (przy czym nowoczesne asemblery również posiadają składnię umożliwiającą zapis wielu poleceń maszynowych jako jednego polecenia kodu źródłowego oraz opcje optymalizacji kodu). Kompilatory mogą mieć możliwość automatycznej alokacji pamięci dla zmiennych, implementowania struktur kontrolnych lub procedur wejścia-wyjścia. Stosowanie kompilatorów ułatwia programowanie (programista nie musi znać języka maszynowego) i pozwala na większą przenośność kodu pomiędzy platformami. (pl) Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов. (ru) Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto. Classicamente, um compilador traduz um programa de uma linguagem textualfacilmente entendida por um ser humano para uma linguagem de máquina ,específica para um processador e sistema operacional. Atualmente, porém,são comuns compiladores que geram código para uma máquina virtual queé, depois, interpretada por um interpretador. Ele é chamado compilador por razões históricas; nos primeiros anos da programação automática, existiam programas que percorriam bibliotecas de sub-rotinas e as reunia, ou compilava, as subrotinas necessárias para executar uma determinada tarefa. O nome "compilador" é usado principalmente para os programas que traduzem o código fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível (por exemplo, Assembly ou código de máquina). Contudo alguns autores citam exemplos de compiladores que traduzem para linguagens de alto nível como C. Para alguns autores um programa que faz uma tradução entre linguagens de alto nível é normalmente chamado um tradutor, filtro ou conversor de linguagem. Um programa que traduz uma linguagem de programação de baixo nível para uma linguagem de programação de alto nível é um descompilador. Um programa que faz uma tradução entre uma linguagem de montagem e o código de máquina é denominado montador (assembler). Um programa que faz uma tradução entre o código de máquina e uma linguagem de montagem é denominado desmontador (disassembler). Se o programa compilado pode ser executado em um computador cuja CPU ou sistema operacional é diferente daquele em que o compilador é executado, o compilador é conhecido como um compilador cruzado. (pt) En kompilator är ett datorprogram som utifrån en programtext skrivet i ett programspråk som till exempel C, Modula, eller Ada, skapar ett motsvarande kapabelt att utföra de aktiviteter som programtexten beskriver, alltså ett slags översättare. Normalt genererar en kompilator maskinkod, för senare körning på en specifik datortyp, men även andra varianter förekommer. (sv) 編譯器(compiler)是一種電腦程式,它會將某種程式語言寫成的原始碼(原始語言)轉換成另一種程式語言(目標語言)。 它主要的目的是將便于人编写、阅读、维护的高级计算机语言所寫作的原始碼程式,翻译为计算机能解读、运行的低阶机器语言的程序,也就是執行檔。编译器将原始程序(source program)作为输入,翻译产生使用目标语言(target language)的等价程序。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(linker)→ 執行檔(executables),最後打包好的檔案就可以給電腦去判讀執行了。 (zh) Компіля́тор (англ. Compiler від англ. to compile — збирати в ціле) — комп'ютерна програма (або їх набір), що перетворює (компілює) вихідний код, написаний певною мовою програмування (вихідна мова, англ. source language), на семантично в іншій мові програмування (цільова мова, англ. target language), який зазвичай необхідний для виконання програми машиною, наприклад, комп'ютером. В СРСР, зокрема в Україні, з 1952 року до середини 1960-х років використовувався термін програмувальна програма (ПП). Коротко компілятор можна визначити як програму або технічний засіб, що виконує компіляцію. Історично компілятором називалась програма, що зв'язувала підпрограми, чим і зумовлено походження слова. Сьогодні це завдання виконує компонувальник. Для виконання програма не завжди повинна бути перекладена компілятором, існує також інший принцип: покрокове виконання програмних інструкцій інтерпретатором. (uk) |
dbo:thumbnail | wiki-commons:Special:FilePath/Compiler.svg?width=300 |
dbo:wikiPageExternalLink | http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf http://scifac.ru.ac.za/compilers/conts.htm http://www.cs.mdx.ac.uk/staffpages/r_bornat/books/compiling.pdf%7Cauthor-link=Richard http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf http://compilers.iecc.com/crenshaw/ http://llvm.org/docs/CodeGenerator.html%23built-in-register-allocators%7Cwebsite=LLVM https://archive.org/details/advancedcompiler00much https://archive.org/details/compilergenerato00mcke https://books.google.com/books%3Fid=0K_jIsgyNpoC https://books.google.com/books%3Fid=4LMtA2wOsPcC https://books.google.com/books%3Fid=8APOYafUt-oC https://web.archive.org/web/20070615132948/http:/www.cs.mdx.ac.uk/staffpages/r_bornat/books/compiling.pdf%7Curl-status=dead https://web.archive.org/web/20141010102940/http:/www.compdev.net/%7Cdate=10 https://web.archive.org/web/20150103161301/http:/www.informatik.uni-trier.de/~ley/db/books/compiler/index.html https://web.archive.org/web/20170217071020/http:/www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf https://web.archive.org/web/20180515111448/http:/www.diku.dk:80/hjemmesider/ansatte/torbenm/Basics/%7Cdate=15 https://archive.org/details/assemblerscompil00cali |
dbo:wikiPageID | 5739 (xsd:integer) |
dbo:wikiPageLength | 60207 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1124223148 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Cambridge_University_Press dbr:Prolog dbr:Python_(programming_language) dbr:Scannerless_parsing dbr:Scheme_(programming_language) dbr:Metacompilation dbr:Morgan_Kaufmann_Publishers dbr:One-pass_compiler dbr:Parsing dbr:SNOBOL4 dbr:Bell_Labs dbr:Decompiler dbr:Dennis_Ritchie dbr:Alias_analysis dbr:Alick_Glennie dbc:Utility_software_types dbr:Application-specific_integrated_circuit dbr:Honeywell dbr:List_of_compilers dbr:Regular_expression dbr:Remington_Rand dbr:Unix dbr:Dead-code_elimination dbr:Debugging dbr:Definite_assignment_analysis dbr:Delay_slot dbr:Dependence_analysis dbr:Inline_expansion dbr:Instruction_scheduling dbr:Instruction_selection dbr:Intermediate_representation dbr:Interpreter_(computing) dbr:Interprocedural_optimization dbr:Register_allocation dbr:Lexical_analysis dbr:Peephole_optimization dbr:Preprocessor dbr:Macmillan_Publishing dbr:.NET_Framework dbc:Programming_language_implementation dbr:Common_Lisp dbr:Context-free_grammar dbr:Control-flow_graph dbr:Coral_66 dbr:Escape_analysis dbr:Netlist dbr:Object-oriented_programming dbr:Rewriting dbr:Source-to-source_compiler dbr:Use-define_chain dbr:Silicon_compiler dbr:Clang dbr:Englewood_Cliffs,_NJ dbr:GNAT dbr:GNU_Compiler_Collection dbr:General_Electric dbr:Grace_Hopper dbr:Bottom-up_parsing dbr:Multics dbr:Computing_platform dbr:Conditional_compilation dbr:Cross_compiler dbc:American_inventions dbr:Lisp_(programming_language) dbr:MIT dbr:Machine_language dbr:Call_graph dbr:Silicon_Graphics dbr:Simula dbr:Smalltalk dbr:Structured_programming dbr:Common_Intermediate_Language dbr:Compile_and_go_system dbr:Compile_farm dbr:Compiled_language dbr:Compiler-compiler dbr:Compiler_correctness dbr:Computer_hardware dbr:Computer_program dbr:Computing dbr:Embedded_system dbr:Stropping_(syntax) dbr:BASIC dbr:BCPL dbr:BLISS dbr:B_(programming_language) dbr:Backus–Naur_form dbr:A-0_System dbr:C++ dbr:COBOL dbr:CRC_Press dbr:C_(programming_language) dbr:C_preprocessor dbr:Tony_Hoare dbr:Type_checking dbr:Type_system dbr:Data-flow_analysis dbr:Just-in-time_compilation dbr:Yacc dbr:ALGOL dbr:ALGOL_60 dbr:APL_(programming_language) dbr:Ada_(programming_language) dbr:Addison-Wesley dbr:Addressing_mode dbr:Amsterdam_Compiler_Kit dbr:DARPA dbr:Edinburgh_IMP dbr:Execution_unit dbr:FLOW-MATIC dbr:Fernando_J._Corbató dbr:Fortran dbr:Basic_block dbr:Noam_Chomsky dbr:PL/I dbr:Pascal_(programming_language) dbr:Central_processing_unit dbr:Disassembler dbr:Formal_grammar dbr:Formal_language dbr:Formal_methods dbr:Machine_code dbr:Source_code dbr:Recursion dbr:Recursive_descent_parser dbr:Regular_language dbr:Hardware_description_language dbr:Hewlett-Packard dbr:Attribute_grammar dbr:JavaScript dbr:Java_(programming_language) dbr:Assembly_language dbr:Atlas_Autocode dbc:Compilers dbr:Abstract_interpretation dbr:Abstract_syntax_tree dbc:Compiler_construction dbc:Computer_libraries dbr:John_Backus dbr:John_McCarthy_(computer_scientist) dbr:Ken_Thompson dbr:LISP dbr:LLVM dbr:Binary_recompiler dbr:Block_(programming) dbr:Sun_Microsystems dbr:Code_generation_(compiler) dbr:Heuristic_(computer_science) dbr:High-level_programming_language dbr:Parse_tree dbr:Program_transformation dbr:Top-down_parsing dbr:Transistor dbr:Translator_(computing) dbr:Reachability_analysis dbr:Autocode dbr:Automatic_parallelization dbr:Martin_Richards_(computer_scientist) dbr:Bytecode dbr:Plankalkül dbr:Field-programmable_gate_array dbr:Free_software dbr:Syntax_analysis dbr:Scannerless_parser dbr:IBM dbr:Integrated_development_environment dbr:Intel dbr:Algol_58 dbr:Konrad_Zuse dbr:Microsoft dbr:Open64 dbr:OpenMP dbr:Operating_system dbr:Cfront dbr:Lookup_table dbr:Macro_(computer_science) dbr:Virtual_machine dbr:Runtime_library dbr:Separation_of_concerns dbr:Semantic_analysis_(compilers) dbr:Semantics_(computer_science) dbr:Sethi–Ullman_algorithm dbr:Warren_Abstract_Machine dbr:Indent_style dbr:Nested_function dbr:Expression_(computer_science) dbr:Computer_Science_Press,_Inc. dbr:Lexical_scope dbr:Programming_language dbr:Syntax-directed_translation dbr:Object_binding dbr:Object_code dbr:Pointer_analysis dbr:Eval dbr:Executable dbr:NP-hardness dbr:Multi-pass_compiler dbr:Symbol_table dbr:Interpreted_language dbr:PQCC dbr:Bootstrap_compiler dbr:Finite_state_automaton dbr:Lexical_analyzer dbr:Cross-compiler dbr:Prentice-Hall dbr:Lower_level_language dbr:Manchester_Mark_I dbr:Constant_propagation dbr:Main_memory dbr:Code_optimization dbr:Compiler_analysis dbr:Compiler_optimization dbr:Loop_transformation dbr:Morgan_Kaufmann dbr:File:Compiler.svg dbr:File:Compiler_design.svg dbr:File:Xxx_Scanner_and_parser_example_for_C.gif |
dbp:id | QPCC2sbukeo (en) |
dbp:title | Basics of Compiler Design (en) Forum about compiler development (en) Syntax Analysis & LL1 Parsing (en) |
dbp:url | 0001-05-15 (xsd:gMonthDay) 0001-10-10 (xsd:gMonthDay) |
dbp:wikiPageUsesTemplate | dbt:! dbt:About dbt:Anchor dbt:Authority_control dbt:Citation_needed dbt:Cite_book dbt:Cite_journal dbt:Cite_web dbt:Clarify dbt:Color dbt:Commons_category dbt:Curlie dbt:Div_col dbt:Div_col_end dbt:Main dbt:More_footnotes_needed dbt:Portal dbt:Primary_source_inline dbt:Redirect2 dbt:Refbegin dbt:Refend dbt:Reflist dbt:Rp dbt:Section_link dbt:Short_description dbt:Snd dbt:Unreferenced_section dbt:Use_dmy_dates dbt:Visible_anchor dbt:Webarchive dbt:Wikibooks dbt:Wiktionary dbt:YouTube dbt:Program_execution |
dcterms:subject | dbc:Utility_software_types dbc:Programming_language_implementation dbc:American_inventions dbc:Compilers dbc:Compiler_construction dbc:Computer_libraries |
gold:hypernym | dbr:Program |
rdf:type | owl:Thing dbo:Work dbo:MusicGenre |
rdfs:comment | Překladač (též kompilátor, anglicky translator nebo také compiler z to compile – sestavit, zpracovat) je v nejčastějším smyslu slova softwarový nástroj používaný programátory pro vývoj softwaru. Kompilátor slouží pro překlad algoritmů zapsaných ve vyšším programovacím jazyce do jazyka nižšího, nejčastěji strojového, či spíše do strojového kódu. Z širšího obecného hlediska je kompilátor stroj, respektive program, provádějící překlad z nějakého vstupního jazyka do jazyka výstupního. Z matematického hlediska je kompilátor funkce, která mapuje jeden nebo více zdrojových kódů podle překladových parametrů na kód ve výstupním jazyce. (cs) Tradukilo estas komputila programo kiu tradukas homlegeblan programon al bazaj instrukcioj por la komputilo. Tiu traduko fariĝas unufoje por ĉiu programo kaj ĉiu sistemo. Se la programo estas legata kaj tuj efektivigata, oni parolas pri interpretilo: la komputilo tiam ne tradukas unufoje, sed ĉiufoje kiam la programo estas uzata. (eo) Clár ríomhaire a aistríonn (a thiomsaíonn) cód foinseach cláir i dteanga ríomhaire ardleibhéil, cosúil le Basic nó Fortran, isteach i sraith treoracha i dtreoirchód chun go dtuigfidh an láraonad próiseála iad. Is cláir an-fhada iad, a chuimsíonn seiceáil earráidí is áiseanna cabhraitheacha eile. (ga) En informatique, un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau d'abstraction, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine. (fr) コンパイラ(英: compiler)は、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語あるいは元のプログラムよりも低い水準のコードに変換(コンパイル)するプログラムである。 (ja) Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов. (ru) En kompilator är ett datorprogram som utifrån en programtext skrivet i ett programspråk som till exempel C, Modula, eller Ada, skapar ett motsvarande kapabelt att utföra de aktiviteter som programtexten beskriver, alltså ett slags översättare. Normalt genererar en kompilator maskinkod, för senare körning på en specifik datortyp, men även andra varianter förekommer. (sv) 編譯器(compiler)是一種電腦程式,它會將某種程式語言寫成的原始碼(原始語言)轉換成另一種程式語言(目標語言)。 它主要的目的是將便于人编写、阅读、维护的高级计算机语言所寫作的原始碼程式,翻译为计算机能解读、运行的低阶机器语言的程序,也就是執行檔。编译器将原始程序(source program)作为输入,翻译产生使用目标语言(target language)的等价程序。源代码一般为高阶语言(High-level language),如Pascal、C、C++、C# 、Java等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(linker)→ 執行檔(executables),最後打包好的檔案就可以給電腦去判讀執行了。 (zh) المحول البرمجي أو المُصرِّف أو البرنامج المُترجِم أو المُترجِم أو برنامج الترجمة أو البرنامج المُؤلِّف (بالإنجليزية: Compiler) هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج. والأسباب الرئيسية لذلك هي: * بالمقارنة بلغة الآلة، فإن شكل لغات البرمجة عالية المستوى أقرب لطريقة تفكير الإنسان في حل المشكلات. * يستطيع المترجم معرفة الأخطاء الواضحة أثناء البرمجة. * البرامج المكتوبة بلغات عالية المستوى تكون في الغالب أقصر من البرامج المناظرة لها والمكتوبة بلغة الآلة. (ar) Un compilador és un programa informàtic que escrit en un llenguatge de programació a un altre llenguatge de programació, generant un programa equivalent que la màquina serà capaç d'interpretar. Usualment el segon llenguatge és llenguatge de màquina, però també pot ser un codi intermedi (bytecode), o simplement text. Aquest procés de traducció es coneix com a compilació. Com a part important d'aquest procés de traducció, el compilador informa al seu usuari de la presència d'errors en el programa font. (ca) Μεταγλωττιστής ή μεταφραστής (compiler) ονομάζεται ένα πρόγραμμα υπολογιστή που διαβάζει κώδικα γραμμένο σε μια γλώσσα προγραμματισμού (την πηγαία γλώσσα) και τον μεταφράζει σε ισοδύναμο κώδικα σε μια άλλη γλώσσα προγραμματισμού (τη γλώσσα στόχο). Το κείμενο της εισόδου ονομάζεται πηγαίος κώδικας (source code), ενώ η έξοδος του προγράμματος, η οποία συχνά έχει δυαδική μορφή, αντικειμενικός κώδικας (object code). Ένας μεταγλωττιστής μπορεί να περιλαμβάνει οποιαδήποτε από τις εξής λειτουργίες: λεκτική ανάλυση, προεπεξεργασία, , σημασιολογική ανάλυση, και . (el) In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language). 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, object code, or machine code) to create an executable program. (en) En informática, un compilador es un programa que traduce código escrito en un lenguaje de programación (llamado fuente) a otro lenguaje (conocido como objeto). En este tipo de traductor el lenguaje fuente es generalmente un lenguaje de alto nivel y el objeto un lenguaje de bajo nivel, como assembly o código máquina. Este proceso de traducción se conoce como compilación. Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en: (es) Ein Compiler (auch Kompilierer; von englisch compile ‚zusammentragen‘ bzw. lateinisch compilare ‚aufhäufen‘) ist ein Computerprogramm, das Quellcodes einer bestimmten Programmiersprache in eine Form übersetzt, die von einem Computer (direkter) ausgeführt werden kann. Daraus entsteht ein mehr oder weniger direkt ausführbares Programm. Davon zu unterscheiden sind Interpreter, etwa für frühe Versionen von BASIC, die keinen Maschinencode erzeugen. (de) Konpiladorea programak itzultzeko programa informatiko bat da. Honekin, programazio lengoaia batean idatzita dagoena beste programazio lengoaia batera pasatzen da, ordenagailua interpretatzeko gai den beste programa bat sortuz. Aipatutako bigarren lengoaia normalean makina kodea izaten da, baino, testua ere izan daiteke. Prozesu hori konpilazioa bezala ezagutzen da. Konpilazioa egiteko momentuan, datu egiturak konpiladorearen toki desberdinetan gorde egiten dira ondoren errazago erabiltzeko. Horrela, optimizazioa egiteko orduan zailtasun gutxiago egongo dira eta, horrela, prozesua hobetuko da. (eu) Kompilator atau kompiler (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu (bahasa asal) menjadi program yang ditulis dalam bahasa pemrograman lain (bahasa target). Arsitektur kompilator modern biasanya bukan lagi merupakan program tunggal namun merupakan rangkaian komunikasi antar program dengan tugas spesifik masing-masing. Program-program tersebut beserta tugasnya secara umum terdiri dari: Kompilator yang menggunakan arsitektur ini misalnya , dan FreeBASIC. (in) Un compilatore è un programma informatico che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto): il processo di traduzione si chiama compilazione mentre l'attività inversa - ovvero passare dal codice oggetto al codice sorgente - è chiamata decompilazione ed è effettuata per mezzo di un decompilatore. (it) ( 컴파일은 여기로 연결됩니다. 일본의 기업에 대해서는 컴파일 (기업) 문서를 참고하십시오.) 컴파일러(compiler, 순화 용어: 해석기, 번역기)는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다. 컴파일러는 고급 프로그래밍 언어를 실행 프로그램으로 만들기 위해 저급 프로그래밍 언어(예, 어셈블리 언어, object 코드, machine code)로 바꾸는 데 사용된다. 원래의 문서를 소스 코드 혹은 원시 코드라고 부르고, 출력된 문서를 목적 코드라고 부른다. 목적 코드는 주로 다른 프로그램이나 하드웨어가 처리하기에 용이한 형태로 출력되지만 사람이 읽을 수 있는 문서 파일이나 그림 파일 등으로 옮기는 경우도 있다. 원시 코드에서 목적 코드로 옮기는 과정을 컴파일(compile, 순화 용어: 옮김, 번역, 문화어: 콤파일)이라고 한다. 컴파일러는 소스 프로그램을 읽어서 즉시 결과를 출력하는 인터프리터와는 구분된다. 그러나 현대에 들어 많은 인터프리터가 JIT 컴파일 등의 기술로 실시간 컴파일을 수행하므로, 컴파일러와 인터프리터 사이의 기술적 구분은 사라져 가는 추세이다. (ko) Kompilator – program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym). Proces ten nazywany jest kompilacją. W informatyce kompilatorem nazywa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre z nich tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler. Stosowanie kompilatorów ułatwia programowanie (programista nie musi znać języka maszynowego) i pozwala na większą przenośność kodu pomiędzy platformami. (pl) Een compiler (letterlijk samensteller of opbouwer) is een computerprogramma dat een in een brontaal geschreven programma vertaalt in een semantisch equivalent programma in een doeltaal. Het vertalen of omzetten wordt compilatie of compileren genoemd. Met compiler wordt voornamelijk een programma bedoeld dat een programma in een hogere programmeertaal vertaalt naar een lagere programmeertaal, meestal assembleertaal of machinecode. De voornaamste reden om broncode te compileren is dan ook het maken van uitvoerbare code. (nl) Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto. Classicamente, um compilador traduz um programa de uma linguagem textualfacilmente entendida por um ser humano para uma linguagem de máquina ,específica para um processador e sistema operacional. Atualmente, porém,são comuns compiladores que geram código para uma máquina virtual queé, depois, interpretada por um interpretador. Ele é chamado compilador por razões históricas; nos primeiros anos da programação automática, existiam programas que percorriam bibliotecas de sub-rotinas e as reunia, ou compilava, as subrotinas necessárias para executar uma determinada t (pt) Компіля́тор (англ. Compiler від англ. to compile — збирати в ціле) — комп'ютерна програма (або їх набір), що перетворює (компілює) вихідний код, написаний певною мовою програмування (вихідна мова, англ. source language), на семантично в іншій мові програмування (цільова мова, англ. target language), який зазвичай необхідний для виконання програми машиною, наприклад, комп'ютером. В СРСР, зокрема в Україні, з 1952 року до середини 1960-х років використовувався термін програмувальна програма (ПП). Коротко компілятор можна визначити як програму або технічний засіб, що виконує компіляцію. (uk) |
rdfs:label | Compiler (en) محول برمجي (ar) Compilador (ca) Překladač (cs) Compiler (de) Μεταγλωττιστής (υπολογιστές) (el) Tradukilo (eo) Konpiladore (eu) Compilador (es) Tiomsaitheoir (ga) Kompilator (in) Compilatore (it) Compilateur (fr) コンパイラ (ja) 컴파일러 (ko) Compiler (nl) Kompilator (pl) Compilador (pt) Kompilator (sv) Компилятор (ru) Компілятор (uk) 編譯器 (zh) |
owl:sameAs | freebase:Compiler dbpedia-de:Compiler http://d-nb.info/gnd/4121803-6 http://d-nb.info/gnd/4148248-7 wikidata:Compiler dbpedia-af:Compiler dbpedia-an:Compiler dbpedia-ar:Compiler http://ast.dbpedia.org/resource/Compilador dbpedia-az:Compiler http://azb.dbpedia.org/resource/درلییجی_(کامپایلر) dbpedia-be:Compiler dbpedia-bg:Compiler http://bn.dbpedia.org/resource/কম্পাইলার dbpedia-br:Compiler http://bs.dbpedia.org/resource/Kompajler dbpedia-ca:Compiler http://ckb.dbpedia.org/resource/کۆمپایلەر dbpedia-cs:Compiler dbpedia-da:Compiler dbpedia-el:Compiler dbpedia-eo:Compiler dbpedia-es:Compiler dbpedia-et:Compiler dbpedia-eu:Compiler dbpedia-fa:Compiler dbpedia-fi:Compiler dbpedia-fr:Compiler dbpedia-ga:Compiler dbpedia-gl:Compiler dbpedia-he:Compiler http://hi.dbpedia.org/resource/अनुभाषक dbpedia-hr:Compiler dbpedia-hsb:Compiler dbpedia-hu:Compiler http://hy.dbpedia.org/resource/Կոմպիլյատոր http://ia.dbpedia.org/resource/Compilator dbpedia-id:Compiler dbpedia-is:Compiler dbpedia-it:Compiler dbpedia-ja:Compiler dbpedia-ka:Compiler dbpedia-kk:Compiler dbpedia-ko:Compiler http://ky.dbpedia.org/resource/Компилер dbpedia-la:Compiler dbpedia-lb:Compiler dbpedia-lmo:Compiler http://lt.dbpedia.org/resource/Kompiliatorius http://lv.dbpedia.org/resource/Kompilators dbpedia-mk:Compiler http://ml.dbpedia.org/resource/കംപൈലർ http://mn.dbpedia.org/resource/Compiler dbpedia-ms:Compiler http://my.dbpedia.org/resource/Compiler http://ne.dbpedia.org/resource/कम्पाइलर dbpedia-nl:Compiler dbpedia-no:Compiler http://pa.dbpedia.org/resource/ਕੰਪਾਇਲਰ dbpedia-pl:Compiler dbpedia-pnb:Compiler dbpedia-pt:Compiler dbpedia-ro:Compiler dbpedia-ru:Compiler http://sco.dbpedia.org/resource/Compiler dbpedia-sh:Compiler dbpedia-simple:Compiler dbpedia-sk:Compiler dbpedia-sl:Compiler dbpedia-sr:Compiler dbpedia-sv:Compiler dbpedia-sw:Compiler http://ta.dbpedia.org/resource/நிரல்மொழிமாற்றி http://te.dbpedia.org/resource/కంపైలర్ http://tg.dbpedia.org/resource/Мутарҷим_(роёна) dbpedia-th:Compiler http://tl.dbpedia.org/resource/Compiler dbpedia-tr:Compiler dbpedia-uk:Compiler http://ur.dbpedia.org/resource/کمپائلر dbpedia-vi:Compiler dbpedia-war:Compiler http://yi.dbpedia.org/resource/קאמפיילער dbpedia-zh:Compiler https://global.dbpedia.org/id/4PDKk |
prov:wasDerivedFrom | wikipedia-en:Compiler?oldid=1124223148&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Compiler.svg wiki-commons:Special:FilePath/Compiler_design.svg wiki-commons:Special:FilePath/Xxx_Scanner_and_parser_example_for_C.gif |
foaf:isPrimaryTopicOf | wikipedia-en:Compiler |
is dbo:academicDiscipline of | dbr:Chris_Lattner dbr:Frances_Allen dbr:Alan_Mycroft dbr:Sheila_Greibach |
is dbo:genre of | dbr:Pyjs dbr:Roslyn_(compiler) dbr:BennuGD dbr:Delphi_(software) dbr:Hugs_(interpreter) dbr:PathScale dbr:Virtual_Pascal dbr:Nvidia_CUDA_Compiler dbr:Comeau_C/C++ dbr:CompCert dbr:Emscripten dbr:Free_Pascal dbr:G95 dbr:GLBasic dbr:GNAT dbr:GNU_Common_Lisp dbr:GNU_Compiler_Collection dbr:GNU_Compiler_for_Java dbr:GNU_Fortran dbr:GNU_Prolog dbr:Glasgow_Haskell_Compiler dbr:LibertyEiffel dbr:MILEPOST_GCC dbr:MTASC dbr:Silverfrost_FTN95 dbr:Small-C dbr:SmartEiffel dbr:Steel_Bank_Common_Lisp dbr:Ypsilon_(Scheme_implementation) dbr:BDS_C dbr:Babel_(transcompiler) dbr:CLISP dbr:CMU_Common_Lisp dbr:Turbo51 dbr:GNU_Pascal dbr:ALGOL_68-R dbr:ALGOL_68C dbr:ALGOL_68RS dbr:AMD_Optimizing_C/C++_Compiler dbr:DJGCC dbr:DJGPP dbr:Bartok_(compiler) dbr:TenDRA_Compiler dbr:Arden2ByteCode dbr:KRoC dbr:LCC_(compiler) dbr:LLVM dbr:Lattice_C dbr:Javac dbr:Distcc dbr:Aztec_C dbr:Pic_Micro_Pascal dbr:Intel_C++_Compiler dbr:Intel_Fortran_Compiler dbr:Microsoft_Visual_C++ dbr:MinGW dbr:Mingw-w64 dbr:ORCA/Modula-2 dbr:Open64 dbr:Oracle_Developer_Studio dbr:ROSE_(compiler_framework) dbr:Rakudo dbr:ASSIST_(computing)__ASSIST__1 dbr:Intel_C++_Compiler__Classic__1 dbr:Intel_Fortran_Compiler__Classic__1 dbr:Clozure_CL__ozure_CL__1 |
is dbo:knownFor of | dbr:Roger_Moore_(computer_scientist) dbr:David_Gries dbr:Laurie_Hendren |
is dbo:product of | dbr:DDC-I dbr:Keil_(company) dbr:Digital_Research__Inc._DRI__1 |
is dbo:wikiPageRedirects of | dbr:Compile dbr:Compiled dbr:Compiled_sofware dbr:Compiler_construction dbr:Compilers dbr:Compiling dbr:Code_compilation dbr:Compiler_theory dbr:Recompile dbr:CFE_(compiler) dbr:Semantic_analysis_(computer_science) dbr:Compiler_back-end dbr:Compiler_backend dbr:Compiler_design dbr:Compiler_front-end dbr:Line_reconstruction dbr:Compiling_tools dbr:Back_end_(Compiler) dbr:Front_end_(compiler) dbr:Write_compiler dbr:Compiler_front_end dbr:Parallel_compiler dbr:Parallel_compilers dbr:Parallel_complier dbr:Language_compiler dbr:Program_compilation dbr:Programming_language_compiler dbr:Recompiled dbr:Three-stage_compilation dbr:Code_compiler dbr:Code_compiling dbr:Compilation_(computing) dbr:Compilation_(programming) dbr:Compile_(computing) dbr:Compiled_software dbr:Compiler_(computer) dbr:Compiler_(computing) dbr:Compiler_(programming) dbr:Compiler_back_end dbr:Compiler_designer dbr:Compiler_frontend dbr:Compiler_middle_end dbr:Compiler_writer dbr:Compiler_writing |
is dbo:wikiPageWikiLink of | dbr:C_syntax dbr:Caddy_(web_server) dbr:Cafu_Engine dbr:Caret dbr:Carl_Sassenrath dbr:PowerBASIC dbr:Precompiled_header dbr:ProGuard dbr:Processor_register dbr:Program_optimization dbr:Psion_Organiser dbr:Puppet_(software) dbr:Purbaya_Polytechnic_Institute dbr:PyMOL dbr:Pyjs dbr:Qt_Creator dbr:QuickBASIC dbr:QuickCheck dbr:Robert_S._Barton dbr:Robert_W._Floyd dbr:Roger_Moore_(computer_scientist) dbr:Roslyn_(compiler) dbr:Sandcastle_(software) dbr:Sbt_(software) dbr:Scala_(programming_language) dbr:Scavengers_in_the_Matrix dbr:Scheme_(programming_language) dbr:Scientific_Time_Sharing_Corporation dbr:List_of_Unix_commands dbr:List_of_alumnae_of_women's_colleges_in_the_United_States dbr:List_of_build_automation_software dbr:List_of_commercial_video_games_with_later_released_source_code dbr:List_of_computer_science_conferences dbr:List_of_computer_scientists dbr:META_II dbr:MOPAC dbr:Not_Quite_C dbr:System_migration dbr:Mac_Hack dbr:Memory_access_pattern dbr:Memory_barrier dbr:Memory_ordering dbr:Meta-object_System dbr:MetaCASE_tool dbr:Metaphorical_extension dbr:Metrowerks dbr:SECD_machine dbr:Serious_Sam_2 dbr:Windows_API dbr:X87 dbr:One-pass_compiler dbr:Opcode dbr:OpenFrame dbr:Parsing dbr:Pascal/MT+ dbr:Pascal_MicroEngine dbr:Tail_call dbr:Principles_of_Compiler_Design dbr:Pro*C dbr:Basic4GL dbr:Basic4ppc dbr:Bc_(programming_language) dbr:BeanShell dbr:Befunge dbr:Bell_Labs dbr:Benchmark_(computing) dbr:BennuGD dbr:Beta_BASIC dbr:Bigloo dbr:Binary-to-text_encoding dbr:Bisection_(software_engineering) dbr:Bitwise_operation dbr:Black_&_White_(video_game) dbr:Blackfin dbr:Bob's_Game dbr:Body_Rapture_II dbr:Borland_Turbo_C dbr:Brad_Templeton dbr:Brainfuck dbr:Brian_Randell dbr:Brief_(text_editor) dbr:David_Gries dbr:David_Luckham dbr:Decompiler dbr:Delphi_(software) dbr:Deno_(software) dbr:Dev-C++ dbr:Algorithmic_efficiency dbr:Algorithms_+_Data_Structures_=_Programs dbr:Alick_Glennie dbr:Allocator_(C++) dbr:Andrew_Appel dbr:Android_software_development dbr:App_store dbr:Application_binary_interface dbr:Application_software dbr:Architecture_Neutral_Distribution_Format dbr:History_of_compiler_construction dbr:History_of_general-purpose_CPUs dbr:History_of_operating_systems dbr:Hugs_(interpreter) dbr:Hy dbr:HyperCard dbr:Hypermail dbr:Jonathan_Blow dbr:Julia_(programming_language) dbr:List_of_SRI_International_people dbr:List_of_commercial_video_games_with_available_source_code dbr:List_of_compilers dbr:List_of_computer_term_etymologies dbr:List_of_educational_programming_languages dbr:List_of_important_publications_in_computer_science dbr:List_of_pioneers_in_computer_science dbr:PathScale dbr:Pathwidth dbr:Paul_H._Cress dbr:Per_Brinch_Hansen dbr:Perl dbr:Peter_Samson dbr:Phalanger_(compiler) dbr:Register_window dbr:Regular_expression dbr:Relocation_(computing) dbr:Resin_(software) dbr:Resource_Hacker dbr:Rexx dbr:Rhino_(JavaScript_engine) dbr:Ric_Holt dbr:Richard_Greenblatt_(programmer) dbr:Richard_Stallman dbr:Ring_(programming_language) dbr:Ripped_Up_and_So_Sedated dbr:Rivet_Head_Culture dbr:Robert_Dewar dbr:DOS/360_and_successors dbr:DOS_extender dbr:Daily_build dbr:Building_(disambiguation) dbr:UniPrise_Systems dbr:Unified_Code_Count dbr:Unix dbr:VAX_MACRO dbr:VSI_BASIC_for_OpenVMS dbr:Versatile_Real-Time_Executive dbr:Version_6_Unix dbr:Vilnius_BASIC dbr:Virtual_Pascal dbr:Visual_Basic_.NET dbr:Visual_Basic_for_Applications dbr:Visual_Component_Framework dbr:Visual_Pinball dbr:Visual_Prolog dbr:Visual_Studio dbr:Voddler dbr:David_A._Moon dbr:David_H._D._Warren dbr:Debug_symbol dbr:Debugging_data_format dbr:Decimal_data_type dbr:Declaration_(computer_programming) dbr:Deep_Blue_C dbr:Definite_assignment_analysis dbr:Dependency_graph dbr:Deterministic_parsing dbr:Develo dbr:Double-checked_locking dbr:Dynamic_Invocation_Interface dbr:Dynamic_compilation dbr:Dynamic_software_updating dbr:ECL_programming_language dbr:ERMETH dbr:Include_directive dbr:Incremental_compiler dbr:Index_of_computing_articles dbr:Index_of_software_engineering_articles dbr:Infineon_XMC dbr:Infinite_loop dbr:Inline_assembler dbr:Inline_expansion dbr:Inline_function dbr:Instruction_pipelining dbr:Instruction_selection dbr:Instruction_step dbr:Integer_overflow dbr:Intel_HEX dbr:Intel_MPX dbr:Intel_System_Development_Kit dbr:Intel_i860 dbr:Intel_iAPX_432 dbr:Intentional_programming dbr:Interactive_computing dbr:Interactive_fiction dbr:Interactivity dbr:Intermediate_representation dbr:International_Conference_on_Functional_Programming dbr:Interpreter_(computing) dbr:Interprocedural_optimization dbr:Intersection_number_(graph_theory) dbr:Inverse_search dbr:J._W._Graham_Medal dbr:L-attributed_grammar dbr:LAMP_(software_bundle) dbr:Lexer_hack dbr:Library_(computing) dbr:Library_of_Congress_Classification:Class_Q_--_Science dbr:List_of_inventions_and_discoveries_by_women dbr:List_of_inventors dbr:List_of_military_inventions dbr:List_of_programmers dbr:List_of_programming_language_researchers dbr:List_of_programming_languages_by_type dbr:Scientia_Iranica dbr:Obfuscation_(software) dbr:Programming_language_specification dbr:ORDVAC dbr:Nvidia_CUDA_Compiler dbr:WATBOL dbr:Ordinal_data_type dbr:Problem_of_mental_causation dbr:Pearson_hashing dbr:Preprocessor dbr:Unspecified_behavior dbr:Proprietary_software dbr:Timeline_of_Manchester_history dbr:Timeline_of_United_States_inventions_(1946–1991) dbr:Timeline_of_computer_viruses_and_worms dbr:*Lisp dbr:128-bit_computing dbr:14_Years_of_Electronic_Challenge_Vol._II dbr:Collective_Knowledge_(software) dbr:Comeau_C/C++ dbr:Commodore_64_software dbr:Common_Desktop_Environment dbr:Common_Lisp dbr:CompCert dbr:Comparison_of_C_Sharp_and_Java dbr:Comparison_of_HTML5_and_Flash dbr:Comparison_of_integrated_development_environments dbr:Comparison_of_text_editors dbr:Comparison_of_web_browsers dbr:Compatibility_of_C_and_C++ dbr:Compile dbr:Compiled dbr:Compiled_sofware dbr:Compiler_(manga) dbr:Compiler_Description_Language dbr:Compiler_construction dbr:Compilers dbr:Compiling dbr:Component_Object_Model dbr:Computable_function dbr:Computer dbr:Computer_Sciences_Corporation dbr:Constant_(computer_programming) dbr:Constraint_Handling_Rules dbr:Container_Linux dbr:Control_Data_Corporation dbr:Convex_Computer dbr:Coreboot dbr:Corrector_Yui dbr:Cosmos_(operating_system) dbr:Crimson_Editor dbr:Crobots dbr:Mathematics dbr:Maximus_(BBS) dbr:Maxine_Virtual_Machine dbr:McStas dbr:MeeGo dbr:Menuconfig dbr:Run_BASIC dbr:Rust_(programming_language) dbr:S-algol dbr:SAC_programming_language dbr:SCELBAL dbr:SCM_(Scheme_implementation) dbr:SCO_Skunkware dbr:SIOD dbr:SNOBOL dbr:SN_Systems dbr:SPARK_(programming_language) dbr:SPECint dbr:SPIN_(operating_system) dbr:STOS_BASIC dbr:Safari_(web_browser) dbr:Elliott_803 dbr:Elliott_Brothers_(computer_company) dbr:Gdium dbr:Generation_gap_(pattern) dbr:Generic_programming dbr:Genetix dbr:Nominal_terms_(computer_science) dbr:Object-oriented_programming dbr:Object_file dbr:One-instruction_set_computer dbr:One-liner_program dbr:One_Definition_Rule dbr:Opaque_binary_blob dbr:Roy_Nutt dbr:Middleware dbr:Rewriting |
is dbp:genre of | dbr:Roslyn_(compiler) dbr:BennuGD dbr:Delphi_(software) dbr:Hugs_(interpreter) dbr:PathScale dbr:Virtual_Pascal dbr:Nvidia_CUDA_Compiler dbr:Comeau_C/C++ dbr:CompCert dbr:Emscripten dbr:Free_Pascal dbr:G95 dbr:GLBasic dbr:GNAT dbr:GNU_Common_Lisp dbr:GNU_Compiler_Collection dbr:GNU_Compiler_for_Java dbr:GNU_Fortran dbr:GNU_Prolog dbr:Glasgow_Haskell_Compiler dbr:LibertyEiffel dbr:MILEPOST_GCC dbr:MTASC dbr:Silverfrost_FTN95 dbr:Small-C dbr:Small_Device_C_Compiler dbr:SmartEiffel dbr:Ypsilon_(Scheme_implementation) dbr:BDS_C dbr:Babel_(transcompiler) dbr:CLISP dbr:Tiny_C_Compiler dbr:Turbo51 dbr:GNU_Pascal dbr:ALGOL_68-R dbr:ALGOL_68C dbr:ALGOL_68RS dbr:AMD_Optimizing_C/C++_Compiler dbr:ASSIST_(computing) dbr:DJGCC dbr:DJGPP dbr:Bartok_(compiler) dbr:TenDRA_Compiler dbr:Arden2ByteCode dbr:KRoC dbr:LCC_(compiler) dbr:LLVM dbr:Lattice_C dbr:Javac dbr:Distcc dbr:Aztec_C dbr:Pic_Micro_Pascal dbr:Portable_C_Compiler dbr:Intel_C++_Compiler dbr:Intel_Fortran_Compiler dbr:Microsoft_Visual_C++ dbr:MinGW dbr:Mingw-w64 dbr:ORCA/Modula-2 dbr:Open64 dbr:Oracle_Developer_Studio dbr:ROSE_(compiler_framework) dbr:Ragel |
is dbp:updateModel of | dbr:Thoth_(operating_system) |
is gold:hypernym of | dbr:Psyco dbr:Pugs dbr:QB64 dbr:One-pass_compiler dbr:Svat_Soucek dbr:David_Pickering_(writer) dbr:Derrick_Somerset_Macnutt dbr:Alistair_Ferguson_Ritchie dbr:Vbcc dbr:Vector_Pascal dbr:Virtual_Pascal dbr:John_Adams_(educational_writer) dbr:Comeau_C/C++ dbr:Crosaire dbr:Kylix_(software) dbr:Roger_Squires dbr:StepSqlite dbr:Network_Definition_Language dbr:CHICKEN_(Scheme_implementation) dbr:Source-to-source_compiler dbr:SharpOS_AOT dbr:Clipper_(programming_language) dbr:CodeSynthesis_XSD dbr:Elliott_ALGOL dbr:Emscripten dbr:Free_Pascal dbr:FutureBASIC dbr:G95 dbr:GNAT dbr:GNU_Common_Lisp dbr:GNU_Compiler_for_Java dbr:GNU_Fortran dbr:GNU_Prolog dbr:Glasgow_Haskell_Compiler dbr:NVIDIA_CUDA_Compiler dbr:Cristfried_Ganander dbr:Cross_compiler dbr:MusicHound dbr:Yhc dbr:LibertyEiffel dbr:MIDletPascal dbr:MILEPOST_GCC dbr:MTASC dbr:Silverfrost_FTN95 dbr:SmartEiffel dbr:Clement_Cruttwell dbr:ZBasic dbr:Ibn_Sayyar_al-Warraq dbr:Joshua_Smith_(minister) dbr:Muhammad_bin_Hasan_al-Baghdadi dbr:Parser_Grammar_Engine dbr:Philippus_of_Thessalonica dbr:Mathew_Bacon dbr:Punie dbr:BDS_C dbr:A-0_System dbr:Agur dbr:ToBoS-FP dbr:Turbo51 dbr:GNU_Pascal dbr:John_Ecton dbr:Richard_Cannon dbr:Stobaeus dbr:Rakudo_Perl_6 dbr:ALGOL_68RS dbr:E._Cobham_Brewer dbr:FpgaC dbr:Bartok_(compiler) dbr:Digby_Mythographer dbr:John_Tracy_Atkyns dbr:Joseph_Morgan_(historian) dbr:Thomas_Fich dbr:TenDRA_Compiler dbr:Helium_(Haskell) dbr:ACC_(programming_language) dbr:Jikes dbr:John_Galbraith_Graham dbr:LCC_(compiler) dbr:Lattice_C dbr:Sun_Zhu dbr:George_Henry_Townsend dbr:Java_compiler dbr:Javac dbr:William_Rea_(ironmaster) dbr:Aztec_C dbr:Pic_Micro_Pascal dbr:Portable_C_Compiler dbr:Ibn_Abi_Usaibia dbr:Nanoc dbr:ORCA/Modula-2 dbr:Optimizing_compiler dbr:Cathal_Óg_Mac_Maghnusa dbr:Ragel dbr:Cfront dbr:Shc_the_shell_script_compiler dbr:XBLite dbr:Kirsha_Danilov dbr:Robert_Shiels dbr:Sieve_C++_Parallel_Programming_System dbr:IBM_COBOL dbr:IL2CPU dbr:Octopiler dbr:Nadikerianda_Chinnappa dbr:Nagendranath_Basu dbr:Roy_Earle dbr:Thomas_Whincop dbr:Multi-pass_compiler dbr:PasCocoa dbr:Philip_Beresford dbr:Watcom_C/C++_compiler dbr:XHarbour dbr:Ralph_Lane_Polk dbr:Xu_Ling dbr:Functional_compiler |
is rdfs:seeAlso of | dbr:Register_allocation dbr:Computer_programming |
is foaf:primaryTopic of | wikipedia-en:Compiler |