Список токенов

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

struct Token {
    TokenType type;
    std::variant<Keyword, Operator, Special, std::string> value;
};

using TokenList = std::list<Token>;

Таким образом, TokenList – это двусвязный список, основанный на std::list из стандартной библиотеки языка C++, хранящий структуры типа Token, содержащие:

  • тип токена type как одно из значений некоторого перечисления TokenType;

  • содержимое токена value как std::variant – типобезопасное объединение всевозможных типов.

Назад