|
|
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Хочу разобраться как сделать компилированный язык программирования хотя бы супер элементарный, подскажите литературу по этому направлению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2016, 13:20 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02, А.Ахо, Р.Сети, Дж.Ульман: Компиляторы: принципы, технологии, инструменты и другие книги Ахо и Ульмана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2016, 13:37 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Возможно, в самом начале стоит набрать в гугле: как написать компилятор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2016, 14:44 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02, если до дела дойдёт - можно почитать John Levine Flex & Bison ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2016, 14:57 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 11:29 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
http://starling.rinet.ru/~goga/tapl/tapl.html Типы в языках программирования Бенджамин Пирс Теория объектов Карделли Абади ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 11:35 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
и еще можно почитать как накрылась медным тазом предыдущая версия аналогичной попытки http://www.sql.ru/forum/771167/ultrakorotkiy-yazyk-programmirovaniya-rs?hl=????? ???????? ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 11:41 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
tchingiz http://starling.rinet.ru/~goga/tapl/tapl.html Типы в языках программирования Бенджамин Пирс Отличная книга ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2016, 19:09 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
SashaMercury, сенкс. без ложной скромности - немного приложил руку к редактированию и переводу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 12:38 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2016, 15:34 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Когда я учился в школе, я тоже разрабатывал свой компилятор для простенького паскалеподобного языка... Эх, воспоминания-воспоминания... :) Я пользовался следующей литературой: Джек Креншоу "Давайте создадим компилятор"; М. В. Мозговой "Алгоритмы, Языки, Автоматы, Компиляторы: практический подход"; Альфред Ахо, Рави Сети, Джеффри Ульман "Компиляторы: принципы, технологии, инструменты" - знаменитая Dragon Book, классика. Ну и ещё была книга Герберта Шилдта, "Полный справочник по С". В последней главе там обсуждается разработка интерпретатора простого языка основанного на С. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 02:27 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02, посмотри на llvm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 12:27 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
RedCatX, а суть то компилятора в чем заключается? я вот хочу свой элементарный язык сделать со своим синтаксисом но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2016, 12:21 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02RedCatX, а суть то компилятора в чем заключается? я вот хочу свой элементарный язык сделать со своим синтаксисом но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора преобразуй свой синтаксис в си-код и просто компилируй полученные файлы.. если что-то дельное выйдет - можешь расширить возможности языка.. это сократит время и деньги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2016, 05:43 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02Хочу разобраться как сделать компилированный язык программирования хотя бы супер элементарный, подскажите литературу по этому направлению нужно соединить в единое много вещей. книга Дракона, которую посоветовал Изопропил - классика. но смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 19:46 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Герой дняbas02RedCatX, а суть то компилятора в чем заключается? я вот хочу свой элементарный язык сделать со своим синтаксисом но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора преобразуй свой синтаксис в си-код и просто компилируй полученные файлы.. если что-то дельное выйдет - можешь расширить возможности языка.. это сократит время и деньги Да, как вариант. Есть даже неплохой пример , как это можно сделать через Boost.Spirit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 12:13 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02Хочу разобраться как сделать компилированный язык программирования хотя бы супер элементарный, подскажите литературу по этому направлению Старая, но хорошая книжка. Костельцев А.В. Построение интерпретаторов и компиляторов. В исходниках прилагаемых к книжке есть пример учебного компилятора Си-подобного языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 16:50 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Я бы посоветовал: 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/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2017, 10:32 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02, Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2017, 16:35 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Areostarbas02, Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000 полезный навык ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2017, 19:57 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Areostar, хочу субд написать а там нужно хранимки в чем-то компилить и сохранять причем синтаксис языка sql-й должен быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 13:16 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02, в чистом ANSI SQL никаких хранимок нет чтоб не изобретать язык можно реализовать подмножество любого широкораспростанённого, например PL/SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 13:40 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Areostarbas02, Надо сначало ответить на вопрос - ЗАЧЕМ?? их и так болле 8000 Ну вот сейчас будут продавать компы на платформе E2K и для нее потребуются компиляторы языков. А то кроме Си и асма там ничего нет. Это как пример. Под любую новую аппаратную платформу надо будет разрабатывать компиляторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 14:03 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
bas02RedCatX, а суть то компилятора в чем заключается? я вот хочу свой элементарный язык сделать со своим синтаксисом но при этом не хочу чтоб софт зависел от какой-то громадной библиотеки или стандартного компилятора Вы знакомы с грамматиками? Вы уверены, что ваша реализация будет не "громадной" и не глючной? Возьмите сществующие генераторы парсеров, анализаторов, попробуйте хотя бы в них создать "свой" язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 14:07 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#18+
Изопропилbas02, в чистом ANSI SQL никаких хранимок нет чтоб не изобретать язык можно реализовать подмножество любого широкораспростанённого, например PL/SQL ну типа того, только зачем копировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2017, 14:07 |
|
||
|
Хочу создать свой язык, с чего начать?
|
|||
|---|---|---|---|
|
#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?all=1&fid=16&tid=1340487]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 407ms |

| 0 / 0 |
