正在加载图片...
对于条件语句: E then s1,ese,S2可以考虑三目运 算符,如ES1S2f但这种表示方法当执行到运算符i时,E S1、S2三个运算对象已经全部计算过可或执行了,由于构造 的逆波兰式都是从左到右执行的,此时很难再回到前面去重 新执行或跳过相应的逆波兰式。为此可以用二目条件转移来 表 Esop S1<op2jmpS2,其中 ≤op 、<op2>分别 天S2的开始位置和跟在之后那个号的位置。利mp分 别为条件和无条件转运算符。类似可以引进条件转移的逆波 <运算对象1><运算对象2<运算符> 其中<运算对象1>是算术值或逻辑值,<运算对象2>是逆波兰 的某个编号或位置;<运算符>可以是、j、je、ige、j、 jnz等,分别表示小于、大于、小于等于、大于、等于、不等 于等转移的运算符。对于条件语句:if E then S1 else S2 可以考虑三目运 算符if,如ES1S2 if。但这种表示方法当执行到运算符if时,E、 S1、S2三个运算对象已经全部计算过可或执行了,由于构造 的逆波兰式都是从左到右执行的,此时很难再回到前面去重 新执行或跳过相应的逆波兰式。为此可以用二目条件转移来 表示:E<op1>jz S1<op2>jmpS2,其中,<op1>、<op2>分别 为S2的开始位置和跟在S2之后那个符号的位置。jz和jmp分 别为条件和无条件转运算符。类似可以引进条件转移的逆波 兰式为: <运算对象1> <运算对象2><运算符> 其中<运算对象1>是算术值或逻辑值,<运算对象2>是逆波兰 的某个编号或位置;<运算符>可以是jl、jg、jle、jge、jz、 jnz等,分别表示小于、大于、小于等于、大于、等于、不等 于等转移的运算符
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有