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