Post Thumbnail

Автор решил запилить парсер JSON на Rust с нуля, чтобы на практике прочувствовать структуры, енумы и сопоставление с образцом.

Начал с теории: struct для группировки данных, enum для вариантов вроде объекта, массива или строки, а match - чтобы все это красиво разбирать. Потом написал токенизатор, который жрет строку символов и выдаёт токены: фигурные скобки, двоеточия, строки с эскейп-последовательностями, числа и ключевые слова. А дальше - парсер, который рекурсивно обходит эти токены и собирает их в тип JsonValue - енум с вариантами Object, Array, Str, Number, Bool и Null.

В итоге простой четырехсотстрочный код, который нормально переваривает вложенные структуры и даже юникодные эскейпы. В следующей серии напишем парсер TOML и разберемся с Result вместо всяких паник

Автора вообще много прикольных статей

Похожее

Post Thumbnail

Bevy и сеть

Цикл статей по разработке игр на Rust и Bevy все еще продолжается. Я уже писал п...