预订演示
前页 后页

正则表达式解析器

正则表达式状态机解析器

RegularExpressionParser定义了一个属性:bMatch。

An Example Regular Expression Parser Class in Sparx Systems Enterprise Architect

状态机用于描述正则表达式 ( A |b)*abb

Example Regular Expression in StateMachine in Sparx Systems Enterprise Architect.

  • 转换触发器被指定为事件abxreset
  • 在进入 State4 时,bMatch 设置为True ;从 State4 退出时,bMatch 设置为False
  • 在进入 State5 时,bMatch 设置为False
  • 在 State6 的自我转换中,bMatch 设置为False

自定义 index.html 和 statemachineGUI.js

对生成的文件进行以下更改:

  • 创建一个 HTML 输入字段和一个图像来指示结果
  • 创建JavaScript作为字段的oninput事件处理程序
  • 创建函数“SetResult 以切换通过/失败图像
  • 创建函数“getEventStr”,它将在“a”上返回“ a ”,在“b”上返回“ b ”,但在任何其他字符上返回“x”
  • 初始化时,广播“重置
  • 在广播事件上,请求运行时变量“regxParser.bMatch”
statemachineGUI.js中,找到函数'onRuntimeValueResponse'。
  • 在“regxParser.bMatch”中,我们将收到“ True ”或“ False ”并将其传递给“SetResult”以更新图像

完全的示例

通过单击此链接,可以从Sparx Systems网站的“资源”页面访问该示例:

正则表达式解析器仿真