A compiler is a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code. The most common reason for converting source code is to create an executable program.

Property Value
dbo:abstract
  • A compiler is a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code. The most common reason for converting source code is to create an executable program. 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). If the compiled program can run on a computer whose CPU or operating system is different from the one on which the compiler runs, the compiler is known as a cross-compiler. More generally, compilers are a specific type of translator. While all programs that take a set of programming specifications and translate them, i.e. create a means to execute those specifications, are technically "compilers", the term generally means a program that produces a separate executable from the compiler (that may require a run time library or subsystem to operate), a compiler that merely executes the original specifications is usually referred to as an "interpreter", although because of differing methods of analyzing what represents compilation and what represents interpretation, there is some overlap between the two terms. 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 is 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. The term compiler-compiler is sometimes used to refer to a parser generator, a tool often used to help create the lexer and parser. A compiler is likely to perform many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis (syntax-directed translation), code generation, and code optimization. Program faults caused by incorrect compiler behavior can be very difficult to track down and work around; therefore, compiler implementors invest significant effort to ensure compiler correctness. (en)
  • مترجم الأكواد للغة الألة او لغة الأسمبلي (بالإنجليزية: Compiler) الجامع أو المصرف أو المترجم هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج. على غير البدايات حين كانت البرامج تبرمج أصلاً بلغات متدنية المستوى (أي قريبة من بنية الحاسوب) يفهمها الحاسوب مباشرة، أصبحت الآن البرامج تبرمج بلغات عالية المستوى (عالية أي بعيدة عن فهم الحاسوب لها، وأقرب إلى فهم البشر). السبب في هذا أن البرامج زادت في تعقيدها وفي حساباتها، مما جعل البرمجة المباشرة للحاسوب أمرًا صعبًا، كما أن انتشار عدة بنى للحاسوب (مثل ARM وx64 وx86) جعل من اللازم كتابة البرامج عدة مرات بلغات ذات مستويات متدنية عدة لكي تعمل على عدة حواسيب مختلفة. لمواجهة هذا ظهرت لغات برمجة عالية المستوى تركز على المهم من الأمور في البرمجة وتسهل من إدارة المشاريع البرمجية، وتجعل إستهداف عدة أجهزة ممكنا بملف مصدري واحد مهما تعددت البنى (مع مراعات بعض التفاصيل الصغيرة عند ذلك وضبطها). والأسباب الرئيسية لذلك هي: * بالمقارنة بلغة الالة، فان شكل لغات البرمجة عالية المستوى اقرب لطريقة تفكير الإنسان في حل المشكلات. * يستطيع المترجم معرفة الأخطاء الواضحة أثناء البرمجة. * البرامج المكتوبة بلغات عالية المستوى تكون في الغالب أقصر من البرامج المناظرة لها والمكتوبة بلغة الالة. ميزة اخري في استخدام لغات البرمجة عالية المستوى ان نفس البرنامج المكتوب بها يمكن ترجمته إلى أنواع كثيرة من لغات الالة وبالتالي يمكن نقله إلى منصات كثيرة وأنواع كثيرة من الحواسيب. من ناحية اخري فان البرامج المكتوبة بلغة برمجة عالية المستوى ويتم ترجمتها اوتوماتيكيا إلى لغة الآلة ربما يتم تنفيذها ببطء أكثر مما لو كتبت بلغة الالة مباشرة. ومن هنا فان بعض البرامج التي يعتبر عامل الوقت والسرعة في التنفيذ مهم جدا بالنسبة لها ما زالت تكتب بلغة الالةومع ذلك فان المترجم الجيد يمكنه ان يصل بسرعة البرامج المكتوبة بلغة عالية المستوى إلى نفس سرعة تنفيذ البرامج المناظرة لها والمكتوبة بلغة الالة إذا قام بعمل الكثير من التحسينات الجيدة وكانت البرامج المكتوبة باللغة عالية المستوى مكتوبة بشكل جيد ومنظم. (ar)
  • Ein Compiler (auch Kompiler; von englisch für zusammentragen bzw. lateinisch compilare ‚aufhäufen‘) ist ein Computerprogramm, das den Quellcode einer bestimmten Programmiersprache in eine Form übersetzt, die von einem Computer (direkter) ausgeführt werden kann. 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 Programmcodes aus problemorientierten Programmiersprachen, sogenannten Hochsprachen, in den 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 den Quelltext einer bestimmten Programmiersprache, wird Dekompilierung und entsprechende Programme werden Decompiler genannt. (de)
  • Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje diferente. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. 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, e 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 código lo más eficiente posible). Alternativamente, las fases descritas para las tareas de análisis y síntesis se pueden agrupar en Front-end y Back-end: * 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. * 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, realizada por el Front End. Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programación concreto sirva para generar código máquina en varias plataformas distintas. Suele incluir la generación y optimización del código dependiente de la máquina. (es)
  • Un compilateur est un programme informatique qui transforme un code source écrit dans un langage de programmation (le langage source) en un autre langage informatique (le langage cible).Pour qu'il puisse être exploité par la machine, le compilateur traduit le code source, écrit dans un langage de haut niveau d'abstraction, facilement compréhensible par l'humain, vers un langage de plus bas niveau, un langage d'assemblage ou langage machine. Dans le cas de langage semi-compilé (ou semi-interprété), le code source est traduit en un langage intermédiaire, sous forme binaire (code objet ou bytecode), avant d'être lui-même interprété ou compilé. Inversement, un programme qui traduit un langage de bas niveau vers un langage de plus haut niveau est un décompilateur. Un compilateur effectue les opérations suivantes : analyse lexicale, pré-traitement (préprocesseur), analyse syntaxique (parsing), analyse sémantique, et génération de code optimisé. Quand le programme compilé (code objet) peut être exécuté sur un ordinateur dont le processeur ou le système d'exploitation est différent de celui du compilateur, on parle de compilation croisée. La compilation est souvent suivie d'une étape d’édition des liens, pour générer un fichier exécutable. On distingue deux options de compilation : * Ahead-of-time (AOT), où il faut compiler le programme avant de lancer l'application : c'est la situation traditionnelle. * Compilation à la volée (Just-in-Time, en abrégé JIT) : cette faculté est apparue dans les années 1980 (par ex. avec Tcl/Tk). (fr)
  • Un compilatore, in informatica, è un programma che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto). Questo processo di traduzione si chiama compilazione. L'attività inversa, 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 in effetti dei dialetti di ciascun linguaggio.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)
  • コンパイラ(英:compiler)とは、人間が理解しやすい言語や数式で記述されたプログラムを、機械語に(あるいは、元のプログラムよりも低いレベルのコードに)変換するプログラムのこと。 (ja)
  • 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 crosscompiler. Een programma dat een vertaling uitvoert tussen hogere programmeertalen wordt meestal niet compiler genoemd, maar vertaler. 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ą posiadać 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)
  • 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)
  • Компиля́тор — программа или техническое средство, выполняющее компиляцию. Компиля́ция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на предметно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код). Компили́ровать — проводить трансляцию машинной программы с предметно-ориентированного языка на машинно-ориентированный язык. (ru)
  • 编译器(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)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 5739 (xsd:integer)
dbo:wikiPageRevisionID
  • 744133604 (xsd:integer)
dbp:id
  • QPCC2sbukeo
dbp:title
  • Syntax Analysis & LL1 Parsing
dct:subject
http://purl.org/linguistics/gold/hypernym
rdf:type
rdfs:comment
  • コンパイラ(英:compiler)とは、人間が理解しやすい言語や数式で記述されたプログラムを、機械語に(あるいは、元のプログラムよりも低いレベルのコードに)変換するプログラムのこと。 (ja)
  • 编译器(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)
  • A compiler is a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code. The most common reason for converting source code is to create an executable program. (en)
  • مترجم الأكواد للغة الألة او لغة الأسمبلي (بالإنجليزية: Compiler) الجامع أو المصرف أو المترجم هو برنامج حاسوبي يقوم على تحويل الملفات المصدرية إلى أوامر مباشرة يفهمها الحاسوب وينفذها مباشرة بما يناسب بنية الحاسوب الذي يستهدفه البرنامج. والأسباب الرئيسية لذلك هي: * بالمقارنة بلغة الالة، فان شكل لغات البرمجة عالية المستوى اقرب لطريقة تفكير الإنسان في حل المشكلات. * يستطيع المترجم معرفة الأخطاء الواضحة أثناء البرمجة. * البرامج المكتوبة بلغات عالية المستوى تكون في الغالب أقصر من البرامج المناظرة لها والمكتوبة بلغة الالة. (ar)
  • Ein Compiler (auch Kompiler; von englisch für zusammentragen bzw. lateinisch compilare ‚aufhäufen‘) ist ein Computerprogramm, das den Quellcode einer bestimmten Programmiersprache in eine Form übersetzt, die von einem Computer (direkter) ausgeführt werden kann. 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 den Quelltext einer bestimmten Programmiersprache, wird Dekompilierung und entsprechende Programme werden Decompiler genannt. (de)
  • Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje diferente. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. 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. (es)
  • Un compilateur est un programme informatique qui transforme un code source écrit dans un langage de programmation (le langage source) en un autre langage informatique (le langage cible).Pour qu'il puisse être exploité par la machine, le compilateur traduit le code source, écrit dans un langage de haut niveau d'abstraction, facilement compréhensible par l'humain, vers un langage de plus bas niveau, un langage d'assemblage ou langage machine. Dans le cas de langage semi-compilé (ou semi-interprété), le code source est traduit en un langage intermédiaire, sous forme binaire (code objet ou bytecode), avant d'être lui-même interprété ou compilé. Inversement, un programme qui traduit un langage de bas niveau vers un langage de plus haut niveau est un décompilateur. (fr)
  • Un compilatore, in informatica, è un programma che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto). Questo processo di traduzione si chiama compilazione. L'attività inversa, passare dal codice oggetto al codice sorgente è chiamata decompilazione ed è effettuata per mezzo di un decompilatore. (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. (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. 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)
  • 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 (pt)
  • Компиля́тор — программа или техническое средство, выполняющее компиляцию. Компиля́ция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на предметно-ориентированном языке, а на выходе компилятора — эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код). (ru)
rdfs:label
  • Compiler (en)
  • مترجم (مجمع) (ar)
  • Compiler (de)
  • Compilador (es)
  • Compilateur (fr)
  • Compilatore (it)
  • コンパイラ (ja)
  • Compiler (nl)
  • Kompilator (pl)
  • Compilador (pt)
  • Компилятор (ru)
  • 編譯器 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:field of
is dbo:genre of
is dbo:knownFor of
is dbo:occupation of
is dbo:product of
is dbo:service of
is dbo:wikiPageRedirects of
is http://purl.org/linguistics/gold/hypernym of
is foaf:primaryTopic of