токены и файловые потоки - PullRequest
       21

токены и файловые потоки

0 голосов
/ 28 декабря 2011

Я изучаю исходные коды программ (написанных на с ++), которые работают с файловыми потоками.Но время от времени я натыкаюсь на то, что называется tokens.Не могли бы вы объяснить мне, что делают токены и почему они полезны?Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Поток относится к последовательности элементов данных, доступных со временем.Элементы данных в потоках могут быть любого типа: символы, строки, специальные структуры данных и т. Д. Текстовый файл можно тривиально интерпретировать как поток символов.

В контексте языков программирования слово token обычно относится к последовательности из одного или нескольких связанных символов из потока символов.Токены предлагают уровень абстракции поверх символьных потоков и часто сами группируются в потоки для дальнейшей обработки.

Обычная последовательность обработки в компиляторах языков программирования начинается с лексических анализаторов преобразования потоковсимволов в потоки токенов, которые затем передаются в парсеры .Типичное представление токена состоит из индикатора типа и содержимого токена.

Вот пример: рассмотрим этот фрагмент программы на C ++:

class MyClass {
public:
    string name;
};

Анализатор лексеров группирует эту программув поток из десяти жетонов:

'class' (keyword)
'MyClass' (identifier)
'{' (opening brace)
'public' (keyword)
':' (colon)
'string' (identifier)
'name' (identifier)
';' (semicolon)
'}' (closing brace)
';' (semicolon)
1 голос
/ 28 декабря 2011

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

...