|
|
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Собственно говоря вопрос. Есть идея писать на некоем мета(макро)языке, а в результате, легким движением руки, получать генерированный код уже под конкретный ЯП. Т.е. имеем на входе (пример) Код: plaintext 1. 2. 3. 4. 5. А потом бац, запускаем нечто, и получаем на выходе или Delphi код Код: plaintext 1. 2. или Java код Код: plaintext 1. 2. C++ код Код: plaintext 1. ну и так далее, вопрос только в том, как шаблоны описывать (нивелирующие вопросы конечного языка). А теперь вопрос. Как сделать такое - не вопрос, но не хочется изобретать велосипед. Потому интересно, есть ли уже готовые решения (какие кодогенерирующие шаблоны для Lisp-а? M4 макросы и т.д.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2009, 22:50:36 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Печонкин, А на кой? Все равно универсального не получится ничего. Слишком объемная задача. Ты под с++ попробуй напиши хотя - бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2009, 23:26:31 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
SQL_LamerПечонкин, А на кой? Зачем нужна кроссплатформенность? Слегка идиотский вопрос. SQL_LamerВсе равно универсального не получится ничего. Слишком объемная задача. Получится (если захотеть). И не слишком. SQL_LamerТы под с++ попробуй напиши хотя - бы. Уже написано, теперь вопрос как это автоматически переводить на другие языки. Про "компиляцию" аля Adobe Alchemy не надо рассказывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 00:40:27 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
ПечонкинЗачем нужна кроссплатформенность? Слегка идиотский вопрос. При чем тут кроссплатформенность? ПечонкинПолучится (если захотеть). И не слишком. Ну как скажешь. ПечонкинУже написано, теперь вопрос как это автоматически переводить на другие языки. Так а что написано - то? С++ кодогенератор, или что? Закеж пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 00:45:35 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
SQL_LamerПечонкинЗачем нужна кроссплатформенность? Слегка идиотский вопрос. При чем тут кроссплатформенность? Почитай вот это http://en.wikipedia.org/wiki/Cross-platform и вот это http://en.wikipedia.org/wiki/Computer_platform поймешь при чем. На русской википедии можешь не читать, там ламеры понаписали бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 00:53:25 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Печонкин, вот тебе первый попавший кусок кода на первом попавшем языке, и объясни, как ты эту свою "кроссплатформенность" будешь осуществлять(можно очень примерно) ;) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 00:57:18 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Печонкин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. Так я и спрашиваю, при чем тут кодогенерация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:00:56 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Элементарно. Код: plaintext 1. 2. 3. 4. 5. Дальше банально и тупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:01:38 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
ПечонкинЭлементарно. Код: plaintext 1. 2. 3. 4. 5. Дальше банально и тупо. Ну вот ведь в твоей ссылке : ...that are implemented and inter-operate on multiple computer platforms. Так я и в третий раз спрашиваю, как это будет выглядеть - то под другой осью - то? Так, как ты написал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:05:26 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
SQL_LamerТак я и спрашиваю, при чем тут кодогенерация? Не тупи. Код генерируется из универсального, обобщенного языка под конкретный язык конкретной платформы. Я в первом посте написал что должно быть (там как раз три платформы, хотя их может быть хоть два десятка, зависит только от шаблонов, которые будут превращать всякие EQ, SET, CLASS, METHOD в конкретные конструкции конкретного языка). Что тут не ясного? Еще раз. Код на универсальном языке, из которого генерируется код для конкретного языка. Конкретный язык - параметр кодогенератора, а сам по себе описывается отдельно, как набор шаблонов. Вот сейчас стоит вопрос - есть ли такие шаблоны в природе. Гугл ответа не дал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:05:40 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Печонкин, Зачем столько агрессии: "не тупи", "идиотский вопрос". Я ведь по доброму интересуюсь. "конкретный язык конкретной платформы." Вот опять наверно туплю :( С++ - это конкретный язык какой конкретно платформы по твоему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:15:05 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Может я что - то не то под платформой понимаю? Ты что имеешь в виду то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:17:26 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
А под платформой ты видимо понимаешь компилятор\интерпретатор определенного языка o_O Так что - ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:19:55 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
SQL_LamerС++ - это конкретный язык какой конкретно платформы по твоему? С++ как язык? Вполне возможно. Более того, GCC от ICC и от MSCC, а уж от BCC или выбкидыш Managed C++ кагбе даже не слегка может отличаться, прикинь. А платформа - это не обязательно операционка или железка, платформа - это и программное окружение (банально - .NET это платформа, как и UNIX-ы всякие, со своими причудами, может иметь кучу несовместимых реализаций C++, что мы и видим на практике). Странно, что ламеры этого не знают? Наверное нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:20:43 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
ПеченкинSQL_LamerС++ - это конкретный язык какой конкретно платформы по твоему? С++ как язык? Вполне возможно. Более того, GCC от ICC и от MSCC, а уж от BCC или выбкидыш Managed C++ кагбе даже не слегка может отличаться, прикинь. А платформа - это не обязательно операционка или железка, платформа - это и программное окружение (банально - .NET это платформа, как и UNIX-ы всякие, со своими причудами, может иметь кучу несовместимых реализаций C++, что мы и видим на практике). Странно, что ламеры этого не знают? Наверное нет. Ну вот. Опять агрессия. Добрее надо быть. Ламеры думают, что нет - это фреймворк, а не платформа. Таково мнение ламеров на сегодняшний день ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:23:27 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
SQL_LamerПечонкин, Зачем столько агрессии: "не тупи", "идиотский вопрос". Я ведь по доброму интересуюсь. паренёк просто не понимает, что такое плюсы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:24:21 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
egorych, Интерестно, ты мне или ему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:26:09 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
SQL_LamerНу вот. Опять агрессия. Добрее надо быть. Ламеры думают, что нет - это фреймворк, а не платформа. Таково мнение ламеров на сегодняшний день ;) Я ссылки выше дал. Сходи еще раз прочитай, что такое платформа. Software platform examples Operating system platform examples И так далее. Заодно примешь решение, что такое JVM - фреймворк или нет. Можешь и поймешь чего, в буквах, да вон "коллеге" (по ламерству?) расскажешь про плюсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:27:10 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
ПеченкинSQL_LamerНу вот. Опять агрессия. Добрее надо быть. Ламеры думают, что нет - это фреймворк, а не платформа. Таково мнение ламеров на сегодняшний день ;) Я ссылки выше дал. Сходи еще раз прочитай, что такое платформа. Software platform examples Operating system platform examples И так далее. Заодно примешь решение, что такое JVM - фреймворк или нет. Можешь и поймешь чего, в буквах, да вон "коллеге" (по ламерству?) расскажешь про плюсы. Опять оскорбления. Ладно. Будет релиз - дай знать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 01:28:01 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Это все уже есть. Например, у PyPy, yhc есь бекенды для генерации C и JavaScript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 11:38:02 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Печенкин - типичный хам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 13:08:09 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Denis.Печенкин - типичный хам. Лучше быть типичным хамом, чем типичным тормозом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 15:50:18 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
Печенкин, У меня чисто ламерский вопрос возник к гениальному автору. Положим, я в с++ ни бум - бум. Зато я получил в распоряжение этот твой чудный метаязык. Могу я на плюсах забацать, ну скажем, банальный блокнот? И второй, еще более ламерский вопрос: Положим, я кул хакер с++, для чего мне писать на метасуперпуперязыке, чтобы в результате получить те же исходники на плюсах? зы. Поменьше экспрессии, пжалста ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 15:56:53 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
beluginЭто все уже есть. Например, у PyPy, yhc есь бекенды для генерации C и JavaScript Уже намного ближе, но не совсем то. Питон и хаскель как таковые не интересуют, больше интересен макро язык в чистом виде, вроде m4 или какой Lisp, позволяющие определять собственные языковые макро-конструкции . Впрочем, спасибо за наводку, кое-что там действительно заинтересовало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 16:01:04 |
|
||
|
Многоязыковое метапрограммирование
|
|||
|---|---|---|---|
|
#18+
ПечонкинbeluginЭто все уже есть. Например, у PyPy, yhc есь бекенды для генерации C и JavaScript Уже намного ближе, но не совсем то. Питон и хаскель как таковые не интересуют, больше интересен макро язык в чистом виде, вроде m4 или какой Lisp, позволяющие определять собственные языковые макро-конструкции . Впрочем, спасибо за наводку, кое-что там действительно заинтересовало. Лисп не макроязык. Посмотри википедию - ты ее так любишь ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2009, 16:02:20 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35817932&tid=1344650]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 354ms |

| 0 / 0 |
