Jump to content

Спереди

(Перенаправлено с CFront )

Cfront был оригинальным компилятором для C++ (тогда известного как « C with Classes») примерно с 1983 года, который преобразовывал C++ в C; разработан Бьерном Страуструпом из AT&T Bell Labs. Препроцессор , не понимал всего языка и большая часть кода была написана посредством переводов . Cfront имел полноценный синтаксический анализатор , строил таблицы символов и дерево для каждого класса , функции и т. д. Cfront был основан на CPre, компиляторе C, запущенном в 1979 году.

было непросто Поскольку Cfront был написан на C++, загрузить его на машине без компилятора/транслятора C++ . Наряду с исходными кодами Cfront C++ была также предоставлена ​​специальная «полупредварительно обработанная» версия кода C, полученная в результате компиляции Cfront с самим собой. Этот код C должен был быть скомпилирован с помощью собственного компилятора C, а полученный исполняемый файл можно было затем использовать для компиляции исходных кодов Cfront C++.

Большая часть усилий по портированию для запуска Cfront на новой машине была связана со стандартным вводом-выводом. Потоки C++ Cfront были тесно связаны с буферизованными потоками ввода-вывода библиотеки C, но мало взаимодействовали с остальной частью среды C. Компилятор можно было портировать на большинство System V производных без особых изменений, но системы на базе BSD обычно имели гораздо больше вариаций в своих библиотеках C и связанных с ними структурах stdio.

Cfront определял язык примерно до 1990 года, и многие из наиболее малоизвестных крайних случаев в C++ были связаны с его подходом к переводу с C++ на C. Некоторые остатки метода трансляции Cfront все еще встречаются в современных компиляторах C++; Искажение имен было инициировано Cfront, поскольку относительно примитивные компоновщики в то время не поддерживали информацию о типе в символах, а некоторые модели создания экземпляров шаблонов заимствованы из ранних усилий Cfront. C++ (и Cfront) был непосредственно ответственен за многие улучшения в компоновщиках Unix и объектных файлов форматах , поскольку это был первый широко используемый язык, который требовал проверки типов во время компоновки, слабых символов и других подобных функций.

От Cfront 4.0 отказались в 1993 году после неудачной попытки добавить поддержку исключений . [1] Язык C++ вышел за рамки своих возможностей; однако позже стал доступен компилятор с аналогичным подходом, а именно Comeau C/C++ .

Аналогично тому, как cfront может обрабатывать исходный код C++ во что-то, что может быть скомпилировано ранее доступными компиляторами C, cppfront обрабатывает исходный код, написанный на новом и экспериментальном «синтаксисе 2» C++, в нечто, что можно скомпилировать с помощью ранее доступного «синтаксиса 1». 'Компиляторы C++. [2] [3]

Примечания
  • Бьерн Страуструп. «Развитие языка в реальном мире и для него: C++ 1991–2006» (PDF) . Архивировано из оригинала (PDF) 20 ноября 2007 г.
  • Бьерн Страуструп. «Часто задаваемые вопросы Бьярна Страуструпа» .
  • Бьерн Страуструп. «Проектирование и эволюция C++» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9adf62d7a2856e6fd002fe317ddcff5c__1709750460
URL1:https://arc.ask3.ru/arc/aa/9a/5c/9adf62d7a2856e6fd002fe317ddcff5c.html
Заголовок, (Title) документа по адресу, URL1:
Cfront - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)