Заплутаний Tiny C Compiler (OTCC) є дуже невеликою компілятор я написав для того, щоб виграти Міжнародний заплутаних C код конкурс (IOCCC) в 2002 році.
Моя мета в тому, щоб написати маленький компілятор C, який здатний компілювати себе. Я вибираю підмножина С, було достатньо, щоб написати маленьку компілятор C цілому. Тоді я продовжив C підмножина, поки я не досяг максимального розміру статутного конкурсом: 2048 байт C джерела не рахуючи ';', '{', '}' та прогалин.
Я вибираю для створення i386 код. Вихідний код OTCC може працювати тільки на i386, бо Linux вона спиралася на порядок проходження байтів і вирівняним доступу. Це породжувало програму в пам'ять і запущений безпосередньо. Зовнішні символи були вирішені за dlsym ().
Для того, щоб мати портативну версію OTCC, я зробив варіант називається OTCCELF. Це тільки трохи більше, ніж OTCC, але він генерує безпосередньо динамічно пов'язані i386 ELF виконуваний файл з джерела C, не покладаючись на будь-яких інструментів BinUtils! OTCCELF був протестований на i386 успішно Linux і Solaris Sparc на.
ПРИМІТКА: Мій другий проект TinyCC що повнофункціональний компілятор C ISOC99 була написана, виходячи з початкового коду OTCC!
Компіляція:
GCC -O2 otcc.c -o otcc -ldl
GCC -O2 otccelf.c -o otccelf
Само-збірник:
./otccelf otccelf.c otccelf1
Дані програми:
Версія: 1.0
Дата завантаження: 3 Jun 15
Ліцензія: Безкоштовно
Популярність: 98
Коментар не знайдено