Compiler: Forskelle mellem versioner
Content deleted Content added
Steenth (diskussion | bidrag) m →Oversættelsesprocessen: ret pil |
MGA73bot (diskussion | bidrag) m Bot: Kosmetiske ændringer |
||
Linje 3:
Sagt på en anden måde er det typisk et transformationsværktøj for programmører der oversætter/transformerer højniveau kode (der kan skrives, læses og forstås af mennesker) til et lavere niveau som f.eks. det sprog en computer forstår (ultimativt binære instruktions sæt). Det behøver ikke nødvendigvis at være fra høj- til lavniveau men kan også være fra eet højniveaus sprog til et andet (fra [[Java (programmeringssprog)|java]] til [[XML]]). En javacompiler ([[javac]]) oversætter fra java programmeringssproget til java byte kode som kan fortolkes/forstås af en java [[virtuel maskine]] (JVM).
Et eksempel på en compiler er en [[
== Teknikken ==
Linje 12:
Til nogle [[programmeringssprog]], som f.eks. [[BASIC]], findes både compiler og fortolker. Når man udvikler i den slags sprog bruger man typisk en fortolker, mens programmet udvikles (debugger/fejlfinder), og en compiler, når resultatet skal afleveres til kunden.
I [[
En decompiler er en compiler, der ud fra resulterende kode forsøger at genskabe kildekoden.
Linje 49:
Med [[javac]] oversættes Hello.java til en såkaldt class-fil, der indeholder det det oversatte program i såkaldt bytecode. Denne kode er instruktioner til en java-maskine (evt. en virtuel java-maskine, JVM).
Delen
0: aload_0
Linje 71:
...hvilket en JVM kan forstå og fortolke!
== Se også ==
*[[fortolker]]
*[[GNU bison]]
*[[Yacc]]
== Eksterne henvisninger ==
*Vejviser: [http://directory.google.com/Top/Computers/Programming/Compilers/ Compilers]
=== Open source ===
==== Hele compilere ====
*[http://gcc.gnu.org/ GCC, the GNU Compiler Collection, includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...)], [http://gcc.gnu.org/onlinedocs/gccint/ This file documents the internals of the GNU compilers]
**[http://theochem.ki.ku.dk/on_line_docs/gcc/gcc_toc.html Using and Porting the GNU Compiler Collection (GCC)]
**[http://coyotegulch.com/reviews/linux_compilers/ Linux C and C++ Compilers. A comparison via benchmarks on Opteron and Pentium]
==== Compiler værktøjer ====
*[http://www.antlr.org/ ANTLR Parser Generator], [http://www.antlr.org/history.html history]
**[http://www.bearcave.com/software/antlr/antlr_expr.html Why Use ANTLR?]
Linje 98:
*[http://www.cs.may.ie/~jpower/ My research centers on parsers and compiler technology for object-oriented languages]
==== Sproggrammatikker til compilere ====
*[http://www.thefreecountry.com/sourcecode/grammars.shtml Free Programming Language Grammars for Compiler Construction]
[[
[[af:Vertalerkonstruksie]]
|