Skip to content
Snippets Groups Projects
Commit 42cd5170 authored by Patrick Baudin's avatar Patrick Baudin
Browse files

Merge branch 'feature/patrick/lint-some-files' into 'master'

lint some files

See merge request frama-c/frama-c!3809
parents f457a42f d5e45638
No related branches found
No related tags found
No related merge requests found
Showing
with 74 additions and 72 deletions
...@@ -34,3 +34,5 @@ a767fdcb7adda81a5ef192733ef7c62fd56b30e2 ...@@ -34,3 +34,5 @@ a767fdcb7adda81a5ef192733ef7c62fd56b30e2
6cc1a6f2036b75c6b2451518ffbfbe025eb1a1f8 6cc1a6f2036b75c6b2451518ffbfbe025eb1a1f8
aef808e15e4dcc02dcee7004add8530083d33474 aef808e15e4dcc02dcee7004add8530083d33474
220072cecdcc0b0b8292c40d93e793b3219b506f 220072cecdcc0b0b8292c40d93e793b3219b506f
6ead6d862f1960e6baca64d335b811c954cf8430
7955ef2039b2010cc30b88da7a47d4f07e298042
...@@ -13,4 +13,4 @@ Muriel Roger <muriel.roger@cea.fr> ...@@ -13,4 +13,4 @@ Muriel Roger <muriel.roger@cea.fr>
<loic.correnson@cea.fr> <lcorrenson@gmail.com> <loic.correnson@cea.fr> <lcorrenson@gmail.com>
<loic.correnson@cea.fr> <loïc.correnson@cea.fr> <loic.correnson@cea.fr> <loïc.correnson@cea.fr>
Géraud Canet <geraud.canet@cea.fr> Géraud Canet <geraud.canet@cea.fr>
<mounir.assaf@cea.fr> <mounir.assaf@cea.Fr> <mounir.assaf@cea.fr> <mounir.assaf@cea.Fr>
\ No newline at end of file
...@@ -53,19 +53,19 @@ let rec traverse t = ...@@ -53,19 +53,19 @@ let rec traverse t =
let n = size t in let n = size t in
let tag = tag t in let tag = tag t in
if tag < no_scan_tag then begin if tag < no_scan_tag then begin
count := !count + 1 + n; count := !count + 1 + n;
for i = 0 to n - 1 do for i = 0 to n - 1 do
let f = field t i in let f = field t i in
if is_block f then traverse f if is_block f then traverse f
done done
end else if tag = string_tag then end else if tag = string_tag then
count := !count + 1 + n count := !count + 1 + n
else if tag = double_tag then else if tag = double_tag then
count := !count + size_of_double count := !count + size_of_double
else if tag = double_array_tag then else if tag = double_array_tag then
count := !count + 1 + size_of_double * n count := !count + 1 + size_of_double * n
else else
incr count incr count
end end
end end
...@@ -80,8 +80,8 @@ let res () = ...@@ -80,8 +80,8 @@ let res () =
let size_w ?except o = let size_w ?except o =
reset_table (); reset_table ();
(match except with (match except with
| None -> () | None -> ()
| Some except -> traverse (repr except) | Some except -> traverse (repr except)
); );
count := 0; count := 0;
traverse (repr o); traverse (repr o);
......
...@@ -57,19 +57,19 @@ let rec traverse t = ...@@ -57,19 +57,19 @@ let rec traverse t =
let n = size t in let n = size t in
let tag = tag t in let tag = tag t in
if tag < no_scan_tag then begin if tag < no_scan_tag then begin
count := !count + 1 + n; count := !count + 1 + n;
for i = 0 to n - 1 do for i = 0 to n - 1 do
let f = field t i in let f = field t i in
if is_block f then traverse f if is_block f then traverse f
done done
end else if tag = string_tag then end else if tag = string_tag then
count := !count + 1 + n count := !count + 1 + n
else if tag = double_tag then else if tag = double_tag then
count := !count + size_of_double count := !count + size_of_double
else if tag = double_array_tag then else if tag = double_array_tag then
count := !count + 1 + size_of_double * n count := !count + 1 + size_of_double * n
else else
incr count incr count
end end
end end
......
...@@ -5,4 +5,4 @@ V3 ...@@ -5,4 +5,4 @@ V3
V2 V2
New dictionary output using #define New dictionary output using #define
V1 V1
Initial release Initial release
\ No newline at end of file
#!/bin/sh #!/bin/sh
emacs 1max.c emacs 1max.c
\ No newline at end of file
* Faire un slide 0 avec le nom de celui qui présente et * Faire un slide 0 avec le nom de celui qui présente et
l'URL pour Frama-C. Faire le discours sur ACSL qui est la l'URL pour Frama-C. Faire le discours sur ACSL qui est la
glue faisant marcher plusieurs plug-ins complémentaires. glue faisant marcher plusieurs plug-ins complémentaires.
* slide 1max.c * slide 1max.c
montrer que l'on peut déjà vérifier la syntaxe des annotation montrer que l'on peut déjà vérifier la syntaxe des annotation
en introduisant une erreur de syntaxe et en compilant depuis Emacs. en introduisant une erreur de syntaxe et en compilant depuis Emacs.
Localiser l'erreur avec Emacs. Localiser l'erreur avec Emacs.
Alors que l'idée des prés et posts est de prouver que la post tient Alors que l'idée des prés et posts est de prouver que la post tient
en n'utilisant que le code de la fonction en supposant que la pré en n'utilisant que le code de la fonction en supposant que la pré
était satisfaite en entrée, la deuxième page montre l'utilisation était satisfaite en entrée, la deuxième page montre l'utilisation
de l'analyse de valeurs pour vérifier ces propriétés avec une de l'analyse de valeurs pour vérifier ces propriétés avec une
exécution symbolique. exécution symbolique.
* slide 2maxp.c * slide 2maxp.c
...@@ -23,29 +23,29 @@ C'est pour montrer que ACSL supporte les pointeurs. ...@@ -23,29 +23,29 @@ C'est pour montrer que ACSL supporte les pointeurs.
Avertissements sur le fait que le langage logique est Avertissements sur le fait que le langage logique est
un langage pur. un langage pur.
Le && est commutatif. Parler de (*p) n'a pas de sens en Le && est commutatif. Parler de (*p) n'a pas de sens en
général mais des propriétés telles que *p==*p sont général mais des propriétés telles que *p==*p sont
vraies même si p n'est pas valide. Mieux vaut vraies même si p n'est pas valide. Mieux vaut
toujours écrire "\valid(p) && *p == ..." toujours écrire "\valid(p) && *p == ..."
* slide 4comp_part.c * slide 4comp_part.c
Attirer l'attention sur ce que c'est une spécification Attirer l'attention sur ce que c'est une spécification
complète. Insister sur le fait que c'est très difficile complète. Insister sur le fait que c'est très difficile
d'en écrire en pratique (formelles ou non formelles) mais d'en écrire en pratique (formelles ou non formelles) mais
que les spécifications partielles sont utiles aussi que les spécifications partielles sont utiles aussi
(et qu'on peut se servir d'ACSL pour en faire). (et qu'on peut se servir d'ACSL pour en faire).
* slide 5assigns_term.c * slide 5assigns_term.c
A propos de spécifications complètes, c'est le bon moment A propos de spécifications complètes, c'est le bon moment
pour parler des assigns et de la terminaison. pour parler des assigns et de la terminaison.
* slide 6pred.c * slide 6pred.c
Les spécifications peuvent devenir plus élaborée en Les spécifications peuvent devenir plus élaborée en
commençant par définir des prédicats utilisateurs. commençant par définir des prédicats utilisateurs.
Ici, défini comme une fonction Ici, défini comme une fonction
* slide 7pred.c * slide 7pred.c
Définition dans le style prolog du même prédicat. Définition dans le style prolog du même prédicat.
/transf /transf
\ No newline at end of file
...@@ -3,4 +3,4 @@ CALL(main) ...@@ -3,4 +3,4 @@ CALL(main)
&& _X_ (!RETURN(opb) && _X_ (!RETURN(opb)
&& _X_ (!CALL(opa) && _X_ (!CALL(opa)
&& _X_ (RETURN(opb) && _X_ (RETURN(opb)
&& _X_ (RETURN(main)))))) && _X_ (RETURN(main))))))
\ No newline at end of file
...@@ -87,7 +87,7 @@ module Generator (G : Odoc_html.Html_generator) = struct ...@@ -87,7 +87,7 @@ module Generator (G : Odoc_html.Html_generator) = struct
self#html_of_custom b info.Odoc_info.i_custom self#html_of_custom b info.Odoc_info.i_custom
(** Print html code for the first sentence of a description. (** Print html code for the first sentence of a description.
The titles and lists in this first sentence has been removed.*) The titles and lists in this first sentence has been removed.*)
method html_of_info_first_sentence b = function method html_of_info_first_sentence b = function
| None -> () | None -> ()
| Some info -> | Some info ->
......
let run () = let run () =
Self.result "Hello, world!"; Self.result "Hello, world!";
let product = let product =
Self.feedback ~level:2 "Computing the product of 11 and 5..."; Self.feedback ~level:2 "Computing the product of 11 and 5...";
11 * 5 11 * 5
in in
Self.result "11 * 5 = %d" product Self.result "11 * 5 = %d" product
...@@ -4,7 +4,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...@@ -4,7 +4,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=ISO-8859-1"/> <meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8"/>
<link rel="stylesheet" href="style.css" type="text/css"/> <link rel="stylesheet" href="style.css" type="text/css"/>
<title>Frama-C</title> <title>Frama-C</title>
</head> </head>
...@@ -125,7 +125,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...@@ -125,7 +125,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
(<a href="wp/Spec/index.html">spec</a> : <tt>cd wp/Spec; make</tt>) (<a href="wp/Spec/index.html">spec</a> : <tt>cd wp/Spec; make</tt>)
(<a href="wp/Notes/index.html">informal notes</a> : <tt>cd wp/Notes; make</tt>) (<a href="wp/Notes/index.html">informal notes</a> : <tt>cd wp/Notes; make</tt>)
(<a href="wp/Implem/index.html">implementation</a> : <tt>cd wp/Implem; make</tt>) (<a href="wp/Implem/index.html">implementation</a> : <tt>cd wp/Implem; make</tt>)
(<a href="wp/Coq/doc/toc.html">modlisation COQ</a>) (<a href="wp/Coq/doc/toc.html">modélisation COQ</a>)
(<a href="code/wp/metrics.html">metrics</a> : <tt>make Wp_metrics)</tt>) (<a href="code/wp/metrics.html">metrics</a> : <tt>make Wp_metrics)</tt>)
</li><li> </li><li>
<a href="code/cxx_elsa/index.html">cxx</a> <a href="code/cxx_elsa/index.html">cxx</a>
......
...@@ -38,7 +38,7 @@ val get_stmts : t_elem list -> t_stmt_elems -> t_stmt list ;; ...@@ -38,7 +38,7 @@ val get_stmts : t_elem list -> t_stmt_elems -> t_stmt list ;;
(* retrouver les éléments correspondant à une instruction *) (* retrouver les éléments correspondant à une instruction *)
val get_elems : t_stmt -> t_stmt_elems -> t_elem list ;; val get_elems : t_stmt -> t_stmt_elems -> t_elem list ;;
type t_state type t_state
type t_data type t_data
......
\setbeamerfont{section in head}{size=\scriptsize} \setbeamerfont{section in head}{size=\scriptsize}
\ No newline at end of file
...@@ -26,4 +26,4 @@ ...@@ -26,4 +26,4 @@
% Local Variables: % Local Variables:
% ispell-local-dictionary: "english" % ispell-local-dictionary: "english"
% TeX-master: "slides.tex" % TeX-master: "slides.tex"
% End: % End:
\ No newline at end of file
...@@ -89,4 +89,4 @@ ...@@ -89,4 +89,4 @@
% Local Variables: % Local Variables:
% TeX-master: "slides.tex" % TeX-master: "slides.tex"
% ispell-local-dictionary: "english" % ispell-local-dictionary: "english"
% End: % End:
\ No newline at end of file
Si vous n'êtes pas un développeur de Value, vous avez Si vous n'êtes pas un développeur de Value, vous avez
reçu ce document par erreur, et vous pouvez l'ignorer. reçu ce document par erreur, et vous pouvez l'ignorer.
Conventions s'appliquant dans la documentation de Value : Conventions s'appliquant dans la documentation de Value :
* Le "plug-in d'analyse de valeur" s'appelle "the value analysis plug-in", * Le "plug-in d'analyse de valeur" s'appelle "the value analysis plug-in",
"the plug-in", "the value analysis" ou "the analysis". "the plug-in", "the value analysis" ou "the analysis".
Les deux derniers sont à utiliser quand le sujet de l'action Les deux derniers sont à utiliser quand le sujet de l'action
peut être une analyse particulière d'un code particulier. peut être une analyse particulière d'un code particulier.
Utiliser "Frama-C" si et seulement si Frama-C est Utiliser "Frama-C" si et seulement si Frama-C est
l'interface visible pour l'action dont il est question, par exemple : l'interface visible pour l'action dont il est question, par exemple :
...@@ -20,19 +20,19 @@ synthetic information on the behavior of analyzed functions: ...@@ -20,19 +20,19 @@ synthetic information on the behavior of analyzed functions:
inputs, outputs, and alarms. inputs, outputs, and alarms.
* La personne qui utilise Value s'appelle "l'utilisateur" ; * La personne qui utilise Value s'appelle "l'utilisateur" ;
la personne qui a écrit l'application s'appelle "programmeur", la personne qui a écrit l'application s'appelle "programmeur",
mais on n'a pas souvent de raison de parler d'elle. mais on n'a pas souvent de raison de parler d'elle.
* Sauf cas particulier, si un exemple contient le point d'entrée, * Sauf cas particulier, si un exemple contient le point d'entrée,
alors ce point d'entrée s'appelle \verb|main|. Un exemple peut alors ce point d'entrée s'appelle \verb|main|. Un exemple peut
aussi ne pas contenir de fonction \verb|main|, ce qui indique aussi ne pas contenir de fonction \verb|main|, ce qui indique
qu'il ne s'agit que d'une partie d'un projet plus grand. qu'il ne s'agit que d'une partie d'un projet plus grand.
* Le shell n'est pas csh. Le shell peut être bash, zsh, le prompt * Le shell n'est pas csh. Le shell peut être bash, zsh, le prompt
peut avoir été customisé par l'utilisateur, ou l'utilisateur peut peut avoir été customisé par l'utilisateur, ou l'utilisateur peut
être sous Windows et avoir un prompt de la forme "C:\>". Donc, être sous Windows et avoir un prompt de la forme "C:\>". Donc,
on n'écrit pas de prompt précédant les commandes à taper au on n'écrit pas de prompt précédant les commandes à taper au
prompt, sinon l'utilisateur il croit que ça fait partie de la commande. prompt, sinon l'utilisateur il croit que ça fait partie de la commande.
Le style "verbatim" fait partie des éléments qui aident à reconnaître Le style "verbatim" fait partie des éléments qui aident à reconnaître
les commandes qui peuvent être tappées, et puis on peut/pourra aussi les commandes qui peuvent être tappées, et puis on peut/pourra aussi
tout faire dans l'interface graphique. tout faire dans l'interface graphique.
\ No newline at end of file
...@@ -3,4 +3,4 @@ void main() ...@@ -3,4 +3,4 @@ void main()
//@ loop unroll 20; // should be 21 //@ loop unroll 20; // should be 21
for (int i = 0 ; i <= 20 ; i ++) { for (int i = 0 ; i <= 20 ; i ++) {
} }
} }
\ No newline at end of file
...@@ -6,4 +6,4 @@ void main(void) ...@@ -6,4 +6,4 @@ void main(void)
/*@ loop pragma WIDEN_HINTS i, 12, 13; */ /*@ loop pragma WIDEN_HINTS i, 12, 13; */
for (i=0; i<n; i++) for (i=0; i<n; i++)
j = 4 * i + 7; j = 4 * i + 7;
} }
\ No newline at end of file
Reference_implementation is extracted from http://www.schneier.com/code/skein.zip Reference_implementation is extracted from http://www.schneier.com/code/skein.zip
\ No newline at end of file
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