doc: minor corrections on "developpez en Nit"
[nit.git] / doc / developpez / syntaxe / syntaxe.tex
index fb5a837..b9ec45e 100644 (file)
@@ -1,4 +1,4 @@
-\part{Syntaxe et éléments de bases de Nit}\r
+\part{Syntaxe et éléments de base de Nit}\r
 \r
 \chapter{Syntaxe}\r
 \r
@@ -25,7 +25,7 @@ Chaque objet, classe, module ou variable est associ
 \r
 Attention : Le compilateur lèvera une exception si une variable commence par une majuscule.\r
 \r
-Un identificateur ne peut pas appartenir à la liste des mots clés réservé du langage Nit :\r
+Un identificateur ne peut pas appartenir à la liste des mots clés réservés du langage Nit :\r
 \begin{multicols}{4}\r
   \begin{itemize}\r
       \item |abort|\r
@@ -87,7 +87,7 @@ Quelques r
 \begin{itemize}\r
     \item On préfèrera utiliser la notation basée sur le soulignement pour les variables. Par exemple : |ma_variable| ;\r
     \item Les types, comme les noms des classes seront écrits en \og CamelCase \fg. Par exemple : |MaClasse| ;\r
-    \item L'indentation est faite avec le caractère de tabulation et est afficher comme 8 espaces ;\r
+    \item L'indentation est faite avec le caractère de tabulation et est affichée comme 8 espaces ;\r
     \item Les opérateurs sont entourés d'espaces. Par exemple : |4 + 5| ou |x = 5| ;\r
     \item Les spécificateurs de type (|:|) et les virgules (|,|) ont un espace après mais pas avant. Par exemple : |var x: X| ou |[1, 2, 3]| ;\r
     \item Les parenthèses (|()|) et les crochets (|[]|) ne prennent pas d'espaces ;\r
@@ -102,7 +102,7 @@ Il peuvent s'utiliser seulement sur une ligne ou alors en fin de ligne comme le
 \r
 A l'heure actuelle, Nit ne supporte pas les commentaires multi-lignes.\r
 \r
-\chapter{Éléments de bases de Nit}\r
+\chapter{Éléments de base de Nit}\r
 \r
 \section{Déclaration et utilisation des variables}\r
 \r
@@ -133,7 +133,7 @@ Exemple d'utilisation du mot cl
 Vous remarquerez qu'en Nit, il n'est pas nécessaire d'utiliser les parenthèses si le constructeur ne prend pas de paramètres.\r
 \r
 \section{Type nullable}\r
-Pour éviter les exceptions |nullPointerException| qui peuvent être très fréquentes sur d'autres langages, Nit impose au développeur de préciser si une variable a le droit de prendre la valeur |null|.\r
+Pour éviter les exceptions |nullPointerException| qui peuvent être fréquentes sur d'autres langages, Nit impose au développeur de préciser si une variable a le droit de prendre la valeur |null|.\r
 \r
 Pour préciser qu'une variable peut prendre la valeur |null|, il faut utiliser le mot clé |nullable|.\r
 \r
@@ -207,7 +207,7 @@ L'usage des parenth
        \r
 \section{Structures de contrôles}\r
 \r
-Comme les autres langages de développement, Nit propose un ensemble d'instruction qui permettent d'organiser et de structurer les traitements. L'usage de ces instructions est similaire à celui rencontré à leur équivalent dans d'autres langages.\r
+Comme les autres langages de développement, Nit propose un ensemble d'instructions qui permettent d'organiser et de structurer les traitements. L'usage de ces instructions est similaire à celui rencontré à leur équivalent dans d'autres langages.\r
 \r
 \subsection{Boucles}\r
 \subsubsection{While}\r
@@ -235,7 +235,7 @@ Le |for| peut lui aussi s'
 \lstinputlisting[language=Nit, linerange=18]{./syntaxe/listings/for_c.nit}\r
 \r
 \subsubsection{Loop}\r
-Les boucles infinies sont souvent utilisés accompagnées de l'instruction |break|. Elles sont utiles pour implémenter les boucles de type \og jusqu'à \fg |untill| ou pour simuler le |exit when| de Ada.\r
+Les boucles infinies sont souvent utilisés accompagnées de l'instruction |break|. Elles sont utiles pour implémenter les boucles de type \og jusqu'à \fg \textit{untill} ou pour simuler le \textit{exit when} de Ada.\r
 \r
 \lstinputlisting[language=Nit]{./syntaxe/listings/loop_c.nit}\r
 \r
@@ -253,7 +253,7 @@ Exemple :
 On peut aussi utiliser des clauses |else if| pour chaîner plusieurs tests :\r
 \lstinputlisting[language=Nit, linerange=9-17]{./syntaxe/listings/if_c.nit}\r
 \r
-Attention : Si on utilise un |else| ou un |else if|, l'instruction ne peut pas être écrit \og OnLiner \fg.\r
+Attention : Si on utilise un |else| ou un |else if|, l'instruction ne peut pas être écrit \textit{On Liner}.\r
 \r
 \subsection{Débranchements}\r
 |continue| permet de passer immédiatement à l'itération suivante dans une boucle |for|, |while| ou |loop| :\r
@@ -271,7 +271,7 @@ On peut aussi utiliser les labels de la m
 L'instruction |abort| permet d'arrêter le programme en lançant une erreur fatale.\r
 \r
 \subsection{Assertions}\r
-L'instruction |assert| vérifie si une expression booléenne est vrai, sinon elle arrêtera le programme comme |abort|. Elle peut être combinée à une close |else| pour exécuter du code avant d'arrêter le programme :\r
+L'instruction |assert| vérifie si une expression booléenne est vrai, sinon elle arrêtera le programme comme |abort|. Elle peut être combinée à une clause |else| pour exécuter du code avant d'arrêter le programme :\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/assert_c.nit}\r
 \r
 Comme on peut le voir dans l'exemple précédent, une étiquette peut être précisée pour être affichée dans le message d'erreur.\r
@@ -294,15 +294,15 @@ Ce m
 \r
 Attention, en Nit, la première case du tableau est la case 0 !\r
 \r
+\subsection{Parcours d'un tableau}\r
+On peut parcourir les tableaux grâce à une boucle |for| :\r
+\lstinputlisting[language=Nit, linerange=3-5, firstnumber=last]{./syntaxe/listings/array2_c.nit}\r
+\r
 \subsection{Initialisation explicite d'un tableau}\r
 Il existe une manière plus rapide de créer les tableaux en initialisant explicitement le tableau avec les valeurs qu'il doit contenir.\r
 \r
 \lstinputlisting[language=Nit, linerange=1]{./syntaxe/listings/array2_c.nit}\r
 \r
-\subsection{Parcours d'un tableau}\r
-On peut parcourir les tableaux grâce à une boucle |for| :\r
-\lstinputlisting[language=Nit, linerange=3-5, firstnumber=last]{./syntaxe/listings/array2_c.nit}\r
-\r
 %\section{Intervalles}\r
 %TODO vérifier et faire\r
 %Il est possible de déclarer des intervalles |Range| basés sur des types discrets (comme |Int| par exemple). Il existe deux types d'intervalles : les intervalles ouverts |[1..5[| qui excluent le dernier élément, et les intervalles fermés |[1..5]| qui incluent le dernier élément.\r
@@ -311,27 +311,27 @@ On peut parcourir les tableaux gr
 \r
 \r
 \section{Conversions de types}\r
-En Nit, il n'existe pas de mot clé de transtypage. Les conversions de types se font par des méthodes. La bibliothèque standard fournit une série de classe qui contiennent des méthodes de manipulation et de conversion de types.\r
+En Nit, il n'existe pas de mot clé de transtypage. Les conversions de types se font par des méthodes. La bibliothèque standard fournit une série de classes qui contiennent des méthodes de manipulation et de conversion de types.\r
 \r
 \begin{tabularx}{\linewidth}{|c|X|}\r
        \hline\r
        \textbf{Classe} & \textbf{Rôle} \\\r
        \hline\r
-       Char & pour les caractères \\\r
+       \textit{Char} & pour les caractères \\\r
        \hline\r
-       String & pour les chaînes de caractères \\\r
+       \textit{String} & pour les chaînes de caractères \\\r
        \hline\r
-       Int & pour les entiers \\\r
+       \textit{Int} & pour les entiers \\\r
        \hline\r
-       Float & pour les nombres à virgule flottante \\\r
+       \textit{Float} & pour les nombres à virgule flottante \\\r
        \hline\r
 \end{tabularx}\r
 \r
-Par exemple la classe Int propose les méthodes suivantes :\r
+Par exemple la classe \textit{Int} propose les méthodes suivantes :\r
 \begin{description}\r
-       \item[Int.to\_c:Char] Retourne le caractère correspondant.\r
-       \item[Int.to\_f:Float] Retourne l'entier sous forme de |Float|.\r
-       \item[Int.to\_s:String] Retourne l'entier sous forme de |String|.\r
+       \item[Int.to\_c: Char] Retourne le caractère correspondant.\r
+       \item[Int.to\_f: Float] Retourne l'entier sous forme de |Float|.\r
+       \item[Int.to\_s: String] Retourne l'entier sous forme de |String|.\r
 \end{description}\r
 \r
 \section{Manipulation de chaînes de caractères}\r
@@ -357,7 +357,7 @@ Attention, Nit ne supporte que l'encodage UTF-8 !
 \r
 \subsection{Caractères spéciaux}\r
 \r
-Dans un chaîne de caractères, plusieurs caractères particuliers doivent être échappés grâce au caractère |\| pour être utilisés. \r
+Dans une chaîne de caractères, plusieurs caractères particuliers doivent être échappés grâce au caractère |\| pour être utilisés. \r
 \r
 Le tableau ci-dessous recense les principaux caractères à échapper :\r
 \r
@@ -396,7 +396,7 @@ Pour concat
 Par exemple avec un Int :\r
 \lstinputlisting[language=Nit, linerange=7-7]{./syntaxe/listings/string_c.nit}\r
 \r
-Une notation allégée permet de concaténer une variable ou une expression avec une chaine de caractère :\r
+Une notation particulière permet d'inclure une variable ou une expression dans une chaine de caractères :\r
 \lstinputlisting[language=Nit, linerange=9-10]{./syntaxe/listings/string_c.nit}\r
 \r
 La notation allégée appelle implicitement la méthode |to_s| sur les types autres que |String| :\r
@@ -406,11 +406,11 @@ La notation all
 \r
 \subsection{Comparaison de chaînes de caractères}\r
 \r
-En Nit il est possible de comparer deux chaînes de caractères directement grâce à l'opérateur |==|. Contrairement à Java par exemple, Nit va comparer la valeur des objets String est non pas les objets en eux-mêmes.\r
+En Nit il est possible de comparer deux chaînes de caractères directement grâce à l'opérateur |==|. Contrairement à Java par exemple, Nit va comparer la valeur des objets String est non pas les références vers les objets.\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/string2_c.nit}\r
 \r
 \subsection{Autres opérations sur les chaînes de caractères}\r
-Les méthodes |to_upper| et |to_lower| permettent respectivement d'obtenir une chaîne tout en majuscule ou tout en minuscule.\r
+Les méthodes |to_upper| et |to_lower| permettent respectivement d'obtenir une chaîne toute en majuscule ou toute en minuscule.\r
 \r
 La méthodes |length| permet d'obtenir la taille de la chaîne.\r
 \r
@@ -427,7 +427,7 @@ Nit est le premier langage 
 Par exemple :\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/typage_c.nit}\r
 \r
-Les instructions de contrôle de flot vont eux aussi agir sur le typage de la variable :\r
+Les instructions de contrôle de flot vont elles aussi agir sur le typage de la variable :\r
 \lstinputlisting[language=Nit]{./syntaxe/listings/typage2_c.nit}\r
 \r
 Le typage adaptatif fonctionne aussi avec les types nullables :\r