Рубрика «Компиляторы» - 54

Первый компилятор C от Денниса Ритчи — на Github
Компьютер DEC с носителем DECtape

На Github выложили last1120c и prestruct-c — ранние версии самого первого компилятора С в истории. Код написан самим Деннисом Ритчи в 1972-1973 гг.

Компиляторы найдены несколько лет назад на старой магнитной ленте DECtape, вставленной в антикварный компьютер VAX производства компании DEC.
Читать полностью »

MXML компилятор. Часть 3. Разбираемся в работе Flex компилятора
Привет, %habra_user%!

Решил в продолжение цикла статей о Flex-компиляторе перевести хорошую статью автора сего творения о том, какие же процессы происходят внутри компилятора при сборке приложения. Датируется она 2008м годом, но при этом в русскоязычном сообществе (да и в других особо тоже) замечена не была. А так как ближайшее время именно этот компилятор остаётся актуальным для сборки подавляющего большинства Flash-проектов, то я решил продолжить цикл статей о его расширении.

Как обычно всех, кто не устал дочитав до этой строчки — прошу под кат!
Читать полностью »

imageВ предыдущем топике я обещал подробнее описать особенности программирования промышленных PLC, и почему такое программирование все больше напоминает разработку обычного софта. О языке IEC61131-3 (промышленном диалекте Паскаля) я уже писал, также хорошим вступлением можно считать вот этот хабратопик. Этот пост — о компиляторах PLC, средах разработки, особенностях программирования и эволюции языка и экосистемы.
Читать полностью »

Мы проверили заголовочные файлы, входящие в состав Embarcadero C++Builder XE3. Фактически, это означает только проверку небольшого числа inline-функций. Соответственно найдено совсем немного подозрительных мест, но достаточно для небольшой заметки.
Читать полностью »

GCC 4.8 завершил миграцию на C++С выпуском GCC 4.8.0 разработчики набора компиляторов GNU Compiler Collection завершили переход на C++ в реализации GCC. Работа по переводу кодовой базы на C++ продолжалась c 2008 года, и теперь подошла к концу. Миграция на C++ означает, что теперь для сборки GCC из исходников обязательно требуется компилятор С++ 2003.

Ричард Столлман написал первый вариант GCC в 1985 году на непереносимом диалекте языка Паскаль. В 1987 году компилятор был переписан на языке Си, и в таком виде существовал до 2013 года.
Читать полностью »

Да, я знаю всё про карму, правила, «если каждый будет».
Уважаемый читатель, просто перепости информацию.
Да, это самое важное событие в РФ сегодня.

Видеозапись стрельбы в метро

Фотографии участников (кликабельны)

Наши дети. Наше общество Ибрагим Курбанов, 24 года

Напавший на Александру Лоткову с ножём и нанёсший 3 ножевых ранения в шею Хворостова Д.С., находился в состоянии алкогольного опьянения = 3 промиле = 1 бутылка водки. Состава преступления в его действиях не обнаружено. Получил лёгкое пулевое ранение травматического пистолета «Стайер». По решению Тверского суда г. Москвы Александра Лоткова должна выплатить ему 250 000 руб. за ущерб здоровью.

Наши дети. Наше общество Иван Белоусов, 22 года.

Избивавший Хворостова Д.С. в т.ч. ногой в лицо и получивший пулю в лёгкое из травматического пистолета «Стайер». Состава преступления в его действиях не обнаружено. По решению Тверского суда г. Москвы Александра Лоткова должна выплатить ему 500 000 руб. за ущерб здоровью.

Наши дети. Наше общество Иван Ермошкин, 23 года.

3-й участник ОПГ «Ибрагим и 2 Ивана» избивавший друзей Александры Лотковой. Слава Богу Тверской суд г. Москвы оставил без внимания его страдания.

Наши дети. Наше общество Лечение Ивана Белоусова обошлось ему в 237 396 руб. 75 коп. Итого, прибыль Ивана с решения Тверского суда г. Москва — 262 603 руб. 25 коп.
Наши дети. Наше общество Александра Лоткова, 20 лет

Защищала свою и Хворостова Д.С. жизни от ножа Ибрагима Курбанова. Выстрелила 4 раза из зарегистрированного травматического пистолета «Стайер». 2 раза попала. Осуждена Тверским судом г. Москва на 3 года колонии общего режима, из которых 1 год уже отбыла под домашним арестом с запретом коммуникаций и встреч с адвокатом. Объяснение суда: не заявила о нападении своевременно, друзья пострадавшие от ОПГ проходили лечение за свой счёт. Следователь Гайнуллина Диана Ханифовна отказалась рассматривать версию о самообороне. Прокурор Раджабова озвучила обвинение по ст. 111 УК РФ, в котором говорится что Александра Лоткова умышленно нанесла тяжкий вред здоровью Ивана Белоусова на почве внезапно возникшей личной неприязни.

Наши дети. Наше общество Хворостов Дмитрий, 18 лет

Получил от Ибрагима Курбанова 2 ножевых удара в шею и 1 в бок. На фотографии он через несколько месяцев после инцидента в метро. Своевременно не заявил в полицию о покушении на убийство. Выжил чудом.

Фиксация трансляции от РОД-Россия из зала Тверского суда г. Москва

Читать полностью »

Некоторые простейшие принципы автовекторизацииПредыдущий мой пост был посвящен цикловым перестановочным оптимизациям, проблемам распознавания циклов, разрешению неоднозначности при работе с памятью, определению и важности зависимостей. Теперь я хочу сделать обзор одной из самых эффективных цикловых оптимизаций — автовекторизации. Хочется обсудить вопросы эффективности оптимизации, а также попытаться понять, какие факторы эту эффективность определяют. Всем, кому это интересно – добро пожаловать. При обсуждении я буду ориентироваться на интеловский автовекторизатор и автовекторизатор gcc 4.7.2. gcc я буду исследовать, чтобы подтвердить, что те принципы векторизации, которые я здесь пытаюсь сформулировать, имеют достаточно общую природу. Заодно мне, конечно, хочется понять уровень автовекторизации в gcc. Тут, конечно, есть некий элемент неравенства, поскольку я использую последний компилятор Интел, но не самую топовую версию gcc, но в основном я буду ориентироваться при сравнении на SSE инструкции. (Кстати, Intel активно участвует в разработке автовекторизатора gcc). Поскольку Intel и интеловский компилятор мне ближе, то ему я уделю кое-где больше внимания. Я не претендую на то, что я векторизаторный гуру и буду рад, если кто-то увидит мои ошибки и меня поправит. Букв будет много.
Читать полностью »

GHC (Glasgow Haskell Compiler) — стандартный компилятор Хаскеля. GHC — один из самых крутых компиляторов в мире, но к сожалению без дополнительных телодвижений скомпилированные им программы по скорости больше напоминают интерпретируемые, т. е. работают очень медленно. Однако если раскрыть весь потенциал компилятора, Хаскель приближается по производительности к аналогичному коду на C.

В этой статье я обобщаю опыт выжимания максимума из GHC при создании dataflow-фреймворка Yarr.
Читать полностью »

О компиляторах и интерпретаторах
Если ты всегда мечтал написать свой язык программирования — добро пожаловать. Здесь ты наверняка найдёшь для себя что-нибудь интересное.

GitHub-юзер yawnt собрал чудесную подборку ссылок для любителей драконов, языков и прочих вкусных внутренностей. А знающие камрады в комментариях наверняка поделятся с тобой и другими яствами.

Пишет yawnt следующее:

С каждым днём мне всё интереснее тема компиляторов, интерпретаторов и дизайна языков программирования в целом. И я решил поделиться с народом ссылками на собранные мной материалы (большую часть мне самому ещё предстоит прочитать :<). Надеюсь, кому-нибудь они окажутся полезными.

Я не включил (и не собираюсь) в список ссылки на официальную документацию, т. к. считаю очевидным, что первым делом следует смотреть именно туда ;P.
Читать полностью »

GCC x86, как уменьшить размер кода      Времена, когда программисты пытались выжать максимум из размера своего приложения, безвозвратно ушли. Основной причиной является существенное увеличение объемов оперативной памяти и дискового простраства на современных компьютерах. Немногие помнят, как при загрузке приложения с кассеты можно было пойти покушать. Или как можно было считать моргания дисковода, косвенно определяя размер приложения. Пожалуй, только разработчики програмного обеспечения под встраиваемые системы до сих пор заботятся о размере кода и потребляемой памяти. Могут ли таблетки и смартфоны вернуть разработчиков «назад в будущее»?
      Данная статья призвана помочь разработчикам програмного обеспечения, испульзующим GCC компилятор, уменьшить размер кода своих приложений. Все данные в статье получены при помощи x86 GCC компилятора версии 4.7.2 на операционной система Fedora 17 для архитектуры Intel® Atom™.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js