|
|
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02ну типа того, только зачем копировать с тем чтобы никому не требовалось очередной sql изучать. а при отсутствии опыта велик шанс запроектировать не особо удачный язык ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 15:10 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Изопропилbas02ну типа того, только зачем копировать с тем чтобы никому не требовалось очередной sql изучать. а при отсутствии опыта велик шанс запроектировать не особо удачный язык расширение обычно представляет из себя примитивные команды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 16:05 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
EoltAreostarbas02, Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000 Ну вот сейчас будут продавать компы на платформе E2K и для нее потребуются компиляторы языков. А то кроме Си и асма там ничего нет. Это как пример. Под любую новую аппаратную платформу надо будет разрабатывать компиляторы. Java там есть, с JM в родных кодах. Не годится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 17:29 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
AdxEoltпропущено... Ну вот сейчас будут продавать компы на платформе E2K и для нее потребуются компиляторы языков. А то кроме Си и асма там ничего нет. Это как пример. Под любую новую аппаратную платформу надо будет разрабатывать компиляторы. Java там есть, с JM в родных кодах. Не годится? Java там без JIT только в режиме интерпретации работала. Не знаю допилили они ее или нет в итоге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 18:58 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02Хочу разобраться как сделать компилированный язык программирования хотя бы супер элементарный, подскажите литературу по этому направлениюЛитература по созданию языков программирования http://dxdy.ru/topic90139.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 19:18 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
О компиляторах и интерпретаторах https://habrahabr.ru/post/170735/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 19:36 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02Хочу разобраться как сделать компилированный язык программирования хотя бы супер элементарный, подскажите литературу по этому направлениюВообще то здесь три пути: - идти пол "проторенной дорожке" /изучать, что сделали другие/; - идти своим путем; - поигрался и бросил Свой путь - очень интересен тем, что вы волей не волей поймете как не нужно делать или /что редко, но бывает/ создадите некий новый путь. Вообще то на gihub много сотен проектов с исходными кодами компиляторов. Почитайте сильно не углубляясь в дебри об общих этапах, используемых при создании компиляторов, далее на gihub найдите небольшой компилятор и разберитесь с кодом. А вообще освойте лучше LLVM - больше пользы будет. PS: ИМХНО иногда и бывает потребность в разработке компилятора, но только в том случае если понимаешь для чего и почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 19:54 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02Изопропилпропущено... с тем чтобы никому не требовалось очередной sql изучать. а при отсутствии опыта велик шанс запроектировать не особо удачный язык расширение обычно представляет из себя примитивные команды Какое расширение, какие команды? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 21:34 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02Хочу разобраться как сделать компилированный язык программирования хотя бы супер элементарный, подскажите литературу по этому направлению Практически все кто проектировал свои языки во первых - неизбежно проходят через все стадии изучения грамматик, левых-правых и разных уровней. Потом кодят грамматики для Yacc/Bizon/Lex/Antlr. Потом понимают - что парсер сделал только 10% всей работы - а впереди еще расстояние длиной в жизнь. Нужно поставить ЗАДАЧУ трансформации AST в нечто похожее на семантику. Нужно определить что в нём (языке) будет ДОПУСТИМО а что нет. Нужно определить шаблоны оптимизации. И в конце концов определиться с Ассемблером, или байткодом или LLVM. С Ассемблером - вообще отдельная история. Лет 30 назад еще можно было рассуждать на тему того что человек лучше (умнее) закодит какой-то цикл на мнемониках или директивах или Ко-опах. Сегодня - увы. Любой средний компиллятор выдает на выхлопе ассемблер лучше (и что самое главное - безошибочнее). И человек - фейлит на generic-асм программировании не потому что слабее а просто потому что мозг для этого не предназначен. Держать в голове - состояние конвейера CPU + всех регистров - это не про нас. Уж лучше язык высокого уровня. Мдя. Вобщем тонна головняка. Кстати очень часто создатели своих ЯП на самом деле делают DSL, на роль которого прекрасно подходят Groovy или Scala к примеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2017, 23:32 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Весь успех в пользовании литературі ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2017, 23:03 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Попробуй для начала реализовать Лисп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 01:08 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Изопропил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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 03:27 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Десятое правило Гринспена гласит: "Любая достаточно сложная программа содержит в себе заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Lisp." Простейший интерпретатор Лиспа реализуется очень малым количеством кода. Что может быть проще бестипизированнного лямбда-исчисления. Главное, что эта простота не делает язык менее мощным, а наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 08:29 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
ХазенхюттльЧто может быть проще бестипизированнного лямбда-исчисления. Конкатенативные языки проще. Потому форт ещё проще реализовать. (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 08:58 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
mayton С Ассемблером - вообще отдельная история. Лет 30 назад еще можно было рассуждать на тему того что человек лучше (умнее) закодит какой-то цикл на мнемониках или директивах или Ко-опах. Сегодня - увы. Любой средний компиллятор выдает на выхлопе ассемблер лучше (и что самое главное - безошибочнее). И человек - фейлит на generic-асм программировании не потому что слабее а просто потому что мозг для этого не предназначен. Держать в голове - состояние конвейера CPU + всех регистров - это не про нас. Уж лучше язык высокого уровня. Тут мелькала уже информация о МСТЦ. Они как раз сейчас пилят компилятор (занимаются его оптимизацией) и набирают людей под эти задачи. Так что тому, кто хочет хардкора - нужно идти туда. Ну или в Intel ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 13:19 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNХазенхюттльЧто может быть проще бестипизированнного лямбда-исчисления. Конкатенативные языки проще. Потому форт ещё проще реализовать. (: А писать на них проще? Нет. Да и основа их всё тоже лямбда-исчисление. Лисп это законченная концепция поставленная на основу теории вычислимости. Лисп это мощные абстракции. Форт может быть и простой, но он сильно приближен к машине, с таким же успехом можно писать на ассемблере. Лиспу уже больше 50-ти лет, он давно используется в продакшн. Про Форт такое не скажешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 13:21 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
ХазенхюттльФорт может быть и простой, но он сильно приближен к машине не сильнее лиспа. ХазенхюттльЛиспу уже больше 50-ти лет, он давно используется в продакшн. это вы про какой из лиспов? а то тот что больше 50-и лет назад был, тоже к машине очень даже приближен. чего только стоят регистры CAR и CDR в основе языка. А те что сейчас используются в продакшн, тяжелы в реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 14:41 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
ХазенхюттльДа и основа их всё тоже лямбда-исчисление. ну форт больше на комбинаторную логику похож, только задом наперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 15:02 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
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 сравнимых по мощности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1340487]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
7ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 483ms |

| 0 / 0 |
