История изменений
Исправление monk, (текущая версия) :
Мисье может попробовать поупражняться сам в метапрограммтровании, когда важна структура текста программы.
Вот макрос на отступах:
определение-синтаксиса (определение-синтаксиса-цикла форма)
выбор-синтаксиса форма ()
(_ русский английский)
#' определение-синтаксиса (русский форма)
выбор-синтаксиса форма (для)
(_ (для (А Б) . В) . Г)
#` английский ((А Б) . #,(преобразовать-слова-цикла #'В)) . Г
(_ (А Б) . Г)
#' английский ((А Б)) . Г
(_ . А)
#' английский . А
Не вижу проблемы в многострочных макросах с отступами на Си.
Единственное, что потребуется - это дополнительное ключевое слово для блока:
x = x + 1;
{
int x;
x = 5;
f(x);
}
=>
x = x + 1
block
int x
x = 5
f(x)
#define MACRO(num, str) {\
printf("%d", num);\
printf(" is");\
printf(" %s number", str);\
printf("\n");\
}
=>
#define MACRO(num, str)
block
printf("%d", num)
printf(" is")
printf(" %s number", str)
printf("\n")
Исходная версия monk, :
Мисье может попробовать поупражняться сам в метапрограммтровании, когда важна структура текста программы.
Вот макрос на отступах:
определение-синтаксиса (определение-синтаксиса-цикла форма)
выбор-синтаксиса форма ()
(_ русский английский)
#' определение-синтаксиса (русский форма)
выбор-синтаксиса форма (для)
(_ (для (А Б) . В) . Г)
#`(английский ((А Б) . #,(преобразовать-слова-цикла #'В)) . Г)]
(_ (А Б) . Г)
#' английский ((А Б)) . Г
(_ . А)
#' английский . А
Не вижу проблемы в многострочных макросах с отступами на Си.
Единственное, что потребуется - это дополнительное ключевое слово для блока:
x = x + 1;
{
int x;
x = 5;
f(x);
}
=>
x = x + 1
block
int x
x = 5
f(x)
#define MACRO(num, str) {\
printf("%d", num);\
printf(" is");\
printf(" %s number", str);\
printf("\n");\
}
=>
#define MACRO(num, str)
block
printf("%d", num)
printf(" is")
printf(" %s number", str)
printf("\n")