//#isut // the the correct evaluation of conditions using the genCond(...); // only 1 should be produced on terminal class A { Int a; } { // booolean printInt(if(true) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(false) {return 0} else {return 1}); printChar(10); printChar(13); // binary operators (arithmetic) printInt(if(1 + 1) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(0 + 0) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(2 - 1) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(2 - 2) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(1 * 1) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(0 * 1) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(2 / 2) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(0 / 2) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(17 % 2) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(16 % 2) {return 0} else {return 1}); printChar(10); printChar(13); // binary operators (logical) printInt(if(1 == 1) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(1 == 0) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(0 != 1) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(1 != 1) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(0 < 1) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(1 < 1) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(1 > 0) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(1 > 1) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(1 <= 2) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(1 <= 0) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(2 >= 0) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(0 >= 2) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(true && true) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(true && false) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(true || false) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(false || false) {return 0} else {return 1}); printChar(10); printChar(13); // unary operators printInt(if(-true) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(-false) {return 0} else {return 1}); printChar(10); printChar(13); printInt(if(!false) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(!true) {return 0} else {return 1}); printChar(10); printChar(13); A aa = new A(true); // condition with variable printInt(if(aa.a) {return 1} else {return 0}); printChar(10); printChar(13); printInt(if(!aa.a) {return 0} else {return 1}); printChar(10); printChar(13); }