Add extra inherited attributes to TransCond in Fig. 6.8 that, for each of the two target labels, indicates if this label immediately follows the code for the condition, i.e., a boolean-valued attribute for each of the two labels. Use this information to make sure that the false-destination labels of an IF-THEN-ELSE instruction follow immediately after the IF-THEN-ELSE instruction
You can use the function negate to negate relational operators so, e.g.,
negate(<)>
Make sure the new attributes are maintained in recursive calls and modify
TransStat in Fig. 6.5 so it sets these attributes when calling TransCond .
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here