Токены C++

Токен — это наименьший элемент на C++, который имеет значение для компилятора. Синтаксический анализатор C++ распознает следующие типы токенов: идентификаторы, ключевые слова, литералы, операторы, символы пунктуации и другие разделители. Поток этих токенов составляет один блок трансляции.

Токены обычно разделяются пробельным символом. Возможны следующие пробельные символы:

  • Пробелы

  • Символы горизонтальной и вертикальной табуляции

  • Символы перевода строки

  • Символы перевода страницы

  • Комментарии

Следующие элементы рассматриваются как токены:

ключевое-словоидентификаторконстантаоператорсимвол-пунктуации

Следующие элементы рассматриваются как токены предварительной обработки:

имя-заголовкаидентификаторчисло-препроцессорасимвольная-константастроковый-литералоператорпунктуатор. Каждый непробельный символ не может быть одним из указанных выше элементов.

Анализатор отделяет токены из входного потока путем создания самого длинного из возможных токенов, сканируя входные символы слева направо. Рассмотрим следующий фрагмент кода:

a = i+++j;

Программист, который записывал этот код, мог намереваться использовать один из следующих двух операторов:

a = i + (++j)

a = (i++) + j

Поскольку синтаксический анализатор создает из входного потока самый длинный из возможных токенов, он выбирает вторую интерпретацию, создавая токены i++, + и j.

См. также

Ссылки

Лексические соглашения