|
Термины и определения: лексемы, идентификаторы, ключевые слова, константы, литералы, escape-последовательности, основные типы, модификаторы, ввод-вывод, переменные, операции.
Лексема. Элементарная конструкция в языке – минимальная единица языка, имеющая самостоятельный, четко определенный смысл. Лексемы образуются из символов, выражение из лексем и символов, операторы – из выражений, лексем и символов.
Выражение. Задает правило вычисления некоторого значения. Для составных типов, значением являеися множество значений компонент.
Оператор. Задает законченное описание некоторого действия или факта. Составной оператор – это блок ({…}). Блок может быть пустым. Оператор; - пустой оператор. Операторы бывают исполняемые и неисполняемые. Исполняемые задают действия (над данными); неисполняемые дают описания данных и иных объектов, их можно называть операторами описания (описаниями, объявлениями).
Каждая конструкция языка определяется его синтаксисом и семантикой. Синтаксические определения устанавливают правила построения элементов языка, а семантика определяет их смысл, и правила и условия применения.
Мы будем использовать для синтаксических определений неформальный способ описания синтаксиса, например, вида [ void | int ] имя();, где […] – необязательный элемент, | - исключающее “или”, если присутствует группа элементов в фигурных скобках: {one two three}, то – выбрать только один. Иногда, если потребуется, будем использовать формулы Бэкуса-Наура (БНФ, объясним при первом появлении в тексте).
Алфавит языка
В алфавит языка С++ входят:
· прописные и строчные латинские буквы и знак подчеркивания;
· арабские цифры от 0 до 9;
· специальные знаки: _ {} [] # () < > %:;.? * + - / ^ & | ~! =, \ " '
Из символов алфавита формируются лексемы языка:
Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.
Символы пробел, горизонтальная и вертикальная табуляция, новая страница и новая строка называются пробельными символами.
Идентификаторы
Идентификатор - это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные – различаются (например, sysop, SySoP и SYSOP – различны). Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Пробелы внутри имен не допускаются.
àСуществует соглашение о правилах создания имен (венгерская нотация, или ‘_’+мнемоника).
Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения. Идентификатор создается на этапе объявления переменной, функции, типа и т. п., после этого его можно использовать в последующих операторах программы. При выборе идентификатора необходимо иметь в виду следующее:
- идентификатор не должен совпадать с ключевыми словами (см. ниже) и именами используемых стандартных объектов языка;
- не рекомендуется начинать идентификаторы с символа подчеркивания, поскольку они могут совпасть с именами системных функций или переменных, и, кроме того, это снижает мобильность программы;
- на идентификаторы, используемые для определения внешних переменных, налагаются ограничения компоновщика (использование различных компоновщиков или версий компоновщика накладывает разные требования на имена внешних переменных).
Определенные идентификаторы зарезервированы для использования в стандартной библиотеке:
· Любой идентификатор, содержащий два последовательных символа подчеркивания (like__this) – зарезервирован, так что мы не можем его использовать для макросов, членов класса, глобальных объектов или где-либо еще.
· Любой идентификатор, который начинается с подчеркивания со следующей за ним заглавной буквой (A-Z) - зарезервирован.
· Любой идентификатор, начинающийся подчеркиванием резервируется для использования в глобальном пространстве имен (global namespace). Можно применять такие имена в других контекстах(т.е. как члены класса или как локальные имена).
à Идентификатор часто называют просто именем переменной. В Visual C++, идентификаторы могут иметь длину до 247 знаков, хотя это дает известную свободу выбора имен – писать и читать программы с длинные именами утомительно. Имена переменных обычно выбирают так, чтобы был понятен вид хранимой информации.
Дата добавления: 2015-11-16; просмотров: 43 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Компиляторы в семействе ОС Windowss | | | Ключевые слова |