Overleg:Compiler
Van Wikipedia
De tekst doet denken dat de een Class bestand een executable is, terwijl dit niet zo is. GCC staat dacht ik voor voor GNU C Compiler en (dacht ik) enkel C compileren. g++ kan C++ compileren dacht ik. Wilinckx 16 jul 2003 19:59 (CEST)
[bewerk] Vertaalfunctie??
De zin:
Een compiler is feitelijk de implementatie op een computer van een vertaalfunctie in wiskundige zin; een functie die woorden uit de formele invoertaal afbeeldt op woorden uit de formele uitvoertaal.
lijkt me niet correct. Soieso weet ik niet wat een "vertaalfnctie in wiskundige zin" is, maar het is zeker niet zo dat een compiler een afbeelding is van een verzameling woorden in een andere verzameling woorden.Nijdam 30 sep 2005 22:43 (CEST)
- Zekers wel, als je een compiler in een functionele programmeertaal zou schrijven, dan zou je de uitvoer van de compiler als functie van de invoer gedefinieerd hebben. En het is niet louter theoretisch; er zijn daadwerkelijk compilers in functionele programmeertalen geschreven.
- In wiskundige zin klopt het ook; de definitie zegt dat een functie een domein op een bereik afbeeld; de verzameling van invoerprogramma's is het domein, de verzameling van uitvoerprogramma' het bereik. Danielm 30 sep 2005 23:09 (CEST)
-
- Er zijn vele input symbolen en vele outputsymbolen. Bovendien is een compiler toestands-georienteerd (statefull), wat een wiskundige functie niet is. Ik vind niet dat de vermelding op deze manier zinvol is.Kleuske 1 okt 2005 16:01 (CEST)
-
- Ik denk dat de betekenis van een compiler meer is dan de afbeelding die de verzameling van alle correcte programma's in de ene taal afbeeldt op de verzameling van (alle correcte?) programma's in een andere taal. Bovendien vind ik het vergezocht de prograama's op te vatten als woorden in zo'n formele taal. Ik heb het gevoel dat hier tamelijk kunstmatig gepoogd wordt het wiskundigge begrip "afbeelding" er bij te slepen. Daarnaast bljf ik nog problemen hebben met de term "wikundige vertaalfunctie"; de term "vertaalfunctie" bestaat als zodanig niet in de wiskunde. Dat de een de afbeelding ziet als het toevoegen van hele programma's in verschillende talen aan elkaar en een ander van het afbeelden van expressie's op elkaar spreekt al boekdelen. Dat het op een bepaald abstract niveau zou kloppen geloof ik absoluut niet, en ik kan een expressie ook niet zien als een verzameling woorden.Nijdam 1 okt 2005 16:04 (CEST)
- (Bewerkingsconflict, gelijktijdig met Danielm geschreven) Er is sprake van twee formele talen, en van een vertaalslag (afbeelding) van expressies uit de ene formele taal in expressies in de andere. Het woord woord is misschien wat minder geschikt dan het woord expressie hier, maar op een bepaald abstract niveau klopt het toch wel, lijkt me, als je een expressie ziet als een verzameling woorden.
Flyingbird 30 sep 2005 23:14 (CEST)
-
- Met deze definitie veeg je een aantal belangrijke taken van de compiler onder water: toetsen van correctheid, bijvoorbeeld, uitvoeren van constant-expressies, optimalisatie, etc. Ik weet niet wat het duidelijk moet maken.Kleuske 1 okt 2005 16:01 (CEST)
-
-
-
- Dat zijn taken die ook door de compiler worden gedaan, ja. Voeg het vooral toe, als je vindt dat het in de intro van het artikel thuishoort! De vertaalfunctie is m.i. het hart van de compiler. Flyingbird 1 okt 2005 19:32 (CEST)
-
-
-
-
- als je zegt dat een compiler een veredelde assembler is dan is er lijkt me wel sprake van een vertaler. Aleichem 1 okt 2005 16:11 (CEST)
-