Verskil tussen samesteller en samesteller

Verskil tussen samesteller en samesteller
Verskil tussen samesteller en samesteller

Video: Verskil tussen samesteller en samesteller

Video: Verskil tussen samesteller en samesteller
Video: Hong Kong Disneyland’s SECOND PARK | Past & Future 2024, November
Anonim

Assembler vs Compiler

In die algemeen is samesteller 'n rekenaarprogram wat 'n program lees wat in een taal geskryf is, wat die brontaal genoem word, en dit vertaal in 'n ander taal, wat die doeltaal genoem word. Tradisioneel was brontaal 'n hoëvlaktaal soos C++ en doeltaal was 'n laevlaktaal soos Assembly-taal. Daar is egter samestellers wat 'n bronprogram wat in Assembly-taal geskryf is, kan omskakel en dit kan omskakel na masjienkode of objekkode. Samestellers is sulke gereedskap. So, beide samestellers en samestellers produseer uiteindelik kode wat direk op 'n masjien uitgevoer kan word.

Wat is 'n samesteller?

Compiler is 'n rekenaarprogram wat 'n program lees wat in een taal geskryf is, wat die brontaal genoem word, en dit in 'n ander taal vertaal, wat die doeltaal genoem word. Meestal is die brontaal 'n hoëvlaktaal en die doeltaal 'n laevlaktaal. Dus, oor die algemeen kan samestellers gesien word as vertalers wat van een taal na 'n ander vertaal. Daarbenewens voer samestellers 'n paar optimaliserings vir die kode uit. 'n Tipiese samesteller bestaan uit verskeie hoofkomponente. Die eerste komponent is die skandeerder (ook bekend as die leksikale ontleder). Skandeerder lees die program en skakel dit om na 'n string tokens. Die tweede komponent is die ontleder. Dit skakel die string tokens om na 'n ontledingsboom (of 'n abstrakte sintaksboom), wat die sintaktiese struktuur van die program vasvang. Volgende komponent is die semantiese roetines wat die semantiek van die sintaktiese struktuur interpreteer. Die kode-optimalisasies en finale kodegenerering volg hierop.

Wat is 'n Assembler?

Assembler is 'n sagteware of 'n hulpmiddel wat Assembly-taal na masjienkode vertaal. Dus, 'n samesteller is 'n tipe samesteller en die bronkode is in Assembly-taal geskryf. Assemblage is 'n mens-leesbare taal, maar dit het tipies 'n een-tot-een-verhouding met die ooreenstemmende masjienkode. Daarom word gesê dat 'n samesteller isomorfiese (een-tot-een-kartering) vertaling uitvoer. Gevorderde samestellers verskaf bykomende kenmerke wat programontwikkeling en ontfoutingsprosesse ondersteun. Byvoorbeeld, die tipe samestellers wat makro-samestellers genoem word, bied 'n makrofasiliteit.

Wat is die verskil tussen 'n samesteller en 'n samesteller?

Compiler is 'n rekenaarprogram wat 'n program lees wat in een taal geskryf is en dit in 'n ander taal vertaal, terwyl 'n samesteller as 'n spesiale tipe samesteller beskou kan word wat slegs Assembly-taal na masjienkode vertaal. Samestellers produseer gewoonlik die masjien-uitvoerbare kode direk vanaf 'n hoëvlak-taal, maar samestellers produseer 'n objekkode wat moontlik gekoppel moet word met skakelprogramme om op 'n masjien te kan loop. Omdat samestellingstaal 'n een-tot-een-kartering met masjienkode het, kan 'n samesteller gebruik word vir die vervaardiging van kode wat baie doeltreffend werk vir geleenthede waarin werkverrigting baie belangrik is (vir bv. grafiese enjins, ingebedde stelsels met beperkte hardewarehulpbronne in vergelyking met 'n persoonlike rekenaar soos mikrogolwe, wasmasjiene, ens.).

Aanbeveel: