Forum huvudsida -> Programmering -> Kompilator....
Sidor: 1
jockepockee | 01:15 - 21:a April 2007 | Post #1 | |
Medlem Inlägg: 192 Skicka PM |
Har funderat på de här med kompilatorer, hur de är upp byggda osv, ja vet hittils att själva kompilatorn översätter till objektkod och en linker länkar ihop objektkoden till ett körbart program. men nu till saken: om jag nu skulle villja göra en typ av kompilator( inte till c++!) hur skulle de då gå till, kan man göra de med bara c++ eller måste man kunna asm mm? -------------------------
Senast redigerad 01:17 - 21:a April 2007 |
ozamosi | 01:22 - 21:a April 2007 | Post #2 | |
Administratör Inlägg: 1129 Skicka PM |
Du kan göra en kompilator i vilket språk du vill, och du kan kompilera för vilken plattform du vill (många kompilatorer till småspråk kompileras till C-kod). Du behöver bara bestämma vad för instruktioner som finns tillgängliga, och översätta källkoden, rad för rad, till sådana instruktioner. ------------------------- Ljusblå |
jockepockee | 01:26 - 21:a April 2007 | Post #3 | |
Medlem Inlägg: 192 Skicka PM |
ok, men om man vill bygga den från grunden, få ett körbartprogram på en gång, typ som c++ kortfattat: Hur ska man gå tillväga för att göra en linker? -------------------------
|
ozamosi | 01:28 - 21:a April 2007 | Post #4 | |
Administratör Inlägg: 1129 Skicka PM |
Tja... Jag antar att en linker flyttar innehållet i ett antal binärfiler till samma fil, och möjligen klämmer på lite headers också. ------------------------- Ljusblå |
tobbez | 01:44 - 21:a April 2007 | Post #5 | |
Medlem Inlägg: 364 Skicka PM |
Personligen tycker jag att det verkar som att du skulle behöva lära dig programmera i ett högnivåspråk innan du försöker dig på att göra något som är så lågnivå (och komplicerat) som en kompilator, från grunden. |
Tesuki | 17:27 - 21:a April 2007 | Post #6 | |
Medlem Inlägg: 122 Skicka PM |
var på samma ställe för ett tag sedan hur skapar man en kompilatorn. http://en.wikipedia.org/wiki/Bootstrapping_%28computing%29 och http://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29 var de två sakerna som komm fram efter ett tag. ska göra en kompiletor till lambda5 så sitter och pluggar på hur man gör en. finns några böcker denna är den jag använder nu http://www.amazon.com/Writing-Compilers-Interpreters-Ronald-Mak/dp/0471113530 den går igenom hur man göra en pascal interpreter och kompilator i c++. men har inte orkat gå in på hur man skulle göra en linker. får lära mig det också och förhoppningsvis så hittar jag någon vettig bok. gissar på att man får lära sig lite om en .exe fils uppbygnda på windows. sedan lära sig lite om ELF eller vad det linux kör med i deras bins. linkers verkar vara mycket mer komplicerat än en kompilator. tror Lex & yacc är något som kan vara vettigt at lära sig eller flex och bison heter några andra versioner av dem som är GNU verktyg. men men lycka till. |
Sidor: 1
Forum huvudsida -> Programmering -> Kompilator....
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-07 17:58
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.