ai
3 мин
22 августа 2026 г.
Источник: Dev.to AI Feed

Практический пример: замкнутый цикл в бесплатной инфраструктуре: 3 этапа создания правильного синтаксического анализатора заголовков C++

Finley Zhou
Finley Zhou
RSS AI Ingest
Практический пример: замкнутый цикл в бесплатной инфраструктуре: 3 этапа создания правильного синтаксического анализатора заголовков C++

Краткая версия Я попросил конечную точку бесплатной модели реализовать небольшой анализатор C++ для значений заголовка Content-Disposition. Каждый вывод проходил через трехэтапный шлюз на бесплатном сервере: компиляция предупреждений как ошибок, ASan/UBSan и дифференциальная...

Краткая версия Я попросил конечную точку бесплатной модели реализовать небольшой анализатор C++ для значений заголовка Content-Disposition. Каждый вывод проходил через трехэтапный шлюз на бесплатном сервере: компиляция предупреждений как ошибок, ASan/UBSan и дифференциальное тестирование с помощью рукописного эталонного оракула. В первом раунде не удалось 12 из 5000 созданных случаев. Раунд 2 провалился. 7. Раунд 3 пройден, включая повторный запуск на 20 000 случаев с другим исходным числом. Неудачи были интереснее зеленого результата. Все они находились на границах грамматики: конец ввода, экранированные кавычки, пустые строки в кавычках и байты obs-текста. Ни один из них не появился бы в типичном обзоре «компилирует ли он и обрабатывает ли этот пример». Предыстория: зачем нужен парсер заголовков Content-Disposition выглядит просто: токен типа, затем параметры, разделенные точкой с запятой, например filename="report.pdf". Ловушка — это строковая грамматика в кавычках из RFC 9110 в сочетании с RFC 6266. Внутри кавычек могут быть пробелы, табуляции, байты obs-текста (0x80-0xFF) и escape-слэши. Экранированная кавычка не завершает строку. Незавершенная строка является синтаксической ошибкой. Эта грамматика достаточно мала, чтобы ее можно было тщательно проверить с помощью дифференциального тестирования, и достаточно сложна, чтобы сгенерированный код мог

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект