powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хочу создать свой язык, с чего начать?
19 сообщений из 44, страница 2 из 2
Хочу создать свой язык, с чего начать?
    #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
19 сообщений из 44, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хочу создать свой язык, с чего начать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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