Compiler: Forskelle mellem versioner

Content deleted Content added
+illu
Linje 23:
*Kommentarer fjernes fra kildekoden.
*Der foretages en [[leksikalsk analyse]], der resulterer i en liste af symboler, som kan genkendes af oversætteren. Eksempelvis gøres
'abekat=abe+kat;'# ← (en samlet tekststreng):
'abekat=abe+kat;'
til
'abekat',# '=', 'abe', '+', 'kat', ';' ← (nu delt i flere tekststrenge og evt. i hvert sit objekt)
# og evt. i hvert sit objekt:
'abekat', '=', 'abe', '+', 'kat', ';'
Processen håndterer også, at programmeringssprog som [[C (programmeringssprog)|C]] og [[Java (programmeringssprog)|Java]] eksempelvis både bruger '+', '++', '+=', '=' og '=='.
*Der opbygges et [[parsetræ]], ud fra programmeringssprogets grammatik.
Line 33 ⟶ 36:
 
Der dannes en fil med output for hver fil med kildekode, der kan udføres. Kildefiler, der kun indeholder definitioner af konstanter og variabler resulterer ikke i en outputfil.
 
[[File:Chaîne de compilation.svg|thumb|700px|center|Kasserne er delprocesserne i oversættelsen. (pt fransk)]]
 
Resultatet af oversættelsen skal behandles af en en [[assembler]] og siden en [[linker]] før der er kommet et færdigt program ud af det.