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