The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Названы победители 27 конкурса по написанию запутанного кода на языке Си"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Названы победители 27 конкурса по написанию запутанного кода..." +/
Сообщение от n00by (ok), 05-Янв-21, 09:15 
Стандарт формализует поведение препроцессора, а не детали реализации. Дословно:

Each instance of a backslash character (\) immediately followed by a new-line
character is deleted, splicing physical source lines to form logical source lines.
Only the last backslash on any physical source line shall be eligible for being part
of such a splice. A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character before any such
splicing takes place.

Не знаю, зачем тут размеры буфера и блоки данных. Сканер, если встречает в потоке символ \,  просто пропускает символ(ы) переноса строки. В результате из исходного

#incl\
ude

на верхний уровень анализатора (в следующую фазу, в терминах Стандарта) будет отдан слитный токен include.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Названы победители 27 конкурса по написанию запутанного кода на языке Си, opennews, 04-Янв-21, 10:19  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру