dbo:abstract
|
- في علم الحاسوب، يطلق مصطلح توليد الشفرة (بالإنجليزية code generation) على العملية التي يقوم بها المترجم لتحويل الشفرة المصدرية المكتوبة بلغة وسيطة إلى شكل جاهز للتنفيذ من قبل الآلة. عادةً ما يقوم المترجمون المتطورون بتمريرات متعددة عبر أشكال وسيطة متنوعة.يتم استخدام هذه العملية متعددة المراحل لأن العديد من خوارزميات تحسين التعليمات البرمجية (بالإنجليزية Program optimization )يسهل تطبيقها في وقت واحد، ولأن الإدخال إلى تحسين واحد يعتمد على المعالجة المكتملة التي تم إجراؤها بواسطة تحسين آخر. كما تسهل هذه المنظمة إنشاء مترجم واحد يمكنه استهداف أبنية متعددة، حيث تحتاج آخر مراحل توليد الشفرة (the backend) إلى التغيير من هدف إلى هدف.(لمزيد من المعلومات حول تصميم المترجم، انظر إلى المترجم .) يتكون الإدخال إلى مولد الشفرة عادةً من شجرة تحليل(بالإنجليزية parse tree) أو شجرة بناء مجردة(بالإنجليزية abstract syntax tree) . يتم تحويل الشجرة إلى تسلسل خطي من التعليمات، عادة في لغة وسيطة مثل شفرة الثلاثة عناوين ( بالإنجليزية Three-address code). مراحل أخرى من التجميع قد أو قد لا يشار إليها باسم «توليد الشفرة»،اعتمادًا على ما إذا كانت تنطوي على تغيير كبير في تمثيل البرنامج. (ar)
- Generování kódu je v informatice proces, při kterém překladačem generovaný kód je převáděn na mezijazyk, jenž reprezentuje zdrojový kód náležité formy (např. strojový kód), kterou lze snadno realizovat pomocí stroje. Sofistikované kompilátory obvykle provádějí přes různé přechodné formy. Tento vícestupňový proces, je nutný proto, že mnoho algoritmů pro optimalizace kódu je jednodušší použít jeden po druhém nebo proto, že vstup na jeden optimalizaci závisí na zpracování prováděné jinou optimalizací. Tato organizace také usnadňuje vytvoření jednotného kompilátoru, který může cílit na více architektur. Pouze jako poslední z etap generování kódu (backend), se musí změnit od cíle k cíli. (Pro více informací o konstrukci kompilátorů viz překladač.) Vstup do generátoru kódu se obvykle skládá z derivačního stromu nebo syntaktického stromu. Strom je převeden na lineární posloupnost instrukcí. Obvykle v mezijazyku, jako je tříadresní kód. Další fáze kompilace může nebo nemusí být nazývána jako generování kódu podle toho, zda zahrnuje či ne významné změny v zastoupení programu. (cs)
- La generació de codi és en programació d'ordinadors una de les fases mitjançant la qual un compilador converteix un programa sintàcticament correcte en una sèrie d'instruccions a ser interpretades per una màquina. L'entrada en aquesta fase ve representada, típicament, per un , un , o una ; la maquina destinta pot ser un microprocessador o una màquina abstracta tal com una màquina virtual o un llenguatge intermedi, llegible per un humà. Compiladors més sofisticats realitzen múltiples traduccions en cadena (pipelining) amb la finalitat de poder construir codis per múltiples plataformes i evitar haver de construir totes les capes del compilador. En termes més generals, la generació de codis és usada per construir programes d'una manera automàtica evitant que els programadors hagin d'escriure el codi a mà. La generació de codi pot realitzar-se en , , o temps de compilació. Els són un exemple de generadors de codis. (ca)
- Ein Codegenerator ist ein Computerprogramm für die Softwareentwicklung. Er übersetzt Modelle, die in UML, XML, Struktogrammen, Entscheidungstabellen oder einer anderen formalen Sprache erstellt wurden, in eine Programmiersprache (C, C++, Assembler, …) der gewählten Zielplattform. Er erzeugt Quellcode (Codegenerierung), der danach mit anderen Programmteilen zu einem Programm verbunden wird. Das Erzeugnis eines Codegenerators wird (wenn auch selten) als Generat bezeichnet. Im Compilerbau ist der Codegenerator der Teil eines Compilers, der während des Kompiliervorgangs Maschinencode erzeugt. (de)
- In computing, code generation is part of the process chain of a compiler and converts intermediate representation of source code into a form (e.g., machine code) that can be readily executed by the _target system. Sophisticated compilers typically perform multiple passes over various intermediate forms. This multi-stage process is used because many algorithms for code optimization are easier to apply one at a time, or because the input to one optimization relies on the completed processing performed by another optimization. This organization also facilitates the creation of a single compiler that can _target multiple architectures, as only the last of the code generation stages (the backend) needs to change from _target to _target. (For more information on compiler design, see Compiler.) The input to the code generator typically consists of a parse tree or an abstract syntax tree. The tree is converted into a linear sequence of instructions, usually in an intermediate language such as three-address code. Further stages of compilation may or may not be referred to as "code generation", depending on whether they involve a significant change in the representation of the program. (For example, a peephole optimization pass would not likely be called "code generation", although a code generator might incorporate a peephole optimization pass.) (en)
- La génération de code natif est l'étape du processus de compilation transformant l'arbre syntaxique abstrait enrichi d'informations sémantiques en code machine ou en bytecode spécialisé pour la plateforme cible. C'est l'avant-dernière étape du processus de compilation qui se situe avant l'édition des liens. La phase de génération de code natif inclut généralement :
* Le choix des instructions à émettre ;
* L'ordonnancement des instructions : dans quel ordre émettre les instructions. L'ordonnancement est une optimisation de la vitesse d'exécution qui peut être critique pour les architectures pipelinées ;
* L'allocation de registres : l'allocation des variables aux registres du processeur. (fr)
- En programación, la generación de código es una de las fases mediante el cual un compilador convierte un programa sintácticamente correcto en una serie de instrucciones a ser interpretadas por una máquina. La entrada en esta fase viene representada, normalmente, por un , un Árbol de Sintaxis Abstracta, o una ; la máquina destino puede ser un microprocesador o una máquina abstracta tal como una máquina virtual o un lenguaje intermedio, legible por un humano. Compiladores más sofisticados realizan múltiples traducciones en cadena (pipelining) con el fin de poder construir código para múltiples plataformas y evitar tener que construir todas las capas del compilador. En términos más generales, la generación de código: es usada para construir programas de una manera automática evitando que los programadores tengan que escribir el código a mano. La generación de código puede realizarse en tiempo de ejecución, , o Tiempo de compilación. Los compiladores JIT son un ejemplo de generadores de código. (es)
- コード生成(英: Code Generation)とは、コンパイルの最終段階であり、ソースコードの意味が実現された目的コードを生成する過程である。「何らかの目的コード」が具体的には、機械語である場合もあれば、アセンブリ言語である場合もあれば、バイトコードや、場合によっては「ソースコード側が比較すれば高水準であるのに対して低水準な側であると言える言語(例えばC言語など)」ということもある。同程度の水準の言語間の変換を指すトランスパイルなどという語も近年はできた。 (ja)
- Generowanie kodu – ogół czynności dokonywanych podczas kompilacji, w których na podstawie abstrakcyjnej reprezentacji kodu źródłowego (przeważnie pewnego drzewa) generowany jest kod niskopoziomowy – asembler, kod wykonywalny, lub rzadziej kod w języku pośrednim. (pl)
- Een codegenerator is een stuk software dat tot doel heeft bron-, markup- of objectcode aan te maken (te genereren) op basis van een abstracte beschrijving. Dit kan zowel een invoerbestand in een of ander formaat zijn, maar ook de interne representatie van een (deel van een) programma of bibliotheek in het werkgeheugen van een compiler. Deze techniek wordt veelal gebruikt om grote tabellen te genereren in talen zoals C of C++, maar vormt ook een vast onderdeel van compilers. (nl)
- Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору. Обычно на вход генератора кода подаётся или абстрактное синтаксическое дерево. Дерево преобразуется в линейную последовательность инструкций промежуточного языка (например, в трехадресный код). Сложные компиляторы, как правило, делают несколько проходов через различные промежуточные формы кода. Этот многоступенчатый процесс используется потому, что многие алгоритмы оптимизации кода проще реализовать каждый отдельно, или же потому, что какой-то шаг оптимизации зависит от результата отработки другого шага. Кроме того, при такой организации, легко создать один компилятор, который будет создавать код для нескольких платформ, так как достаточно заменить последний шаг генерации кода (бэкэнд, англ. backend). Дальнейшие этапы компиляции могут и не относиться к «генерации кода», в зависимости от того, насколько значительными будут изменения, вносимые ими. Так, локальная оптимизация вряд ли может называться «генерацией кода», однако сам генератор кода может включать в себя этап локальной оптимизации. (ru)
- 在计算中,代码生成是指編譯器的代码生成器将源代码的中間語言转换为机器可以轻松执行的形式(例如机器语言)的过程。通常一个解析树或一个抽象語法樹要输入進代码生成器。 (zh)
- Генерація коду або кодогенерація — частина процесу компіляції, коли спеціальна частина компілятора, кодогенератор, конвертує синтаксично коректну програму в послідовність інструкцій, які можуть виконуватися на машині. При цьому можуть застосовуватися різні, в першу чергу машинно-залежні оптимізації. Часто кодогенератор є спільною частиною для багатьох компіляторів. Кожен з них генерує проміжний код, який подається на вхід кодогенератору. Зазвичай, на вхід генератора коду подається дерево розбору або абстрактне синтаксичне дерево. Дерево перетвориться в лінійну послідовність інструкцій проміжної мови. Складні компілятори, як правило, роблять кілька проходів через різні проміжні форми коду. Цей багатокроковий процес використовується тому, що багато алгоритмів оптимізації коду простіше реалізувати окремо, або ж тому, що якийсь крок оптимізації залежить від результату обробки другого кроку. Окрім того, при такій організації легко створити один компілятор, який буде створювати код для кількох платформ, так як достатньо замінити останній крок генерації коду (англ. backend ). Подальші етапи компіляції можуть і не належати до «генерації коду», в залежності від того, наскільки значними будуть зміни, що вносяться ними. Так, локальна оптимізація навряд чи може називатися «генерацією коду», проте сам генератор коду може включати в себе етап локальної оптимізації. (uk)
|
rdfs:comment
|
- Ein Codegenerator ist ein Computerprogramm für die Softwareentwicklung. Er übersetzt Modelle, die in UML, XML, Struktogrammen, Entscheidungstabellen oder einer anderen formalen Sprache erstellt wurden, in eine Programmiersprache (C, C++, Assembler, …) der gewählten Zielplattform. Er erzeugt Quellcode (Codegenerierung), der danach mit anderen Programmteilen zu einem Programm verbunden wird. Das Erzeugnis eines Codegenerators wird (wenn auch selten) als Generat bezeichnet. Im Compilerbau ist der Codegenerator der Teil eines Compilers, der während des Kompiliervorgangs Maschinencode erzeugt. (de)
- コード生成(英: Code Generation)とは、コンパイルの最終段階であり、ソースコードの意味が実現された目的コードを生成する過程である。「何らかの目的コード」が具体的には、機械語である場合もあれば、アセンブリ言語である場合もあれば、バイトコードや、場合によっては「ソースコード側が比較すれば高水準であるのに対して低水準な側であると言える言語(例えばC言語など)」ということもある。同程度の水準の言語間の変換を指すトランスパイルなどという語も近年はできた。 (ja)
- Generowanie kodu – ogół czynności dokonywanych podczas kompilacji, w których na podstawie abstrakcyjnej reprezentacji kodu źródłowego (przeważnie pewnego drzewa) generowany jest kod niskopoziomowy – asembler, kod wykonywalny, lub rzadziej kod w języku pośrednim. (pl)
- Een codegenerator is een stuk software dat tot doel heeft bron-, markup- of objectcode aan te maken (te genereren) op basis van een abstracte beschrijving. Dit kan zowel een invoerbestand in een of ander formaat zijn, maar ook de interne representatie van een (deel van een) programma of bibliotheek in het werkgeheugen van een compiler. Deze techniek wordt veelal gebruikt om grote tabellen te genereren in talen zoals C of C++, maar vormt ook een vast onderdeel van compilers. (nl)
- 在计算中,代码生成是指編譯器的代码生成器将源代码的中間語言转换为机器可以轻松执行的形式(例如机器语言)的过程。通常一个解析树或一个抽象語法樹要输入進代码生成器。 (zh)
- في علم الحاسوب، يطلق مصطلح توليد الشفرة (بالإنجليزية code generation) على العملية التي يقوم بها المترجم لتحويل الشفرة المصدرية المكتوبة بلغة وسيطة إلى شكل جاهز للتنفيذ من قبل الآلة. عادةً ما يقوم المترجمون المتطورون بتمريرات متعددة عبر أشكال وسيطة متنوعة.يتم استخدام هذه العملية متعددة المراحل لأن العديد من خوارزميات تحسين التعليمات البرمجية (بالإنجليزية Program optimization )يسهل تطبيقها في وقت واحد، ولأن الإدخال إلى تحسين واحد يعتمد على المعالجة المكتملة التي تم إجراؤها بواسطة تحسين آخر. كما تسهل هذه المنظمة إنشاء مترجم واحد يمكنه استهداف أبنية متعددة، حيث تحتاج آخر مراحل توليد الشفرة (the backend) إلى التغيير من هدف إلى هدف.(لمزيد من المعلومات حول تصميم المترجم، انظر إلى المترجم .) (ar)
- La generació de codi és en programació d'ordinadors una de les fases mitjançant la qual un compilador converteix un programa sintàcticament correcte en una sèrie d'instruccions a ser interpretades per una màquina. L'entrada en aquesta fase ve representada, típicament, per un , un , o una ; la maquina destinta pot ser un microprocessador o una màquina abstracta tal com una màquina virtual o un llenguatge intermedi, llegible per un humà. Compiladors més sofisticats realitzen múltiples traduccions en cadena (pipelining) amb la finalitat de poder construir codis per múltiples plataformes i evitar haver de construir totes les capes del compilador. (ca)
- Generování kódu je v informatice proces, při kterém překladačem generovaný kód je převáděn na mezijazyk, jenž reprezentuje zdrojový kód náležité formy (např. strojový kód), kterou lze snadno realizovat pomocí stroje. Vstup do generátoru kódu se obvykle skládá z derivačního stromu nebo syntaktického stromu. Strom je převeden na lineární posloupnost instrukcí. Obvykle v mezijazyku, jako je tříadresní kód. Další fáze kompilace může nebo nemusí být nazývána jako generování kódu podle toho, zda zahrnuje či ne významné změny v zastoupení programu. (cs)
- In computing, code generation is part of the process chain of a compiler and converts intermediate representation of source code into a form (e.g., machine code) that can be readily executed by the _target system. (en)
- En programación, la generación de código es una de las fases mediante el cual un compilador convierte un programa sintácticamente correcto en una serie de instrucciones a ser interpretadas por una máquina. La entrada en esta fase viene representada, normalmente, por un , un Árbol de Sintaxis Abstracta, o una ; la máquina destino puede ser un microprocesador o una máquina abstracta tal como una máquina virtual o un lenguaje intermedio, legible por un humano. Compiladores más sofisticados realizan múltiples traducciones en cadena (pipelining) con el fin de poder construir código para múltiples plataformas y evitar tener que construir todas las capas del compilador. (es)
- La génération de code natif est l'étape du processus de compilation transformant l'arbre syntaxique abstrait enrichi d'informations sémantiques en code machine ou en bytecode spécialisé pour la plateforme cible. C'est l'avant-dernière étape du processus de compilation qui se situe avant l'édition des liens. La phase de génération de code natif inclut généralement : (fr)
- Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору. (ru)
- Генерація коду або кодогенерація — частина процесу компіляції, коли спеціальна частина компілятора, кодогенератор, конвертує синтаксично коректну програму в послідовність інструкцій, які можуть виконуватися на машині. При цьому можуть застосовуватися різні, в першу чергу машинно-залежні оптимізації. Часто кодогенератор є спільною частиною для багатьох компіляторів. Кожен з них генерує проміжний код, який подається на вхід кодогенератору. (uk)
|