# Code analyzer ## Sujet Un programme peut être considéré comme un graphe orienté où chaque fonction est un noeud. Prendre un programme important (plusieurs dizaines de fichiers, plusieurs dizaines de milliers de lignes de code) et l’analyser sous la forme d’un graphe (Mco, Vec). On doit chercher les composantes connexes et les cycles. ## Programmes testés * [st](https://st.suckless.org/) * [dwm](https://dwm.suckless.org/) * [neovim](https://github.com/neovim/neovim) * code-analyzer * test.c ## Compilation et execution ### Compilation ```sh $ make fclean; make ``` ### Execution ```sh $ ./code-analyzer --help $ ./code-analyzer -p ./src/ -c --print-vec --cycles-vec ``` ### Generation de pdf Pour generer un pdf du graphe, il faut avoir installé `graphviz`. ```sh $ make graph ``` Cela va genere le fichier **graph.pdf**.