Что случилось с ключевым словом "entry"?
Во время круиза по моей белой книге на днях я заметил в списке ключевых слов C.
запись является одним из ключевых слов в этом списке.
Он зарезервирован для будущего использования. Возвращаясь к моим дням Фортрана, была функция, которая использовала оператор entry, чтобы сделать вторую сигнатуру аргумента или точку входа в функцию.
Это то, для чего изначально предполагалось, что запись предназначалась для использования? или что-то совершенно другое?
Какова история с ключевым словом ?
Ответы
Ответ 1
Я понятия не имел, поэтому я искал Google, чтобы найти что-то об этом. Это то, что я нашел.
Сначала он был включен как зарезервированное ключевое слово.
Q. Каково было ключевое слово записи, указанное в K & R1?
A. Он был зарезервирован для разрешения функций с несколькими, иначе названными точками входа, но был снят.
(Из http://archives.devshed.com/forums/c-c-134/c-programming-faqs-371017.html.)
Это никогда не было стандартизировано; некоторые компиляторы использовали его, очень личным образом.
Позднее было объявлено устаревшим, я думаю.
Ответ 2
В FORTRAN, "ENTRY" может объявить вторую точку входа в подпрограмму. Это была структурированная ночная программа для программирования, и, к счастью, C решил не принимать ее.
Ответ 3
Ключевое слово entry взято из PL/I и позволило использовать несколько точек входа в функцию. Ключевое слово было реализовано некоторыми компиляторами, но никогда не было стандартизировано.
Ответ 4
В дополнение к принятому ответу "запись" упоминается в K & R1:
2.3 Ключевые слова
Следующие идентификаторы зарезервированы для использования в качестве ключевых слов и не могут использоваться иначе
int extern else
char зарегистрируйтесь для
float typedef do
double static while
struct goto switch
Случай возврата соединения
long sizeof default
короткая запись
unsigned continue
auto, если
и здесь:
Ключевое слово записи в настоящее время не реализуется никаким компилятором, но зарезервировано для будущего использования. Некоторые реализации также резервируют слова "fortran" , и "asm" .
Затем в Обосновании для языка ANSI C (C89) это упоминается здесь:
3.1.1 Ключевое слово
[...]
Записи ключевых слов "fortran" и "asm" не были включены, поскольку они либо никогда не использовались, либо не переносимы. Использование "fortran" и "asm" в качестве ключевых слов не является общим расширением.