Compiler: Forskelle mellem versioner
Content deleted Content added
Glenn (diskussion | bidrag) m linkændr |
Xqbot (diskussion | bidrag) 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.
<
public class Hello{
public static void main(String[] args){
Linje 52:
}
}
</syntaxhighlight>
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...
|