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
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
GitHub
GitHub - Monsler/JEPL: Joke programming language for routine automatization
Joke programming language for routine automatization - Monsler/JEPL
❤7
ANTLR (ANother Tool for Language Recognition) — это инструмент для создания парсеров и лексеров, который позволяет анализировать и обрабатывать текстовые файлы согласно определенным грамматикам. Он часто используется для разработки компиляторов, интерпретаторов и других инструментов обработки языков программирования.
Создатель: Теренс Парр
Наш чат
Создатель: Теренс Парр
Наш чат
❤12
Хочу посоветовать целый курс из статей на хабре, где парень рассказывает о создании языка программирования с использованием llvm.
Статьи довольно объемные и всего их 5 штук.
Автор статей: Илья Моисеенко
Наш чат
Статьи довольно объемные и всего их 5 штук.
Автор статей: Илья Моисеенко
Наш чат
Хабр
Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ
Оглавление серии Лексический и синтаксический анализ Семантический анализ Генерация кода Поддержка составных типов Поддержка классов и перегрузки функций Об авторе С 2003 года, когда я поступил в ВУЗ,...
❤5
Design and Realization of Concepts for WCET Compiler Optimization
Целью данной диссертации является разработка и реализация концепций оптимизации компилятора WCET
Целью данной диссертации является разработка и реализация концепций оптимизации компилятора WCET
❤10
JavaCC - генератор синтаксических анализаторов для создания парсеров из грамматик. Он может генерировать код на Java, C++ и C#.
Наш чат: @lang_dev_ru
Наш чат: @lang_dev_ru
❤8
Компиляторы: принципы, технологии и инструменты
Довольно популярная книга по теории построения компиляторов, также известная как "Книга Дракона".
Скачать книгу
Наш чат
Довольно популярная книга по теории построения компиляторов, также известная как "Книга Дракона".
Скачать книгу
Наш чат
❤10
Forwarded from Книги для программистов
📚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'а компилятора для вашего языка, включая лексический анализатор и синтаксический анализатор, в том числе обработку ошибок разбора. Затем в книге рассматривается серия обходов синтаксических деревьев, завершающаяся генерацией кода для виртуальной машины с байткодом или нативного кода. Вы также будете управлять структурами данных и выходным кодом при написании препроцессора или транспилятора. В дальнейшем вы узнаете, что специфические для данной области особенности языка часто лучше всего представлены операторами и функциями, встроенными в язык, а не библиотечными функциями. В завершение книга расскажет о том, как реализовать сборку мусора.
Скачать книгу
✍️Автор: Clinton L. Jeffery
📃Страниц: 556
В этой книге вы начнете с реализации frontend'а компилятора для вашего языка, включая лексический анализатор и синтаксический анализатор, в том числе обработку ошибок разбора. Затем в книге рассматривается серия обходов синтаксических деревьев, завершающаяся генерацией кода для виртуальной машины с байткодом или нативного кода. Вы также будете управлять структурами данных и выходным кодом при написании препроцессора или транспилятора. В дальнейшем вы узнаете, что специфические для данной области особенности языка часто лучше всего представлены операторами и функциями, встроенными в язык, а не библиотечными функциями. В завершение книга расскажет о том, как реализовать сборку мусора.
Скачать книгу
❤9
Crafting Interpreters
Книга для новичков, в которой максимально простым языком описано создание интерпретатора языка lox. Единственный минус книги - ее лицензия запрещает перевод на другие языки.
Ссылка на книгу
Наш чат
Книга для новичков, в которой максимально простым языком описано создание интерпретатора языка lox. Единственный минус книги - ее лицензия запрещает перевод на другие языки.
Ссылка на книгу
Наш чат
❤8
Относительно недавно нашел классную библиотеку для работы с байт-кодом jvm, написанную на rust (аналог objectweb asm). Если вы хотели написать компилятор под jvm, но не хотели использоваться для этого языки вроде джавы или котлина, то вот шикарный вариант - удобная библиотека, удобный язык: https://github.com/ChAoSUnItY/Ka-Pi
Я не уверен, что она доделана до конца, но у меня есть дикое желание ее форкнуть и доделать до конца.
Чат: @lang_dev_ru
Я не уверен, что она доделана до конца, но у меня есть дикое желание ее форкнуть и доделать до конца.
Чат: @lang_dev_ru
GitHub
GitHub - ChAoSUnItY/Ka-Pi: A JVM Bytecode Manipulation Framework inspired by ASM.
A JVM Bytecode Manipulation Framework inspired by ASM. - ChAoSUnItY/Ka-Pi
❤5
На каких языках вы пишите?
Anonymous Poll
30%
C
41%
C++
35%
Java
30%
C#
53%
Python
17%
Js
2%
Ocaml
3%
Scala
10%
Kotlin
5%
Lisp (Clojure, Common lisp, Pihta...)
❤4
Опрос для сбора статистики среди участников канала (чтобы понимать, какие вообще ресурсы сюда можно кидать)
🔥6
Нашел интересный язык от создателей Jolie. Язык называется Choral.
Можете посмотреть примеры кода на этом языке. Честно говоря, у меня ощущение, что он останется на том же уровне, что и jolie - вроде прикольно, относительно популярно, но на деле - бесполезно. Однако для ознакомления язык прикольный.
Наш чат: @lang_dev_ru
Можете посмотреть примеры кода на этом языке. Честно говоря, у меня ощущение, что он останется на том же уровне, что и jolie - вроде прикольно, относительно популярно, но на деле - бесполезно. Однако для ознакомления язык прикольный.
Наш чат: @lang_dev_ru
❤5
Если вы вдруг решите делать функциональный язык программирования, то в качестве бекенда можете взять такой классный инструмент как GRIN.
Узнал я о нем довольно давно, и сам хотел написать простенький язык, чтобы пощупать его поближе. К сожалению, я его так и не написал, но зато нашел прикольную реализацию функционального языка fuse, который написан на скала и использует grin, так что если будет желание - ознакомитесь.
Узнал я о нем довольно давно, и сам хотел написать простенький язык, чтобы пощупать его поближе. К сожалению, я его так и не написал, но зато нашел прикольную реализацию функционального языка fuse, который написан на скала и использует grin, так что если будет желание - ознакомитесь.
GitHub
GitHub - grin-compiler/grin: GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization…
GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support. - grin-compiler/grin
❤6
Не менее прикольный язык, чем choral - это panda. Язык работает под jvm и имеет полный набор нужного софта, включая ide, которая называется Lily.
Что касается рациональности применения языка - я бы не советовал использовать его в качестве основного. Сам по себе он является интрепритируемым, но имеет набор классных инструментов, которые можно поковырять. Так что если вы любите программировать на чем-то необычном, то можно попробовать этот язык, а при желании даже сделать его форк и попробовать доработать панду, потому что она имеет удобную структуру и красивый код
8 панд из 10
Наш чат: @lang_dev_ru
Что касается рациональности применения языка - я бы не советовал использовать его в качестве основного. Сам по себе он является интрепритируемым, но имеет набор классных инструментов, которые можно поковырять. Так что если вы любите программировать на чем-то необычном, то можно попробовать этот язык, а при желании даже сделать его форк и попробовать доработать панду, потому что она имеет удобную структуру и красивый код
8 панд из 10
Наш чат: @lang_dev_ru
GitHub
GitHub - panda-lang/panda: Proof of concept of modern and stylish interpreted programming language for the JVM ⚜️
Proof of concept of modern and stylish interpreted programming language for the JVM ⚜️ - panda-lang/panda
❤5
Хотите написать свой язык на Zig. но вам не хватает примеров? Вашему вниманию представляется язык Honey: https://github.com/honey-lang/honey
Простенький, компилируемый язык программирования, код которого очень легко читается, рекомендую к ознакомлению тем, кто хочет вкатиться в lang dev.
9 Ершовых из 10
Наш чат: @lang_dev_ru
Простенький, компилируемый язык программирования, код которого очень легко читается, рекомендую к ознакомлению тем, кто хочет вкатиться в lang dev.
9 Ершовых из 10
Наш чат: @lang_dev_ru
GitHub
GitHub - honey-lang/honey: The official repository for the Honey programming language.
The official repository for the Honey programming language. - honey-lang/honey
❤5
Если вы считаете себя программистом, после того, как написали компилятор на с++, то советую почитать о языке, который @tapeline_tg написал на кумире. Вот статья на хабре
Хабр
Как я собственный язык на КуМире писал
Привет, Хабр! Хочу поделиться одним любопытным и совершенно нетривиальным кейсом использования Русского Алгоритмического Языка. В этой статье я расскажу, зачем мне это вообще понадобилось и почему в...
❤9
Возвращаемся к обзорам интересных, но малоизвестных языков. На очереди у нас jule. Язык написан на c++, компилируется в llvm. Все разработчики языка состоят в команде TheAlgorithms, самая популярная организация, включающая в себя репозитории с алгоритмами на разных языках. В отличии от многих других языков - этот имеет серьезные цели и амбиции, и планируется использоваться для реальных задач. В целом язык бодрый, я его тестировал ещё давно, однако перспектив особых не наблюдал. В целом не вижу проблем лично вам писать на этом языке, сделан он хорошо, но есть в этом смысл, когда существует например с++? На этот вопрос я вам ответа не дам, думайте сами
8 алгоритмов из 10
Наш чат: @lang_dev_ru
8 алгоритмов из 10
Наш чат: @lang_dev_ru
GitHub
GitHub - julelang/jule: Simple and safe programming language with first-class C/C++ interoperability and powerful compile-time…
Simple and safe programming language with first-class C/C++ interoperability and powerful compile-time capabilities - julelang/jule
❤7
Знакомы ли вы с языком рефал?
Anonymous Poll
3%
Да, могу читать код на нем
18%
Слышал, но код на нем мне непонятен
80%
Нет
❤8
Если вы являетесь ценителем истинного фп, то можете попробовать язык Eta.
По сути чего-то принципиально нового язык не приносит, но именно эта имплементация haskell под jvm является одной из наиболее удачных (однако она все еще не лучше frege).
Вот как выглядит код на этом языке:
Ставлю ему 6 академиков из 10, потому что вряд-ли кому-то нужен будет haskell на jvm, когда есть scala и сама java.
Наш чат: @lang_dev_ru
По сути чего-то принципиально нового язык не приносит, но именно эта имплементация haskell под jvm является одной из наиболее удачных (однако она все еще не лучше frege).
Вот как выглядит код на этом языке:
{-# LANGUAGE ScopedTypeVariables #-}
import Java
import Control.Monad (forM_)
main :: IO ()
main = java $ do
let integers = [1..10] :: [Byte]
(arr :: JByteArray) <- arrayFromList integers
elems <- arr <.> mapM aget [0..9]
io $ print elems
arr <.> forM_ [0..9] (\i ->
aset i (fromIntegral i * 2))
arrList <- arr <.> arrayToList
io $ print arrListСтавлю ему 6 академиков из 10, потому что вряд-ли кому-то нужен будет haskell на jvm, когда есть scala и сама java.
Наш чат: @lang_dev_ru
GitHub
GitHub - typelead/eta: The Eta Programming Language, a dialect of Haskell on the JVM
The Eta Programming Language, a dialect of Haskell on the JVM - typelead/eta
❤4