История изменений
Исправление firkax, (текущая версия) :
Но они ссылаются на сишный стандарт как на основу, и в них дополнительно нигде не написано, что так делать можно…
Это не отсылка как на основу, а пояснения для стандарто-фанатиков, в политкорректной форме.
В общем, мда. Предлагаю либо найти в «мануале и спецификации конкретного компилятора» альтернативные правила для идентификаторов, либо прекращать этот цирк.
Цирк тут устраиваешь ты. Правила для идентификаторов (не альтернативные, а как раз основные) - содержать [_A-Za-z0-9], не начинаться с цифры и не совпадать с ключевыми словами. Правила для токенов-идентификаторов препроцессора - такие же, но без правила про ключевые слова. По факту компиляторы могут поддерживать больше, например gcc допускает символ $ в именах. Возможно где-то поддерживается произвольный юникод с кодами 0x80 и выше.
А вот спецификация кстати: https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html#Identifiers
Исправление firkax, :
Но они ссылаются на сишный стандарт как на основу, и в них дополнительно нигде не написано, что так делать можно…
Это не отсылка как на основу, а пояснения для стандарто-фанатиков, в политкорректной форме.
В общем, мда. Предлагаю либо найти в «мануале и спецификации конкретного компилятора» альтернативные правила для идентификаторов, либо прекращать этот цирк.
Цирк тут устраиваешь ты. Правила для идентификаторов (не альтернативные, а как раз основные) - содержать [_A-Za-z0-9], не начинаться с цифры и не совпадать с ключевыми словами. Правила для токенов-идентификаторов препроцессора - такие же, но без правила про ключевые слова. По факту компиляторы могут поддерживать больше, например gcc допускает символ $ в именах. Возможно где-то поддерживается произвольный юникод с кодами 0x80 и выше.
Исправление firkax, :
Но они ссылаются на сишный стандарт как на основу, и в них дополнительно нигде не написано, что так делать можно…
Это не отсылка как на основу, а пояснения для стандарто-фанатиков, в политкорректной форме.
В общем, мда. Предлагаю либо найти в «мануале и спецификации конкретного компилятора» альтернативные правила для идентификаторов, либо прекращать этот цирк.
Цирк тут устраиваешь ты. Правила для идентификаторов - содержать [_A-Za-z0-9], не начинаться с цифры и не совпадать с ключевыми словами. Правила для токенов-идентификаторов препроцессора - такие же, но без правила про ключевые слова. По факту компиляторы могут поддерживать больше, например gcc допускает символ $ в именах. Возможно где-то поддерживается произвольный юникод с кодами 0x80 и выше.
Исправление firkax, :
Но они ссылаются на сишный стандарт как на основу, и в них дополнительно нигде не написано, что так делать можно…
Это не отсылка как на основу, а пояснения для стандарто-фанатиков, в политкорректной форме.
В общем, мда. Предлагаю либо найти в «мануале и спецификации конкретного компилятора» альтернативные правила для идентификаторов, либо прекращать этот цирк.
Цирк тут устраиваешь ты. Правила для идентификаторов - содержать [_A-Za-z0-9], не начинаться с цифры и не совпадать с ключевыми словами. Правила для токенов-идентификаторов препроцессора - такие же, но без правила про ключевые слова. По факту компиляторы могут поддерживать больше, например gcc допускает символ $ в именах.
Исходная версия firkax, :
Но они ссылаются на сишный стандарт как на основу, и в них дополнительно нигде не написано, что так делать можно…
Это не отсылка как на основу, а пояснения для стандарто-фанатиков.
В общем, мда. Предлагаю либо найти в «мануале и спецификации конкретного компилятора» альтернативные правила для идентификаторов, либо прекращать этот цирк.
Цирк тут устраиваешь ты. Правила для идентификаторов - содержать [_A-Za-z0-9], не начинаться с цифры и не совпадать с ключевыми словами. Правила для токенов-идентификаторов препроцессора - такие же, но без правила про ключевые слова. По факту компиляторы могут поддерживать больше, например gcc допускает символ $ в именах.