По прежнему неймется мне

все еще пытаюсь упростить процесс программирования. В частности, одной из проблем чтения текстов является уразуметь, какой фрагмент к чему относится, уровень вложенности, где заканчивается одно и начинается другое. Лестница помогает, если только фрагменты невелики
Шибко мне понравилась система квотинга данного форума, с прямоугольными рамками, которые для каждой строки позволяют вложенность цитаты определить. И вот захотелось мне прямоугольные рамки вставлять в текст программ
Комментарии - не канают, самый короткий комментраий, вставляемый в произвольное место - /**/. Возможное решение - нафигачить макросов, которые внешне похожи на рамки, имеют допустимый синтаксис и при макроподстановке не будут генерировать никакого текста
Для горизонтальных границ подходят символы подчеркивания:
CODE #define _
#define __
...
#define __________________ // самая длинная строка порядка 90 символов "_"
Для вертикальных линий придется пожертвовать какой-то буквой, строчная "эль" ("l") или заглавня "и" ("I"), при этом таковой идентификатор нельзя будет использовать ни в качестве локальной переменной, ни в качестве члена класса. Строчная "эль" для этого подходит лучше всего, поскольку ее в принципе нежелательно использовать в качестве идентификатора, бо похожа на единицу
CODE #define l
Еще целосообразно сделать сделать набор завершающих горизонтальных строк, котрые будут генерировать символ закрывающей фигурной скобки "}"
CODE #define l_ }
#define l__ }
...
#define l__________________ } // самая длинная строка порядка 90 символов "_"
Все это дело оформляется отдельным h-файлом, котрый включается самым последним и только в c/cpp-модули, но не в заголовки (мало ли)
Пример оформления оператора if... else if ... else
CODE __ if (...) { _________________________________________
l
l ...
l ...
l
l_ else if (...) { _______________________________________
l
l ...
l ...
l
l_ else { ____________________________________________
l
l ...
l ...
l____________________________________________________
Если условие if или заголовок цикла сложный, можно это дело записать так:
CODE ___________________________________________________
l
l while (
l ...
l ...
l ) {
l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
l
l ...
l ...
l___________________________________________________
Вложенные рамки выглядят следующим образом:
CODE __ if (...) { _________________________________________
l
l ...
l
l __ for (...) { _______________________________________
l l
l l ...
l l__________________________________________________
l
l__________________________________________________
Но таки требуются усилия для поддержания рамочной структуры