为了区别原来的字母a和b 使用#和$分别代替字母a和b 当a和b都识别后,带上的串为 ##..#SS$..SSB
l为了区别原来的字母a和b 使用#和$分别代替字母a和b 当a和b都识别后,带上的串为 ├###…##$$$…$$B
例6-5修改为: ①读到一个a,用#代替它,向右寻找b <start, a,del b,#R> <del b,a,del b,a,R> <del b,#del b,#R> <del b,$del b,$R>
例6-5 修改为: ①读到一个a,用#代替它,向右寻找b <start,a,del_b,#,R> <del_b,a,del_b,a,R> <del_b,#,del_b,#,R> <del_b,$,del_b,$,R>
②处于状态delb, 扫描到b,用$代替 它,向左寻找a, (从①重复) <del b,b,seek a,$L> <seek a, $seek a,$L> <seek a,#seek a,#,L> <seek a,a,del b,#R>
②处于状态del_b,扫描到b,用$代替 它,向左寻找a,(从①重复) <del_b,b,seek_a,$,L> <seek_a, $,seek_a, $ ,L> <seek_a, # ,seek_a, # ,L> <seek_a,a,del_b,#,R>
③在seek a状态时, 没有再发现a(都 己经被#所代替) 需检查是否所有的b都已经被扫描过 还必须注意#与$的顺序
③在seek_a状态时,没有再发现a(都 已经被#所代替) 需检查是否所有的b都已经被扫描过 还必须注意#与$的顺序
<seek a,上,check1,上,R> <checkl,#checkl,#R> <check1,$check2,$R> <check2,$check2,$R> <check2,B,accept,B,N>
<seek_a,┣,check1,┣,R> <check1,#,check1,#,R> <check1,$,check2,$,R> <check2,$,check2 ,$,R> <check2,B,accept,B,N>