1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- type
- ttreetype = (addn,muln,subn,divn,
- modn,assignn,loadn,rangen,
- ltn,lten,gtn,gten,
- equaln,unequaln,inn,orn,
- xorn,shrn,shln,slashn,
- andn,subscriptn,derefn,addrn,
- ordconstn,typeconvn,calln,callparan,
- realconstn,fixconstn,umminusn,asmn,vecn,
- stringconstn,funcretn,selfn,
- notn,inlinen,niln,errorn,
- typen,hnewn,hdisposen,newn,
- simpledisposen,setelen,setconstrn,blockn,
- anwein,loopn,ifn,breakn,
- continuen,repeatn,whilen,forn,
- exitn,withn,casen,labeln,
- goton,simplenewn,tryexceptn,raisen,
- switchesn,tryfinallyn,isn,asn);
- { gibt an, welche Nachfolger eines Knotens }
- ptree = ^ttree;
- ttree = record
- left,right : ptree;
- treetype : ttreetype;
- end;
- function equal_trees(t1,t2 : ptree) : boolean;
- begin
- case t1^.treetype of
- realconstn,fixconstn,umminusn,asmn,vecn,
- stringconstn,funcretn,selfn,
- equaln,
- unequaln:
- begin
- equal_trees:=(equal_trees(t1^.left,t2^.left) and
- equal_trees(t1^.right,t2^.right)) or
- (equal_trees(t1^.right,t2^.left) and
- equal_trees(t1^.left,t2^.right));
- end;
- end;
- end;
|