powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Многоязыковое метапрограммирование
111 сообщений из 111, показаны все 5 страниц
Многоязыковое метапрограммирование
    #35817856
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно говоря вопрос.

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

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

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

А потом бац, запускаем нечто, и получаем на выходе или Delphi код

Код: plaintext
1.
2.
 if  a = b  and  c < d  then 
  e[ 5 ].AsFloat := sqrt(f)    

или Java код

Код: plaintext
1.
2.
 if  ((a == b) && (c < d)) 
  e.getItem( 5 ).setValue(Math.sqrt(f));

C++ код

Код: plaintext
1.
((a == b) && (c < d)) ?  e[ 5 ]->Value = sqr(f);

ну и так далее, вопрос только в том, как шаблоны описывать (нивелирующие вопросы
конечного языка).

А теперь вопрос. Как сделать такое - не вопрос, но не хочется изобретать велосипед.
Потому интересно, есть ли уже готовые решения (какие кодогенерирующие шаблоны для Lisp-а?
M4 макросы и т.д.).
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817867
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин,

А на кой?
Все равно универсального не получится ничего.
Слишком объемная задача.
Ты под с++ попробуй напиши хотя - бы.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817910
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerПечонкин,

А на кой?
Зачем нужна кроссплатформенность? Слегка идиотский вопрос.

SQL_LamerВсе равно универсального не получится ничего.
Слишком объемная задача.
Получится (если захотеть). И не слишком.

SQL_LamerТы под с++ попробуй напиши хотя - бы.
Уже написано, теперь вопрос как это автоматически переводить на другие языки.

Про "компиляцию" аля Adobe Alchemy не надо рассказывать.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817914
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПечонкинЗачем нужна кроссплатформенность? Слегка идиотский вопрос.
При чем тут кроссплатформенность?

ПечонкинПолучится (если захотеть). И не слишком.
Ну как скажешь.

ПечонкинУже написано, теперь вопрос как это автоматически переводить на другие языки.

Так а что написано - то?
С++ кодогенератор, или что?
Закеж пример.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817918
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerПечонкинЗачем нужна кроссплатформенность? Слегка идиотский вопрос.
При чем тут кроссплатформенность?

Почитай вот это http://en.wikipedia.org/wiki/Cross-platform
и вот это http://en.wikipedia.org/wiki/Computer_platform

поймешь при чем. На русской википедии можешь не читать, там ламеры понаписали бред.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817920
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин,

вот тебе первый попавший кусок кода на первом попавшем языке, и объясни, как ты эту свою "кроссплатформенность" будешь осуществлять(можно очень примерно) ;)

Код: 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.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
/// <summary>
    /// The wrapper class for User32.dll
    /// </summary>
    public static class User32DLL
    {
        /// <summary>
        /// The GetDesktopWindow function returns a handle to the desktop window. The desktop window covers the entire screen. The desktop window is the area on top of which other windows are painted. 
        /// </summary>
        /// <returns>The return value is a handle to the desktop window. </returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr GetDesktopWindow();


        /// <summary>
        /// Retrieves a handle to the current window station for the calling process.
        /// </summary>
        /// <returns>If the function succeeds, the return value is a handle to the window station.
        /// If the function fails, the return value is NULL.</returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr GetProcessWindowStation();


        /// <summary>
        /// Retrieves a handle to the desktop assigned to the specified thread.
        /// </summary>
        /// <param name="dwThread">[in] Handle to the thread for which to return the desktop handle.</param>
        /// <returns>If the function succeeds, the return value is a handle to the desktop associated with the specified thread. You do not need to call the CloseDesktop function to close the returned handle.
        /// If the function fails, the return value is NULL.</returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr GetThreadDesktop(uint dwThread);


        /// <summary>
        /// Opens the specified window station.
        /// </summary>
        /// <param name="lpszWinSta">Pointer to a null-terminated string specifying the name of the window station to be opened. Window station names are case-insensitive.
        /// This window station must belong to the current session.
        /// </param>
        /// <param name="fInherit">[in] If this value is TRUE, processes created by this process will inherit the handle. Otherwise, the processes do not inherit this handle. 
        /// </param>
        /// <param name="dwDesiredAccess">[in] Access to the window station</param>
        /// <returns>If the function succeeds, the return value is the handle to the specified window station.
        /// If the function fails, the return value is NULL.</returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr OpenWindowStation(string lpszWinSta
            , bool fInherit
            , WindowStationAccessRight dwDesiredAccess
            );


        /// <summary>
        /// Assigns the specified window station to the calling process. This enables the process to access objects in the window station such as desktops, the clipboard, and global atoms. All subsequent operations on the window station use the access rights granted to hWinSta.
        /// </summary>
        /// <param name="hWinSta">[in] Handle to the window station to be assigned to the calling process</param>
        /// <returns>If the function succeeds, the return value is nonzero.
        /// If the function fails, the return value is zero. </returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr SetProcessWindowStation(IntPtr hWinSta);


        /// <summary>
        /// Closes an open window station handle.
        /// </summary>
        /// <param name="hWinSta">[in] Handle to the window station to be closed.</param>
        /// <returns>If the function succeeds, the return value is nonzero.
        /// If the function fails, the return value is zero. </returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr CloseWindowStation(IntPtr hWinSta);


        /// <summary>
        /// Opens the specified desktop object.
        /// </summary>
        /// <param name="lpszDesktop">[in] Pointer to null-terminated string specifying the name of the desktop to be opened. Desktop names are case-insensitive.
        /// This desktop must belong to the current window station.</param>
        /// <param name="dwFlags">[in] This parameter can be zero or DF_ALLOWOTHERACCOUNTHOOK=0x0001</param>
        /// <param name="fInherit">[in] If this value is TRUE, processes created by this process will inherit the handle. Otherwise, the processes do not inherit this handle. </param>
        /// <param name="dwDesiredAccess">[in] Access to the desktop. For a list of access rights</param>
        /// <returns>If the function succeeds, the return value is a handle to the opened desktop. When you are finished using the handle, call the CloseDesktop function to close it.
        /// If the function fails, the return value is NULL.
        /// </returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr OpenDesktop(string lpszDesktop
            , OpenDesktopFlag dwFlags
            , bool fInherit
            , DesktopAccessRight dwDesiredAccess
            );


        /// <summary>
        /// Closes an open handle to a desktop object.
        /// </summary>
        /// <param name="hDesktop">[in] Handle to the desktop to be closed.</param>
        /// <returns>If the function succeeds, the return value is nonzero.
        /// If the function fails, the return value is zero. </returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern IntPtr CloseDesktop(IntPtr hDesktop);

        /// <summary>
        /// Assigns the specified desktop to the calling thread. All subsequent operations on the desktop use the access rights granted to the desktop.
        /// </summary>
        /// <param name="hDesktop">[in] Handle to the desktop to be assigned to the calling thread.</param>
        /// <returns>If the function succeeds, the return value is nonzero.
        /// If the function fails, the return value is zero. </returns>
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        public static extern bool SetThreadDesktop(IntPtr hDesktop);
    }
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817921
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПечонкинSQL_LamerПечонкинЗачем нужна кроссплатформенность? Слегка идиотский вопрос.
При чем тут кроссплатформенность?

Почитай вот это http://en.wikipedia.org/wiki/Cross-platform
и вот это http://en.wikipedia.org/wiki/Computer_platform

поймешь при чем. На русской википедии можешь не читать, там ламеры понаписали бред.

Вот по твоей ссылке и написано:
In computing, cross-platform (also known as multi-platform) is a term used to refer to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms.

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

Код: plaintext
1.
2.
3.
4.
5.
CLASS(User32DLL,
  METHOD(GetDesktopWindow, ARG(), RESULT(IntPtr), DLL("User32.dll")),
  METHOD(GetThreadDesktop, ARG((uint, dwThread)), RESULT(IntPtr), DLL("User32.dll")),
  ...
)

Дальше банально и тупо.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817923
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПечонкинЭлементарно.

Код: plaintext
1.
2.
3.
4.
5.
CLASS(User32DLL,
  METHOD(GetDesktopWindow, ARG(), RESULT(IntPtr), DLL("User32.dll")),
  METHOD(GetThreadDesktop, ARG((uint, dwThread)), RESULT(IntPtr), DLL("User32.dll")),
  ...
)

Дальше банально и тупо.

Ну вот ведь в твоей ссылке : ...that are implemented and inter-operate on multiple computer platforms.
Так я и в третий раз спрашиваю, как это будет выглядеть - то под другой осью - то?
Так, как ты написал?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817924
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerТак я и спрашиваю, при чем тут кодогенерация?

Не тупи. Код генерируется из универсального, обобщенного языка под конкретный язык конкретной платформы.

Я в первом посте написал что должно быть (там как раз три платформы, хотя их может быть хоть
два десятка, зависит только от шаблонов, которые будут превращать всякие
EQ, SET, CLASS, METHOD в конкретные конструкции конкретного языка).


Что тут не ясного? Еще раз. Код на универсальном языке, из которого генерируется код для конкретного языка. Конкретный язык - параметр кодогенератора, а сам по себе описывается
отдельно, как набор шаблонов.

Вот сейчас стоит вопрос - есть ли такие шаблоны в природе. Гугл ответа не дал.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817928
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин,

Зачем столько агрессии: "не тупи", "идиотский вопрос".
Я ведь по доброму интересуюсь.

"конкретный язык конкретной платформы."
Вот опять наверно туплю :(
С++ - это конкретный язык какой конкретно платформы по твоему?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817930
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я что - то не то под платформой понимаю?
Ты что имеешь в виду то?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817931
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А под платформой ты видимо понимаешь компилятор\интерпретатор определенного языка o_O
Так что - ли?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817932
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerС++ - это конкретный язык какой конкретно платформы по твоему?
С++ как язык? Вполне возможно. Более того,
GCC от ICC и от MSCC, а уж от BCC или выбкидыш Managed C++ кагбе даже не слегка может отличаться, прикинь. А
платформа - это не обязательно операционка или железка, платформа - это и программное
окружение (банально - .NET это платформа, как и UNIX-ы всякие, со своими причудами,
может иметь кучу несовместимых реализаций C++, что мы и видим на практике).

Странно, что ламеры этого не знают? Наверное нет.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817933
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПеченкинSQL_LamerС++ - это конкретный язык какой конкретно платформы по твоему?
С++ как язык? Вполне возможно. Более того,
GCC от ICC и от MSCC, а уж от BCC или выбкидыш Managed C++ кагбе даже не слегка может отличаться, прикинь. А
платформа - это не обязательно операционка или железка, платформа - это и программное
окружение (банально - .NET это платформа, как и UNIX-ы всякие, со своими причудами,
может иметь кучу несовместимых реализаций C++, что мы и видим на практике).

Странно, что ламеры этого не знают? Наверное нет.

Ну вот. Опять агрессия. Добрее надо быть.
Ламеры думают, что нет - это фреймворк, а не платформа.
Таково мнение ламеров на сегодняшний день ;)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817935
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_LamerПечонкин,
Зачем столько агрессии: "не тупи", "идиотский вопрос".
Я ведь по доброму интересуюсь. паренёк просто не понимает, что такое плюсы
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817936
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych,
Интерестно, ты мне или ему?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817937
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerНу вот. Опять агрессия. Добрее надо быть.
Ламеры думают, что нет - это фреймворк, а не платформа.
Таково мнение ламеров на сегодняшний день ;)
Я ссылки выше дал. Сходи еще раз прочитай, что такое платформа.

Software platform examples
Operating system platform examples

И так далее. Заодно примешь решение, что такое JVM - фреймворк или нет.

Можешь и поймешь чего, в буквах, да вон "коллеге" (по ламерству?) расскажешь про плюсы.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35817938
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПеченкинSQL_LamerНу вот. Опять агрессия. Добрее надо быть.
Ламеры думают, что нет - это фреймворк, а не платформа.
Таково мнение ламеров на сегодняшний день ;)
Я ссылки выше дал. Сходи еще раз прочитай, что такое платформа.

Software platform examples
Operating system platform examples

И так далее. Заодно примешь решение, что такое JVM - фреймворк или нет.

Можешь и поймешь чего, в буквах, да вон "коллеге" (по ламерству?) расскажешь про плюсы.

Опять оскорбления.
Ладно.
Будет релиз - дай знать :)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818030
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все уже есть. Например, у PyPy, yhc есь бекенды для генерации C и JavaScript
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818085
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин - типичный хам.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818192
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis.Печенкин - типичный хам.

Лучше быть типичным хамом, чем типичным тормозом.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818197
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин,
У меня чисто ламерский вопрос возник к гениальному автору.
Положим, я в с++ ни бум - бум.
Зато я получил в распоряжение этот твой чудный метаязык.
Могу я на плюсах забацать, ну скажем, банальный блокнот?

И второй, еще более ламерский вопрос:
Положим, я кул хакер с++, для чего мне писать на метасуперпуперязыке, чтобы в результате получить те же исходники на плюсах?

зы. Поменьше экспрессии, пжалста ;)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818205
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
beluginЭто все уже есть. Например, у PyPy, yhc есь бекенды для генерации C и JavaScript

Уже намного ближе, но не совсем то. Питон и хаскель как таковые не интересуют, больше
интересен макро язык в чистом виде, вроде m4 или какой Lisp, позволяющие определять
собственные языковые макро-конструкции .

Впрочем, спасибо за наводку, кое-что там действительно заинтересовало.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818206
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПечонкинbeluginЭто все уже есть. Например, у PyPy, yhc есь бекенды для генерации C и JavaScript

Уже намного ближе, но не совсем то. Питон и хаскель как таковые не интересуют, больше
интересен макро язык в чистом виде, вроде m4 или какой Lisp, позволяющие определять
собственные языковые макро-конструкции .

Впрочем, спасибо за наводку, кое-что там действительно заинтересовало.

Лисп не макроязык.
Посмотри википедию - ты ее так любишь ;)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818213
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин,

не вполне понятно, зачем когогенерировать, например, паскаль.

и языков с макросами хвалят немерле.

А еще можно посмотреть Осло
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818215
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин, насколько я понимаю, то сама идея хорошая - сделать что-то универсальное с определённым стандартом. Но именно в данном случае возникает вопрос для чего? Ну например, если бы у меня был выбор какой код юзать, написанный на делфях или на С++, то я бы выбрал второй, и думаю так бы поступил любой (так как если оба кода дают одинаковую функциональность, то лучше брать тот, который более компактный и при компиляции даёт меньшие обьёмы).
И ещё один минус данной идеи. Даже при том, что я не очень хорошо умею программировать, я бы отдал предпочтение написать код на чистых делфях, чем писать код на непонятном мне языке (который сначала надо бы выучить и понять), а потом ещё и надеяться, что этот код будет преобразован именно в то, что я имел ввиду при написании.
И третье... Мне интересно, каким образом будут формироваться шаблоны для того же делфи (паскаля). Язык с довольно жёсткой структурой и обьявление чего-либо где-попало не подойдёт. Ну взять например импорт некой функции из какой-либо длл (написаной самим программистом) с последующим использованием её в программе. Если я правильно понял работу данного метаязыка, то мне эта задача кажется очень трудоёмкой, и потому достаточно бесполезной.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818216
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerПеченкин,
У меня чисто ламерский вопрос возник к гениальному автору.
Положим, я в с++ ни бум - бум.
Зато я получил в распоряжение этот твой чудный метаязык.
Могу я на плюсах забацать, ну скажем, банальный блокнот?
В идеале метаязык абстрагирован от конкретного языка.
Но сам ты написать не сможешь (ибо не бум-бум принципиально), потому как конструкции метаязыка тебе
нужно будет сначала описать в виде конечных шаблонов на C++ (в шаблон подставляются
лишь конкретные имена переменных, фукнций и прочего, к примеру IF(A, B) буде преобразована
в сишную if (a == b)).

Ясен пончик, что для любого программера средней руки это простая задача, но ламер это
даже не кодер, не то что не программер.

Хотя если кто-то за тебя шаблоны нагенерит, то да, ты сможешь написать. Наверное.

SQL_LamerИ второй, еще более ламерский вопрос:
Положим, я кул хакер с++, для чего мне писать на метасуперпуперязыке, чтобы в результате получить те же исходники на плюсах?
Потому что для JVM нет приличной реализации C++. Кроме того, ты, к примеру, решил написать
некую библиотеку, скажем так, libjpeg22. Но хочешь, чтобы ей пользоваелись и программисты
на Delphi, и на Java и на C++, притом ты не хочешь навязывать Delphi-стам obj модули, а
яверов заставлять пользоваться всякую чушь (для них) вроде JNI. Каждой группе разработчиков
ты будешь поставлять версию библиотеки на том языке, на котором они работают,
сгенерированную из метаязыка.

Написал один раз - получил версии на всех языках, для которых есть шаблоны трансляции.

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

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

beluginи языков с макросами хвалят немерле.
Смотрел, не то.

beluginА еще можно посмотреть Осло
Ок, гляну, спасибо.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818225
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПрограмёрПечонкин, насколько я понимаю, то сама идея хорошая - сделать что-то универсальное с определённым стандартом. Но именно в данном случае возникает вопрос для чего? Ну например, если бы у меня был выбор какой код юзать, написанный на делфях или на С++, то я бы выбрал второй, и думаю так бы поступил любой (так как если оба кода дают одинаковую функциональность, то лучше брать тот, который более компактный и при компиляции даёт меньшие обьёмы).
А я вот не думаю. И код на C++ не стал бы использовать принципиально, максимум, что
рассмотрел бы - это плоские декларации в DLL, и не более того.

С++ - это никчемный тупик эволюции в некоторых областях (в RAD - на 100%).
У яверов умоминание C++ вызывает аналогичную идиосинкразию.

Програмёр
И ещё один минус данной идеи. Даже при том, что я не очень хорошо умею программировать, я бы отдал предпочтение написать код на чистых делфях, чем писать код на непонятном мне языке (который сначала надо бы выучить и понять), а потом ещё и надеяться, что этот код будет преобразован именно в то, что я имел ввиду при написании.
Это уже твои личные проблемы. Задача стоит именно кроссязыковой (мультиязыковой) библиотеки.
Кому как удобно писать, сначала на Delphi, потом на метаязыке (с проверкой результата с
оригиналом) - это уже личные трудности разработчика.

Конечный результат (исходный текст) должен быть на метаязыке. А отладку делай на том
языке, на котором тебе больше нравится (сгенерил, запустил в IDE, нашел баг, исправил
в метаязыке, перегенерил).

Напряжно, да, но иного способа сделать именно независимую от конкретного языка библиотеку
я не вижу.


ПрограмёрИ третье... Мне интересно, каким образом будут формироваться шаблоны для того же делфи (паскаля).
Ты с m4 вообще не знаком? И понятие параметризированного макроса является откровением?

ПрограмёрЯзык с довольно жёсткой структурой и обьявление чего-либо где-попало не подойдёт. Ну взять например импорт некой функции из какой-либо длл (написаной самим программистом) с последующим использованием её в программе. Если я правильно понял работу данного метаязыка, то мне эта задача кажется очень трудоёмкой, и потому достаточно бесполезной.
Логически бессвязный бред.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818293
Фотография AlexandrPlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще в соцприроде бывает, например, чтобы эстонцу сообщить что-то азербайджанцу - с эстонcкого на русский с русского на азербайджанский. Эст зовет
другого эста, знающего русский, и тот переводит на русский. Азер зовет другого азера, которой знает русский, и тот переводит с русского тому азеру.
А можно обучить всех эсперанто. Но эсператно всегда беднее, чем любой натуральный язык.
Вот обедненный-усеченный английский в мире вроде виртуальной машины на всех официальных платформах.

И что - всем думать на убого-усеченно английском, а потом переводить в родной язык?
В каждом языка своя уникальная ценность в чем-то, чего нет в другом.

Всяких суперменов губили несупермэны в деталях, которые у несуперменов были лучше.

Сделать такой супервыразительный суперCLI и писать на суперCLI Net и Mono, потом переводя в Python или C#?
СуперCLI уже не нужны будут Python или C#.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818302
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexandrPlusВообще в соцприроде бывает, например, чтобы эстонцу сообщить что-то азербайджанцу - с эстонcкого на русский с русского на азербайджанский. Эст зовет
другого эста, знающего русский, и тот переводит на русский. Азер зовет другого азера, которой знает русский, и тот переводит с русского тому азеру.
А можно обучить всех эсперанто. Но эсператно всегда беднее, чем любой натуральный язык.
Вот обедненный-усеченный английский в мире вроде виртуальной машины на всех официальных платформах.

И что - всем думать на убого-усеченно английском, а потом переводить в родной язык?
Примерно так.

AlexandrPlusВ каждом языка своя уникальная ценность в чем-то, чего нет в другом.
В данном случае уникальности не интересуют вообще.

AlexandrPlusВсяких суперменов губили несупермэны в деталях, которые у несуперменов были лучше.
Назови хоть одну кроссплатформенную программную библиотеку? Тотоже.
Ребята из GTK+ вон себе жо..у порвали на американский флаг, пытаясь привинтить биндинги в питон.

А могли бы сразу писать на чем-то универсальном.

AlexandrPlusСделать такой супервыразительный суперCLI и писать на суперCLI Net и Mono, потом переводя в Python или C#?
СуперCLI уже не нужны будут Python или C#.
Речи нет о мировом господстве. Всегда найдутся программисты ниже-средней руки, тачающие
незабвенный АРМ-Склад на конкретном языке.

Но в данном случае речь идет о библиотечных средствах (повторяюсь, если кто еще не сразу
понял).

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

Неужели так трудно это вкурить? Ну представьте, что C++ или Java - это ассемблер. А вы
сейчас будете свой C сочинять, который будет транслировать в "Java ассемблер".
А вместо аппаратных каких прерываний будут такие моменты, как коллекции (в Java), массивы (в чистом C как "ассемблере"). Ну и так далее.

Базовые то абстракции, блин, везде подобны. Везде структуры, списки, ссылки, ветвления,
циклы, функции-методы.

Как и в человеческих языках. Существительное, прилагательное и глагол есть в ЛЮБОМ языке.
А тонкости написания/понимания "мама мыла раму" или "раму мыла мама" не важны (ими
можно пренебречь). Один хрен - мама мыла рама => рама есть вымыта мамой => рама чистая
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818470
ййй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот способ сводин на нет все преимущества конкретного языка. В этоге получается, что писать придётся на неком паскалеподобном нежизнеспособном уродце.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818481
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
йййЭтот способ сводин на нет все преимущества конкретного языка.
Про какие именно преимущества идет речь? Можно пример? Берем за основу ANSI С.
Что именно не удастся написать на ANSI C (более примитивных языков вроде нет)?

йййВ этоге получается, что писать придётся на неком паскалеподобном нежизнеспособном уродце.
Лисп подобном, вполне жизнеспособном.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818504
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПечонкинЧто именно не удастся написать на ANSI C (более примитивных языков вроде нет)?
Human-readable реализацию карринга, ленивости, замыканий, продолжений etc.
Или читаемость сгенерированного кода значения не имеет?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818507
твой идея - бред сивой кобылы.

Печонкин
IF(AND(EQ(a,b), LT(c,d)),
SET(
LIST(e, 5), SQRT(f)
)
)


ктож эти никому не понятные каракули будет учить? и главное кому от этого польза?
почему все написано в верхнем регистре? что за уродство EQ, LT? меня уже слегка подташнивает. А что будет если я "блокнот" начну писать?- вырвет на клаву и все...!

Печонкин
А теперь вопрос. Как сделать такое - не вопрос, но не хочется изобретать велосипед.
Потому интересно, есть ли уже готовые решения


пиши смело, с квадратными колесами еще никто не изобретал :-)

почему неуловимый Джо - неуловимый, да потому-что нах никому не нужно его ловить...
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818511
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПочконкинПечонкинЧто именно не удастся написать на ANSI C (более примитивных языков вроде нет)?
Human-readable реализацию карринга, ленивости, замыканий, продолжений etc.
Зачем все эти умные (sic!) слова для библиотечных средств класса gtk+, glibc или libjpeg?

ПочконкинИли читаемость сгенерированного кода значения не имеет?
Имеет (поэтому и не подходит M4, он не умеет indentation делать).
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818512
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иван Пертович Дуркобред поскипан
Дверь налево
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818521
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПечонкинЗачем все эти умные (sic!) слова для библиотечных средств класса gtk+, glibc или libjpeg?
Понятия не имею зачем, ты же не говоришь какой именно набор примитивов тебя интересует в гипотетическом многоязыковом трансляторе (кроме весьма расплывчатой фразы "Везде структуры, списки, ссылки, ветвления, циклы, функции-методы."). А ведь с этого и надо начинать, не?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818527
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПочконкинПечонкинЗачем все эти умные (sic!) слова для библиотечных средств класса gtk+, glibc или libjpeg?
Понятия не имею зачем, ты же не говоришь какой именно набор примитивов тебя интересует в гипотетическом многоязыковом трансляторе (кроме весьма расплывчатой фразы "Везде структуры, списки, ссылки, ветвления, циклы, функции-методы."). А ведь с этого и надо начинать, не?

Честно говоря удивляюсь.

Первое - никто не читает что написано. Второе - все пытаются вставить что-то типо умное,
из отряда "это мне не надо, это говно" (ну если ты не понимаешь зачем это, иди лесом,
незачем тут свои фобии выплескивать).

В четвертых - я явно выше обозначил интересующее подмножество языковых возможностей,
указав ANSI C, его синтаксический минимум, как границу разумного достаточного.

Спросив в добавок - есть ли что такое, что не может быть реализовано в рамках ANSI C.

Но нет, зачем читать, если есть своя типо мысль (банальная как двери: а лямба у тебя будет?).
Да не будет там никаких лямб, сборщика мусора и аспектного программирования.
Там будет только минимум, достаточный для написания системных библиотек (ядер операционных
систем).

И точка.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818543
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПеченкинПервое - никто не читает что написано. Второе - все пытаются вставить что-то типо умное, из отряда "это мне не надо, это говно" (ну если ты не понимаешь зачем это, иди лесом,
незачем тут свои фобии выплескивать).

В четвертых -
А где третье?

Печенкиня явно выше обозначил интересующее подмножество языковых возможностей,
указав ANSI C, его синтаксический минимум, как границу разумного достаточного.
Фраза "Берем за основу ANSI С" никак не является явным обозначенем интересующего подмножества языковых возможностей.

ПеченкинСпросив в добавок - есть ли что такое, что не может быть реализовано в рамках ANSI C.
Сам вопрос нелепый в силу существования понятия полноты по Тьюрингу. Смысл вопросу может добавить только требование сохранения читабельности кода, которое ты, на свое счастье, предъявляешь. Но вот незадача - вопрос опять теряет смысл, потому что если "за основу" брать Си, если располагать полным набором сишных синтаксических конструкций и только ими, то очевидно, что всё, что будет читабельно до трансляции на Си, останется читабельным и после нее.

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

В четвертых -
А где третье?

Самоотмодерировано

ПочконкинПеченкиня явно выше обозначил интересующее подмножество языковых возможностей,
указав ANSI C, его синтаксический минимум, как границу разумного достаточного.
Фраза "Берем за основу ANSI С" никак не является явным обозначенем интересующего подмножества языковых возможностей.
Для тех, у кого с русским языком плохо?

ПочконкинПеченкинСпросив в добавок - есть ли что такое, что не может быть реализовано в рамках ANSI C.
Сам вопрос нелепый в силу существования понятия полноты по Тьюрингу. Смысл вопросу может добавить только требование сохранения читабельности кода, которое ты, на свое счастье, предъявляешь. Но вот незадача - вопрос опять теряет смысл, потому что если "за основу" брать Си, если располагать полным набором сишных синтаксических конструкций и только ими, то очевидно, что всё, что будет читабельно до трансляции на Си, останется читабельным и после нее.
Ура-ура! Ну хоть кто-то что-то понял ;)))

ПочконкинПеченкин(ну если ты не понимаешь зачем это, иди лесом,
незачем тут свои фобии выплескивать)
Тебе уже многие люди как бы пытаются намекнуть, что ты сам, судя по всему, не очень понимаешь задачу, которую пытаешься сформулировать, потому и с формулировкой беда.
Да неужели?

Я уже даже на уровне плинтуса привел выше аналогию.
Берем ассемблер и С. Понятная парадигма? Транслятор-компилятор?
А теперь ставим C на место ассемблера, а вместо C ставим метаязык.

И с точно таким-же успехом, как раньше мы из С транслировали в машинные кода
всего множества аппаратных реализаций (и даже в JVM байт-коды и в Flash VM), то
теперь мы вместо машинных кодов получаем трансляцию в языки высокого уровня (C, Pascal,
Java, C#, практически любой вид императивного типа).

Охрененно трудная для понимания мысль, да? Я это уже раз двадцатый объясняю, а дети так и
не догоняют, чо надо? Просто блеск, да. И это называется - я не могу сформулировать задачу?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818595
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПечонкинbeluginПеченкин,

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


Нафиг программистам на паскале паскаль, опущенный до уровня промежуточного языка для генерации некоей библиотеки? Не проще ли сделать просто DLL (как все и так делают)?

В принципе, не очень понятно, зачем делать какой-то собственный метаязык. В чем он будет мета? Почему бы не сделать бекенд для существующего языка, для которого есть живое сообщество?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818596
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вспоминается джоэл с его wasabi
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818601
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
beluginПечонкинbeluginПеченкин,

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


Нафиг программистам на паскале паскаль, опущенный до уровня промежуточного языка для генерации некоей библиотеки? Не проще ли сделать просто DLL (как все и так делают)?
Поди объясни сначала яверам или дотнетчикам, про то, насколько у тебя safe твоя DLL.

Потом расскажешь, что они тебе там скажут.


beluginВ принципе, не очень понятно, зачем делать какой-то собственный метаязык. В чем он будет мета?
Да потому что он (метаязык) не будет зависеть ни от какого существующего языка.
Он будет просто будет задавать лексические конструкции и правила их макро-преобразования
в конкретный язык. Т.е. конструкции на метаязыке будут описывать другой язык, уже
конкретный.

А писать на метаязыке (или на макроязыке) это точно так-же писать код, но в другом синтаксисе, т.е. писать в этих самых мета (макро) конструкциях.
И мета конструкция EQ($ARG1 $ARG2), в виде кода как макроподстановки EQ(a b)
будет транслируема в С код if (a==b) (к примеру).

Да, а вот уже в самом коде, который будет транслирован IF(EQ(a b) SET(b = c)), само слово метаязык уже как-бы избыточно, но вводить понятие "обобщенно-универсальный макроязык, семантика которого задана метаязыком" я не стал, понадеялся что дети поймут и так, о чем речь.


Напрасно понадеялся.

beluginПочему бы не сделать бекенд для существующего языка, для которого есть живое сообщество?

Мое терпение начинает лопаться. Я несколько раз сказал, что в конечном счете все будет
транслироваться в конкретный язык, конкретный ЯВУ.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818629
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин,

Ты знаешь. Я тебя уважаю, как человека, явно влюбленного в программирование(сам такой).
Но от этого не легче, к сожалению.
Проблема в том, что твоя мотивация в данном случае задана ошибочными посылками.
И еще есть один момент. Мне кажется, ты как то привратно понимаешь саму идею библиотек.
Но ближе к телу(как говорил Гиде Мопассан ;) )
Во первых,изначально известно, что скажем, с++(который сам господь велел использовать, как пример), ты не сможешь интерпретировать на некоем гипотетическом языке, дабы получить рабочий результат. Я сейчас не говорю о "Hello World" - в таком контекте нет проблем.
Речь идет о реальных рабочих программах. Пока слышен только треп, перемешанный с разными терминами. Дай реальный пример, хоть один.
А там уже посмотрим ;)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818631
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_Lamer

Твой бред выглядит примерно так:
"Та не, чуваг, ты ...ню морозишь. Я тебе гарантирую это. Но дай мне пример, подтверждающий это"

Так проблемы вовсе не у меня, не так ли?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818633
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПеченкинSQL_Lamer

Твой бред выглядит примерно так:
"Та не, чуваг, ты ...ню морозишь. Я тебе гарантирую это. Но дай мне пример, подтверждающий это"

Так проблемы вовсе не у меня, не так ли?

Ты вроде говорил про то, что уже есть под с++?
Вот и хотел посмотреть ;)
Или дальше будем обмениваться остроумными репликами, типа "сам дурак"?
Ты сказал на первой странице этого топика :" уже написано!" - так будь добр - ответь за базар ;)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818638
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин
SQL_LamerТы под с++ попробуй напиши хотя - бы.
Уже написано, теперь вопрос как это автоматически переводить на другие языки.
Это тебе для освежения памяти.
Так что уже написано?
Можно пример?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818672
Серый нах
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Типа барлог вернулся... =)))
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818676
Серый нах
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Печонкин,
а почему ты не задаешься в таком случае вопросом визуального метапрограммирования - типа складывать кубики? или скажем программирования естественным описанием процесса/задачи на любом доступном языке.
Очевидно, я утрирую, но твоя тема это вроде как промежуточное, нишевое решение
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818724
erofeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин,

1. уже есть кодогенераторы, достаточно поискать
2. мы делали и того хуже - строили объектную модель, рисовали схемки, строили выражения и рисовали интерфейсы, собирали визуально структура бл и отплевывали своим кодогенератором код на плюсах или sql из схемок+выражений+обьектной
была эта фича сама кроссплатформенной и расширяемой как со стороны конечных языков, так и со стороны репозитория объектов ()
3. Это Адова работа. Вам за это платят? Если нет то нефиг и начинать.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818919
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин пишет:

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

Идея бредовая. Потому что так вы сможете генерировать код только
для некоторого набора схожих между собой языков программирования,
как то: С и Pascal, С++ и ObjectPascal.

На кардинально разных языках программирования надо и программировать
по-разному, тут вам никакой мета-язык не поможет. Писать на лиспе
так же, как на паскале можно, но нет смысла.

Так что применение у вашей "штучки" будет очень ограниченное.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818935
Думан Константин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пародия на Ксеноцефала, часть вторая.

Не нужно руки распускать, сам выйду!
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35818999
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думан КонстантинПародия на Ксеноцефала, часть вторая.

Не нужно руки распускать, сам выйду!

Неубедительная пародия, чесслово
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819066
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПечонкинЕсть идея писать на некоем мета(макро)языке, а в результате, легким движением руки, получать генерированный код уже под конкретный ЯП.
Во понаписали :)
Идея старая, развития не получила по разным причинам. Но кое-что есть.
1. Макрогенераторы в ЯП: PL/1, C, Clipper
2. Макрогенераторы общего назначения: ML, M4 ну и т.д.
3. Расширения базового ЯпП средствами самого ЯП: Planner на лиспе
Макрогенератор Clipper для ваших целей вполне подойдет. Собсно и сам Clipper на нем сделан.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819212
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Писать на лиспе
так же, как на паскале можно, но нет смысла.


Тут еще надо добавить, что писать на паскале, как на лиспе - и вовсе нельзя.
Если это не код уровня format t "hello world".
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819524
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думан КонстантинПародия на Ксеноцефала, часть вторая.
В каком месте? Что-то не заметил ни грамма сходства.
Задача-то смысл имеет, пока не выходит за рамки консольных приложений (примитивные типы, управляющие конструкции, пайпы-сокеты, да и всё). Хотя прикольной (не значит полезной) становится, пожалуй, только при доп трансляторах со всех популярных языков на этот гипотетический макроязык (не метаязык же, метаязык - это язык описания языка, типа БНФ например), а не только наоборот, тогда просто "прикольно" уметь конвертировать из Схемы в Паскаль, из Паскаля в С++, из С++ в Хаскелл, из Хаскелла в Бейсик, ха, ну ведь действительно прикольно, и на означенном уровне вполне реализуемо, хоть и геморройчик тот еще.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819728
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почконкин Хотя прикольной (не значит полезной) становится, пожалуй, только при доп трансляторах со всех популярных языков на этот гипотетический макроязык (не метаязык же, метаязык - это язык описания языка, типа БНФ например), а не только наоборот, тогда просто "прикольно" уметь конвертировать из Схемы в Паскаль, из Паскаля в С++, из С++ в Хаскелл, из Хаскелла в Бейсик, ха, ну ведь действительно прикольно, и на означенном уровне вполне реализуемо, хоть и геморройчик тот еще.

В том то и дело, что на таком уровне удастся либо преобразовать либо программы чуть сложнее "хеллоу ворлд", либо вносить при преобразовании компилятор исходного языка: Т.е. чтобы сделать преобразование хаскелл->с++, прийдется в с++ реализовать какое-то подмножество хаскелла, чтобы программа смогла быть преобразована. Толку честно говоря маловато.

З.Ы. общую идею я понял, для этой цели можно использовать блок-схемы в качестве этого самого макроязыка. Вот только не уверен, что это кому-либо нужно. Это примерно как "универсальный решатель всего":)
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819798
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почконкин,

А Malbolge будет входить в список поддерживаемых языков?
Давно мечталось написать програмку, которая печатает сама себя на Malbolge?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819804
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zloy denВ том то и дело, что на таком уровне удастся либо преобразовать либо программы чуть сложнее "хеллоу ворлд", либо вносить при преобразовании компилятор исходного языка
Ну почему же. На ANSI C, например, с использованием только примитивных конструкций написана целая хренова куча консольного ПО совершенно разной направленности и сложности. Теоретически, это всё вполне транслируемо на большинство ЯВУ практически "1 к 1", т.е. простой заменой синтаксиса.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35819827
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL_LamerА Malbolge будет входить в список поддерживаемых языков?
Не ко мне вопрос. Я в этот язык не вникал особо, но раз уж другие программы генерируют его код, то почему бы и нет?

SQL_LamerДавно мечталось написать програмку, которая печатает сама себя на Malbolge?
Сомневаюсь, что всё так просто.
Вот есть у тебя программа Х на языке А, которая печатает сама себя (куайн, что ли, да?), то есть выводит в стандартный вывод Х.
По моему пониманию, трансплятор в язык В должен дать программу Y на языке В, которая выводит в стандартный вывод опять же Х, иначе мы бы получили изменение функциональности при трансляции, что не хорошо, мягко говоря.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820100
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почконкин,
скажи, а какой язык из существующих тебе больше всего нравится? или меньше всего не нравится? - Вот на нем и пиши переводчик с него же на все остальное. По грайней мере так твой мета - язык будет уже на первом этапе снабжен работающим окружением. клоны lexx-jacc есть уже по моему почти для всего.... любишь ты например джаву, и милосердия ради захотел сгенерить из своих библиотек делфячий код, что бы делфистам легче жилось - ок...

вообще, стоит признать, что языки - они разные бывают.... все объектно-процедурные похожи друг на друга - но совсем не похожи ни на SQL ни на PROLOG, а на lisp и hascell - средне...
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820222
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Baskakovскажи, а какой язык из существующих тебе больше всего нравится?
Французский. Звучит красиво.

Vladimir Baskakov или меньше всего не нравится?
Говяжий. В детстве перекормили, теперь даже от запаха тошнит.

Vladimir BaskakovПо грайней мере так твой мета - язык будет уже на первом этапе снабжен работающим окружением.
ТС спрашивает не про мета-язык (хотя и сам его так называет), что такое метаязык я писал чуть выше. А ищется язык, с которого было бы легко и просто построить (или взять существующий) набор трансляторов на кучу других языков программирования.

Vladimir Baskakovклоны lexx-jacc есть уже по моему почти для всего....
Y ACC. Это генератор парсеров. Трансляция с одного ЯП на другой здесь не при чем совершенно.

Vladimir Baskakovлюбишь ты например джаву, и милосердия ради захотел сгенерить из своих библиотек делфячий код, что бы делфистам легче жилось - ок...
С этого момента поподробнее, пожалуйста. Что за "ок"? Транслятор с джавы на дельфю? На гугле забанен, дайте УРЛы, будьте добрЫ!

Vladimir Baskakovвсе объектно-процедурные похожи друг на друга - но совсем не похожи ни на SQL ни на PROLOG, а на lisp и hascell - средне...
Отображение с Си, Паскаля, Фортрана и прочей примитивной императивщины на Лисп - тривиально, различия исключительно в синтаксисе. Has k ell рядом с лиспом ставить вообще абсурд, совершенно разные языки.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820812
AlexTheRaven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печонкин<...>Есть идея писать на некоем мета(макро)языке, а в результате, легким движением руки, получать генерированный код уже под конкретный ЯП.<...>
Есть идея - пишите. Если не хотите или можете писать - значит, идеи нет. Сколько уже на форуме просидели, ругаясь попусту - давно бы уже прототип набросали, да и спорили бы предметно. Хотя с такой обидчивостью, агрессией и неконструктивностью при ведении споров - вряд ли сможете сделать что-нибудь полезное для людей. И не только на стезе программирования.
P.S. Сделали бы синхронизацию с кодом (разумеется, "скелетную") через MDI с динамическими диаграммами UML - был бы вам реальный респект и уважуха.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820845
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexTheRavenПечонкин<...>Есть идея писать на некоем мета(макро)языке, а в результате, легким движением руки, получать генерированный код уже под конкретный ЯП.<...>
Есть идея - пишите. Если не хотите или можете писать - значит, идеи нет. Сколько уже на форуме просидели, ругаясь попусту - давно бы уже прототип набросали, да и спорили бы предметно. Хотя с такой обидчивостью, агрессией и неконструктивностью при ведении споров - вряд ли сможете сделать что-нибудь полезное для людей. И не только на стезе программирования.
Прототип давно уже сделан. Осталось года два стабилизации.
А выводы свои можешь себе оставить, не напрягайся

AlexTheRavenP.S. Сделали бы синхронизацию с кодом (разумеется, "скелетную") через MDI с динамическими диаграммами UML - был бы вам реальный респект и уважуха.
Эту глупость давно уже реализовали. см. Together.

Можещь засылать респекты.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820863
Печонкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почконкинzloy denВ том то и дело, что на таком уровне удастся либо преобразовать либо программы чуть сложнее "хеллоу ворлд", либо вносить при преобразовании компилятор исходного языка
Ну почему же. На ANSI C, например, с использованием только примитивных конструкций написана целая хренова куча консольного ПО совершенно разной направленности и сложности. Теоретически, это всё вполне транслируемо на большинство ЯВУ практически "1 к 1", т.е. простой заменой синтаксиса.
На голом ANSI С можно вовсю программировать в ООП стиле.
Код: plaintext
1.
2.
3.
4.
5.
void classname_methodname(class *this, ...)
{
  this->field_name =  128 ;
  ...
}

Странно, что не дети этого до сих пор не знают.

Да, напряжно. Но макроязык выше, с метаконструкциями, как раз имеет целью, да, тупую
императивщину унифицировать.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820865
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почконкин<бред скипнут>

тогда просто "прикольно" уметь конвертировать из Схемы в Паскаль, из Паскаля в С++, из С++ в Хаскелл, из Хаскелла в Бейсик, ха, ну ведь действительно прикольно, и на означенном уровне вполне реализуемо, хоть и геморройчик тот еще.

Это вообще не прикольно, и настолько же глупо, как дизассемблировать машинный код сразу в C или Pascal.

Почему? А ты подумай, невзначай, какого уровня макроконструкции можно определять на метаязыке. Кагбэ тупыми EQ, SET, IF там не планируется ограничиваться ;))
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820871
Почконкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПечонкинНа голом ANSI С можно вовсю программировать в ООП стиле.
Странно, что не дети этого до сих пор не знают.
Ты почти гений. Познай возможность писать на ассемблерах в парадигме функционального и даже, о Господи!, логического программирования, и тогда станешь им.

ПеченкинПочконкин<бред скипнут>
тогда просто "прикольно" уметь конвертировать из Схемы в Паскаль, из Паскаля в С++, из С++ в Хаскелл, из Хаскелла в Бейсик, ха, ну ведь действительно прикольно, и на означенном уровне вполне реализуемо, хоть и геморройчик тот еще.

Это вообще не прикольно, и настолько же глупо, как дизассемблировать машинный код сразу в C или Pascal.
Машинный код для человека не читабелен изначально, потому вопрос о трансляции на ЯВУ с сохранением читабельности попросту бессмысленный. Простая же трансляция, по твоим собственным словам, тебя не интересует. Аналогия не прокатила, нет.

ПеченкинПочему? А ты подумай, невзначай, какого уровня макроконструкции можно определять на метаязыке. Кагбэ тупыми EQ, SET, IF там не планируется ограничиваться ;))
Да прочитай ты уже, наконец, что такое "метаязык" и прекрати употре*censored* это слово ни к селу ни к городу.
Тобой какбэ планируется ограничиться ANSI C, а это и есть примитивный набор тупых конструкций.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820880
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПочконкинПечонкинНа голом ANSI С можно вовсю программировать в ООП стиле.
Странно, что не дети этого до сих пор не знают.
Ты почти гений. Познай возможность писать на ассемблерах в парадигме функционального и даже, о Господи!, логического программирования, и тогда станешь им.
Не интересно вообще. Хотя не вижу никакой проблемы в вышесказанном. Вопрос лишь в том, как макрос нарисовать.

Почконкин
Машинный код для человека не читабелен изначально, потому вопрос о трансляции на ЯВУ с сохранением читабельности попросту бессмысленный. Простая же трансляция, по твоим собственным словам, тебя не интересует. Аналогия не прокатила, нет.
Прокатила. В C нет и не предвидится таких вещей, как банальные коллекции объектов (библиотечные, тем не менее практически стандартизированные штукенции в C# или Java).

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

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

Другой пример - свойства (Property). Их нет в Java и точно нет в C/C++. Но есть в C# и есть в Delphi.
Яверы делают типичное яверное черезжопие - пользуют get, set, но зачем это уродство
тянуть в остальные языки? Нет. Мы для C/C++ и Java будем делать специфичный
этим недоязыкам inline (вместо Object.AsString := 'lala'; делать getAsString().setValue("lala"),
для "лаконичного" C я даже боюсь пример с кучей *, -> и прочих козявок приводить).

...

Понял хоть, о чем речь? А то я уже стремаюсь sql_lamer подобных "критиков".
Вдруг поймут опять чо не так?

ПочконкинПеченкинПочему? А ты подумай, невзначай, какого уровня макроконструкции можно определять на метаязыке. Кагбэ тупыми EQ, SET, IF там не планируется ограничиваться ;))
Да прочитай ты уже, наконец, что такое "метаязык" и прекрати употре*censored* это слово ни к селу ни к городу.
Тобой какбэ планируется ограничиться ANSI C, а это и есть примитивный набор тупых конструкций.

Подпрыгни два раза. На метаязыке будет описана конструкция EQ(ARG1 ARG2) - задает
грамматику, и варианты трансляции в другие языки. Т.е. является в чистейшем виде МЕТА

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

Другой пример - свойства (Property). Их нет в Java и точно нет в C/C++. Но есть в C# и есть в Delphi.
Яверы делают типичное яверное черезжопие - пользуют get, set, но зачем это уродство
тянуть в остальные языки? Нет. Мы для C/C++ и Java будем делать специфичный
этим недоязыкам inline (вместо Object.AsString := 'lala'; делать getAsString().setValue("lala"),
для "лаконичного" C я даже боюсь пример с кучей *, -> и прочих козявок приводить).

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

Спросив в добавок - есть ли что такое, что не может быть реализовано в рамках ANSI C.

Да не будет там никаких лямб, сборщика мусора и аспектного программирования.
Там будет только минимум, достаточный для написания системных библиотек (ядер операционных
систем).

И точка.[/quot]
Сам поймешь, или ты тоже тормоз, как и все твои собеседники?

ПеченкинПодпрыгни два раза. На метаязыке будет описана конструкция EQ(ARG1 ARG2) - задает
грамматику, и варианты трансляции в другие языки. Т.е. является в чистейшем виде МЕТА

В чистом виде метаязык, описывающий другие языки. Не нравится определение?
Претензии вон дверям можешь высказать, ибо это уже имя собственное (пока такое).
О, это еще веселее. В такой постановке твоей задачи тебя спасет... плюсовской препроцессор. Ах, как банально всё разрешилось.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35820963
ПочконкинО, это еще веселее. В такой постановке твоей задачи тебя спасет... плюсовской препроцессор. Ах, как банально всё разрешилось.
Он примитивен как пробка.

В принципе из макропроцессоров меня на 95% устраивает и M4.
Как я говорил единственная претензия к M4 - это отсутствие способности ставить отступы.

А вообще изначально я спрашивал уже про готовые шаблоны (хотя-бы для основных
языковых примитивов, декларации функций, переменных, циклов ветвлений).
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35821072
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин-Печонкин пишет:
> Автор: Печенкин-Печонкин
> Почконкин
> О, это еще веселее. В такой постановке твоей задачи тебя спасет...

Я запуталси... фсё смишалась, кони, люди...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35821817
Печёнкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Печенкины,

Вот Embedded SQL в C - сперва - макропроцессор, потом - генератор кода, и дальнейшая эволюция не понадобилась!?

Наверно какие-то УЧАСТКИ кода с одного языка высокого уровня на другой возможно,
если эти участки будут достаточно целостны. То есть можно четко отделить от другого текста, когда минимальны и ясны все контексты.
А вообще программные контексты едва ли формально выявляемы?
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35822397
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея применять на практике метаязык вылезет большим боком при использовании отладчика. Если в случае с ЯП - сообщение с ошибкой более-менее информативно. И девелопер, зная свой язык и (поверхностно) язык ассемблера может определить фрагмент кода или оператор, который вызывает ошибку, то в метаязыке такой возможности не будет. Данные отладки не содержат ссылок на код метаязыка.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #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
Многоязыковое метапрограммирование
    #35828564
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин пишет:

> б) но как быть, мой юный падаван, с .NET, Java и Flash? Все эти ребята
> пошлют тебя с Pure C
> куда подальше, и будут абсолютно правы. У них идея такая. Safe Code
> называется.

Силён и могуч ты стал, Дуку. Но тёмная сторона затмевает твой разум.

Во всех этих ребятах ЕСТЬ средства вызова старого доброго PURE C.
Именно таким образом они и общаются с внешним миром.
С операционкой.

> Эти твои намеки никого не интересуют, вообще-то. Даже тебя самого.

А, ну ... чё писал тогда вообще ?

> Компоненты, как и любые библиотечные средства, продаются в исходных текстах.
> Глупо разработчикам на Java продавать исходный текст на C.

Ты можешь сделать враперы на native-языке и продавать их вместе
со своей библиотекой, написанной на С. Уверяю, если всё будет
работать, им, пользователям, будет пофигу.


> С этого нужно было начинать. Спасибо за ссылку, любой материал интересен.
>
> http://freshmeat.net/projects/oink/
> http://www.cubewano.org/oink
>
> Только я не понял, какое это имеет отношение?

Блин, похоже я что-то перепутал. Пытаюсь вспомнить
как назывался тот проект - и нифига.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35828582
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин пишет:

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

Во, нашёл.
ftp://ftp.parc.xerox.com/pub/ilu/ilu.html


Кстати, в процессе нашёл ещё и это:
http://bc.tech.coop/blog/040627.html - читать про STELLA.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35828605
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Печенкин пишет:

> Clipper был лучше в разы.

Чем ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35828609
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод пишет:

> Боюсь, что вы не в курсе. В клиппере команды клиппера с помощью
> макропроцессора превращаются в вызовы функций тоже клиппера.

Я - в курсе. я так и писал вообще-то.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35828933
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Печенкин пишет:

> б) но как быть, мой юный падаван, с .NET, Java и Flash? Все эти ребята
> пошлют тебя с Pure C
> куда подальше, и будут абсолютно правы. У них идея такая. Safe Code
> называется.

Силён и могуч ты стал, Дуку. Но тёмная сторона затмевает твой разум.

Во всех этих ребятах ЕСТЬ средства вызова старого доброго PURE C.
Именно таким образом они и общаются с внешним миром.
С операционкой.
Ты можешь сделать враперы на native-языке и продавать их вместе
со своей библиотекой, написанной на С. Уверяю, если всё будет
работать, им, пользователям, будет пофигу.


А светлая сторона сожгла твой разум насовсем? Я четко ТРИ раза написал про Safe Code.
Ты не знаешь, что это такое?

Ладно, объясняем на пальцах. У ребят есть система. Ну примерно класса eBay.
Работающая в режимах 24x7 и прочее такое разное. И им крайне критично
НЕ ИМЕТЬ возможности случайному залетному дятлу (вроде предлагающих
дергать всякое из третьесторонних источников через JNI или PInvoke), разрушить
цивилизацию, токмо перетереть память в каком крупном, обслуживающем тысячи
соединений вебсервисе, по причине подгулявшего невзначай указателя на буффер символов.

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

И да, странно, что мне приходится объяснять эти прописные истины.
Модератор:
сделайте милость, попробуйте напрячь свою неопровержимую гениальность чтобы понять
как избавить технический форум от флуда в виде ваших оценок участников форума, всякого рода переживаний о странностях судьбы и ваших безвозвратно, впустую потраченных усилиях.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35828942
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivВо, нашёл.
ftp://ftp.parc.xerox.com/pub/ilu/ilu.html


Кстати, в процессе нашёл ещё и это:
http://bc.tech.coop/blog/040627.html - читать про STELLA.


Вот это уже разговор по теме, спасибо.
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35829210
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
Я - в курсе. я так и писал вообще-то.

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

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


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

> Команды клиппера с помощью макрогенератора превращаются в текст на
> клиппере или на любом другом языке - хоть китайском. Никакого С там нет
> вообще и трансляции тоже нет.

ага, рассказывай.
Клиппер сам -- это огроменная библиотека для работы с DBF и реализации
конструкций его языка. Плюс макропроцессор сверку, который код клиппера
генерирует в код на C, использующий вызовы этой библиотеки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Многоязыковое метапрограммирование
    #35830676
Печенкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПеченкинПеченкин
Модератор:
сделайте милость, попробуйте напрячь свою неопровержимую гениальность чтобы понять
как избавить технический форум от флуда в виде ваших оценок участников форума, всякого рода переживаний о странностях судьбы и ваших безвозвратно, впустую потраченных усилиях.


А что, кто-то жалуется, выказывает недовольство справедливой оценкой, если не секрет?
Модератор:
я выказываю недовольство вашими, неуместными в данном форуме, оценками


Как Вы могли бы заметить, все свои оценки я пишу в ответ на ранее поступившие
Модератор:
перечитал начало топика. Предложенного мне заметить не удалось.

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

оценки от других... личностей. Но они ведь даже не возмущаются, поди? Про оскорбления не говорят?
Ведь пишу просто, и без затей, в понятном им контексте и стиле.

А ведь их замечания не уместны (нафиг надо, никому не нужно, зачем если),
ибо не отвечают на изначально поставленный простой вопрос: "А есть ли такое вот ".

Потому есть вариант. Тереть их изначально глупые и/или неадекватные замечания, чтобы не
провоцировать мою оценку. И все.
Но боюсь эту несправедливость нам тоже не удастся побороть. По-определению.

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


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