< (NOP,TG_OPEN,NEXT) /*遇到标记*/
‘\0’ (NOP,NIL_SUCCEED,STOP) /*终结符*/
other (NOP,NIL_FAILED,STOP) /*无效字符*/
(TG_OPEN)
! (NOP,DS_OPEN,NEXT) /*遇到声明符*/
? (NOP,IS_OPEN,NEXT) /*遇到指令符*/
/ (POP,TG_PRE_CLOSE,NEXT) /*准备关闭标记*/
namepre (NOP,NS_NAME_BEGIN,PAUSE) /*元素名开始*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(DS_OPEN)
other (NOP,DS_SKIP,PAUSE) /*忽略声明*/
(DS_SKIP)
> (NOP,DS_CLOSE,PAUSE) /*声明结束*/
other (NOP,DS_SKIP,NEXT) /*忽略声明*/
(DS_CLOSE)
> (NOP,TG_CLOSE,PAUSE) /*标记关闭*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(CM_BEGIN)
- (NOP,CM_END,SKIP) /*注释开始*/
token (NOP,CM_BEGIN,NEXT) /*继续注释串*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(CM_END)
> (NOP,DS_CLOSE,PAUSE) /*注释关闭*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(CD_BEGIN)
] (NOP,CD_END,SKIP) /*界段开始*/
token (NOP,CD_BEGIN,NEXT) /*继续界段*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(CD_END)
> (NOP,DS_CLOSE,PAUSE) /*声明关闭*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(IS_OPEN)
namepre (NOP,IS_NAME_BEGIN,PAUSE) /*指令名开始*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(IS_NAME_BEGIN)
space (NOP,IS_NAME_END,PAUSE) /*指令名结束*/
? (NOP,IS_NAME_END,PAUSE) /*指令名结束*/
& (NOP,IS_NAME_BEGIN,SKIP) /*字符转义*/
name (NOP,IS_NAME_BEGIN,NEXT) /*继续指令名*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(IS_NAME_END)
space (NOP,IS_NAME_END,NEXT) /*忽略空格*/
? (NOP,IS_CLOSE,NEXT) /*标记中断*/
namepre (NOP,IS_KEY_BEGIN,PAUSE) /*指令属性名开始*/
other (NOP,NIL_FAILED,STOP) /*非法字符*/
(IS_KEY_BEGIN)
space (NOP,IS_KEY_END,PAUSE) /*属性名结束*/
= (NOP,IS_KEY_END,PAUSE) /*属性名结束*/