У меня есть файл заголовка C, и мне нужно проанализировать его, чтобы выполнить проверку во время сборки. Поэтому я сейчас пытаюсь использовать для этого pcpp
. На github я не нашел примеров использования API, кроме комментариев в исходном коде . Ссылка на примеры , похоже, больше не работает. Я попробовал следующее:
#!/usr/bin/python3.7
import sys
import pcpp
def check_directive(directive):
#do the checking
#...
class Checker(pcpp.Preprocessor):
def on_directive_handle(self, directive, toks, ifpassthru, precedingtoks):
print("Checking directive...")
check_directive(directive)
super(pcpp.Preprocessor, on_directive_handle)
if __name__ == "__main__":
c_header_path = sys.argv[1]
with open(c_header_path) as fd:
c_header = fd.read()
checker = Checker()
checker.parsegen(c_header)
Но проверка не была проведена, и диагностический вывод Checking directive...
не производился.
Может ли кто-нибудь предоставить рабочий пример с использованием API? Или, возможно, посоветуете другой модуль Python для такого рода задач?