case '/': name = "fdiv"; break;
case '%': name = "frem"; break;
- case EQ: name = "fcmp eq"; break;
- case NEQ: name = "fcmp ne"; break;
- case '<': name = "fcmp slt"; break;
- case '>': name = "fcmp sgt"; break;
- case LTEQ: name = "fcmp sle"; break;
- case GTEQ: name = "fcmp sge"; break;
+ case EQ: name = "fcmp oeq"; break;
+ case NEQ: name = "fcmp une"; break;
+ case '<': name = "fcmp olt"; break;
+ case '>': name = "fcmp ogt"; break;
+ case LTEQ: name = "fcmp ole"; break;
+ case GTEQ: name = "fcmp oge"; break;
}
}
else
b* : Int
c : Int
d : Real
- e : array 5 of array 10 of Int
- f : TypeD
- g : array 5 of Int
- h : TypeF
- i : TypeA
+ e : Real
+ f : array 5 of array 10 of Int
+ g : TypeD
+ h : array 5 of Int
+ i : TypeF
+ j : TypeA
#procedure Foo*(e : Int, z : Int, q1 : TypeD, q2 : array 5 of Int) : Int
# const FOO = 2
begin
# Global variables
- i = 42;
- b = i;
+ b = 42;
+ b = j;
+
+ # Integer Arithmetic ops
+ c = b + 1;
+ c = 1 + b;
+ c = b + b;
+
+ c = b - 1;
+ c = 1 - b;
+ c = b - b;
+
+ c = b * 1;
+ c = 1 * b;
+ c = b * b;
+
+ c = b / 1;
+ c = 1 / b;
+ c = b / b;
+
+ c = b % 1;
+ c = 1 % b;
+ c = b % b;
+
+ # Integer Comparison ops
+ a = b == 1;
+ a = 1 == b;
+ a = b == b;
+
+ a = b != 1;
+ a = 1 != b;
+ a = b != b;
+
+ a = b < 1;
+ a = 1 < b;
+ a = b < b;
+
+ a = b > 1;
+ a = 1 > b;
+ a = b > b;
+
+ a = b <= 1;
+ a = 1 <= b;
+ a = b <= b;
+
+ a = b >= 1;
+ a = 1 >= b;
+ a = b >= b;
+
+ # Real Arithmetic ops
+ e = d + 1.0;
+ e = 1.0 + d;
+ e = d + d;
+
+ e = d - 1.0;
+ e = 1.0 - d;
+ e = d - d;
+
+ e = d * 1.0;
+ e = 1.0 * d;
+ e = d * d;
+
+ e = d / 1.0;
+ e = 1.0 / d;
+ e = d / d;
+
+ e = d % 1.0;
+ e = 1.0 % d;
+ e = d % d;
+
+ # Real Comparison ops
+ a = d == 1.0;
+ a = 1.0 == d;
+ a = d == d;
+
+ a = d != 1.0;
+ a = 1.0 != d;
+ a = d != d;
+
+ a = d < 1.0;
+ a = 1.0 < d;
+ a = d < d;
+
+ a = d > 1.0;
+ a = 1.0 > d;
+ a = d > d;
+
+ a = d <= 1.0;
+ a = 1.0 <= d;
+ a = d <= d;
+
+ a = d >= 1.0;
+ a = 1.0 >= d;
+ a = d >= d;
+
-# # Arithmetic ops
-# c = b + 1;
-# c = 1 + b;
-# c = b + b;
-#
-# c = b - 1;
-# c = 1 - b;
-# c = b - b;
-#
-# c = b * 1;
-# c = 1 * b;
-# c = b * b;
-#
-# c = b / 1;
-# c = 1 / b;
-# c = b / b;
-#
-# c = b % 1;
-# c = 1 % b;
-# c = b % b;
-
-# # Comparison ops
-# a = b == 1;
-# a = 1 == b;
-# a = b == b;
-#
-# a = b != 1;
-# a = 1 != b;
-# a = b != b;
-#
-# a = b < 1;
-# a = 1 < b;
-# a = b < b;
-#
-# a = b > 1;
-# a = 1 > b;
-# a = b > b;
-#
-# a = b <= 1;
-# a = 1 <= b;
-# a = b <= b;
-#
-# a = b >= 1;
-# a = 1 >= b;
-# a = b >= b;
# b = 1;
# if c == b then
# b = 24;
# end
-
# h[1].i = 42;
# a = true;
# a = A;