/[geocaml]/geocaml/doc/rapport/rapport2.tex
ViewVC logotype

Diff of /geocaml/doc/rapport/rapport2.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by gmariano, Thu Mar 27 14:22:06 2003 UTC revision 1.3 by gmariano, Fri Sep 5 20:04:32 2003 UTC
# Line 2  Line 2 
2  % $Id$  % $Id$
3    
4  \chapter{Affichage graphique}  \chapter{Affichage graphique}
5    \minitoc{}
6    
7  Le module d'affichage précédemment développé était très simple et par  Le module d'affichage précédemment développé était très simple et par
8  conséquent peu adapté et peu efficace pour être intégré dans un outil  conséquent peu adapté et peu efficace pour être intégré dans un outil
# Line 356  ce faire le module \texttt{Random} de OC Line 356  ce faire le module \texttt{Random} de OC
356    
357  \newpage  \newpage
358  \chapter{Modélisation et arbre abstrait}  \chapter{Modélisation et arbre abstrait}
359    \minitoc{}
360    
361  Tout le fonctionnement du programme repose sur le module  Tout le fonctionnement du programme repose sur le module
362  \texttt{Geom}. Il permet de représenter de manière abstraite les  \texttt{Geom}. Il permet de représenter de manière abstraite les
# Line 487  sont présentes dans le module \texttt{Ge Line 488  sont présentes dans le module \texttt{Ge
488  et détaillées deux chapitres plus loin.  et détaillées deux chapitres plus loin.
489    
490  \chapter{Définition d'un langage pour la géométrie}  \chapter{Définition d'un langage pour la géométrie}
491    \minitoc{}
492    
493  Une des idées fondamentales de ce projet est de définir un langage  Une des idées fondamentales de ce projet est de définir un langage
494  permettant de décrire des figures géométriques. Afin que son  permettant de décrire des figures géométriques. Afin que son
# Line 503  d'analyseurs lexicaux et syntaxiques que Line 505  d'analyseurs lexicaux et syntaxiques que
505  \texttt{ocamlyacc}. Pour des raisons d'évolutivité nous avons opté  \texttt{ocamlyacc}. Pour des raisons d'évolutivité nous avons opté
506  pour l'utilisation de \texttt{ocamllex/ocamlyacc}.  pour l'utilisation de \texttt{ocamllex/ocamlyacc}.
507    
508  \section{Utlisation de \texttt{ocamllex} pour l'analyse lexicale}  \section{Utilisation de \texttt{ocamllex} pour l'analyse lexicale}
509    
510  L'outil \texttt{ocamllex} est un générateur d'analyseur lexical basé  L'outil \texttt{ocamllex} est un générateur d'analyseur lexical basé
511  sur le modèle de l'outil \texttt{lex} dédié au langage C. Il permet de  sur le modèle de l'outil \texttt{lex} dédié au langage C. Il permet de
# Line 723  La fonction \verb+add_abr+ est utilisée Line 725  La fonction \verb+add_abr+ est utilisée
725  l'arbre syntaxique.  l'arbre syntaxique.
726    
727  \chapter{XML/XSLT et \LaTeX/PSTricks}  \chapter{XML/XSLT et \LaTeX/PSTricks}
728    \minitoc{}
729    
730  Offrir une sortie sur papier est essentiel pour un logiciel de  Offrir une sortie sur papier est essentiel pour un logiciel de
731  construction géométrique. La solution que nous avons retenue pour  construction géométrique. La solution que nous avons retenue pour
# Line 929  indique le nom de l'élément XML auquel l Line 932  indique le nom de l'élément XML auquel l
932  \verb+name+ elle fournit juste un nom au modèle.  \verb+name+ elle fournit juste un nom au modèle.
933    
934  Exemples:  Exemples:
935  \begin{center}  
936  \begin{boxedverbatim}  \begin{boxedverbatim}
937    <xsl:template match= "mon_element_XML"> ... mon_modele ...    <xsl:template match= "mon_element_XML"> ... mon_modele ...
938    </xsl:template>    </xsl:template>
939  \end{boxedverbatim}  \end{boxedverbatim}
940  \end{center}  
941  \smallskip  \smallskip
942  \begin{center}  
943  \begin{boxedverbatim}  \begin{boxedverbatim}
944    <xsl:template name="nom_de_mon_modele"> ... mon_modele ...    <xsl:template name="nom_de_mon_modele"> ... mon_modele ...
945    </xsl:template>    </xsl:template>
946  \end{boxedverbatim}  \end{boxedverbatim}
947  \end{center}  
948  \medskip  \medskip
949    
950    
# Line 958  visée à l'intérieur du noeud courant. Pa Line 961  visée à l'intérieur du noeud courant. Pa
961  et appliqué non pas à une balise particulière mais au noeud courant.  et appliqué non pas à une balise particulière mais au noeud courant.
962    
963  Exemples:  Exemples:
964  \begin{center}  
965  \begin{boxedverbatim}  \begin{boxedverbatim}
966    ...  <xsl:apply-templates select="mon_element_XML"/> ...    ...  <xsl:apply-templates select="mon_element_XML"/> ...
967  \end{boxedverbatim}  \end{boxedverbatim}
968  \end{center}  
969  \smallskip  \smallskip
970  \begin{center}  
971  \begin{boxedverbatim}  \begin{boxedverbatim}
972    ...  <xsl:call-template name = "nom_de_mon_modele"/> ...    ...  <xsl:call-template name = "nom_de_mon_modele"/> ...
973  \end{boxedverbatim}  \end{boxedverbatim}
974  \end{center}  
975  \medskip  \medskip
976    
977    
# Line 978  Viennent ensuite les éléments de contrôl Line 981  Viennent ensuite les éléments de contrôl
981  attribut \xsla{test}{if} prend comme valeur une expression booléenne.  attribut \xsla{test}{if} prend comme valeur une expression booléenne.
982    
983  Exemple:  Exemple:
984  \begin{center}  
985  \begin{boxedverbatim}  \begin{boxedverbatim}
986    <xsl:if test="expression_booleenne"> ... action ...  </xsl:if>    <xsl:if test="expression_booleenne">
987      ... action ...  
988      </xsl:if>
989  \end{boxedverbatim}  \end{boxedverbatim}
990  \end{center}  
991  \medskip  \medskip
992  \xslb{for-each} permet d'itérer une action sur chacun des noeuds  \xslb{for-each} permet d'itérer une action sur chacun des noeuds
993  définis dans l'attribut \xsla{select}{for-each}.  définis dans l'attribut \xsla{select}{for-each}.
994    
995  Exemple:  Exemple:
996  \begin{center}  
997  \begin{boxedverbatim}  \begin{boxedverbatim}
998    <xsl:for-each select="selection_de_noeuds"> ... action ...    <xsl:for-each select="selection_de_noeuds">
999      ... action ...
1000    </xsl:for-each>    </xsl:for-each>
1001  \end{boxedverbatim}  \end{boxedverbatim}
1002  \end{center}  
1003  \medskip  \medskip
1004  \xslb{choose} permet de lister plusieurs  \xslb{choose} permet de lister plusieurs
1005  possibilités\footnote{équivalent du \textit{case} en C} que l'on  possibilités\footnote{équivalent du \textit{case} en C} que l'on
# Line 1004  une expression booléenne)  et éventuelle Line 1010  une expression booléenne)  et éventuelle
1010    
1011    
1012  Exemple:  Exemple:
1013  \begin{center}  
1014  \begin{boxedverbatim}  \begin{boxedverbatim}
1015    <xsl:choose> <xsl:when test="expression_booleenne_1"> ... action_1    <xsl:choose>
1016    ...  </xsl:when> <xsl:when test="expression_booleenne_2"> ...    <xsl:when test="expression_booleenne_1">
1017    action_2 ...  </xsl:when> ...  <xsl:otherwise> ... action par defaut    ... action_1 ...  
1018    ...  </xsl:otherwise> </xsl:choose>    </xsl:when>
1019      <xsl:when test="expression_booleenne_2">
1020      ... action_2 ...  
1021      </xsl:when> ...  
1022      <xsl:otherwise>
1023       ... action par defaut ...  
1024       </xsl:otherwise>
1025       </xsl:choose>
1026  \end{boxedverbatim}  \end{boxedverbatim}
1027  \end{center}  
1028  \medskip  \medskip
1029    
1030    
# Line 1022  l'utilisation de la fonction \xslb{value Line 1035  l'utilisation de la fonction \xslb{value
1035    
1036    
1037  Exemple:  Exemple:
1038  \begin{center}  
1039  \begin{boxedverbatim}  \begin{boxedverbatim}
1040    <xsl:value-of select="selection_de_noeuds"/>    <xsl:value-of select="selection_de_noeuds"/>
1041  \end{boxedverbatim}  \end{boxedverbatim}
1042  \end{center}  
1043    
1044  \newpage  \newpage
1045  \section{Présentation l'extension \texttt{pst-eucl.sty}}  \section{Présentation l'extension \texttt{pst-eucl.sty}}
# Line 1105  en sous-arbres d'intersection. C'est ce Line 1118  en sous-arbres d'intersection. C'est ce
1118    
1119  Listons les différentes balises qui seront utilisées:  Listons les différentes balises qui seront utilisées:
1120    
1121  \verb+<point name=... coordinates=... color=... >+\\  \noindent{}\verb+<point name=... coordinates=... color=... >+\\
1122  \verb+<line name=... pointA=... pointB=... color=... >+\\  \verb+<line name=... pointA=... pointB=... color=... >+\\
1123  \verb+<circle name=... pointA=... pointB=... color=... >+\\  \verb+<circle name=... pointA=... pointB=... color=... >+\\
1124  \verb+<inter_line_line name=... color=... >+\\  \verb+<inter_line_line name=... color=... >+\\
# Line 1211  commande \LaTeX générée l'option \verb+P Line 1224  commande \LaTeX générée l'option \verb+P
1224    
1225    
1226  \chapter{\GeOCaml{} sur Savannah}  \chapter{\GeOCaml{} sur Savannah}
1227    \minitoc{}
1228    
1229  \section{Présentation de Savannah}  \section{Présentation de Savannah}
1230  Savannah est une plateforme pour le développement, la distribution et  Savannah est une plateforme pour le développement, la distribution et

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26