Hvad er en compiler, eller hvordan får man en computer til at forstå, hvad du vil have ud af den?

Indholdsfortegnelse:

Hvad er en compiler, eller hvordan får man en computer til at forstå, hvad du vil have ud af den?
Hvad er en compiler, eller hvordan får man en computer til at forstå, hvad du vil have ud af den?

Video: Hvad er en compiler, eller hvordan får man en computer til at forstå, hvad du vil have ud af den?

Video: Hvad er en compiler, eller hvordan får man en computer til at forstå, hvad du vil have ud af den?
Video: Lær at kode Java lektion 1 Compiling 2024, Kan
Anonim

Den sidste fase af oprettelsen af et program er at oversætte en algoritme skrevet på et af programmeringssprogene (C/C++, Pascal osv.) til et maskinsprog på lavt niveau. Dette skyldes det faktum, at for at udføre enhver opgave, skal computere have kommandoer på et sprog, de forstår, tæt på binært og opererer med primitive datastrukturer (bit, byte eller ord). Processen med at oversætte domænespecifikke udsagn af sprog på højt niveau til binær kode kaldes oversættelse. Der er to oversættelsesmetoder - kompilering og tolkning.

compiler er
compiler er

Compiler - hvad er det?

Analyse af mange fortolkninger af begreberne "compiler" og "compilation" giver os mulighed for at fremhæve følgende definition. En compiler er et program designet til at oversætte teksten i en kildealgoritme fra et sprog på højt niveau til et tilsvarende sæt instruktioner i et maskinorienteret sprog. Dette er den såkaldte objektkode, til den efterfølgende samling af den resulterende objektkode til et brugsklart programmodul.

Kompilator og tolk - ligheder og forskelle

En tolk er et værktøj, dersamt en compiler, designet til at oversætte kildekode til maskinkode. Men i modsætning til compileren kører tolken hver gang med programmet og udfører oversættelsen linje for linje.

Du kan sige, at compileren og tolken er sprogprocessorer, der gør det muligt for computeren at genkende og udføre kommandoer givet af programmøren.

Compiler-klassifikation

compiler er et program
compiler er et program

Compilere klassificeres hovedsageligt efter funktioner relateret til deres praktiske anvendelsesområder.

Vectorizing compiler er et hjælpeprogram, der oversætter kildekode til objektkode og er tilpasset computere udstyret med vektorprocessorer.

En fleksibel compiler er programmeret i et højt niveau sprog på en modulær måde. Dens styring udføres ved hjælp af tabeller. Det er også muligt at udføre det ved hjælp af compileren af compilere.

Incremental compiler er en sprogprocessor, der genoversætter separate fragmenter af kildekode og tilføjelser til den. Det undgår dog at kompilere hele applikationen igen.

En fortolkende (stepping) compiler er et værktøj, der sekventielt udfører uafhængig kompilering af hver sætning eller kommando i en kildekode på højt niveau.

En compiler af compilere er en oversætter, der er i stand til at acceptere en formel beskrivelse af et programmeringssprog og selvstændigt generere en compiler til ethvert sprog.

kompilator og tolk
kompilator og tolk

Fejlretningskompileren giver dig mulighed for at finde og rette nogle slags syntaksfejl, der er lavet, når du skriver kildekode

En resident compiler optager en permanent plads i RAM og kan derfor genbruges til en lang række opgaver.

Den selvkompilerede compiler er skrevet på samme sprog som oversættelsen.

Den universelle compiler er baseret på en formel beskrivelse af inputsprogets semantiske og syntaktiske parametre. Hovedkomponenterne i et sådant hjælpeprogram er de centrale, syntaktiske og semantiske indlæsere.

Compiler-enhed

En compiler og en linker er kernen i enhver compiler. Ofte, når der kompileres, bruges en ekstern linker, og compileren selv udfører kun oversættelsesfunktionen. Det sker også, at compileren er implementeret som en slags managerprogram, der er knyttet til oversætteren (eller oversætterne, hvis der blev brugt forskellige programmeringssprog ved skrivning af kildekoden) og linkeren og starter deres eksekvering, når det er nødvendigt.

Programmeringssprog og oversættelsesmetoder

sprog compiler
sprog compiler

På trods af at et program skrevet på et hvilket som helst programmeringssprog både kan kompileres og fortolkes, har mange sprog på højt niveau en disposition for en eller anden oversættelsesmetode. Så C-sproget blev oprindeligt designet til kompilering, og Java - til fortolkningen af det skrevne program. Er under udviklingC-kompilere er ret nemme takket være dets relativt lave niveau og et lille antal strukturelle elementer.

Fordele og ulemper ved compilere og tolke. Ansøgninger

Bemærk, at kompilerede applikationer er hurtigere end fortolkede, men på samme tid afhænger maskinkoden, der opnås som et resultat af kompilering, af hardwareplatformen. Så et program skrevet og kompileret til Windows vil for eksempel ikke fungere i Linux. Derfor, i tilfælde af internetapplikationer, når det er umuligt at sige på forhånd i hvilket miljø de vil arbejde, bruger de fortolkning eller bytekode (i dette tilfælde konverteres kildeprogrammet til en mellemform, der kan udføres på forskellig hardware platforme).

Anbefalede: