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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2012, 01:37   #1
Дэнис
Пользователь
 
Регистрация: 17.10.2011
Сообщений: 89
Восклицание Свой язык программирования

Решил сделать свой язык программирования. Поскажите на каком языке лучше для него писать интерпретатор?


Всем заранее спасибо.
Дэнис вне форума Ответить с цитированием
Старый 22.02.2012, 02:01   #2
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

На мой взгляд - без разницы. Какой лучше всего знаешь.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Старый 22.02.2012, 02:14   #3
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

Язык по крайней мере должен поддерживать возможности, которые ты собираешся реализовать в своем языке.

Чтоб получилось все серьезно и красиво советую обратить внимание на паттерн "Интерпретатор" ну вот например статейка тыц
AlexDark вне форума Ответить с цитированием
Старый 22.02.2012, 07:21   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от AlexDark Посмотреть сообщение
Чтоб получилось все серьезно и красиво советую обратить внимание на паттерн "Интерпретатор" ну вот например статейка тыц
Посимвольное сканирование это только классический вариант построения анализаторов. Сейчас имеются не плохие алгоритмы парсинга целой строки. Поэтому иногда есть смысл рассматривать программу в виде списка строка, а не потока символов.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 22.02.2012, 10:56   #5
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

На мой взгляд, вариантов кроме C++ и asm нет. Можно, коненчо, и на бейсике нафигачить, но это уже получение электричества от батарейки посредством двигателя и генератора... Потерь больше, чем пользы. Для начала определитесь, для чего будет этот язык.
Цитата:
Позвольте не согласиться: ключевым моментом в определении полезности языка является компилятор/интерпретатор, преобразующий программу в машинные коды, а представление программы - дело десятое.. хоть в виде точек на экране, если человеку так удобнее... ну будет у него идти обработка кода раза в три дольше - это вопрос скорее удобства. Зато, заложив в язык уникальные структуры данных, которые будут обрабатываться в итоге быстрее, чем универсальных языках, можно добиться прироста производительности при вычислениях в какой-то области.
Я не понял, что вы хотите этим сказать и каким образом это относится к моему ответу на вопрос топикстартера.
Цитата:
Зато, заложив в язык уникальные структуры данных, которые будут обрабатываться в итоге быстрее
Каким макаром можно в основу языка положить уникальные структуры данных, которые дадут ему возможность работать быстрее языка, на котором он написан - для меня тайна за семью печатями.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!

Последний раз редактировалось crazy horse; 22.02.2012 в 11:50.
crazy horse вне форума Ответить с цитированием
Старый 22.02.2012, 11:20   #6
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
а мой взгляд, вариантов кроме C++ и asm нет. Можно, коненчо, и на бейсике нафигачить, но это уже получение электричества от батарейки посредством двигателя и генератора... Потерь больше, чем пользы.
Позвольте не согласиться: ключевым моментом в определении полезности языка является компилятор/интерпретатор, преобразующий программу в машинные коды, а представление программы - дело десятое.. хоть в виде точек на экране, если человеку так удобнее... ну будет у него идти обработка кода раза в три дольше - это вопрос скорее удобства. Зато, заложив в язык уникальные структуры данных, которые будут обрабатываться в итоге быстрее, чем универсальных языках, можно добиться прироста производительности при вычислениях в какой-то области.
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 22.02.2012 в 11:24.
DiemonStar вне форума Ответить с цитированием
Старый 23.02.2012, 22:28   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
которые дадут ему возможность работать быстрее языка, на котором он написан - для меня тайна за семью печатями.
На самом деле такие моменты есть, если использовать не только классическую арифметику например для длинных чисел. Но думаю автор имел ввиду другое (мне кстати, тоже интересно что же имел ввиду автор строк о уникальных структурах данных).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.02.2012, 22:42   #8
sergei64_89
Форумчанин
 
Регистрация: 20.04.2008
Сообщений: 139
По умолчанию

мне это напоминает.11 класс,первое знакомство с делфи и мысль то нить сделать,что нить грандиозное чтоб все были в шоке.потом понимаешь что это печальная идея....
sergei64_89 вне форума Ответить с цитированием
Старый 23.02.2012, 22:44   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Можно, коненчо, и на бейсике нафигачить, но это уже получение электричества от батарейки посредством двигателя и генератора...
глобальное заблуждение.
Цитата:
Каким макаром можно в основу языка положить уникальные структуры данных, которые дадут ему возможность работать быстрее языка, на котором он написан - для меня тайна за семью печатями.
эти конструкции могут быть оптимизированно встроены в язык, а не прифигачены к нему пятой ногой.

ТС, а почему именно интерпритатор?
что именно вы хотите нового внести?
уверены ли вы что готов пройти этот путь?

а читать книгу дракона.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.02.2012, 00:10   #10
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
мне кстати, тоже интересно что же имел ввиду автор строк о уникальных структурах данных
сильно упрощённый вариант - обработка координатной точки (вроде типа TPoint). в обычном коде сложение двух переменных будет выглядеть так:
Код:
mov ax, Point1.x
add ax, Point2.x
mov Point1.x, ax
mov ax, Point1.y
add ax, Point2.y
mov Point1.y, ax
хотя, при некоторых допущениях, будет намного функциональнее код типа:
Код:
mov eax, Point1
add eax, Point2
mov Point1, eax
при этом можно учесть и оптимизацию по поточным вычислениям для операций со структурами больших объёмов.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать свой язык программирования? future7 Свободное общение 19 05.05.2015 01:08
Язык программирования С++ Jasper92 Свободное общение 2 09.11.2009 13:51
Язык программирования C Jasper92 Свободное общение 17 06.09.2009 11:13
Свой язык программирования koljsch Общие вопросы C/C++ 4 07.04.2009 22:15