Réserver une Démo
Pré. Proc.

Analyseur d'expressions Parser

Statemachine d'état pour l' Parser d'expressions régulières

La classe RegularExpressionParser est définie avec un attribut : bMatch.

An Example Regular Expression Parser Class in Sparx Systems Enterprise Architect

Une Statemachine est utilisée pour décrire l'expression régulière (a|b)*abb

Example Regular Expression in StateMachine in Sparx Systems Enterprise Architect.

  • Les déclencheurs de transition sont spécifiés en tant qu'événements a , b , x et reset
  • Lors de l'entrée dans State4, bMatch est défini sur True ; à la sortie de State4, bMatch est défini sur False
  • À l'entrée de State5, bMatch est défini sur False
  • Lors de la transition automatique de State6, bMatch est défini sur False

Personnaliser index.html et statemachineGUI.js

Apportez ces modifications aux fichiers générés :

  • Créer 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
  • A l'initialisation, diffuser ' reset '
  • Sur l'événement de diffusion, demandez la variable d'exécution 'regxParser.bMatch'
Dans statemachineGUI.js , recherchez la fonction 'onRuntimeValueResponse'.
  • Dans 'regxParser.bMatch', nous recevrons 'True' ou 'False' et le passerons dans 'SetResult' pour mettre à jour l'image

L'exemple complet

L'exemple est accessible depuis la page 'Resources' du site de Sparx Systems , en cliquant sur ce lien :

Simulation Parser expressions régulières