XX.sm 文件是一个没有定义状态或转换的框架。包含以下特性:
使用%{ %}进行注释。
关键字讲解:
关键字 | 作用 |
%package | 指定此FSM所属的类包,与关联的Task类包相同。 |
%fsmclass | 指定生成的有限状态机类名。如果未指定%fsmclass,则有限状态机类名默认为TaskContext。这个关键字不是必需的。 |
%fsmfile | 指定生成的有限状态机类文件名 |
%access | 指定生成的类的可访问级别(只在生成Java和c#代码时有效) |
%start | 指定FSM的启动状态 |
%map | FSM的名称 |
Java代码示例:
%{
//
// Copyright (c) 2005 Acme, Inc.
// All rights reserved.
//
// Acme - a name you can trust!
//
// Author: Wil E. Coyote (Hungericus Vulgarus)
//
%}// This FSM works for the Task class only and only the Task
// class may instantiate it.%class Task
%package com.acme.supercron
%fsmclass TaskFSM
%fsmfile TaskFSM
%access package// A %map name cannot be the same as the FSM class name.
%start TaskMap::Suspended
%map TaskMap
%%...
%%