Pré. | Proc. |
Parser d'expressions régulières
Statemachine pour Parser d'expressions régulières
La classe RegularExpressionParser est définie avec un attribut : bMatch.
Une Statemachine est utilisée pour décrire l'expression régulière (a|b)*abb
- Les déclencheurs de transition sont spécifiés comme des événements a , b , x et reset
- À l'entrée de l'État 4, bMatch est défini sur True ; à la sortie de l'État 4, bMatch est défini sur False
- À l'entrée de State5, bMatch est défini sur False
- Lors de l'auto-transition de l'état 6, bMatch est défini sur False
Personnaliser index.html et statemachineGUI.js
Apportez ces modifications aux fichiers générés :
- Créez un champ de saisie HTML et une image pour indiquer le résultat
- Créer JavaScript comme gestionnaire d'événements oninput du champ
- Créez la fonction « SetResult » pour basculer l'image réussite/échec
- Créez la fonction 'getEventStr', qui renverra 'a' sur ' a ' et 'b' sur ' b ', mais renverra 'x' sur tout autre caractère
- Lors de l'initialisation, diffuser « reset »
- Lors de l'événement de diffusion, demandez la variable d'exécution « regxParser.bMatch »
- Dans « regxParser.bMatch », nous recevrons « True » ou « False » et le transmettrons à « SetResult » pour mettre à jour l'image
L'exemple complet
L'exemple est accessible depuis la page « Ressources » du site Web Sparx Systems , en cliquant sur ce lien :