Juki <jtv@hut.fi>
Last modified: Wed Sep 22 11:47:27 1993
Set of T
type nodes are represented as bit vectors,
one bit for each element. The SET_TYPE objects contain
only the bits necessary to represent the set type
PLUS the padding to align the objects to the
nearest word boundary. Thus, there may be unused
bits in front and after the end of otherwise
contiquous bit vector that represents all the elements
of the set.
[ -maxint, maxint ]
to work. Maybe someone implements this later,
e.g. with a list of set fragments or a list of set
elements.
setop.c
in some language independend way. (Global variables :-)
setop.c
).
CARD_EXPR: returns the number of set elements currently in the set Extended Pascal. UNION SetC := SetA + SetB; union of the sets BIT_OR_EXPR DIFF SetC := SetA - SetB; If in A, but not in B. BIT_ANDTC_EXPR (andtc_optab
has vanished from gcc-2, so this will be done "SetA and (not (SetB))") INTERSECTION SetC := SetA * SetB; If in A and in B BIT_AND_EXPR SYMDIFF SetC := SetA >< SetB; set symmetric difference BIT_XOR_EXPR (C if only in A or only in B (BooleanXOR
) Extended Pascal. SEARCH_EXPR: in a set iteration, yields each member of the set in some implementation dependend order. Extended Pascal (this is not yet implemented in gpc). Rest of the operands result in boolean values. =, <> Equality comparisons <=LE_EXPR
SetA <= SetB denotes the inclusion of SetA in SetB >= Implemented withLE_EXPR
, like above SetA >= SetB denotes the inclusion of SetB in SetA