SELECT typeTag:*
FROM
mode => [],
basic => [
ordered: BOOLEAN,
code: NAT15,
length: CARD16], -- in bits
signed => [length: INT],
unsigned => [length: INT],
real => [length: INT],
enumerated => [
range: CARD,
valueCtx: CTXH,
empty, sparse, painted, ordered, machineDep: BOOL],
record => [
length: INT, -- in bits
fieldCtx: CTXH,
bitOrder: BitOrder,
grain: NAT15,
hints:
RECORD [
comparable, assignable: BOOL,
unifield, variant, privateFields: BOOL,
refField, default, voidable: BOOL],
packed, list: BOOL,
argument, monitored, machineDep, painted: BOOL,
linkPart: SEH], -- linkPart = NIL for notLinked in symbols
ref => [
refType: SEH,
counted, ordered, readOnly, list, var, basing: BOOL,
length: CARD],
array => [
componentType: SEH,
indexType: SEH,
packed: BOOL,
bitOrder: BitOrder],
arraydesc => [
describedType: SEH,
var, readOnly: BOOL,
bitOrder: BitOrder,
length: CARDINAL], -- in bits
transfer => [
safe: BOOLEAN,
mode: TransferMode,
typeIn, typeOut: SEH,
length: CARDINAL],
definition => [
defCtx: CTXH,
slots: CARDINAL, -- slots in interface record
named: BOOL], -- obsolete
union => [
caseCtx: CTXH,
tagSei: SEH,
hints: RECORD [equalLengths, refField, default, voidable: BOOL],
overlaid, controlled, machineDep: BOOL,
bitOrder: BitOrder,
grain: NAT],
sequence => [
parentType: SEH, -- will be a record cons
tagSei: SEH, -- will be an id
componentType: SEH,
packed, controlled, machineDep: BOOL,
bitOrder: BitOrder,
grain: NAT15],
relative => [baseType, offsetType, resultType: SEH],
subrange => [
empty: BOOLEAN,
biased: BOOLEAN,
filled: BOOLEAN,
rangeType: SEH,
origin: INT,
range: CARD],
opaque => [
id: SEH,
length: INT, -- in bits
lengthKnown: BOOL],
zone => [
counted, mds: BOOL,
length: CARDINAL], -- in bits
any => [],
nil => [],
unknown => [],
ENDCASE];