powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хочу создать свой язык, с чего начать?
44 сообщений из 44, показаны все 2 страниц
Хочу создать свой язык, с чего начать?
    #39369547
bas02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу разобраться как сделать компилированный язык программирования
хотя бы супер элементарный, подскажите литературу по этому направлению
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39369551
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02,

А.Ахо, Р.Сети, Дж.Ульман: Компиляторы: принципы, технологии, инструменты


и другие книги Ахо и Ульмана
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39369574
azsx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, в самом начале стоит набрать в гугле: как написать компилятор.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39369578
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02,

если до дела дойдёт - можно почитать John Levine Flex & Bison
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39369916
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД на PHP уже забросил?

Let's Build a Compiler , для начала.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39369928
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://starling.rinet.ru/~goga/tapl/tapl.html
Типы в языках программирования Бенджамин Пирс


Теория объектов Карделли Абади
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39369937
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще можно почитать как накрылась медным тазом предыдущая версия аналогичной попытки


http://www.sql.ru/forum/771167/ultrakorotkiy-yazyk-programmirovaniya-rs?hl=????? ???????? ????
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39370555
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz http://starling.rinet.ru/~goga/tapl/tapl.html
Типы в языках программирования Бенджамин Пирс


Отличная книга
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39370922
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,
сенкс.

без ложной скромности - немного приложил руку к редактированию и переводу
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39371122
bas02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучБД на PHP уже забросил?

Let's Build a Compiler , для начала.

нет в процессе
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39374633
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда я учился в школе, я тоже разрабатывал свой компилятор для простенького паскалеподобного языка... Эх, воспоминания-воспоминания... :)

Я пользовался следующей литературой:

Джек Креншоу "Давайте создадим компилятор";
М. В. Мозговой "Алгоритмы, Языки, Автоматы, Компиляторы: практический подход";
Альфред Ахо, Рави Сети, Джеффри Ульман "Компиляторы: принципы, технологии, инструменты" - знаменитая Dragon Book, классика.

Ну и ещё была книга Герберта Шилдта, "Полный справочник по С". В последней главе там обсуждается разработка интерпретатора простого языка основанного на С.

Удачи!
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39375922
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02,

посмотри на llvm
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39378233
bas02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatX,

а суть то компилятора в чем заключается?
я вот хочу свой элементарный язык сделать со своим синтаксисом
но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39378586
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02RedCatX,

а суть то компилятора в чем заключается?
я вот хочу свой элементарный язык сделать со своим синтаксисом
но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора

преобразуй свой синтаксис в си-код и просто компилируй полученные файлы.. если что-то дельное выйдет - можешь расширить возможности языка..

это сократит время и деньги
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39379812
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02Хочу разобраться как сделать компилированный язык программирования
хотя бы супер элементарный, подскажите литературу по этому направлению

нужно соединить в единое много вещей. книга Дракона, которую посоветовал Изопропил - классика. но смысл?
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39380784
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняbas02RedCatX,

а суть то компилятора в чем заключается?
я вот хочу свой элементарный язык сделать со своим синтаксисом
но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора

преобразуй свой синтаксис в си-код и просто компилируй полученные файлы.. если что-то дельное выйдет - можешь расширить возможности языка..

это сократит время и деньги

Да, как вариант. Есть даже неплохой пример , как это можно сделать через Boost.Spirit.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39381679
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02Хочу разобраться как сделать компилированный язык программирования
хотя бы супер элементарный, подскажите литературу по этому направлению

Старая, но хорошая книжка. Костельцев А.В. Построение интерпретаторов и компиляторов.
В исходниках прилагаемых к книжке есть пример учебного компилятора Си-подобного языка.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39383842
Andrei T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы посоветовал:
1) Michael L. Scott - Programming Language Pragmatics
https://www.cs.rochester.edu/~scott/pragmatics/
2) Andrew W. Appel - Modern Compiler Implementation
http://www.cs.princeton.edu/~appel/modern/
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39395659
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02,

Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39395848
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarbas02,

Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000
полезный навык
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397188
bas02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostar,

хочу субд написать а там нужно хранимки в чем-то компилить и сохранять
причем синтаксис языка sql-й должен быть
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397205
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02,

в чистом ANSI SQL никаких хранимок нет

чтоб не изобретать язык можно реализовать подмножество любого широкораспростанённого, например PL/SQL
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397232
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarbas02,

Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000

Ну вот сейчас будут продавать компы на платформе E2K и для нее потребуются компиляторы языков. А то кроме Си и асма там ничего нет. Это как пример. Под любую новую аппаратную платформу надо будет разрабатывать компиляторы.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397237
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02RedCatX,

а суть то компилятора в чем заключается?
я вот хочу свой элементарный язык сделать со своим синтаксисом
но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора

Вы знакомы с грамматиками?
Вы уверены, что ваша реализация будет не "громадной" и не глючной?

Возьмите сществующие генераторы парсеров, анализаторов, попробуйте хотя бы в них создать "свой" язык.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397238
bas02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилbas02,

в чистом ANSI SQL никаких хранимок нет

чтоб не изобретать язык можно реализовать подмножество любого широкораспростанённого, например PL/SQL

ну типа того, только зачем копировать
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397323
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02ну типа того, только зачем копировать
с тем чтобы никому не требовалось очередной sql изучать.

а при отсутствии опыта велик шанс запроектировать не особо удачный язык
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397380
bas02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилbas02ну типа того, только зачем копировать
с тем чтобы никому не требовалось очередной sql изучать.

а при отсутствии опыта велик шанс запроектировать не особо удачный язык

расширение обычно представляет из себя примитивные команды
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397471
Adx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adx
Гость
EoltAreostarbas02,

Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000

Ну вот сейчас будут продавать компы на платформе E2K и для нее потребуются компиляторы языков. А то кроме Си и асма там ничего нет. Это как пример. Под любую новую аппаратную платформу надо будет разрабатывать компиляторы.

Java там есть, с JM в родных кодах. Не годится?
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397540
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdxEoltпропущено...


Ну вот сейчас будут продавать компы на платформе E2K и для нее потребуются компиляторы языков. А то кроме Си и асма там ничего нет. Это как пример. Под любую новую аппаратную платформу надо будет разрабатывать компиляторы.

Java там есть, с JM в родных кодах. Не годится?

Java там без JIT только в режиме интерпретации работала. Не знаю допилили они ее или нет в итоге.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397550
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02Хочу разобраться как сделать компилированный язык программирования
хотя бы супер элементарный, подскажите литературу по этому направлениюЛитература по созданию языков программирования http://dxdy.ru/topic90139.html
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397565
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О компиляторах и интерпретаторах https://habrahabr.ru/post/170735/
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397576
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02Хочу разобраться как сделать компилированный язык программирования
хотя бы супер элементарный, подскажите литературу по этому направлениюВообще то здесь три пути:
- идти пол "проторенной дорожке" /изучать, что сделали другие/;
- идти своим путем;
- поигрался и бросил

Свой путь - очень интересен тем, что вы волей не волей поймете как не нужно делать или /что редко, но бывает/ создадите некий новый путь.

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

А вообще освойте лучше LLVM - больше пользы будет.

PS: ИМХНО иногда и бывает потребность в разработке компилятора, но только в том случае если понимаешь для чего и почему.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39397620
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02Изопропилпропущено...

с тем чтобы никому не требовалось очередной sql изучать.

а при отсутствии опыта велик шанс запроектировать не особо удачный язык

расширение обычно представляет из себя примитивные команды
Какое расширение, какие команды?
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39398496
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas02Хочу разобраться как сделать компилированный язык программирования
хотя бы супер элементарный, подскажите литературу по этому направлению
Практически все кто проектировал свои языки во первых - неизбежно
проходят через все стадии изучения грамматик, левых-правых и разных
уровней. Потом кодят грамматики для Yacc/Bizon/Lex/Antlr. Потом
понимают - что парсер сделал только 10% всей работы - а впереди
еще расстояние длиной в жизнь. Нужно поставить ЗАДАЧУ
трансформации AST в нечто похожее на семантику. Нужно
определить что в нём (языке) будет ДОПУСТИМО а что нет. Нужно определить
шаблоны оптимизации. И в конце концов определиться с Ассемблером,
или байткодом или LLVM.

С Ассемблером - вообще отдельная история. Лет 30 назад еще можно было
рассуждать на тему того что человек лучше (умнее) закодит какой-то
цикл на мнемониках или директивах или Ко-опах. Сегодня - увы.
Любой средний компиллятор выдает на выхлопе ассемблер
лучше (и что самое главное - безошибочнее). И человек - фейлит
на generic-асм программировании не потому что слабее а просто
потому что мозг для этого не предназначен. Держать в голове - состояние
конвейера CPU + всех регистров - это не про нас. Уж лучше язык
высокого уровня.

Мдя.

Вобщем тонна головняка.

Кстати очень часто создатели своих ЯП на самом деле делают DSL,
на роль которого прекрасно подходят Groovy или Scala к примеру.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39408810
Фотография Santana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь успех в пользовании литературі
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39408823
Попробуй для начала реализовать Лисп
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39408847
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилbas02пропущено...


расширение обычно представляет из себя примитивные команды
Какое расширение, какие команды?
ISO/IEC 9075-4:[номер года, начиная с 1999] SQL—Part 4: Persistent Stored Modules (SQL/PSM )
первоначальное официальное описание - extension of SQL with a procedural language for use in stored procedures - Расширение SQL процедурным языком для использования в хранимых процедурах.

и это вовсе не "примитивные команды", а функциональной полный язык с блекджеком и шлюхами - поддерживающий трехзначную логику и работу с Null-значениями.
В самых минимальных реализациях требуют наличия структурных типов, циклов, управляющих структур, ветвлений, обработки ошибок, процедур и функций как самостоятельных именованных сущностей, привязанных к схеме, IN, OUT, INOUT семантики параметров.

pl/sql - пример реализации лишь деталями синтаксиса отличающийся от референса
(имеет право, как появившийся до стандартизации).

у postgress аж две реализации языка процедурных расширений sql - собственная и в
стандартном синтаксисе, детали которой можно посмотреть здесь:
http://postgres.cz/wiki/SQL/PSM_Manual
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39408864
Десятое правило Гринспена гласит:

"Любая достаточно сложная программа содержит в себе заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Lisp."

Простейший интерпретатор Лиспа реализуется очень малым количеством кода. Что может быть проще бестипизированнного лямбда-исчисления. Главное, что эта простота не делает язык менее мощным, а наоборот.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39408878
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХазенхюттльЧто может быть проще бестипизированнного лямбда-исчисления.
Конкатенативные языки проще.
Потому форт ещё проще реализовать. (:
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39409118
Adx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adx
Гость
mayton
С Ассемблером - вообще отдельная история. Лет 30 назад еще можно было
рассуждать на тему того что человек лучше (умнее) закодит какой-то
цикл на мнемониках или директивах или Ко-опах. Сегодня - увы.
Любой средний компиллятор выдает на выхлопе ассемблер
лучше (и что самое главное - безошибочнее). И человек - фейлит
на generic-асм программировании не потому что слабее а просто
потому что мозг для этого не предназначен. Держать в голове - состояние
конвейера CPU + всех регистров - это не про нас. Уж лучше язык
высокого уровня.


Тут мелькала уже информация о МСТЦ.
Они как раз сейчас пилят компилятор (занимаются его оптимизацией) и набирают людей под эти задачи.
Так что тому, кто хочет хардкора - нужно идти туда. Ну или в Intel )
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39409120
ZyK_BotaNХазенхюттльЧто может быть проще бестипизированнного лямбда-исчисления.
Конкатенативные языки проще.
Потому форт ещё проще реализовать. (:

А писать на них проще? Нет. Да и основа их всё тоже лямбда-исчисление. Лисп это законченная концепция поставленная на основу теории вычислимости. Лисп это мощные абстракции. Форт может быть и простой, но он сильно приближен к машине, с таким же успехом можно писать на ассемблере. Лиспу уже больше 50-ти лет, он давно используется в продакшн. Про Форт такое не скажешь.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39409163
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХазенхюттльФорт может быть и простой, но он сильно приближен к машине
не сильнее лиспа.


ХазенхюттльЛиспу уже больше 50-ти лет, он давно используется в продакшн.
это вы про какой из лиспов?
а то тот что больше 50-и лет назад был, тоже к машине очень даже приближен.
чего только стоят регистры CAR и CDR в основе языка.

А те что сейчас используются в продакшн, тяжелы в реализации.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39409175
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХазенхюттльДа и основа их всё тоже лямбда-исчисление.
ну форт больше на комбинаторную логику похож, только задом наперед.
...
Рейтинг: 0 / 0
Хочу создать свой язык, с чего начать?
    #39409183
ZyK_BotaNХазенхюттльФорт может быть и простой, но он сильно приближен к машине
не сильнее лиспа.

Да неужели? http://www.sql.ru/forum/images/bigeyes.gif А ничего что это самый высокоуровневый язык? С каких пор лямбда-исчисление стало близко к машине? http://www.sql.ru/forum/images/question.gif Просто удивительно, лямбда-исчисление как и Лисп были созданы для того, чтобы абстрагироваться от машины. Чтобы иметь возможность представлять программу не как набор инструкций, а как высокоуровневое понятие, такое как например математическая функция.


ZyK_BotaNХазенхюттльЛиспу уже больше 50-ти лет, он давно используется в продакшн.
это вы про какой из лиспов?
а то тот что больше 50-и лет назад был, тоже к машине очень даже приближен.
чего только стоят регистры CAR и CDR в основе языка.

А те что сейчас используются в продакшн, тяжелы в реализации.

Какой из Лиспов значения не имеет. Концепция как была так и осталась. Варианты реализации на низком уровне для нас тоже не важны. Важно как удобно на нем писать. Форт это все равно что ассемблер. Почему то ассемблеры ушли из обихода. Почему же? По причине приближенности к машине и отдаленности от человеческого мышления.

Лиспы тяжелы в реализации? А ничего, что самыми компактными реализациями языков являются Лиспы? Например Clojure, сейчас весь репозиторий составляет 100k LoC. LFE около 40k LoC. Это много? Какие еще сравнимые по мощности языки имеют такую компактную реализацию? Пару лет назад репозиторий Clojure содержал 60k LoC. И там кстати половина кода на Джаве, что как бы намекает на потенциальную развесистость. И то умудряются компактно писать. Покажи примеры языков не более 100k LoC сравнимых по мощности.
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хочу создать свой язык, с чего начать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]