Re[2]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 14.03.20 14:57
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ну, используй ML/1 Брауна.


Речь не о том, что прикрутить сбоку, а о том, что универсальный и мощный язык мог бы иметь макропроцессор и поприличнее. А еще лучше — встроенные языковые средства наподобие шаблонов, но не такие убогие.
Re[9]: С++ макросы
От: Vain Россия google.ru
Дата: 15.03.20 09:38
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Кому необходимое?

ЕМ>Необходимое для реализации адекватного макропроцессора, способного вставить не только примитивную статическую конструкцию с подстановкой фактических параметров, но и заполнить таблицу набором значений, сгенерировать код, состав которого произвольно зависит от параметров, создать набор непротиворечиво связанных объектов и т.п.
Препроцессор не генерирует код, он генерирует текст. Или ты перепутал препроцессор с инструкцией прагма? Так она в каждом компиляторе своя.

V>>Вот boost.preprocessor доказывает, что так реализовано, что пришлось мудрить.

ЕМ>Подобное убожество могли породить только те, кто никогда не видел нормального макропроцессора.
Как раз это и сделано на недоделанном макропроцессоре.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[10]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 16.03.20 05:22
Оценка:
Здравствуйте, Vain, Вы писали:

V>Препроцессор не генерирует код, он генерирует текст.


Выражение "программный код" давным-давно стало синонимом к "тексту программы". Даже здесь кнопка "Код" подразумевает вставку отнюдь не объектного и/или двоичного кода, а как раз текста.

V>Как раз это и сделано на недоделанном макропроцессоре.


Что мешало сперва доделать макропроцессор?
Re: С++ макросы
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 16.03.20 05:33
Оценка: :)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Давно пора бы что-то сделать с убогим макросинтаксисом, чтобы прагмы и директивы условной трансляции можно было вставлять в макросы. MS почти двадцать лет назад выродила __pragma и __if_exists, но и они кривоватые, и комитет не чешется.


Прочитал всю ветку

  У меня тоже такое иногда бывает.
Кузмич
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Отредактировано 16.03.2020 5:38 DDDX . Предыдущая версия .
Re[11]: С++ макросы
От: Vain Россия google.ru
Дата: 16.03.20 12:46
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Препроцессор не генерирует код, он генерирует текст.

ЕМ>Выражение "программный код" давным-давно стало синонимом к "тексту программы".
Для макропроцессора никогда им и не было.

ЕМ>Даже здесь кнопка "Код" подразумевает вставку отнюдь не объектного и/или двоичного кода, а как раз текста.

Так вставляй, кто мешает? Макропроцессор никогда и не брал на себя обязанности компилятора, иначе бы он перестал быть макропроцессором.

V>>Как раз это и сделано на недоделанном макропроцессоре.

ЕМ>Что мешало сперва доделать макропроцессор?
Комитету этот вопрос в следующий раз задай.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.