DrotCover.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Csaba Gabor August 19, 1987 8:37:25 pm PDT
Operations on CTrees
RecurseCSimilar: PROC [cv1, cv2: Node] RETURNS [BOOL];
CopyCTree: PROC [tree: Dag] RETURNS [ct: Dag];
MakeNewCTree:
PROC [tree: Treeset, vertex: Dag];
This creates a new Ctree placing it after vertex in linear order unless vertex = NIL in which case the created Ctree becomes the head of the Treeset --
MakeNewCTreeSet: PROC RETURNS [Treeset];
RemoveTree:
PROC [ctcoll: Treeset, tree: Dag];
Completely removes a tree from the ctcoll --
Replicate:
PROC [v: Node, nt: Dag, special: Node, count:
INT]
RETURNS [top: Node];
Expects as input a tree with only nands,nots,prims. Will return a copy of the subrtee headed by the input node with the vertex special being treated differently if special # nil. The difference is that if special is a nand then it is split into two parts according to the binary representation of count.