~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 3C4D8098400377B351EC5065D229E0E2__1715617320 ✰
Заголовок документа оригинал.:
✰ Identifier (computer languages) - Wikipedia ✰
Заголовок документа перевод.:
✰ Идентификатор (компьютерные языки) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Identifier_(computer_languages) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/3c/e2/3c4d8098400377b351ec5065d229e0e2.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/3c/e2/3c4d8098400377b351ec5065d229e0e2__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 09:10:44 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 13 May 2024, at 19:22 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Идентификатор (компьютерные языки) — Википедия Jump to content

Идентификатор (компьютерные языки)

Из Википедии, бесплатной энциклопедии

В языках компьютерного программирования идентификатор ) , — это лексический токен (также называемый символом , но не путать с примитивным типом данных символа который называет сущности языка. Некоторые из типов объектов, которые может обозначать идентификатор, включают переменные , типы данных , метки , подпрограммы и модули .

Лексическая форма [ править ]

Какие последовательности символов составляют идентификаторы, зависит от лексической грамматики языка. Общим правилом являются буквенно-цифровые последовательности, с подчеркиванием также разрешено (в некоторых языках _ не разрешено) и с условием, что оно не может начинаться с числовой цифры (чтобы упростить лексику и не путать с целочисленными литералами ) – так foo, foo1, foo_bar, _foo разрешены, но 1fooнет – это определение использовалось в более ранних версиях C и C++ , Python и многих других языках. Более поздние версии этих языков, как и многие другие современные языки, поддерживают Юникода в идентификаторах гораздо больше символов . Однако общим ограничением является запрет на использование пробельных символов и языковых операторов; это упрощает токенизацию, делая ее свободной и контекстно-свободной . Например, запретить + в идентификаторах из-за его использования в качестве двоичной операции означает, что a+b и a + b могут быть токенизированы одинаково, а если бы это было разрешено, a+bбудет идентификатором, а не дополнением. Пробелы в идентификаторах особенно проблематичны, так как если в идентификаторах разрешены пробелы, то такое предложение, как if rainy day then 1 является законным, с rainy dayв качестве идентификатора, но для его токенизации требуется фразовый контекст нахождения в условии предложения if. Однако некоторые языки допускают пробелы в идентификаторах, например АЛГОЛ 68 и некоторые варианты АЛГОЛа. Например, допустимым утверждением является следующее: real half pi; который можно было бы ввести как .real. half pi;(ключевые слова выделены жирным шрифтом, конкретно через обрезку ). В АЛГОЛе это было возможно, поскольку ключевые слова синтаксически дифференцированы, поэтому нет риска коллизий или двусмысленности, пробелы устраняются на этапе реконструкции строки , а источник обрабатывался посредством синтаксического анализа без сканирования , поэтому лексирование может быть контекстно-зависимым.

В большинстве языков некоторые последовательности символов имеют лексическую форму идентификатора, но известны как ключевые слова , например: if часто является ключевым словом для предложения if, но лексически имеет ту же форму, что и ig или fooа именно последовательность букв. Это перекрытие можно обрабатывать различными способами: им можно запретить быть идентификаторами – что упрощает токенизацию и синтаксический анализ – и в этом случае они являются зарезервированными словами ; они оба могут быть разрешены, но различаться другими способами, например, посредством ограничения; или последовательности ключевых слов могут быть разрешены в качестве идентификаторов, смысл которых определяется из контекста, что требует контекстно-зависимого лексера. Неключевые слова также могут быть зарезервированными словами (запрещенными в качестве идентификаторов), особенно для прямой совместимости , на случай, если слово может стать ключевым словом в будущем. В некоторых языках, например в PL/1 , различие неясно.

Семантика [ править ]

Область действия или доступность идентификатора в программе может быть локальной или глобальной. Глобальный идентификатор объявляется вне функций и доступен во всей программе. Локальный идентификатор объявляется внутри определенной функции и доступен только внутри этой функции. [1]

Для реализаций языков программирования, использующих компилятор , идентификаторы часто представляют собой только объекты времени компиляции . То есть во время выполнения скомпилированная программа содержит ссылки на адреса и смещения памяти, а не на токены текстовых идентификаторов (эти адреса памяти или смещения присваиваются компилятором каждому идентификатору).

В языках, поддерживающих отражение , например интерактивную оценку исходного кода (с использованием интерпретатора или инкрементного компилятора), идентификаторы также являются сущностями времени выполнения, иногда даже как первоклассные объекты , которыми можно свободно манипулировать и оценивать. В Лиспе они называются символами .

Компиляторы и интерпретаторы обычно не придают идентификатору никакого семантического значения на основе фактической используемой последовательности символов. Однако есть исключения. Например:

  • В Perl переменная обозначается с помощью префикса, называемого сигилом , который определяет аспекты интерпретации переменной в выражениях .
  • В Ruby переменная автоматически считается неизменяемой, если ее идентификатор начинается с заглавной буквы.
  • В Go использование заглавной буквы имени переменной определяет ее видимость (прописные для общедоступных, строчные для частных).

В некоторых языках, таких как Go, уникальность идентификаторов основана на их написании и видимости. [2]

В HTML идентификатор — это один из возможных атрибутов HTML -элемента . Он уникален в пределах документа.

См. также [ править ]

Ссылки [ править ]

  1. ^ Малик, Д. (2014). Программирование на C++: от анализа проблем к проектированию программ (7-е изд.). Cengage Обучение. п. 397. ИСБН  978-1-285-85274-4 .
  2. ^ «Спецификация языка программирования Go — Язык программирования Go» . Голанг.орг. 08.05.2013 . Проверено 5 июня 2013 г.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 3C4D8098400377B351EC5065D229E0E2__1715617320
URL1:https://en.wikipedia.org/wiki/Identifier_(computer_languages)
Заголовок, (Title) документа по адресу, URL1:
Identifier (computer languages) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)