|
|
|
Разработка языков программирования13.06.2017, 14:10. Показов 1154. Ответов 10
Метки нет (Все метки)
Добрый день, уважаемые форумчане. С недавнего времени меня заинтересовала разработка компиляторов и создание языков программирования в чисто академических (т. е. учебных) целях для расширения своего кругозора и повышения профессионального уровня. Пришел сюда к вам за советом: Какой материал посоветуете к прочтению и изучению и что можно реализовать в качестве первого "языка"? С программированием, как таковым, знаком, сейчас изучаю C для рабочих нужд.
0
|
|
| 13.06.2017, 14:10 | |
|
Ответы с готовыми решениями:
10
Перечислите все плюсы и минусы языков программирования Perl и PHP 4 и 5 поколения языков программирования Сколько языков программирования в кс 1.6 ? |
| 13.06.2017, 16:51 | ||
|
Смущает только одно слово:
Или в жаву/паскаль/лисп? Или вы все-таки написали это не подумав? И вас интересует не компиляция, а интерпретация? ЗЫ все будут советовать уйму книг по сабжу, начиная с Книги дракона, и прочее море подобного. Но я посоветую СИКП / Лисп ин смалл пиесез, и написать известно что Хотя, можете начать с чего попроще, типа Бэйсика.
1
|
||
|
Модератор
|
||
| 13.06.2017, 17:22 | ||
|
Но, если очень хочется, то тут много ссылок.
1
|
||
|
|
|
| 13.06.2017, 18:22 [ТС] | |
|
_Ivana, планируется, конечно, компиляция в какую-нибудь VM (JVM или Эрланговскую) и попробовать просто в asm (для развлечения) и, конечно же, хотелось пощупать и интерпретацию
поэтому книжек пусть советуют многоДобавлено через 49 секунд KolodeznyDiver, писал до этого на Delphi/C#/Java, но из-за смены профиля работы теперь изучаю C
0
|
|
|
199 / 102 / 4
Регистрация: 16.08.2015
Сообщений: 209
|
|
| 08.07.2017, 11:33 | |
|
Видимо, Ivana не только безграмотен, но и не совсем здоров, раз он помнит про мой проект в течение столь длительного времени и без устали распространяет клевету. Это очень глупо, поскольку враньё Ivana очень легко доказывается. Я пишу транслятор с нового языка в Common Lisp. Например, вот здесь находится старая версия лексера
https://bitbucket.org/budden/y... ew-default А вот фрагменты парсера: https://bitbucket.org/budden/y... ew-default То, что в качестве бек-энда используется Common Lisp, я никогда не скрывал. Но ведь есть Eiffel, который в большинстве случаев является транслятором и генерирует Си. Да и среди реализаций Common Lisp есть GCL, который реализован в виде транслятора. То есть - либо невежество, либо нездоровье, либо враждебность ещё по каким-то причинам. Я надеюсь, администрация данного форума услышит мою жалобу, как это бывало и раньше, и сотрёт указанное мной сообщение с клеветой. Добавлено через 1 минуту О, я вижу, что клевету уже стёрли. Спасибо! Добавлено через 43 минуты В наше время, как правило, не создают,а дорабатывают. Т.е., если хотите стать востребованным профессионалом, нужно научиться не создавать с нуля, а подхватывать и продолжать. Жаль, все острова в океане уже открыты и (почти) все программы по одному - два раза уже написаны. В такое время мы живём и здесь у нас нет выбора. Возможно, захотите присоединиться к моему проекту. Если нет - вот задачка, которая может оказаться интересной: Вот есть транслятор с JavaScript в Common Lisp https://github.com/akapav/js . Для меня он хорош тем, что позволяет использовать библиотеки под джаваскрипт, не испольузя сам джаваскрипт. Например, я использую библиотеку на джаваскрипт для обработки маркдаун - ей я генерирую документацию к Яру. Соответственно, задачи две: 1. Более-менее простая: Сделать, чтобы язык генерировал побольше именованных функций и поменьше анонимных лямбд. Лямбды довольно неудобно отлаживать. Может быть, удастся даже сделать файловый транслятор, который из файла на джаваскрипте генерирует файл на лиспе - в таком виде отлаживать полученный код гораздо удобнее. 2. Добавить в него последние новшества, введёные в javascript (ECMASCRIPT 2016) Заодно посмотрите, как он устроен. Например, всем создателям языков обычно слёту рекомендуют lex и yacc, но в реальных промышленно используемых языках они применяются далеко не всегда. Есть такая красивая методика, как pratt parser, в данном трансляторе применена некая разновидность этой техники. Вот статейка на эту тему, на базе которой я написал нынешний парсер выражений для Яра: http://journal.stuffwithstuff.... made-easy/ Если и это не подходит, вот вам совсем взрослая задача за взрослые деньги. https://github.com/flightaware/Tcl-bounties tcl/tk - тоже очень интересный с концептуальной точки зрения язык, хотя за правила подстановки строк я его не люблю. Но по возможностям метапрограммирования он оставляет позади и common lisp.
1
|
|
| 08.07.2017, 12:44 | |
|
Не по теме: Опять, как и в холиварах, всё скатыватся к лспу. Отписываюсь.
0
|
|
| 09.07.2017, 19:18 | |
|
Не по теме: KolodeznyDiver, ты бы к психотерапевту обратился, пока не поздно, у тебя явно какая-то одержимость лиспом.
0
|
|
| 09.07.2017, 23:31 | |
|
Не по теме: korvin_, не к психотерапевту, а к психиатору (психотерапевт лечит соматические болезни через психику - Кашпировский) , я к нему регулярно хожу (к психиатору, а не Кашпировскому). Это он мне насоветовал каяццо. Нифига не помогло. Несмотря на это, данные там обещания я соблюдать буду. Раз уж дал.
0
|
|
| 10.07.2017, 00:53 | |
|
0
|
|
|
|
|
| 19.07.2017, 10:09 [ТС] | |
|
budden, а можете в личку описать Ваш проект? за идею с JS спасибо, я в нем не силен, но, думаю, было бы неплохо самому с ним познакомиться как и с CL.
0
|
|
|
199 / 102 / 4
Регистрация: 16.08.2015
Сообщений: 209
|
|
| 19.07.2017, 22:22 | |
|
aekuznecov, я могу и не в личку, у меня тут есть тема про этот проект, а описание есть на сайте проекта:
https://bitbucket.org/budden/yar Если незнакомы с JS, то и не надо знакомиться - есть и другие задачи. Сейчас вообще самое главное - найти нишу, где язык будет востребован, при этом чтобы можно было выйти на поле боя в лёгкой амуниции. У Яра есть два или три преимущества: он русскоязычный, у него под капотом очень мощная платформа CL и у него гораздо более простой синтаксис, чем у CL. Т.е. потенциально ниша должна найтись. Но другие языки уже давно захватили территорию и закрепились, поэтому предстоит нелёгкая борьба. Кроме того, до полноценного релиза ещё довольно далеко. На дальнейшие вопросы лучше всего отвечу в теме, посвящённой Языку.
1
|
|
| 19.07.2017, 22:22 | |
|
Помогаю со студенческими работами здесь
11
Теория языков программирования Семантика языков программирования Сравнение Языков Программирования Последовательность изучения языков программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|