code_analyzer/presentation.md

2.8 KiB

title author fonttheme date header-includes classoption
Analyse d'un programme
Volodymyr Patuta
serif
Janvier 2022
\definecolor{chocolate}{RGB}{33,33,33}
\definecolor{dark}{RGB}{23,23,23}
\definecolor{whitie}{HTML}{DEDEDE}
\definecolor{ori}{HTML}{ff9712}
\definecolor{magi}{HTML}{3465a4}
\useoutertheme{split}
\useinnertheme{rounded}
\setbeamercolor{alerted text}{fg=orange}
\setbeamercolor{author in head/foot}{bg=ori, fg=black}
\setbeamercolor{title in head/foot}{bg=black}
\setbeamercolor{custom2}{fg=cyan,bg=purple}
\setbeamercolor{background canvas}{bg=chocolate}
\setbeamercolor{block body alerted}{bg=normal text.bg!90!black}
\setbeamercolor{block body}{bg=normal text.bg!90!black}
\setbeamercolor{block body example}{bg=normal text.bg!90!black}
\setbeamercolor{block title alerted}{use={normal text,alerted text},fg=green text.fg!75!normal text.fg,bg=normal text.bg!75!black}
\setbeamercolor{block title}{bg=dark}
\setbeamercolor{block title example}{use={normal text,example text},fg=green text.fg!75!normal text.fg,bg=normal text.bg!75!black}
\setbeamercolor{fine separation line}{}
\setbeamercolor{frametitle}{fg=ori}
\setbeamercolor{item projected}{fg=black}
\setbeamercolor{normal text}{bg=black,fg=whitie}
\setbeamercolor{palette sidebar primary}{fg=green}
\setbeamercolor{palette sidebar quaternary}{fg=green}
\setbeamercolor{palette sidebar secondary}{fg=green}
\setbeamercolor{palette sidebar tertiary}{fg=green}
\setbeamercolor{section in sidebar}{fg=brown}
\setbeamercolor{section in sidebar shaded}{fg=grey}
\setbeamercolor{separation line}{fg=green, bg=green}
\setbeamercolor{sidebar}{bg=red}
\setbeamercolor{sidebar}{bg=green, fg = green}
\setbeamercolor{structure}{bg=dark, fg=ori}
\setbeamercolor{subsection in sidebar}{fg=brown}
\setbeamercolor{subsection in sidebar shaded}{fg=grey}
\setbeamercolor{title}{fg=ori}
\setbeamercolor{titlelike}{fg=brown}
aspectratio=43

Programme

Dans quel sens un "programme" ?

Exemple d'un programme

Neovim

$ fd --extension c . 'neovim/' | wc -l
174

Exemple d'un programme

Neovim

$ fd --extension c . 'neovim/' | wc -l
174

$ wc `fd --extension c . 'neovim/'` -l
 ...
 300347 total

Parsing

Regex

^(\**\w+\s+?\ ?){1,}\([^!@#$+%^]+?\)\s+

([a-zA-Z_0-9]+)\(.*\)

Recherche des CC

Un algo ?

Recherche des CC

  • call
  • vu

Recherche des cycles

Recherche des cycles

\tiny

Exemple d'un cycle

void bar(void)
{
	toto(1, 1);
}

int foo(void)
{
	hello();
	bar();
	return 1;
}

int toto(int a, int b)
{
	if (a != 1)
		foo();
	else
		aurevoir();
	return a + b;
}

\normalsize

Recherche des cycles

Recherche des cycles

Recherche des cycles

Fin

Demo