Парсинг форматов KiCad через S-выражения на Zig

engineering

sexp — это скилл для Claude Code, который описывает устройство движка S-выражений на Zig и типизированных моделей KiCad, а также их экспозицию в Python через расширение pyzig_sexp. Подсистема включает быстрый токенизатор, парсер и pretty-printer на Zig, типизированные модели форматов KiCad (PCB, footprint, netlist, symbol, schematic, fp_lib_table) и удобную обёртку faebryk.libs.kicad.fileformats с кешированием и методами loads/dumps. Ключевые файлы — tokenizer.zig, ast.zig, structure.zig и sexp_py.zig, экспортирующий PyInit_pyzig_sexp; сгенерированные Python-стабы лежат в gen/sexp/*.pyi. Скилл охватывает инварианты памяти и жизненного цикла объектов: Zig дублирует входную строку в персистентный аллокатор, поэтому повторные loads без вызова free могут приводить к утечкам. Используется при парсинге файлов KiCad, генерации S-выражений и синхронизации разводки платы через exporters и layout_sync.