Hur skapar man egentligen ett programmeringsspråk?
Jag vet att när man använder ett programmeringsspråk så är det en/flera dll filer/filer som tolkar koden, men vad är dll filen/filerna skrivna i?
Fattar noll men det skulle vara kul och bra att veta
Kanske att man skapar ett eget programmeringsspråk om några år
programkod tolkas (vanligtvis) av en kompilator (program) som skapar maskinkod (kod som processorn kan tolka).
skillnaden är tex qbasic eller visual basic, där "kompilatorn" översätter koden till semi-programkod som senare tolkas av dll filer eller liknande när programmet körs.
i java "kompileras" programmet till sk byte-kod som även denna måste emuleras/tolkas till pc/mac format.
med andra ord behövs rätt grymma kunskaper i assembler och/eller maskinkod samt fett med teori. Bland annat LTH har kurser i kompilatorteknik där man just skapar sitt eget språk.
Jag vet att när man använder ett programmeringsspråk så är det en/flera dll filer/filer som tolkar koden, men vad är dll filen/filerna skrivna i?
Beror på. Gör man en tolk skriver man den antagligen helst i C (eller möjligen C++), men vad gäller vanliga kompilatorer är det valfritt. Man brukar säga att ett programmeringsspråk är moget när man kan skriva en kompilator för det språket med det språket.
Kan man läsa om sådant på gymnasiet(på en internationell ITlinje)?
Jag tvivlar starkt på att kompilatorteknik är något vidare vanligt ämne på gymnasiet...
Det mest grundläggande för kompilatorteknikkurserna är goda kunskaper om datorarkitektur, maskinkodning - ASM, matte som t.ex algebra, symbolhantering, diskret matte m.m... På de flesta högskolor är det en lunta med kurser man ska ha klarat innan man ger sig i kast med kompilatorteknikskursen
Ett gott råd:
Se till att behärska matten hellre än avancerad programmering så länge du ligger på gymnasienivå.
Att skriva en kompilator för ett eget språk är väldigt kul och givande om man ger det lite tid. En bra design är A och O.
När man väl har en fungerande kompilator som klarar korrekta program så är det dags att ta itu med felhantering. _det_ kan man krångla till hur mycket som helst
Hehe drakboken är väl den bok som har toppar listan de senaste 15 åren(?)