.: [предыдущая | оглавление | следующая] :.

2.3. Описание лексических элементов


2.3.1. Понятие лексемы

Лексема - это минимальная смысловая единица для языка программирования.
Обычно к лексемам относятся константы, ключевые слова, знаки операций, разделители и т.д.

  • Процессу проведения лексического анализа (построение лексем из текста программы) предшествует несколько операций компилятора и встроенного в него препроцессора.
  • Исходная программа записывается в виде текстового файла, созданного каким либо текстовым редактором. Обычно для компилятора основной единицей трансляции является файл с расширением .C или .CPP.
  • Препроцессор первый просматривает исходный текст программы и определяет в нем свои специальные директивы. Например, директива #include.

Важно отметить, что препроцессор не знает синтаксиса С.

2.3.2. Пространство между лексемами

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

Например, рассмотрим две последовательности:

int i; int j;
и
int i;
int j;

Эти две последовательности символов с точки зрения лексического анализа являются эквивалентными, т.к. имеют всего 6 лексем:

  1. int
  2. i
  3. ;
  4. float
  5. f
  6. ;

2.3.3. Запись длинных строк

Для записи длинных строк символов используется обратная косая черта (\). Она ставится в конце строки. Обратная косая черта и символ перевода строки игнорируются, две строки (и более) воспринимаются как одно целое. Например:

“Томский государственный\
университет систем управления\
и радиоэлектроники”

Здесь записана одна длинная строка символов.

2.3.4. Комментарии

Комментарии представляют собой фрагменты текста, предназначенные для записи пояснений. Комментарии предназначены для программистов, которые будут читать исходный текст. Комментарии в процессе трансляции программы игнорируются. Комментарии можно записать двумя способами. В первом способе комментарий открывается парой символов /*, а закрывается символами */. Например:

int /* объявить */ i /* счетчик */;

В процессе трансляции будет получено всего три лексемы: int, i, ;

Второй способ записи комментария в С++ состоит в записи двух подряд символов «косой черты» (//). Комментарий начинается от этих символов (//) и заканчивается символом перевода строки. Например:

class X // это комментарий;
... ;

Следует быть осторожным в использовании /* и // одновременно. Это может привести к нежелательным последствиям. Например:

int i = j//* разделить на k */k;
+m;

Здесь вместо выражения int i = j / k; +m; получим int i = j + m;

.: [предыдущая | оглавление | следующая] :.