Analyseur lexical

Résolu/Fermé
HRABY FETHIA Messages postés 1 Date d'inscription samedi 27 avril 2013 Statut Membre Dernière intervention 29 avril 2013 - 29 avril 2013 à 00:12
jeremux Messages postés 58 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 30 mai 2013 - 29 avril 2013 à 13:45
selem. S'il vous plait j'ai un langage mais je n'ai pas pu lui realiser son analyseur lexical et syntaxique? pouvez vous m'aider? merci :)
le langage est le suivant:
On suppose un langage d'assemblage avec une possibilité de définir et utiliser des macro-instructions. La définition d'une macro-instruction suit la syntaxe suivante :
<macro instruction> : := <etiquette> MACRO <liste d'instructions> ENDMACRO
<liste d'instructions> : := <instruction> | <instruction> <Liste d'instructions>
<instruction> : := <charger> | <stocker> | <addition>
<addition> : := ADD <operande> | ADD nombre
<charger> : := LOAD <operande> | LOAD nombre
<stocker> : := STORE <operande>
<operande> : := identificateur | identificateur , identificateur
<etiquette> : := identificateur
L'utilisation d'une macro-instruction est une instruction d'invocation du nom (étiquette) de la macro-instruction dans un programme.
<programme> : : = <etiquette> BEGIN <corps> END <etiquette>
<corps> : := <suite declarations> <suite d'instructions>
<suite declarations : := <declaration> <declaration> <suite declarations>
<declaration> : : = <etiquette> RES nombre | <etiquette> BYTE
<suite d'instructions> : :=liste d'instructions> | <macro> | <macro> <corps>
<macro> : := <etiquette>
A voir également:

1 réponse

jeremux Messages postés 58 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 30 mai 2013 4
29 avril 2013 à 13:45
Bonjour,

On ne s'est pas déjà croisé ? :p

Tes grammaires sont déjà écrites! Essaie maintenant de décrire chaque entités lexicales avec des expressions régulières.

Par exemple nombre=[1-9][0-9]*, identificateur=[a-z]([a-Z] | [0-9])* par exemple...

Après à toi d'utiliser les outils fourni pour les décrire.
0