Wat is 'n samesteller, of hoe om 'n rekenaar te laat verstaan wat jy daarvan wil hê?

INHOUDSOPGAWE:

Wat is 'n samesteller, of hoe om 'n rekenaar te laat verstaan wat jy daarvan wil hê?
Wat is 'n samesteller, of hoe om 'n rekenaar te laat verstaan wat jy daarvan wil hê?

Video: Wat is 'n samesteller, of hoe om 'n rekenaar te laat verstaan wat jy daarvan wil hê?

Video: Wat is 'n samesteller, of hoe om 'n rekenaar te laat verstaan wat jy daarvan wil hê?
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, April
Anonim

Die finale stadium van die skep van 'n program is om 'n algoritme wat in een van die programmeertale (C/C++, Pascal, ens.) geskryf is, in 'n laevlakmasjientaal te vertaal. Dit is te wyte aan die feit dat om enige taak te verrig, rekenaars opdragte gegee moet word in 'n taal wat hulle verstaan, naby aan binêre en wat met primitiewe datastrukture (bis, greep of woord) werk. Die proses om domeinspesifieke stellings van hoëvlaktale in binêre kode te vertaal, word vertaling genoem. Daar is twee vertaalmetodes – samestelling en interpretasie.

samesteller is
samesteller is

samesteller - wat is dit?

Ontleding van baie interpretasies van die terme "samesteller" en "samestelling" stel ons in staat om die volgende definisie uit te lig. 'n Samesteller is 'n program wat ontwerp is om die teks van 'n bronalgoritme van 'n hoëvlaktaal na 'n ekwivalente stel instruksies in 'n masjiengeoriënteerde taal te vertaal. Dit is die sogenaamde objekkode, vir die daaropvolgende samestelling van die resulterende objekkode in 'n gereed-vir-gebruik programmodule.

samesteller en tolk - ooreenkomste en verskille

'n Tolk is 'n nut watsowel as 'n samesteller, ontwerp om bronkode in masjienkode te vertaal. Anders as die samesteller, loop die tolk egter elke keer met die program en voer die vertaling reël vir reël uit.

Jy kan sê dat die samesteller en tolk taalverwerkers is wat die rekenaar toelaat om opdragte wat deur die programmeerder gegee word, te herken en uit te voer.

samestellerklassifikasie

samesteller is 'n program
samesteller is 'n program

samestellers word hoofsaaklik geklassifiseer volgens kenmerke wat verband hou met hul praktiese toepassingsgebiede.

Vectorizing compiler is 'n nutsprogram wat bronkode in objekkode vertaal en is aangepas vir rekenaars wat met vektorverwerkers toegerus is.

'n Buigsame samesteller word op 'n modulêre wyse in 'n hoëvlaktaal geprogrammeer. Die bestuur daarvan word uitgevoer met behulp van tabelle. Dit is ook moontlik om dit uit te voer deur die samesteller van samestellers te gebruik.

Inkrementele samesteller is 'n taalverwerker wat afsonderlike fragmente van bronkode en byvoegings daarby hervertaal. Dit vermy egter die hersamestelling van die hele toepassing.

'n Interpretatiewe (stap-) samesteller is 'n hulpprogram wat opeenvolgend onafhanklike samestelling van elke stelling of opdrag van 'n hoëvlakbronkode uitvoer.

'n Vertaler van samestellers is 'n vertaler wat in staat is om 'n formele beskrywing vir 'n programmeertaal te aanvaar en onafhanklik 'n samesteller vir enige taal te genereer.

samesteller en tolk
samesteller en tolk

Die ontfoutsamesteller laat jou toe om sekere soorte sintaksfoute wat gemaak is tydens die skryf van bronkode te vind en reg te stel

'n Inwonende samesteller neem 'n permanente plek in RAM in en is dus herbruikbaar deur 'n wye reeks take.

Die self-saamgestelde samesteller is in dieselfde taal as die vertaling geskryf.

Die universele samesteller is gebaseer op 'n formele beskrywing van die semantiese en sintaktiese parameters van die invoertaal. Die hoofkomponente van so 'n nutsprogram is die kern, sintaktiese en semantiese laaiers.

samestellertoestel

'n Samesteller en 'n skakelaar is die kern van enige samesteller. Dikwels, wanneer dit saamgestel word, word 'n eksterne skakelaar gebruik, en die samesteller self voer slegs die vertaalfunksie uit. Dit gebeur ook dat die samesteller geïmplementeer word as 'n soort bestuurderprogram wat geassosieer word met die vertaler (of vertalers, indien verskillende programmeertale gebruik is tydens die skryf van die bronkode) en die koppelaar en begin hul uitvoering wanneer nodig.

Programmeringstale en vertaalmetodes

taalsamesteller
taalsamesteller

Ten spyte van die feit dat 'n program wat in enige programmeertaal geskryf is sowel saamgestel as geïnterpreteer kan word, het baie hoëvlaktale 'n geneigdheid tot een of ander metode van vertaling. Dus, die C-taal is oorspronklik ontwerp vir samestelling, en Java - vir die interpretasie van die geskrewe program. Word ontwikkelC-samestellers is redelik maklik, danksy die relatief lae vlak en 'n klein aantal strukturele elemente.

Voor- en nadele van samestellers en tolke. Aansoeke

Let daarop dat saamgestelde toepassings vinniger is as geïnterpreteerdes, maar terselfdertyd hang die masjienkode wat as gevolg van samestelling verkry word af van die hardewareplatform. Dus, 'n program wat vir Windows geskryf en saamgestel is, sal byvoorbeeld nie in Linux werk nie. Daarom, in die geval van internettoepassings, wanneer dit onmoontlik is om vooraf te sê in watter omgewing hulle sal werk, gebruik hulle interpretasie of greepkode (in hierdie geval word die bronprogram omgeskakel na 'n tussenvorm wat op verskeie hardeware uitgevoer kan word platforms).

Aanbeveel: