Changes between Version 25 and Version 26 of CaoCourseTme3
- Timestamp:
- Feb 17, 2007, 7:48:41 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme3
v25 v26 44 44 et correspondant à une expression régulière : mot-clef, identificateur, etc... 45 45 Le but de cette première étape est d'écrire le fichier ''vst.l'' qui définit les expressions 46 régulières correspondant à tous les "tokens" utilisés parformat ''.vst''.46 régulières correspondant à tous les "tokens" utilisés dans un fichier texte respectant le format ''.vst''. 47 47 48 48 1. On rappelle qu'en VHDL, les lettres majuscules et minuscules ne sont pas différenciées. Cherchez dans le manuel de '''flex''' [wiki:CaoCourseTME3FlexManual Flex_Manual] une manière simple de générer un analyseur lexical qui ne fasse pas la différence entre majuscules et minuscules. … … 201 201 202 202 Dessinez explicitement le graphe représentant la grammaire associée au format ''.vst''. 203 Dans ce graphe, qui a - presque - une structure d'arbre, chaque noeud correspond à une construction grammaticale (c'est à dire une règle de grammaire), et un arc orienté entre deux noeuds X et Y signifie : "La construction grammaticale Y est contenue dans la construction grammaticale X". Les constructions grammaticales élémentaires sont les tokens, 204 et constituent les "feuilles" de l'arbre. 205 206 La syntaxe de la construction grammaticale correspondant à la déclaration d'un signal a déjà été définie. Il reste donc à : 203 Dans ce graphe, qui a - presque - une structure d'arbre, chaque noeud correspond à une construction grammaticale (c'est à dire une règle de grammaire), et un arc orienté entre deux noeuds X et Y signifie : "La construction grammaticale Y est contenue dans la construction grammaticale X". Les constructions grammaticales élémentaires sont les tokens, et constituent les "feuilles" de l'arbre. 204 205 La syntaxe de la construction grammaticale correspondant à la déclaration d'un signal a déjà été définie. Il faut donc : 207 206 1. Définir la construction grammaticale correspondant à la délaration d'un port 208 207 1. Définir la construction grammaticale correspondant à la déclaration d'un composant … … 210 209 1. Définir la construction grammaticale correspondant à la déclaration d'une instance 211 210 1. Définir toutes les règles nécessaires à l'analyse du fichier complet. 212 213 Vous pouvez faire des validations intermédiaires simplement en utilisant le symbole racine: 214 {{{ 215 %start regle 216 }}} 217 Vous pouvez considérer que le TME est terminé lorsque le parser construit 218 à partir des deux fichiers ''vst.l'' et ''vst.y'' est capable de lire et de reconnaitre 211 212 Dans cette étape, on n'attachera aucune action de compilation aux règles grammaticales 213 définies dans le fichier ''vst.y''. 214 215 Vous pouvez considérer que le TME est terminé lorsque le parser, construit automatiquement 216 par le Makefile à partir des deux fichiers ''vst.l'' et ''vst.y'', est capable de lire et de reconnaitre 219 217 la totalité du fichier ''exemple.vst''. 218 Vous validerez le parser complet en lançant l'analyse syntaxique du fichier ''exemple.vst''. 219 {{{ 220 $ parser ../exemple.vst 221 }}} 220 222 221 223 = Compte-Rendu = … … 223 225 Il n'y a pas de compte-rendu écrit à rendre pour ce TME. 224 226 Il vous sera demandé une démonstration de votre analyseur lexical 225 et de votre analyseur syntaxique au début du prochain TME... qui pourra 226 porter su un autre fichier que le fichier exemple.vst. 227 227 et de votre analyseur syntaxique au début du TME4. 228 Attention... Cette démonstration pourra porter sur un autre fichier 229 que le fichier ''exemple.vst''. 230