Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

C--
Класс языка язык программирования
Появился в 1997[2]
Автор Пейтон-Джонс, Саймон
Расширение файлов .c--[3]
Выпуск
Испытал влияние Си
Сайт cs.tufts.edu/~nr/c--

C-- (читается как «Си минус минус») — переносимый язык программирования низкого уровня, используемый как промежуточное представление для сверхвысокоуровневых языков. Создан во второй половине 1990-х годов исследователями функционального программирования Пейтоном-Джонсом и Рэмси Норманом  (англ.). Основная особенность в сравнении с различными вариантами байткодов в том, что сгенерированный результат на C-- является человекочитаемым — текстом на языке с си-подобным синтаксисом.

Проектирование языка

Поскольку написание кодогенератора само по себе является довольно сложной задачей, а бэкенды, которые были доступны исследователям тех годов, были сложными и плохо документированными, было создано несколько проектов компиляторов, которые генерировали код на Си (например, был создан компилятор языка Модула-3). Однако язык Си является не самым удобным выбором для функциональных языков программирования: в нём нет поддержки хвостовой рекурсии, сборки мусора и эффективной обработки исключительных ситуаций. C-- был создан как альтернатива Си, в котором присутствует поддержка некоторых из этих возможностей. Самой инновационной особенностью в нём является интерфейс для времени выполнения, который позволяет создавать переносимые сборщики мусора, системы поддержки исключений и другие свойства, которые будут работать с любым компилятором C--.

Синтаксис языка позаимствован в основном из языка Си. C-- исключает или меняет использование некоторых стандартных возможностей Си, таких, как функции с переменным числом аргументов, синтаксис указателей, а также аспекты системы типов Си, поскольку это препятствует неотъемлемым возможностям языка C--, а также простоте, с которой инструменты кодогенерации могут их использовать. Так, например, в C-- не требуется явного объявления типа переменных, в нём отсутствуют структуры и указатели.

Название языка является в некотором роде шуточным, указывая на то, что C-- является уменьшённой формой Си, точно так, как C++ является расширением Си. (В языках C и C++ операции «--» и «++» обозначают уменьшение или увеличение переменной на 1.)

C-- является целевой платформой для Glasgow Haskell Compiler. Некоторые из разработчиков C--, включая Пейтон-Джонса, Диаша (João Dias) и Рэмси, работают или принимали участие в разработке Glasgow Haskell Compiler[4][5]. Кодовая база и разработка GHC базируются[прояснить] в Microsoft Research в Кембридже, хотя это не проект Microsoft.

Система типов

Система типов в C-- преднамеренно спроектирована так, чтобы отображать ограничения, налагаемые аппаратным обеспечением компьютера, а не традициями систем типов более высокоуровневых языков. В C-- значение, хранимое в регистрах или памяти, может быть только одного типа — битовый вектор. Однако битовый вектор является полиморфным типом и может быть разного размера: например, 8-битный или 32-битный. Кроме того, кроме битового вектора, C-- также предоставляет логический тип bool, который может быть типом результата выражения, а также может использоваться для управления выполнением программы и не может быть сохранён в регистре или в памяти.

Примечания

  1. https://www.cs.tufts.edu/~nr/c--/extern/man2.pdf
  2. https://www.cs.tufts.edu/~nr/c--/abstracts/pal-ifl.html
  3. https://github.com/nrnrnr/qc--/tree/master/test2/src
  4. LLVM Project Blog: The Glasgow Haskell Compiler and LLVM. Дата обращения: 9 сентября 2017. Архивировано 25 июня 2011 года.
  5. ImprovedLLVMBackend – GHC. Дата обращения: 9 сентября 2017. Архивировано 13 августа 2017 года.

Литература

Ссылки

Эта страница в последний раз была отредактирована 23 ноября 2023 в 12:41.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).