Маленький c компилятор для образовательных целей
Есть ли небольшой компилятор c, который следует всем расширениям, и при этом он имеет менее 10000 LOC. В основном я пытаюсь портировать такой маленький компилятор на одно из образовательных ядер ОС, известное как xv6. Благодарю.
3 ответа
Я не думаю, что это возможно. Вы можете попробовать что-то вроде https://github.com/alexfru/SmallerC, очень маленький компилятор для подмножества C. (см. Вики для языка)
Или посмотрите на pcc, но это значительно больше.
Оказывается, xv6 крайне нуждается в нескольких улучшениях, чтобы разместить достойный компилятор C или просто ассемблер и компоновщик:
- больший максимальный размер файла (в настоящее время ограничен около 64 КБ)
- lseek
- Сохранение / восстановление состояния FPU при переключении контекста
Может потребоваться несколько других незначительных улучшений.
Ссылки:
Самый маленький, который я знаю, это TCC http://bellard.org/tcc/ который имеет около 30 000 LOC.