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

Админы:
@k1ngmang
@vyacheslavhere
Download Telegram
Channel created
🌟 Доброго времени суток! 🌟

Данный канал создан для разработчиков, которые заинтересованы в создании своего языка программирования.

🚀 В этом канале можно получить аудиторию для своего языка! 🚀

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

💡 Если вы хотите создать свой компилятор/интерпретатор, но не знаете, с чего начать - можно вступить в группу канала, где при необходимости разработчики могут помочь вам! 💡
Please open Telegram to view this post
VIEW IN TELEGRAM
13
Вот ссылка на чат: @procompilers
6
Первый ресурс, который я рекомендую к прочтению тем, кто только начинает делать свой язык - книга Crafting Interpreters. Книга хорошо усваивается, так как чуть ли не на каждое действие есть пример кода, которые затем применяются для создания языка lox, описанного в книге
🍌4
https://github.com/Monsler/JEPL
JEPL (Json Esoteric Programming Language) is an eponymous programming language which uses json syntax to write a programms.

JEPL (Json Esoteric Programming Language) — одноименный язык программирования, который использует синтаксис json для написания программ.

Автор: @bsd_dev
7
ANTLR (ANother Tool for Language Recognition) — это инструмент для создания парсеров и лексеров, который позволяет анализировать и обрабатывать текстовые файлы согласно определенным грамматикам. Он часто используется для разработки компиляторов, интерпретаторов и других инструментов обработки языков программирования.
Создатель: Теренс Парр 

Наш чат
12
Design and Realization of Concepts for WCET Compiler Optimization

Целью данной диссертации является разработка и реализация концепций оптимизации компилятора WCET
10
JavaCC - генератор синтаксических анализаторов для создания парсеров из грамматик. Он может генерировать код на Java, C++ и C#.

Наш чат: @lang_dev_ru
8
Компиляторы: принципы, технологии и инструменты

Довольно популярная книга по теории построения компиляторов, также известная как "Книга Дракона".
Скачать книгу

Наш чат
10
📚Build your own Programming Language, 2nd Edition: A programmer’s guide to designing compilers, DSLs and interpreters for solving modern computing problems (2024)
✍️Автор: Clinton L. Jeffery
📃Страниц: 556

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

Скачать книгу
9
Crafting Interpreters
Книга для новичков, в которой максимально простым языком описано создание интерпретатора языка lox. Единственный минус книги - ее лицензия запрещает перевод на другие языки.

Ссылка на книгу

Наш чат
8
Относительно недавно нашел классную библиотеку для работы с байт-кодом jvm, написанную на rust (аналог objectweb asm). Если вы хотели написать компилятор под jvm, но не хотели использоваться для этого языки вроде джавы или котлина, то вот шикарный вариант - удобная библиотека, удобный язык: https://github.com/ChAoSUnItY/Ka-Pi
Я не уверен, что она доделана до конца, но у меня есть дикое желание ее форкнуть и доделать до конца.
Чат: @lang_dev_ru
5
4
Опрос для сбора статистики среди участников канала (чтобы понимать, какие вообще ресурсы сюда можно кидать)
🔥6
compilers
На каких языках вы пишите?
Если ваших языков нет, то пишите в комментах
4
Нашел интересный язык от создателей Jolie. Язык называется Choral.
Можете посмотреть примеры кода на этом языке. Честно говоря, у меня ощущение, что он останется на том же уровне, что и jolie - вроде прикольно, относительно популярно, но на деле - бесполезно. Однако для ознакомления язык прикольный.

Наш чат: @lang_dev_ru
5
Если вы вдруг решите делать функциональный язык программирования, то в качестве бекенда можете взять такой классный инструмент как GRIN.

Узнал я о нем довольно давно, и сам хотел написать простенький язык, чтобы пощупать его поближе. К сожалению, я его так и не написал, но зато нашел прикольную реализацию функционального языка fuse, который написан на скала и использует grin, так что если будет желание - ознакомитесь.
6
Не менее прикольный язык, чем choral - это panda. Язык работает под jvm и имеет полный набор нужного софта, включая ide, которая называется Lily.
Что касается рациональности применения языка - я бы не советовал использовать его в качестве основного. Сам по себе он является интрепритируемым, но имеет набор классных инструментов, которые можно поковырять. Так что если вы любите программировать на чем-то необычном, то можно попробовать этот язык, а при желании даже сделать его форк и попробовать доработать панду, потому что она имеет удобную структуру и красивый код

8 панд из 10

Наш чат: @lang_dev_ru
5
Хотите написать свой язык на Zig. но вам не хватает примеров? Вашему вниманию представляется язык Honey: https://github.com/honey-lang/honey
Простенький, компилируемый язык программирования, код которого очень легко читается, рекомендую к ознакомлению тем, кто хочет вкатиться в lang dev.

9 Ершовых из 10

Наш чат: @lang_dev_ru
5