Лексемы

Алфавит языка

Лекция1 Состав языка

Вводятся базовые для всего дальнейшего изложения понятия: из каких простейших "кирпичиков" состоят все тексты на языке программирования, что понимают под типом данных, какие встроенные типы данных есть в языке C++.

В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Подобные элементы содержит и язык программирования, только слова называют лексемами (элементарными конструкциями), словосочетания - выражениями, а предложения - операторами.

Все тексты на языке пишутся с помощью его алфавита. Алфавит C++ включает:

  • прописные и строчные латинские буквы и символ подчеркивания (_), который употребляется наряду с буквами;
  • арабские цифры от 0 до 9;
  • специальные символы, например +, *, { и &;
  • пробельные символы - пробел, символы табуляции, символы перевода строки и формата.

Алфавит языка в стандарте называется базовым набором символов. Кроме того, существует понятие " набор символов реализации " - все множество символов, доступных на данном компьютере. Этот набор содержит базовый набор в качестве подмножества.

Из символов базового набора составляются лексемы языка и директивы препроцессора. Символы из набора реализации используются для написания комментариев. Компилятор комментарии игнорирует.

Существуют следующие виды лексем:

  • имена (идентификаторы);
  • ключевые слова;
  • знаки операций;
  • разделители;
  • литералы (константы).

Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.

Лексемы языка программирования аналогичны словам естественного языка. Например, лексемами являются константа 128 (но не ее часть 12), имя Vasia, ключевое слово goto и знак операции сложения +. Из лексем составляются выражения и операторы.

  • Выражение задает правило вычисления некоторого значения. Например, выражение a + b задает правило вычисления суммы величин a и b.
  • Оператор задает законченное описание некоторого действия.

Операторы делят на исполняемые и неисполняемые, простые и составные. Исполняемые операторы задают действия над данными. Неисполняемые операторы служат для описания данных, поэтому их часто называют операторами описания или просто описаниями. Например, int a ; - это оператор описания целочисленной переменной a.

Составной оператор или блок - это группа операторов, заключенная в фигурные скобки. Блоки могут быть вложенными.

Каждый элемент языка определяется синтаксисом и семантикой. Синтаксические определения устанавливают правила построения элементов языка, а семантика определяет их смысл и правила использования.

Объединенная единым алгоритмом совокупность описаний и операторов образует программу.