förvrängd Tiny C Compiler (OTCC) är en mycket liten C-kompilator jag skrev för att vinna den internationella förvrängd C Code Contest (IOCCC) under 2002.
Mitt mål var att skriva den minsta C-kompilator som kan kompilera själv. Jag väljer en delmängd av C som var allmänt nog att skriva en liten C-kompilator. Då förlängde jag C delmängd tills jag nått den maximala storleken godkänts av tävlingen: 2048 bytes av C-källa exklusive ",", "{", "}" och mellanslag.
Jag väljer att generera i386 kod. Den ursprungliga OTCC kod kan endast köras på i386 Linux eftersom det förlitade sig på endian och icke-justerade tillgång. Det genererade programmet i minnet och lanserade det direkt. Externa symboler löstes med dlsym ().
För att få en bärbar version av OTCC, gjorde jag en variant kallad OTCCELF. Det är bara lite större än OTCC, men det genererar direkt ett dynamiskt länkade i386 ELF körbar från ett C källa utan att förlita sig på några binutils verktyg! OTCCELF testades framgångsrikt på i386 Linux och Sparc Solaris.
OBS: Min andra projekt TinyCC som är en fullfjädrad ISOC99 C-kompilator skriven utgående från källkoden för OTCC!
Sammanställning:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Själv sammanställning:
./otccelf otccelf.c otccelf1
Mjukvaruinformation:
Version: 1.0
Ladda upp dagen: 3 Jun 15
Licens: Gratis
Popularitet: 98
Kommentarer hittades inte