同数学表达式差不多,>,<,or也都是运算么!
可建立树形表达式:
|
> <
x 1 x 3
先替换其中变量:令x为2
针对每个运算符写处理函数,
将树从底向上运算,根据节点转入不同的处理函数,返回值则为运算结果,然后用运算结果取代本节点并删除本节点下的子树
到顶以后的运算结果就是本逻辑运算的结果
处理函数也很好写,比如对>
function biger(ex1,ex2:integer):boolean;
begin
result:=0;
if ex1>ex2 then result:=1;
end;
对or
function or1(ex1,ex2:boolean):boolean;
begin
result:=ex1 or ex2;
end;