Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проблема курицы и яйца (GCC)  (Прочитано 969 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RazrFalcon

  • Автор темы
  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Проблема курицы и яйца (GCC)
« : 15 Сентября 2011, 18:13:15 »
Сабж.
Если GCC компилируется с помощью GCC, то как был скомпилен первый GCC.


PS: это не флуд, мне действительно не понятно.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Axa-Ru

  • Гость
Re: Проблема курицы и яйца (GCC)
« Ответ #1 : 15 Сентября 2011, 18:24:23 »
Сначала на ассемблере был написан простой компилятор B (Би). Дальше раскрутилось.
http://www.itstan.ru/programmirovanie/sozdanie-i-razvitie-jazyka-si-c.html
« Последнее редактирование: 15 Сентября 2011, 18:28:11 от Axa-Ru »

Оффлайн gengzu

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема курицы и яйца (GCC)
« Ответ #2 : 15 Сентября 2011, 19:31:42 »
угу. сначала есть база на более низкоуровневых языках, а дальше они собирают первую версию. вторая собирается первой и так далее. плюс там еще рекурсивная компиляция, когда собственно компилятор сам себя же и собирает.

Оффлайн OldSamuray

  • Активист
  • *
  • Сообщений: 841
    • Просмотр профиля
Re: Проблема курицы и яйца (GCC)
« Ответ #3 : 15 Сентября 2011, 19:36:44 »
А как был сделан станок с ЧПУ?
Посмотрел чужие костыли — не понравились — сделал свои, родные

Axa-Ru

  • Гость
Re: Проблема курицы и яйца (GCC)
« Ответ #4 : 15 Сентября 2011, 19:53:33 »
Вопрос не по теме. Вам сюда

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Проблема курицы и яйца (GCC)
« Ответ #5 : 15 Сентября 2011, 19:54:32 »
Могу чуть более предметно. В книжке "A Book on C" by R. E. Berry, B. A. Meekings* есть программа-компилятор с подмножества языка C, написанная на нем самом. ~2,5 тысячи строк. Генерит код на ассемблере гипотетического процессора. Так вот я в свои молодые годы изменил ту часть компилятора, которая генерит код. Прога стала выдавать обычный ассемблер 8086. Скомпилировал её с помощью Турбо Си.

После этого осталось сделать самую малость: с помощью скомпилированной программы скомпилировать этот исходник в 2,5 тыс. строк. Получилась бы прога-компилятор, написанная на подмножестве Си, компилирующая это подмножество Си и скомпилированная с помощью себя самой.  :)

Так и самый первый GCC был скомпилирован каким-то другим компилятором языка C.



* Кстати, есть русский перевод. Но интерес там представляет лишь компилятор. Очень здо́рово своими глазами увидеть, как это всё устроено.
Делюсь знаниями, но их у меня мало!

tutilatitu

  • Гость
Re: Проблема курицы и яйца (GCC)
« Ответ #6 : 16 Сентября 2011, 08:09:37 »
Я как-то написал на С мини-компилитор с языка Fоrth.
Переписал его на нем самом и следующие версии компилил уже самим компилятором.
Интересный процесс. :)

Axa-Ru

  • Гость
Re: Проблема курицы и яйца (GCC)
« Ответ #7 : 16 Сентября 2011, 08:27:03 »
       "Не то, что нынешнее племя. (с) А.С.Пушкин"

Да, были такие примеры в учебниках по С.
« Последнее редактирование: 16 Сентября 2011, 08:30:08 от Axa-Ru »

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Проблема курицы и яйца (GCC)
« Ответ #8 : 16 Сентября 2011, 10:58:41 »
"Да, были люди в наше время
       Не то, что нынешнее племя,

Богатыри - не вы.
Плохая им досталась доля,
Не многие вернулись с поля.
Когда б на то не Божья воля,
Не отдали б Москвы."
       (с) А.С.Пушкин

садитесь, два балла.
Это Лермонтов, вообще-то.

На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Axa-Ru

  • Гость
Re: Проблема курицы и яйца (GCC)
« Ответ #9 : 16 Сентября 2011, 12:09:41 »
Да, лажанулся спросонья.  :D

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.