Mis vahe on ühekordse ja mitmekordse kompilaatori vahel

Autor: John Stephens
Loomise Kuupäev: 25 Jaanuar 2021
Värskenduse Kuupäev: 18 Märts 2024
Anonim
Mis vahe on ühekordse ja mitmekordse kompilaatori vahel - Erinevus-Vahel
Mis vahe on ühekordse ja mitmekordse kompilaatori vahel - Erinevus-Vahel

Sisu

The peamine erinevus ühekordse ja mitme läbipääsu kompilaatori vahel on see ühekäiguline kompilaator on kompilaator, mis edastab lähtekoodi iga kompileerimisüksuse kaudu ainult üks kord, samal ajal kui multipass kompilaator eraldab kompileerimise mitmeks läbipääsuks, kus iga pass jätkub eelmise passi tulemusega.


Arvutiprogramm on juhiste kogum arvuti jaoks teatud ülesande täitmiseks. Tavaliselt kirjutavad programmeerijad programme, kasutades kõrgetasemelisi programmeerimiskeeli. Siiski ei mõista arvuti neid juhiseid. Seetõttu on vaja lähtekoodi muuta masinloetavaks masina koodiks. Kompilaator on tarkvara, mis teisendab lähtekoodi masina koodiks ja ühe ja mitme ülekande kompilaator on kahte tüüpi kompilaatorid.

Kaetud peamised valdkonnad

1. Mis on Single Pass Compiler
- Mõiste, funktsionaalsus
2. Mis on mitmeastmeline kompilaator
- Mõiste, funktsionaalsus
3. Milline on erinevus ühe passi ja mitmeastmelise kompilaatori vahel
- peamiste erinevuste võrdlus

Võtmesõnad

Single Pass kompilaator, Multipass kompilaator



Mis on Single Pass Compiler

Koostamisprotsessis on mitmeid etappe. Ühe läbipääsu kompilaator teeb ühekordse läbipääsu lähtetekstis, analüüsides, analüüsides ja genereerides koodi ainult üks kord. Teisisõnu võimaldab see lähtekoodi läbida iga koostamisüksuse ainult üks kord. See tõlgib kohe iga koodiosa oma masina lõplikuks koodiks.


Joonis 1: kompilaator

Ühekordse kompilaatori põhietapid on leksikaalne analüüs, süntaktiline analüüs ja koodigeneraator. Esiteks skaneerib leksiline analüüs lähtekoodi ja jagab selle märgideks. Igal programmeerimiskeelel on grammatika. See esindab keele süntaksit ja õiguslikke avaldusi. Seejärel määrab süntaktiline analüüs grammatika poolt kirjeldatud keelekonstruktid. Lõpuks genereerib koodigeneraator sihtkoodi. Üldiselt ei optimeeri ühekordne kompilaator koodi. Lisaks sellele puudub vahepealne koodide genereerimine.


Mis on Multipass Compiler

Mitmeülekande kompilaator muudab lähtekoodi parsimiseks, analüüsimiseks, genereerimiseks jne mitu korda, luues iga etapi järel vahekoodi. See teisendab programmi üheks või mitmeks vaheesitluseks lähtekoodi ja masina koodi vahel. See töötleb ümber kogu koostamisüksuse igas järjestikuses passis.

Iga läbisõit võtab sisendina eelmise passi tulemuse ja loob vaheväljundi. Samamoodi paraneb kood iga läbipääsu puhul, kuni lõplik pass genereerib lõpliku koodi. Mitmeülekandega kompilaator täidab täiendavaid ülesandeid, nagu näiteks vahesaadete koodide genereerimine, masinast sõltuv koodide optimeerimine ja masina sõltumatu koodi optimeerimine.


Joonis 2: Multipass kompilaator

Mitmekordsete kompilaatorite jaoks on mitmeid eeliseid. Nad on masinast sõltumatud ja sisaldavad moodulstruktuuri. Koodi genereerimine eraldub teistest kompileerimise etappidest. Seetõttu saab läbipääsu kasutada erinevate masinate või seadmete jaoks. Lisaks on see keerukam ja väljendusrikkam keel.

Erinevus ühekordse ja mitmekordse kompilaatori vahel

Määratlus

Ühekordne kompilaator on kompilaatori tüüp, mis läbib iga koostamisüksuse osi ainult üks kord, tõlkides iga koodiosa kohe oma lõppmasina koodiks. Mitmeülekande kompilaator on kompilaatori tüüp, mis töötleb programmi lähtekoodi või abstraktset süntaksipuu mitu korda. Seega selgitavad need definitsioonid peamist erinevust ühekordse ja mitmeastmelise kompilaatori vahel.

Kiirus

Kiirus on peamine erinevus ühekordse ja mitme läbilaskevõimega kompilaatori vahel. Mitme läbilaskega kompilaator on aeglasem kui ühe läbipääsuga kompilaator, sest iga läbipääs loeb ja kirjutab vahefaili.

Sünonüümid

Ühe passi kompilaatorit nimetatakse ka kitsaks kompilaatoriks, samas kui multipass kompilaatorit nimetatakse laia kompilaatoriks.

Reguleerimisala

Lisaks on ühekäigulisel kompilaatoril piiratud ulatus, samas kui mitme läbilaskevõimega kompilaatoril on suurem ulatus.

Koodi optimeerimine

Teine erinevus ühekordse ja mitme läbilaskevõimega kompilaatori vahel on see, et erinevalt mitmeotstarbelisest kompilaatorist, millel on koodide optimeerimine, ei ole ühe passi kompilaatoris koodi optimeerimist.

Vahekoodid

Vahepealsed koodid muudavad ka ühekordse ja mitmekordse kompilaatori vahel vahet. Vahekoodi genereerimine ühekäigulistes kompilaatorites puudub. Mitme läbilaskevõimega kompilaatorites on siiski vahekoodi genereerimine.

Koostamise aeg

Lisaks võtab ühekäiguline kompilaator kompakteerimiseks minimaalse aja, võrreldes mitme ülekandega kompilaatoriga.

Mälu tarbimine

Samuti on mälu tarbimine mitme läbilaskevõimega kompilaatoris suurem kui ühekordse kompilaatori puhul. Seega on see veel üks vahe ühekordse ja mitme läbilaskevõimega kompilaatori vahel.

Programmeerimiskeeled

Selliseid programmeerimiskeeli nagu Pascal saab rakendada ühe passi kompilaatori abil, samas kui programmeerimiskeeli, nagu näiteks Java, saab rakendada mitmepunktilise kompilaatori abil. Seega on see veel üks erinevus ühekordse ja mitme läbilaskevõimega kompilaatori vahel.

Järeldus

Ühekäigulised ja mitmeastmelised kompilaatorid on kahte tüüpi kompilaatorid. Erinevus ühekordse ja mitme läbilaskevõimega kompilaatori vahel on see, et ühekäiguline kompilaator on kompilaator, mis edastab lähtekoodi iga koostamisüksuse kaudu ainult üks kord, samal ajal kui multipass-kompilaator eraldab kompileerimise mitmeks läbipääsuks, kus iga läbipääs jätkub eelmise edastusega .

Viide:

1. “pass1 ja 2 kompilaator”. Scribd, Scribd,

The peamine erinevu aeroobete ja anaeroobete mikroorganimide vahel on hapniku vajadu aeroobete mikroorganimide ellujäämiek, ama kui ee pole vajalik anaeroobete mikroorganimide jaok. ee t...

Erinevus energia ja entalpia vahel

Judy Howell

Märts 2024

Energia v entalpia Energia ja entalpia on kak teemat, mida arutatake termodünaamika all. Energia mõite on intuitiivne mõite ja ee tähendab võimet tööd teha. Entalpi...

Põnev Artiklid