1 /* 2 * I have decided to add the left-hand-side ternary conditional operator in 3 * assignments, which exists in C++, to my programming language. Sometimes, 4 * it can make the code shorter, and it looks very cool. 5 */ 6 7 #target WASI //Will make the JavaScript tester slightly shorter. 8 9 Function gcd(Integer32 a, Integer32 b) Which Returns Integer32 Does 10 While b > 0 Loop 11 ((a > b) ? a : b) := ((a > b) ? (a - b) : (b - a)); 12 /* 13 * The compiler should transform the line above to: 14 * ``` 15 * If a > b Then 16 * a := ((a > b) ? (a - b) : (b - a)); 17 * // a := a - b; 18 * Else 19 * b := ((a > b) ? (a - b) : (b - a)); 20 * // b := b - a; 21 * EndIf 22 * ``` 23 */ 24 EndWhile 25 Return a; 26 EndFunction