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

V>И? Ты мысль то заверши.


А смысл? Все равно ж не поймете.
Re[4]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 09.03.20 08:50
Оценка: +1 :)
Здравствуйте, _NN_, Вы писали:

_NN>предлагаете ещё больше усугубить время компиляции?


Даже если поручить реализацию расширенного макропроцессора (именно макро-, а не пре-) самым криворуким программистам, вряд ли они смогут заметно усугубить время компиляции сверх уже усугубленного. Впрочем, прогресс не стоит на месте...
Re[5]: С++ макросы
От: Vain Россия google.ru
Дата: 09.03.20 14:48
Оценка: +2
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Подозреваю что эти господа брезгуют мощью макросов

ЕМ>Убогие макросы C/C++ плохо сочетаются со словом "мощь".
Ещё как сочетаются, просто ты не использовал нормальных макросов с рекурсией и блекджеком.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 30.01.20 08:48
Оценка: +1
Здравствуйте, _NN_, Вы писали:

_NN>Так есть же _Pragma (C++11).


А всего остального нет. Если уж препроцессор, то хоть бы чуть менее примитивный. Те же директивы условной трансляции внутри макроса обрабатывать, чтоб не городить трехэтажные конструкции, в одном месте определяя пачку макросов с разным содержимым, а в другом — выбирая, какой из них будет вставляться.
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.]
[Даю очевидные ответы на риторические вопросы]
С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 30.01.20 08:24
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Пора бы обновить подсветку ключевых слов


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

09.03.20 18:20: Ветка выделена из темы C++20
Автор: _NN_
Дата: 30.01.20
— AndrewVK
Re: С++ макросы
От: _NN_ www.nemerleweb.com
Дата: 30.01.20 08:35
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, _NN_, Вы писали:


_NN>>Пора бы обновить подсветку ключевых слов


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


Так есть же _Pragma (C++11).
#define A \
 _Pragma(warning(disable:1234)) \
  DO() \
 _Pragma(warning(enable:1234))


Или нужно что-то другое ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: С++ макросы
От: Vain Россия google.ru
Дата: 09.03.20 07:28
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А всего остального нет. Если уж препроцессор, то хоть бы чуть менее примитивный. Те же директивы условной трансляции внутри макроса обрабатывать, чтоб не городить трехэтажные конструкции, в одном месте определяя пачку макросов с разным содержимым, а в другом — выбирая, какой из них будет вставляться.

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

V>Подозреваю что эти господа брезгуют мощью макросов


Убогие макросы C/C++ плохо сочетаются со словом "мощь".
Re[3]: С++ макросы
От: _NN_ www.nemerleweb.com
Дата: 09.03.20 08:00
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А всего остального нет. Если уж препроцессор, то хоть бы чуть менее примитивный. Те же директивы условной трансляции внутри макроса обрабатывать, чтоб не городить трехэтажные конструкции, в одном месте определяя пачку макросов с разным содержимым, а в другом — выбирая, какой из них будет вставляться.


Это да, с другой стороны предлагаете ещё больше усугубить время компиляции?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 09.03.20 15:05
Оценка:
Здравствуйте, Vain, Вы писали:

V>просто ты не использовал нормальных макросов с рекурсией и блекджеком.


И как же рекурсия и блэкджек помогут мне сделать условную обработку параметров макроса?
Re[7]: С++ макросы
От: Vain Россия google.ru
Дата: 09.03.20 15:10
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

V>>просто ты не использовал нормальных макросов с рекурсией и блекджеком.

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

ЕМ>>И как же рекурсия и блэкджек помогут мне сделать условную обработку параметров макроса?

V>А в чём проблема её условно обрабатывать?

Ну расскажите, как мне раскрывать макрос в различный набор конструкций, в зависимости от заданных параметров, кроме как вставлять сами параметры непосредственно.
Re[5]: С++ макросы
От: Vain Россия google.ru
Дата: 09.03.20 22:52
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Подозреваю что эти господа брезгуют мощью макросов

ЕМ>Убогие макросы C/C++ плохо сочетаются со словом "мощь".
Никто не мешал их сделать не убогими лет так 20.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[9]: С++ макросы
От: Vain Россия google.ru
Дата: 09.03.20 22:54
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Ну расскажите, как мне раскрывать макрос в различный набор конструкций, в зависимости от заданных параметров, кроме как вставлять сами параметры непосредственно.

Макросы для вставки текста, про какие параметры речь?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[6]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.03.20 03:06
Оценка:
Здравствуйте, Vain, Вы писали:

V>Никто не мешал их сделать не убогими лет так 20.


40-45 лет назад тоже никто не мешал. Все необходимое было давно известно и столь же давно реализовано.
Re[10]: С++ макросы
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.03.20 03:07
Оценка:
Здравствуйте, Vain, Вы писали:

V>Макросы для вставки текста, про какие параметры речь?


Про те, что в скобочках.
Re[7]: С++ макросы
От: Vain Россия google.ru
Дата: 10.03.20 16:20
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Никто не мешал их сделать не убогими лет так 20.

ЕМ>40-45 лет назад тоже никто не мешал. Все необходимое было давно известно и столь же давно реализовано.
Кому необходимое? Вот boost.preprocessor доказывает, что так реализовано, что пришлось мудрить.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[11]: С++ макросы
От: Vain Россия google.ru
Дата: 10.03.20 16:21
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

V>>Макросы для вставки текста, про какие параметры речь?

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

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


Необходимое для реализации адекватного макропроцессора, способного вставить не только примитивную статическую конструкцию с подстановкой фактических параметров, но и заполнить таблицу набором значений, сгенерировать код, состав которого произвольно зависит от параметров, создать набор непротиворечиво связанных объектов и т.п.

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


Подобное убожество могли породить только те, кто никогда не видел нормального макропроцессора.
Re: С++ макросы
От: LaptevVV Россия  
Дата: 14.03.20 07:54
Оценка:
Ну, используй ML/1 Брауна.
Вроде мощнее ничего не было.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
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>Как раз это и сделано на недоделанном макропроцессоре.


Что мешало сперва доделать макропроцессор?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.