Flame: Системный язык программирования на C и LLVM с мета-исключениями и Memory Safety без Borrow Checker

Пока индустрия движется в сторону усложнения компиляторов, я задался вопросом: можно ли создать инструмент, который дает безопасность Rust, гибкость C и при этом не весит сотни мегабайт? Так появился Flame — системный язык с компилятором в 226 КБ , который реализует управление памятью через статический анализ AST и предлагает альтернативный взгляд на обработку ошибок через патчинг дерева токенов.

https://habr.com/ru/articles/1007758/

#flame #c #c++ #c# #системное_программирование #компиляторы #компилятор #коддинг #llvm #llvm_ir

Flame: Системный язык программирования на C и LLVM с мета-исключениями и Memory Safety без Borrow Checker

Пока индустрия движется в сторону усложнения компиляторов, я задался вопросом: можно ли создать инструмент, который дает безопасность Rust, гибкость C и при этом не весит сотни...

Хабр

Я добавил трейты и указатели в свой язык

Язык активно улучшается, осталось недолго до bootstrapping'а! Также уменя есть планы писать LSP и загрузить язык на github linguist. Для последнего нужны репозитории (>200). Для тех, кому нечего делать, или кому просто не лень, попробуйте пописать программки на моем языке. Пока мало что можно будет написать, но, думаю, хотя бы что-то можно.

https://habr.com/ru/articles/996654/

#llvm #llvm_ir #llvm_компилятор_llvm_ir #компиляторы #компилятор #компиляция #c++ #язык_программирования #языки_программирования #как_написать_свой_язык

Я добавил трейты и указатели в свой язык

GitHub Прошлые статьи: Я написал компилятор при помощи LLVM Я написал компилятор при помощи LLVM (2) Изменения Объявление трейтов Реализация методов трейтов для структур Создание указателей (строки не...

Хабр

Я написал компилятор на C++ при помощи LLVM (2)

GitHub Из прошлой статьи мы знаем, что я разрабатываю свой компилятор - Onyx . С того момента язык активно развивался, теперь он поддерживает:

https://habr.com/ru/articles/989684/

#llvm #llvm_ir #llvm_компилятор_llvm_ir #c++ #язык_программирования #языки #как_написать_свой_язык #компиляторы #компилятор #как_написать_язык

Я написал компилятор на C++ при помощи LLVM (2)

GitHub Из прошлой статьи мы знаем, что я разрабатываю свой компилятор - Onyx . С того момента язык активно развивался, теперь он поддерживает: Создание структур Инициализация структур Получение полей...

Хабр

[Перевод] Golang на PlayStation 2

Мне всегда хотелось творить какую-нибудь дичь с консолями. Не знаю почему, но меня всегда привлекала идея реализовывать на устройствах неожиданные возможности. Это относится и к PlayStation 2 , выпущенной Sony в 2000 году. Sony, пожалуйста, не подавайте в суд на меня за этот пост. Перейдём сразу к делу: я хочу научиться запускать код на консолях (подробнее о том, зачем это нужно, я расскажу в другом посте). Обычно это делается на языках низкого уровня, но сегодня мы можем проще и удобнее работать с языками наподобие Go . Поэтому я подумал: почему бы и нет? Поискав онлайн, я не нашёл простого решения, поэтому взялся за эту задачу самостоятельно.

https://habr.com/ru/articles/895322/

#playstation_2 #golang #clang #llvm #llvm_ir #mips

Golang на PlayStation 2

Мне всегда хотелось творить какую-нибудь дичь с консолями. Не знаю почему, но меня всегда привлекала идея реализовывать на устройствах неожиданные возможности. Это относится и к PlayStation 2 ,...

Хабр

[Перевод] Compiler Explorer — уникальный проект для исследования компилируемого кода

Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer , который я в дальнейшем будут называть CE. CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран: Предупреждение: вы забираетесь в «кроличью нору», на которую можете потратить несколько часов своего времени. В основе CE лежит очень простая идея. Достаточно ввести исходный код в левую панель, и сайт мгновенно покажет вам на правой панели скомпилированный результат (обычно на языке ассемблера). CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502. То есть теперь для просмотра результата работы компилятора достаточно открыть godbolt.org и скопировать туда блок кода. Это само по себе удивительно, но у CE есть гораздо больше возможностей. Это инструмент, который должны знать все интересующиеся компиляторами и архитектурами компьютеров. В статье мы сможем лишь поверхностно рассмотреть функции CE. Вам стоит самим перейти на сайт CE и попробовать всё самостоятельно.

https://habr.com/ru/companies/ruvds/articles/815675/

#ruvds_переводы #компиляторы #язык_ассемблера #интерпретаторы #llvm #llvm_ir #анализ_кода

Compiler Explorer — уникальный проект для исследования компилируемого кода

Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer , который я в дальнейшем будут называть CE. CE...

Хабр

Динамический JIT компилятор C++

Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата , и продолжаю пользоваться этим способом на постоянной основе. А теперь, похоже, я нашел еще один очень полезный Хаброхак, который заключается в использования Хабра как записной книжки, но не как в том анекдоте я думал, что это блокнот для заметок, а всем видно оказывается что я здесь написал , а в самом хорошем смысле — для хранения результатов различных экспериментов, подведения итогов поиска в решения проблем и публикации итоговых выводов. Так, на днях искал материалы про JIT компиляцию C++ в рантайме с помощью clang/llvm и поиск мне выдал мою же собственную статью трехгодичной давности: Динамическая JIT компиляция С/С++ в LLVM с помощью Clang / Хабр . В результате появилась уже эта новая статья про JIT компиляцию C/С++.

https://habr.com/ru/articles/803787/

#llvm #llvm_ir #c++ #jit #jitкомпилятор #программирование

Динамический JIT компилятор C++

Когда-то давно я писал статью-наблюдение про использование Хабра в качестве площадки для архитектурных ревью технических решений практически любой сложности Хабр — ума палата , и продолжаю...

Хабр