Skip to content
Snippets Groups Projects
Commit f76321ae authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[doc] adapt PDG to new theme

parent 115d9181
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,7 @@ anr-logo.png
biblio.bib
eu-flag.jpg
frama-c-book.cls
frama-c-cover.pdf
frama-c-left.pdf
frama-c-right.pdf
frama-c-affiliation.tex
main.pdf
frama-c-guy.png
fc-macros.tex
logos
......@@ -44,7 +44,7 @@ Cela permettra en particulier, d'utiliser d'éventuelles propriétés
fournies par la suite par l'utilisateur.
\begin{exemple}
\begin{tabular}{m{0.35\textwidth} m{0.6\textwidth}}
\begin{tabular}{m{0.35\textwidth} m{0.59\textwidth}}
\begin{verbatim}
struct {int a;
int b; } G;
......@@ -145,7 +145,7 @@ dans le cas où certains calcul ne dépendent pas de la valeur du
paramètre, mais uniquement de sa déclaration.
\begin{exemple}
\begin{tabular}{m{5cm} m{\linewidth - 6cm}}
\begin{tabular}{m{5cm} m{\dimexpr\linewidth-6cm}}
\begin{verbatim}
int g (int a) {
G = 2 * a;
......@@ -203,7 +203,7 @@ Graphe de la fonction \verbtt{f}: \\
Graphe de la fonction \verbtt{g}: \\
\includegraphics[width=1\textwidth]{call-g}
\includegraphics[width=.9\textwidth]{call-g}
\\
Les graphes sont ceux qui sont effectivement produits par l'outil.
......@@ -209,7 +209,7 @@ uniquement les dépendances directes ou d'inclure les dépendances indirectes.
indirecte, comme on pouvait s'y attendre, car Z dépend de \n{a}, et Z1 et Z2
dépendent de Z.
&
\includegraphics[width=0.3\textwidth]{ctrl-dpds}
\includegraphics[width=4cm]{ctrl-dpds}
\end{tabular}
\end{exemple}
......@@ -370,7 +370,7 @@ ou si elles doivent être présentes dans le programme réduit.\\
L'exemple simple suivant, tiré de \cite{Choi94}, met en évidence ce problème~:
\begin{exemple}
\begin{tabular}{m{4cm}m{5cm}}
\begin{tabular}{m{5cm}m{5cm}}
\begin{clisting}
1 : <entry>
2 : if (Q) goto 5;
......@@ -381,7 +381,7 @@ L'exemple simple suivant, tiré de \cite{Choi94}, met en évidence ce problème~
7 : <exit>
\end{clisting}
&
\includegraphics[width=0.5\textwidth]{ex-goto}
\includegraphics[width=5cm]{ex-goto}
\end{tabular}
\begin{tabular}{p{5cm} p{7cm}}
......@@ -484,7 +484,7 @@ Examinons les différents cas~:
personne ne dépend donc de \n{g},
\item si \n{l} postdomine \n{s}, \n{s} dépend de \n{g}, ainsi que tous les postdominateurs
de \n{s} qui ne postdomine pas \n{l},
\item si \n{l} ne postdomine pas \n{s},
\item si \n{l} ne postdomine pas \n{s},
tous les \n{a} qui postdominent \n{s}, mais pas \n{l} ou l'inverse, dépendent de \n{g}.
\end{enumerate}
......@@ -512,7 +512,7 @@ autres points du graphe. Or, comme l'explique très bien \cite{ranganath04new},
cette hypothèse ne tient plus dans les programmes contenant
des boucles infinies ou des \verbtt{exit} (ou même des exceptions,
mais pour le langage C, nous n'avons pas le problème).
Cet article présente également avec beaucoup de détails
Cet article présente également avec beaucoup de détails
différents types de dépendances et des algorithmes pour les calculer,
mais il s'avère probablement trop complexe pour ce que l'on souhaite faire.\\
......@@ -530,7 +530,7 @@ La question qui se pose est de savoir s'il faut ajouter des dépendances de
contrôle sur les instructions qui, potentiellement, ne terminent pas.
\begin{exemple}
\begin{tabular}{p{4.5cm}p{\linewidth-5.5cm}}
\begin{tabular}{p{5.5cm}p{\dimexpr\linewidth-6.5cm}}
\begin{clisting}
while (f(x) > 0) x++;
L: y = 3;
......
......@@ -44,7 +44,7 @@ Les \indextxtdef{dépendances sur la valeur}{dépendance!valeur}
d'une donnée sont les plus intuitives.
\begin{exemple}
\begin{tabular}{m{3.5cm}m{\linewidth-4.3cm}}
\begin{tabular}{m{3.5cm}m{\dimexpr\linewidth-4.5cm}}
\begin{clisting}
x = a + b;
\end{clisting}
......@@ -68,7 +68,7 @@ droite, mais le choix de l'adresse à laquelle on l'écrit peut également dépe
de variables qui apparaissent dans la partie gauche.
\begin{exemple}
\begin{tabular}{m{3.5cm}m{\linewidth-4.3cm}}
\begin{tabular}{m{3.5cm}m{\dimexpr\linewidth-4.5cm}}
\begin{clisting}
*p = x;
\end{clisting}
......@@ -76,7 +76,7 @@ de variables qui apparaissent dans la partie gauche.
Ici, la valeur de la donnée modifiée dépend de \verbtt{x},
mais le choix de la case dans laquelle on la range dépend de \verbtt{p}.
En effet, si $p$ pointe sur $a$ ou $b$, c'est soit \verbtt{a} soit \verbtt{b} qui
va être modifié.
va être modifié.
\end{tabular}
\end{exemple}
......@@ -88,13 +88,13 @@ Lorsqu'une donnée peut-être modifiée par plusieurs chemins d'exécution,
elle dépend des conditions qui permettent de choisir le chemin.
\begin{exemple}
\begin{tabular}{m{3.5cm}m{\linewidth-4.3cm}}
\begin{tabular}{m{3.5cm}m{\dimexpr\linewidth-4.5cm}}
\begin{clisting}
if (c)
if (c)
x = a;
L :
\end{clisting}
&
&
La valeur de \verbtt{x} en \verbtt{L} dépend de \verbtt{a}, mais aussi de \verbtt{c}.\\
\end{tabular}
\end{exemple}
......@@ -114,7 +114,7 @@ variables utilisées pour déterminer la case affectée (partie gauche d'une
affectation) sont considérées comme des dépendances sur l'adresse.
\begin{exemple}
\begin{tabular}{m{3.5cm}m{\linewidth-4.3cm}}
\begin{tabular}{m{4cm}m{\dimexpr\linewidth-5cm}}
\begin{clisting}
/* 1 */ int x;
/* 2 */ int y;
......
......@@ -2,6 +2,7 @@
\usepackage{tabularx}
\usepackage{wasysym}
\usepackage{stmaryrd}
\usepackage{makeidx}
%------------------------------------------------------------------------------
\newcommand{\setenvclass}[2]{}
......@@ -39,9 +40,6 @@
\newcommand{\verbtt}[1]{{\small{\tt{#1}}}}
%------------------------------------------------------------------------------
% Légende des figures :
\usepackage[hang,small]{caption}
\renewcommand{\captionfont}{\it}
\renewcommand{\captionlabelfont}{\it \bf \small}
%\renewcommand{\captionlabeldelim}{ : }
%-----------------------------------------------
% prend le nom du fichier
......
\documentclass[a4paper,11pt,twoside,openright,web,lang=french]{frama-c-book}
\documentclass[lang=french]{frama-c-book}
\input{macros_pdg.tex}
\input{./frama-c-affiliation.tex}
%==============================================================================
\title{Greffon PDG}
\subtitle{Calcul de dépendances dans un programme C}
\author{Anne Pacalet et Patrick Baudin}
\cclicence{by-sa}
\copyrightstarts{2007}
\begin{document}
\sloppy
\emergencystretch 3em
\coverpage{PDG --- Documentation technique}
\maketitle
\begin{titlepage}
\begin{flushleft}
\includegraphics[height=14mm]{../images/cealistlogo.jpg}
\end{flushleft}
\vfill
\title{Documentation du greffon PDG}{Calcul de dépendances dans un programme C}
\author{Anne Pacalet et Patrick Baudin}
\begin{tabular}{l}
\fcaffiliationfr
\end{tabular}
\vfill
\begin{flushleft}
\textcopyright 2007-2023 CEA LIST
\end{flushleft}
\end{titlepage}
\input{pdg.tex}
\end{document}
......@@ -3,6 +3,7 @@
\section*{Versions}
\begin{small}
Seules les versions Vx.0 sont des documents achevés~;
les autres sont à considérer comme des brouillons.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment