Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2024, 16:05   #1
Alisov0808
 
Аватар для Alisov0808
 
Регистрация: 12.10.2024
Сообщений: 6
Лампочка Сделал свой язык программирования

Здравствуйте, мне 13 лет, и я сделал свой язык программирования, который называется Lumin.
Я начал делать его в июле, и несколько раз забрасывал.
Язык ещё очень сырой, и работает через раз, поэтому он находится в ранней бете
С языком можете ознакомится скачав файл Lumin.zip
Язык переводится из своего синтаксиса в fasm.

Буду рад если вы его протестируете и оцените!
Изображения
Тип файла: jpg Frame 15.jpg (31.7 Кб, 3 просмотров)
Вложения
Тип файла: zip Lumin.zip (669.1 Кб, 14 просмотров)

Последний раз редактировалось Alisov0808; 12.10.2024 в 16:09.
Alisov0808 вне форума Ответить с цитированием
Старый 12.10.2024, 19:04   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,810
По умолчанию

Цитата:
Сообщение от Alisov0808 Посмотреть сообщение
Язык переводится из своего синтаксиса в fasm.
Ну привели бы синтаксис для начала.
Arigato вне форума Ответить с цитированием
Старый 13.10.2024, 11:09   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,702
По умолчанию

... в виде синтаксических диаграмм или в БНФ (не Бел. Нар. Фр., а форма Бэкуса-Науэра).
Само начинание - похвально, если и исполнение будет тщательным.

Последний раз редактировалось digitalis; 13.10.2024 в 11:16.
digitalis вне форума Ответить с цитированием
Старый 14.10.2024, 13:33   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,869
По умолчанию

я так понял, что твой язык может перевести команды высокого уровня в низкоуровнеый fasm?
а можно потом этот код на fasm использовать для ассемблерных вставок в процедурах и функциях в том же Delphi?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 14.10.2024, 14:54   #5
Alisov0808
 
Аватар для Alisov0808
 
Регистрация: 12.10.2024
Сообщений: 6
По умолчанию

NetSpace, Нет, мой язык переводит код из своего собственного синтаксиса в ассемблер, а ассемблер этот переведённый код компилирует. Поэтому используя мой язык, вы формально используете ассемблер.
Alisov0808 вне форума Ответить с цитированием
Старый 14.10.2024, 15:16   #6
Alisov0808
 
Аватар для Alisov0808
 
Регистрация: 12.10.2024
Сообщений: 6
По умолчанию Обновлённая версия

Обновлённая версия
Вложения
Тип файла: zip Lumin.zip (668.5 Кб, 6 просмотров)

Последний раз редактировалось Alisov0808; 14.10.2024 в 15:19.
Alisov0808 вне форума Ответить с цитированием
Старый 14.10.2024, 15:24   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,810
По умолчанию

Для наглядности стоило бы привести пример программы на этом языке, которая бы решала какую-то практическую задачу.
Arigato вне форума Ответить с цитированием
Старый 14.10.2024, 16:02   #8
Alisov0808
 
Аватар для Alisov0808
 
Регистрация: 12.10.2024
Сообщений: 6
По умолчанию

Arigato, Пока что что-то больше вывода в консоль будет сложно написать, так как язык ещё на раннем этапе развития.
Alisov0808 вне форума Ответить с цитированием
Старый 14.10.2024, 18:55   #9
Vapaamies
Просветитель
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,844
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
... в виде синтаксических диаграмм или в БНФ (не Бел. Нар. Фр., а форма Бэкуса-Науэра).
А жопу вылизать еще не надо? Такие вумные собрались, я посмотрю, на кривой козе не подъедешь... Перед кем самоутверждаетесь?

Одиночному разработчику может не хватать ресурсов для БНФ. Пустая трата сил, если разбор пишется вручную, без LEXX/YACC и прочих ANTLR, а по ходу делаются эксперименты. Опыты ставить ведь тоже когда-то нужно, это же не на защиту диссера?

В реальном проекте нормально, если БНФ появляются при переходе от первой версии ко второй (или от нулевой к первой — кто как считает), когда написанное на коленке целиком выкидывается и всё переписывается уже по науке, но с учетом выводов, полученных из практики.

Цитата:
Сообщение от Alisov0808 Посмотреть сообщение
Здравствуйте, мне 13 лет, и я сделал свой язык программирования, который называется Lumin.
Разработчик Delphi SDK для KolibriOS в теме. Скачал и изучил, что смог.

Сам файл не запустился, к сожалению. Незачет. Программист в первую очередь должен думать о совместимости. Требовать последнюю версию .NET — верный способ, чтобы твою программу даже «на посмотреть» не запускали. У меня Windows 7, например, и я не уверен, что 8-й .NET на нее поставится. Такое себе, короче. Есть возможность снизить требования к среде? У меня .NET 4.7 стоит, что ли...

Пришлось довольствоваться описанием. Обратил внимание на оператор ветвления: принудительной инкапсуляцией веток в процедуры он похож на макроассемблер или, возможно, Форт, не к ночи будет помянут. Сам додумался или подсказал кто? Хотел было написать, что подобный подход называется шитым кодом, но он только для интерпретаторов, оказывается. Циклы тоже так реализованы? Из описания непонятно.

А неразличимостью встроенных процедур от управляющих операторов язык похож на оригинальный Бейсик 1964 года. В нём всё — операторы. Да и ориентацией чисто на консоль и текстовый вывод (поправь, если ошибаюсь) тоже на старый Бейсик похож.

Примеры кода на самом языке также не помешали бы — в этом присоединяюсь к мнениям в теме.

Ниша языка сейчас — написание интерактивных программ по типу bash или встроенной консоли GRUB (раз уж упоминается загрузчик)? По-любому было бы неплохо оторваться от бесконечной шлифовки языка и транслятора и написать законченную прикладную программу на нем. Типичная ошибка самостоятельных проектов — разработка ради разработки. Должна быть некая достижимая цель — пусть она будет промежуточной или одной из многих. Тогда всё сразу обретает смысл. Разработка же ради разработки закономерным образом рано или поздно выдыхается, обычно — на середине очередной глобальной переделки, так что даже код потом не выложишь — всё настолько разобрано остается. Других примеров я не знаю.

Вкладывать FASM в дистрибутив можно, если твой язык тоже распространяется по GPL. Сам файл лицензии обязательно должен присутствовать в архиве. И исходники тоже (или ссылка на GitHub), ибо GPL — про исходники.

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

Ты ведь такой отклик хотел получить? Я смотрел всё еще на выходных, а отписаться получилось только сейчас.
В разработке: воспроизводственный контур ИТ
Vapaamies вне форума Ответить с цитированием
Старый 14.10.2024, 23:01   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,702
По умолчанию

Может, у кого другая методика, но вообще-то начинать работу, не имея плана, могут только пчёлы. У них алгоритм построения сот в ПЗУ от рожденя заложен. А при разработке языка БНФ - это и есть такой план.
Хотя конечно, можно и так: "Вали кулём, потом разберём". А уж к тому, что слепилось, нарисовать БНФ или СД (для наукообразности в отчёт).
Как я понял, автор написал язык не из каких-то практических соображений, а для тренировки в этой области программирования. Я бы начал (и начинал когда-то) с изучения теории: как это делается. Ну а потом - с плана работы с привлечением соответствующего инструментария. "Недостатка ресурсов" хотя бы в виде тетрадки в клеточку вроде наблюдаться не должно. А без этого получится, как советует предыдущий: накропаем чего-нибудь, убедимся, что ахинея, выбросим к чертям и начнём с начала. С плана, разумеется.
Насчёт жопы я не совсем понял. Кто-то просил: "Нарисуйте мне БНФ, мне для диссерта надо"? Вообще-то модератору хорошо бы обратить внимание на недопустимо хамский стиль поста.

Последний раз редактировалось digitalis; 14.10.2024 в 23:18.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать свой язык программирования? future7 Свободное общение 19 05.05.2015 01:08
создать графический редактор в лазарусе!половину сделал а дальше никак не могу( кнопки все всё правильно сделал,а все равно не раб soso1 Помощь студентам 2 24.10.2013 17:05
Свой язык программирования Дэнис Помощь студентам 32 28.02.2012 07:17
Thank you.С длинной арифметикой в задаче с динамикой(пол задания сделал).Язык:Си. trebor Помощь студентам 1 05.01.2011 15:02
Свой язык программирования koljsch Общие вопросы C/C++ 4 07.04.2009 22:15