Compiler: Forskelle mellem versioner

Content deleted Content added
m linkændr
m Bot: Replace deprecated <source> tag and "enclose" parameter; kosmetiske ændringer
Linje 14:
Til nogle [[programmeringssprog]], som f.eks. [[BASIC]], findes både compiler og fortolker. Når man udvikler i sprog hvor begge dele er tilgængelige, bruger man typisk en fortolker, mens programmet udvikles (debugger/fejlfinder), og en compiler, når resultatet skal anvendes i praksis.
 
Nogle gange oversætter man typisk til et binært format som kaldes [[mellemkode]], som er et programmeringssprog hvis formål er at levere et abstraktionsniveau mellem højniveausproget og lavniveausproget. For eksempel kan højniveausproget understøtte vilkårligt mange variable, mens lavniveausproget har et begrænset antal registre som skal repræsentere variablene. Man kan derfor have lyst til at have et lavniveausprog hvor man stadig har vilkårligt mange registre og håndtere [[register-allokering]] som en separat proces.
 
En [[decompiler]] er en compiler, der ud fra resulterende kode forsøger at genskabe kildekoden.
Linje 45:
Herunder følger et eksempel på oversættelse af java programmet Hello.java.
 
<sourcesyntaxhighlight lang="java">
public class Hello{
public static void main(String[] args){
Linje 52:
}
}
</syntaxhighlight>
</source>
 
Med [[javac]] oversættes Hello.java til en såkaldt class-fil, der indeholder det oversatte program i såkaldt bytecode. Denne kode er instruktioner til en java-maskine (evt. en virtuel java-maskine, JVM).
 
Delen '''public class Hello extends java.lang.Object{ public Hello();''' bliver eksempelvis til...