170 похожих чатов

Есть ли где-нибудь в стандарте указание того, что при подставлении

тела макроса необходимо вставлять пробел? Или это сделано на основе граматики языка?

#define VALUE -1
1-VALUE // 1- -1

8 ответов

18 просмотров

Грамматика есть в стандарте

Который пробел ты имеешь в виду?

Michael🍷- Автор вопроса
Danya🔥
Грамматика есть в стандарте

Да, и там явно видно пробел в том же additive-expression

Michael🍷- Автор вопроса
Ilya Zviagin
Который пробел ты имеешь в виду?

который появляется между 1-(тут)-1

Michael🍷
который появляется между 1-(тут)-1

Даже если тут не будет пробела, выражение будет 1 - -1 Токенизация производится ДО препроцессирования.

Давай разделять ту грамматику которая определяет разбиение исходного текста на лексемы и, ту которая по лексемам (токенам) формирует AST. Пробелы, очевидно, важны только для первой, а препроцессор выдает на выходе токены. Поэтому твой пример работает не за счет вставки пробелов препроцессором, а за счет того, что препроцессор не склеивает 2 - в один токен --.

Michael🍷- Автор вопроса
Andrey Davydov
Давай разделять ту грамматику которая определяет р...

Это отсутствие склеивания где-нибудь прописано?

Michael🍷
Это отсутствие склеивания где-нибудь прописано?

Да, Тут https://en.cppreference.com/w/cpp/preprocessor и далее читай фазы трансляции

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта