Я хотел бы получить абстрактное синтаксическое дерево (AST) из кода C в значение OCaml, чтобы я мог дальше обрабатывать проанализированный код с помощью простая программа OCaml.
Я имел в виду использовать GCC, получить AST (в GIMPLE) с помощью ловушки и преобразовать код GIMPLE в Ocaml.
Но мне интересно, есть ли другой способ или кто-нибудь уже сделал что-то подобное. (На самом деле я мало что нашел в этом ...)
Я не хочу прибегать к использованию CIL. Это анализатор OCaml для кода C, но он не содержит всех оптимизаций что есть у GCC. (Мне особенно нужен более глубокий анализ псевдонимов, чем тот, который реализован в CIL.)
Может ли LLVM быть хорошей идеей для изучения? Возможно, уже сделано?
Есть идея получше?