compilers
217 subscribers
17 photos
43 links
Все про компиляторы и языки программирования
Наши чаты:
@procompilers - общий чат по разработке языков.
@code_crafting_ru - чат, где можно вести блог своего языка программирвоания

Админы:
@k1ngmang
@vyacheslavhere
Download Telegram
EPE - Extreme Programming Event.

В чем суть ивента?
Среди подписчиков канала или на просторах интернета выбирается язык программирования / платформа. В течении определенного времени участник должен будет написать какую-либо программу на этом языке. Даже если вы написали свой ассемблер - мы можем устроить конкурс на нем, и люди будут писать программы на вашем языке.

Призы
В зависимости от сложности платформы и ограничений, которые будут введены администраторами призовой фонд может варьироваться в диапазоне от 500р до 3500р.
Если вы заинтересованы, и хотите, чтобы ваш язык (или платформа) стал языком первого сезона EPE отправляйте заявки администрации: @k1ngmang
10
Поздравляю вас с открытием первого сезона EPE. Начать хотелось бы с чего-то не очень трудного, чтобы участники вообще могли понять суть мероприятия. Для этого был выбран язык Dragon. Он очень похож на привычные всем вам языки, однако его синтаксис довольно интересный

Hello World на Dragon:
show "Hello World"

Победитель первого сезона получит 600р.

Ещё раз напоминаю правила: Вы пишите программу на выбранном сезонном языке и отправляйте ее. Лучшая программа определяется 3 людьми, чье мнение не должно быть предвзятым. Отправка ваших трудов осуществляется следующим образом: вы сообщаете в личные сообщения @artyom_java название своей команды. Затем вы должны сделать fork репозитория на github, соответствующий сезону, в котором участвуете и добавить туда папку с названием команды, которую вы сообщили. После этого делайте pull request и ждите результатов. Если возникнут трудности, пишите @artyom_java.
Итоги через месяц.

Ресурсы:

Как отправить свой код на EPE

Документация языка Dragon

Ссылка на установщик языка Dragon
7
Forwarded from .
!!! Данный список основан на уже существующем списке, где можно найти ещё больше тематической литературы с комментариями автора: https://github.com/true-grue/Compiler-Development


📄 Литература для новичков:
Robert Nystrom: Crafting Interpreters (2020)

Никлаус Вирт: Построение компиляторов (2010)
📄 Литература для продвинутых:
Альфред В. Ахо, Рави Сетхи и Джеффри Д. Ульман: Компиляторы: принципы, технологии и инструменты

Steven Muchnick: Advanced Compiler Design and Implementation (1997)
📂 Статьи:
Реализация простейшего компилятора на python

Реализация простого интерпретатора forth

Рекурсивный спуск в компиляторах

🖥 Суперкомпиляторы:
Климов А.В., Романенко С.А: Суперкомпиляция: основные принципы и базовые понятия

👮‍♀ Видео:
1.Интерпретатор на Python'е

2.Интерпретатор на TypeScript

3.Интерпретатор на Rust

4.Интерпретатор на С

5.Компилятор в llvm на Python'е
__
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Напоминаю, что у нас есть чат: @procompilers
7
Недавно в чате была предложена идея создания дискорд сервера, чтобы помимо чата можно было пообщаться вживую, отсортировать ветки, а также много чего еще, что дает дискорд. Нужно узнать ваше мнение: создавать или данного чата хватает?
7
Делаем (пост выше) ?
Final Results
76%
да
24%
нет
7
По просьбам нескольких кандидатов конкурс будет продлен до 23 марта. Для новых подписчиков, которые хотят получить 600р за сравнительно легкую работу, могут ознакомиться с постом: https://t.me/langdev/44.
Напоминаю еще раз про репозиторий, который нужно форкнуть и сделать работу (это все написано в том посте, даже предоставлена видео-инструкция): https://github.com/Extreme-Programming-Event/1-season
5
Продолжаем оценивать малоизвестные языки программирования, на очереди janet. Данный яп наверное самый популярный из тех, что упоминались ранее. Очень хороший инструмент для изучения работы компиляторов на реальном примере. Архитектура проекта напоминает lua, никакой сортировки по пакетам, основная часть находится в core/... Однако тут все же присутствует хоть какое-то вменяемое разделение, а потому и читать его в разы удобнее. В отличии от clojure тут довольно понятный naming и типичный code style. Рекомендую к ознакомлению
7
Сегодня последний день сдачи проекта для EPE. Многие (даже почти все) не читали инструкцию и скинули проект мне, а не на гитхаб. Кто-то не форкал репозиторий, а сделал свой, но в любом случае баллы за это будут меньше. Результаты будут через 2-3 дня
10
По решению трех судей победил лисп от @jincoder. Проект больше всего соответствует теме канала, а также набрал самые высокие оценки от судей в сравнении с другими проектами. Результаты не выложил вчера, потому что разбирались с наличием гитхаба, ведь у него был репозиторий, но организованный не по инструкции. В любом случае на счет победителя было отправлено 600р, спасибо всем за участие
12
4 месяца назад я проводил трансляцию, где рассказал про язык программирования D. Интересный язык, который мне приглянулся своими возможностями, синтаксическими решениями, а также разнообразием компиляторов и других инструментов. Мы решили сделать группу, которая посвященная данному языку, чтобы найти сообщество людей, которым интересно создание компиляторов на D/C/C++ или другого софта под этот яп. Кому интересно заходите: @dlang_ru
7
Самый большой список существующих языков программирования, где можно найти почти тысячу разнообразных япов с интересными идеями и реализациями: https://github.com/ChessMax/awesome-programming-languages
10
Курс по созданию языка программирования под JVM с использованием antlr: https://jakubdziworski.github.io/enkel/2016/03/16/enkel_3_hello_enkel.html
7
Большой сборник ресурсов по суперкомпиляторам. Включает в себя ссылки на наиболее известные суперкомпиляторы, видео, а также книги/статьи пронумерованные по годам: https://github.com/etiams/supercompilation-resources
9
Writing a compiler in go
Книжка, посвященная написанию компилятора на языке go. Если брать в комплекте с writing an interpreter in go - обойдется это дело в 50 долларов.
Однако автор выложил 20 страниц книги, чтобы вы могли понять, подходит ли она именно вам: книга

Наш чат: @procompilers
5
Если после прошлого поста, вам показалась странной идея о написании компилятора на go, то ещё более странной вам покажется идея о написании компилятора на elixir'e.

Однако Matthew Hargreaves в статье Compiler writing in Elixir показал на своем собственном примере, какие преимущества даёт этот язык при разработке компилятора (никакие)
Статья о том, как написать не самый красивый, но быстрый лексер: https://xnacly.me/posts/2025/fast-lexer-strategies

чат: @procompilers
💘7
Суперкомпилятор Java. Я уже упоминал труды hirrolot'a с его довольно интересным проектом mazeppa, но в данной статье был выбран реальный язык, который используется в реальных проектах и нуждается в оптимизации.

В самой статье не так много теории, касающейся суперкомпиляторов, поэтому снова напомню вам про этот замечательный сборник ресурсов, где вы сможете найти материалы для изучения суперкомпиляции более подробно.

Чат: @procompilers
5
Недавно прошел 7-дневный хакатон по разработке языка программирования. За это время нужно было написать яп и игру на нем. На дискорд-сервеое хакатона можно найти вкладку с проектами, и посмотреть, что у людей получилось сделать за этот промежуток времени: https://langjamgamejam.com/

Чат: @procompilers
7