S
SIGSEGV DREC
@segfault_drec747 подп.
1.3Kпросмотров
24 марта 2025 г.
Score: 1.4K
Немного ультранасилия Последний пункт задания Clang Internals, написанного мной в несколько функциональном стиле (смотрите строго с широкого монитора). import clang.cindex import sys for node in filter(lambda n : n.spelling == "fisting", filter(lambda n : n.kind.is_declaration(), clang.cindex.Index.create() .parse(None, sys.argv) .cursor.walk_preorder() ) ): print(f"'fisting' found on {node.location.file}:{node.location.line}:{node.location.column}") Немного переусложнил, но суть такова: 1. Парсим файл и получаем translation unit; 2. Достаём оттуда корневую ноду и по ней запускаем обход; 3. Фильтруем только объявления; 4. Фильтруем только с именем fisting; 5. Печатаем диагностику для них. Функциональщина в руках нефункциональщика — зло. Доклад окончил. #compiler #llvm
1.3K
просмотров
945
символов
Нет
эмодзи
Нет
медиа

Другие посты @segfault_drec

Все посты канала →
Немного ультранасилия Последний пункт задания Clang Internal — @segfault_drec | PostSniper