Ferramenta que pode fazer pesquisa semântica em um corpo de código C

5

Estou procurando uma ferramenta que possa fazer pesquisa semântica em um corpo de código C.
Exemplo de consulta: "me dê todas as referências ao campo y na estrutura x definida no arquivo z.h ". Eu preferiria uma ferramenta orientada por linha de comando e código aberto. O suporte a C ++ é uma vantagem. Existe outra ferramenta além do cscope?

O cscope não preserva o tipo de tags. No hostapd, por exemplo, existem mais de 900 referências à tag "ifname". No entanto, estou interessado apenas no campo ifname de uma estrutura específica. O cscope não pode filtrar tags de acordo com o tipo.

    
por Eli Rosencruft 14.05.2012 / 07:56
fonte

2 respostas

2

Eu uso Mozilla DXR com código C ++ para tarefas como essa. Ele depende da plataforma clang para gravar o código durante a compilação. É um pouco de trabalho para configurar corretamente, mas vale a pena.

    
por 14.05.2012 / 08:03
fonte
2

Sua consulta pode ser respondida com seu compilador:

Remova a declaração do campo y em z.h, depois recompile.

    
por 14.05.2012 / 09:56
fonte

Tags