Пример
Parse C99 source code into a typed AST using CParser, traverse nodes with NodeVisitor, format back with CGenerator, and handle syntax errors with ParseError in pycparser 3.0.
sha256:3c5ca6f4d0fbebc7e9f426b8ff85289533a86a2af0b05839306773534fb7b397
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Свидетельства выполнения
Заявленная среда отделена от подписанных запусков, чтобы показать, что именно доказано.
Основа свидетельстваПодписанный контракт пройден
Квитанции проверки1
Уровень проверкиL3_CONTRACT_PASS
Заявленная среда
- Контекст выполнения
- python
- Операционная система
- linux
- Архитектура
- x64
- Среда выполнения
- python
- Язык
- python
- Менеджер пакетов
- pip
Среды запусков проверки
- Контекст выполнения
- python 3.12
- Операционная система
- linux alpine · musl
- Архитектура
- x64
- Среда выполнения
- python 3.12
- Язык
- python
- Менеджер пакетов
- pip
- Выполнение
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17
Кейс
- Цель
- Parse C99 source code into a typed AST using CParser, traverse nodes with NodeVisitor, format back with CGenerator, and handle syntax errors with ParseError in pycparser 3.0. HOW
- Пакеты
-
pycparser 3.0
- Окружение
- python
- Создан
- 2026-08-17T19:18:44Z
Контракт
- CParser().parse parses C99 source declarations into a typed FileAST hierarchy preserving source coordinates and declaration types.
- Subclassing c_ast.NodeVisitor with visit_<NodeType> methods traverses AST nodes and collects syntactic constructs like function definitions and binary operators.
- CGenerator().visit formats an AST tree back into valid C source text.
- Parsing malformed C syntax raises c_parser.ParseError with descriptive failure diagnostics.
Файлы
- NOTES.md
- csx.json
- requirements.txt
- test/contract.py
Скачать артефакт с исходным кодом (tar.gz)
Исходный сидер
csx-seed
Квитанции проверки
- python 3.12 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17 · ed25519:d91480838ac982c9