因为我无法用你的例子编程,但条款写成程序,是这样的

来源: 2015-03-09 14:55:47 [博客] [旧帖] [给我悄悄话] 本文已被阅读:

If [red light]
     Then “stop at a marked limit line” (A,B);
If [an indication to proceed is shown]
     Then
          Go(A);
     Exception
          If [pedestrians lawfully within an adjacent crosswalk]
               Then
                   Yield (B);
          End If;
End If;

If [green light]
     Then
          If [pedestrians lawfully within an adjacent crosswalk]
          Then
               Yield(B);
          Else
               Go (A);
          End if;
End If;


在我看来,A和B不是平行的关系,所以没有dead loop,B作为A的一个exception, 它依旧可以独立存在,就是第二个if

如果程序走到exception而你不走,就用B罚。