Маленький 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.

Другие вопросы по тегам