powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Многоязыковое метапрограммирование
25 сообщений из 111, страница 4 из 5
Многоязыковое метапрограммирование
    #35822576
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То что ты хочешь создать но не можешь толком сформулировать витает в воздухе уже хз сколько лет.
В силу сложности до сих пор реализована только для частных случаев, которые из них называются DSL, некоторые code generation, и т.п.
В последние пару лет это направление активизировалось и возникли "метаязыки" для создания DSL, например JetBrains MPS, (Meta Programming System).
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35822586
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sm. Language Oriented Programming
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823438
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
privatesm. Language Oriented Programming

Это уже намного ближе, хоть реализации, при пристальном при рассмотрении
оказались больше фонарем
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823440
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonИдея применять на практике метаязык вылезет большим боком при использовании отладчика. Если в случае с ЯП - сообщение с ошибкой более-менее информативно. И девелопер, зная свой язык и (поверхностно) язык ассемблера может определить фрагмент кода или оператор, который вызывает ошибку, то в метаязыке такой возможности не будет. Данные отладки не содержат ссылок на код метаязыка.

Бред выше от начала и до конца.

Метаязык - это средство описания макроконструкций (параметризированных шаблонов
кода на конкретном языке), т.е. в конечном счете программист будет иметь дело с модулем на
целевом языке (который будет указан как параметр, при генерации кода).

Ты вроде и не ребенок, и вроде не настолько туп, а тоже не понял задачи?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823463
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПеченкинМетаязык - это средство описания макроконструкций (параметризированных шаблонов
кода на конкретном языке)

тоже не понял задачи?
А ты перечитай собственный первый пост
ПечонкинЕсть идея писать на некоем мета(макро)языке, а в результате, легким движением руки, получать генерированный код уже под конкретный ЯП.

Т.е. имеем на входе (пример)

Код: plaintext
1.
2.
3.
4.
5.
IF(AND(EQ(a,b), LT(c,d)),
  SET(
   LIST(e,  5 ), SQRT(f)
  )
)

Вот признайся наконец, что в примере вовсе не тот "мета(макро)язык", о котором говорится строчкой ранее (ведь он не описывает никаких макроконструкций, он их уже использует), тем самым ты подтвердишь всеобщее мнение, что крайне плохо справляешься с формулировкой своих мыслей, что само по себе не очень страшно, но не дает тебе морального права упрекать кого-либо в плохой "понятливости".
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823503
k e k s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Печенкин,

грибы? трава?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823518
ПочконкинПеченкинМетаязык - это средство описания макроконструкций (параметризированных шаблонов
кода на конкретном языке)

тоже не понял задачи?
А ты перечитай собственный первый пост
ПечонкинЕсть идея писать на некоем мета(макро)языке, а в результате, легким движением руки, получать генерированный код уже под конкретный ЯП.

Т.е. имеем на входе (пример)

Код: plaintext
1.
2.
3.
4.
5.
IF(AND(EQ(a,b), LT(c,d)),
  SET(
   LIST(e,  5 ), SQRT(f)
  )
)

Вот признайся наконец, что в примере вовсе не тот "мета(макро)язык", о котором говорится строчкой ранее (ведь он не описывает никаких макроконструкций, он их уже использует), тем самым ты подтвердишь всеобщее мнение, что крайне плохо справляешься с формулировкой своих мыслей, что само по себе не очень страшно, но не дает тебе морального права упрекать кого-либо в плохой "понятливости".


Да, я не знал, что дети будут насолько тупы, что не поймут банального.
Вот код на МЕТАязыке:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
#define IF(EXPR, TRUE, FALSE)
#ifdef __C
  if ($EXPR) $TRUE; else $FALSE;
#endif
#ifdef __PASCAL
  if $EXPR then $TRUE else $FALSE;
#endif
#enddefine

#define EQ(ARG1, ARG2)
#ifdef __C
  $ARG1 == $ARG2
#endif
#ifdef __PASCAL
  $ARG1 = $ARG2
#enddefine

#define SET(ARG1, ARG2)
#ifdef __C
  $ARG1 = $ARG2
#endif
#ifdef __PASCAL
  $ARG1 := $ARG2
#enddefine
#enddefine

#define SET(ARG1, ARG2)
#ifdef __C
  $ARG1 = $ARG2;
#endif
#ifdef __PASCAL
  $ARG1 := $ARG2;
#enddefine

#define AND(ARG1, ARG2)
#ifdef __C
  $ARG1 && $ARG2;
#endif
#ifdef __PASCAL
  $ARG1 and $ARG2;
#enddefine


А с мыслями у меня нормально, это просто у вас с абстрактным мышлением и воображением туго. Хотя пара тройка пробежавших пионеров что-то умное ляпнуло, вон про Language Orientied Programming да про DSL. Один даже понял, что такое M4 (чему я был мегаудивлен уже).
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823619
Гы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин Конкинку(чему я был ме т аудивлен уже).
:)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823901
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин Конкинку пишет:

> А с мыслями у меня нормально, это просто у вас с абстрактным мышлением и
> воображением туго.

Печенкин, вы можете ещё раз сформулировать, хотя бы себе, какие выгоды
вы собираетесь получить от этого задуманного вами ?

Я ещё раз говорю, что выгоды от "переписывания" с паскаля на Си
или фортран не будет никакой, как не будет и никакой пользы,
только вред -- лишнее звено. Вам будет легче найти компилятор
какого-то языка или связать их как библиотеки на целевой платформе.

Но переписать например с лиспа или хаскеля на Java вам не удастся.
Для этого вам на Java придётся реализовать ядро лиспа или хаскеля.

А генерировать код на лиспе или питоне, или хаскеле, имитирующий
аналогичный код на Java бессмысленно, это всё равно, что ехать
на машине по шоссе, не нажимая на газ, на первой скорости.

Технически проблемы все решаемы. Но разные языки - это ещё и
разные подходы к решению задач, разные идеологии.
Так, как пишут напр. WEB-сайты на схеме и лиспе с использованием continuation не
пишет, я думаю, никто в других языках. Этот барьер как вы собираетесь
преодолевать ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35823910
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин
Метаязык - это средство описания макроконструкций (параметризированных шаблонов
кода на конкретном языке), т.е. в конечном счете программист будет иметь дело с модулем на
целевом языке (который будет указан как параметр, при генерации кода).

Зарегистрируйся в форуме. И продолжим.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35824260
Ммихалыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
печенкин, зачем тебе редактор ворд с макросами ?
Кому-то явно нечем заняться, только не говори, что по работе затачиваешь под все и вся.
Идея конечно неплохая, но вот реализация будет нудная(долгая)
:)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35824469
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Технически проблемы все решаемы. Но разные языки - это ещё и
разные подходы к решению задач, разные идеологии.

Схема такая:
1. Берем или придумывем ЯП1
2. Пишем макросы на МГ для перевода ЯП1=>ЯП2
3. Если в самом ЯП2 чего-то не хватает, то на ЯП2 пишем функции-процедуры и включаем их в макросы
т.о. разница идеологий прячется в функции-процедуры
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35824545
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин Конкинку


Да, я не знал, что дети будут насолько тупы, что не поймут банального.
Печенкин.
большая просьба сосредоточится на технических вопросах программирования
и не постить ваше мнение об участниках форума
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35824618
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод пишет:
> Автор: _мод
Это Печенкин, или нет ?

> 3. Если в самом ЯП2 чего-то не хватает, то на ЯП2 пишем
> функции-процедуры и включаем их в макросы
> т.о. разница идеологий прячется в функции-процедуры

Так вот, ОЧЕНЬ МНОГО ПИСАТЬ придётся.
на всех целевых языках. А зачем ?
Смысла нет. Лучше просто создать свой новый язык.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35824963
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivСмысла нет.
Как посмотреть. Я уже приводил в пример реализацию клиппера - он наполовину сделан на собственном препроцессоре (вопрос - зачем ?).
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35825198
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МмихалычИдея конечно неплохая, но вот реализация будет нудная(долгая):)
И реализация будет нудная. И внедрение и использование этого языка будет никому не нужно. И отладка и внесение изменений просто невозможна. Даже затрудняюсь представить себе задачу или проблему, где такое программирование будет нужным. Гайки, которыми подкручивают аппаратные расхождения - полностью покрывают прагмы и макропроцессоры. Шаблоны проектов, ORM-сущностей и всяких бинов строят мастерами создания проектов. А кому нужна универсальная "пуля" ? Кто потянет все её накладные расходы? И ради чего?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35825802
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonДаже затрудняюсь представить себе задачу или проблему, где такое программирование будет нужным.
Создание универсальных библиотек класса libjpeg.

maytonГайки, которыми подкручивают аппаратные расхождения - полностью покрывают прагмы и макропроцессоры. Шаблоны проектов, ORM-сущностей и всяких бинов строят мастерами создания проектов. А кому нужна универсальная "пуля" ? Кто потянет все её накладные расходы? И ради чего?
Не пиши бред, если не понимаешь суть задачи. Просто совет. На будущее.
Выглядишь просто смешно.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35825807
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Печенкин Конкинку пишет:

> А с мыслями у меня нормально, это просто у вас с абстрактным мышлением и
> воображением туго.

Печенкин, вы можете ещё раз сформулировать, хотя бы себе, какие выгоды
вы собираетесь получить от этого задуманного вами ?
А выше было не понятно?

Хорошо. Объясняем еще раз. Для создания универсальных программных библиотек.
Написано один раз, запускается везде, на любом языке, платформе и идеологии.
Через трансляцию макросов.


MasterZiv
Я ещё раз говорю, что выгоды от "переписывания" с паскаля на Си
или фортран не будет никакой, как не будет и никакой пользы,
То, что тебе не будет пользы - это ты верно заметил. Но твои проблемы это твои проблемы.

MasterZivтолько вред -- лишнее звено. Вам будет легче найти компилятор
какого-то языка или связать их как библиотеки на целевой платформе.

Но переписать например с лиспа или хаскеля на Java вам не удастся.
Для этого вам на Java придётся реализовать ядро лиспа или хаскеля.

А генерировать код на лиспе или питоне, или хаскеле, имитирующий
аналогичный код на Java бессмысленно, это всё равно, что ехать
на машине по шоссе, не нажимая на газ, на первой скорости.
Такие задачи не ставятся вообще. Ибо смешны и глупы. И вообще, кому впился этот ваш хаскель?

MasterZivТехнически проблемы все решаемы. Но разные языки - это ещё и
разные подходы к решению задач, разные идеологии.
Так, как пишут напр. WEB-сайты на схеме и лиспе с использованием continuation не
пишет, я думаю, никто в других языках. Этот барьер как вы собираетесь
преодолевать ?

Выше _мод сказал как. Еще выше я сам говорил как. Кто то еще не понял как?
Тогда в детсад, читать буквари.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35825862
Глас народа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide, открой уже личико.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35825963
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод пишет:

> Как посмотреть. Я уже приводил в пример реализацию клиппера - он
> наполовину сделан на собственном препроцессоре (вопрос - зачем ?).

Это -- не очень интересный пример. Это - реализация языка более высокого
уровня, 4GL, причём одного, на языке более низкого уровня, С,
тоже одном.

Реализация состоит из:

-- реализации базовых примитивов данного 4GL-языка (клиппера)
на данном ЯВУ (с) в виде библиотеки
-- реализации транслятора/макрогенератора из 4GL-языка в
данный ЯВУ, использующий данную библиотеку примитивов.

Вот если бы целевых ЯВУ было бы много, на каждом из них пришлось
бы делать эту библиотеку базовых примитивов. НА КАЖДОМ !!
А если целевые языки не совсем ЯВУ, а например другие 4GL, то,
даже если задасться целью сделать такую библиотеку базовых примитивов
на нём, иногда это попросту невозможно в силу ограниченности
средств этого целевого 4GL-я.

Да и то, я бы сказал, итоговая технология клиппера по качеству
вряд ли чем-то была лучше аналогов, сделанных по другой технологии,
без трансляции одного языка в другой (FoxPro, DBase).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35825974
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин пишет:
> Хорошо. Объясняем еще раз. Для создания универсальных программных библиотек.
> Написано один раз, запускается везде, на любом языке, платформе и идеологии.
> Через трансляцию макросов.

Возмите Win32 API. Чем вам не универсальная библиотека ?
Используется на разных языках, на разных технологиях.
На разных платформах.

Возмите любые библиотеки в *NIX. Например, ICONV. То же самое.
Используется в массе языков.

Всё это написано на С (в основном).
И всё это РАБОТАЕТ практически.
Чем вам этот подход не нравится ? не подходит ?


> То, что тебе не будет пользы - это ты верно заметил. Но твои проблемы
> это твои проблемы.

Я намекал, что не будет пользы никому.
Если у тебя есть библиотека SSP на фортране, и
граф. приложение на С/С++, ты можешь просто их слинковать
вместе и -- вот пожалуйста, оно, что тебе нужно, не нужно
при этом ничего писать, это -- работает.

> Такие задачи не ставятся вообще. Ибо смешны и глупы. И вообще, кому
> впился этот ваш хаскель?

гыгыгы ...

Т.е. собираетесь с С на паскаль переписывать... нуну...
Ещё раз говорю, это никому не нужно. С из паскаля и Джава
и наоборот и так можно вызывать.

> Выше _мод сказал как. Еще выше я сам говорил как. Кто то еще не понял как?
> Тогда в детсад, читать буквари.

Я рад за вас, что вы так уверены в полезности ваших начинаний.

Кстати, есть проект OINK, он, в общем, тоже посвящён
сходной, в общем, тематике -- связать все языки и все технологии.
Посмотрите. Но на сколько я знаю, он не особо развивается.
Потому что видимо не особо кому-то нужен.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35826024
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
И всё это РАБОТАЕТ практически.
Чем вам этот подход не нравится ? не подходит ?
а) Win32? С? ок, допустим это можно будет перекомпилировать под Unix
б) но как быть, мой юный падаван, с .NET, Java и Flash? Все эти ребята пошлют тебя с Pure C
куда подальше, и будут абсолютно правы. У них идея такая. Safe Code называется.

MasterZiv
Я намекал, что не будет пользы никому.
Эти твои намеки никого не интересуют, вообще-то. Даже тебя самого.

MasterZiv
Ещё раз говорю, это никому не нужно. С из паскаля и Джава
и наоборот и так можно вызывать.
Ок. Раз ты сам с трудом понимаешь, то попытаюсь объяснить популярно.
Компоненты, как и любые библиотечные средства, продаются в исходных текстах.
Глупо разработчикам на Java продавать исходный текст на C.

Нет, мысль не понятна?


MasterZivКстати, есть проект OINK, он, в общем, тоже посвящён
сходной, в общем, тематике -- связать все языки и все технологии.
Посмотрите. Но на сколько я знаю, он не особо развивается.
Потому что видимо не особо кому-то нужен.
С этого нужно было начинать. Спасибо за ссылку, любой материал интересен.

http://freshmeat.net/projects/oink/
http://www.cubewano.org/oink

Только я не понял, какое это имеет отношение?

Или что имелось в виду? это вообще оно?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35826028
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivДа и то, я бы сказал, итоговая технология клиппера по качеству
вряд ли чем-то была лучше аналогов, сделанных по другой технологии,
без трансляции одного языка в другой (FoxPro, DBase).

Clipper был лучше в разы. Просто проект развиваться не стал сам по себе.
Вернее он стал развиваться, перешел в Visual Objects и так далее, а потом и вовсе
обычное дело - продажа в могильную яму софта - компанию CA.

А FoxPro победил просто как средство для кодирующих пользователей.
Т.е. что-то вроде 1С или Access, да VB был, да и есть еще.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35826695
ммммммммм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПеченкинmaytonДаже затрудняюсь представить себе задачу или проблему, где такое программирование будет нужным.
Создание универсальных библиотек класса libjpeg.

maytonГайки, которыми подкручивают аппаратные расхождения - полностью покрывают прагмы и макропроцессоры. Шаблоны проектов, ORM-сущностей и всяких бинов строят мастерами создания проектов. А кому нужна универсальная "пуля" ? Кто потянет все её накладные расходы? И ради чего?
Не пиши бред, если не понимаешь суть задачи. Просто совет. На будущее.
Выглядишь просто смешно.


ну так это определенная специализиорванная ниша, причем тут все остальное, зачем туда пихать что-то еще ? Как грится: "нафига, козе баян ?"
Сделайте сначала для своей задачи, посмотрите подводные камни, а потом придете и будете восторгаться своими мыслями-эмоциями по этому поводу здесь.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35827313
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Это -- не очень интересный пример. Это - реализация языка более высокого
уровня, 4GL, причём одного, на языке более низкого уровня, С,
тоже одном.
Боюсь, что вы не в курсе. В клиппере команды клиппера с помощью макропроцессора превращаются в вызовы функций тоже клиппера. Этим инструментом можно расширять язык практически без ограничений. При этом целевым языком может быть что угодно - хоть китайский.
MasterZiv
иногда это попросту невозможно в силу ограниченности
средств этого целевого 4GL-я.
Это проблема выбора целевого языка. В общем случае целевой язык должен быть мощнее реализуемого, но ниже уровнем.
...
Рейтинг: 0 / 0
25 сообщений из 111, страница 4 из 5
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Многоязыковое метапрограммирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]