|
@@ -1146,6 +1146,12 @@ type
|
|
begin
|
|
begin
|
|
if isBoolean then
|
|
if isBoolean then
|
|
result:=texprvalue.create_bool(not asBool)
|
|
result:=texprvalue.create_bool(not asBool)
|
|
|
|
+ else if is_ordinal(def) then
|
|
|
|
+ begin
|
|
|
|
+ result:=texprvalue.create_ord(value.valueord);
|
|
|
|
+ result.def:=def;
|
|
|
|
+ calc_not_ordvalue(result.value.valueord,result.def);
|
|
|
|
+ end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
error('Boolean', 'NOT');
|
|
error('Boolean', 'NOT');
|
|
@@ -1162,6 +1168,14 @@ type
|
|
v.error('Boolean','OR');
|
|
v.error('Boolean','OR');
|
|
result:=texprvalue.create_error;
|
|
result:=texprvalue.create_error;
|
|
end
|
|
end
|
|
|
|
+ else if is_ordinal(def) then
|
|
|
|
+ if is_ordinal(v.def) then
|
|
|
|
+ result:=texprvalue.create_ord(value.valueord or v.value.valueord)
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ v.error('Ordinal','OR');
|
|
|
|
+ result:=texprvalue.create_error;
|
|
|
|
+ end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
error('Boolean','OR');
|
|
error('Boolean','OR');
|
|
@@ -1178,6 +1192,14 @@ type
|
|
v.error('Boolean','XOR');
|
|
v.error('Boolean','XOR');
|
|
result:=texprvalue.create_error;
|
|
result:=texprvalue.create_error;
|
|
end
|
|
end
|
|
|
|
+ else if is_ordinal(def) then
|
|
|
|
+ if is_ordinal(v.def) then
|
|
|
|
+ result:=texprvalue.create_ord(value.valueord xor v.value.valueord)
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ v.error('Ordinal','XOR');
|
|
|
|
+ result:=texprvalue.create_error;
|
|
|
|
+ end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
error('Boolean','XOR');
|
|
error('Boolean','XOR');
|
|
@@ -1194,6 +1216,14 @@ type
|
|
v.error('Boolean','AND');
|
|
v.error('Boolean','AND');
|
|
result:=texprvalue.create_error;
|
|
result:=texprvalue.create_error;
|
|
end
|
|
end
|
|
|
|
+ else if is_ordinal(def) then
|
|
|
|
+ if is_ordinal(v.def) then
|
|
|
|
+ result:=texprvalue.create_ord(value.valueord and v.value.valueord)
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ v.error('Ordinal','AND');
|
|
|
|
+ result:=texprvalue.create_error;
|
|
|
|
+ end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
error('Boolean','AND');
|
|
error('Boolean','AND');
|