RoseWireClassesImpl.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Barth, September 5, 1985 6:37:22 pm PDT
Spreitzer, September 11, 1985 10:03:48 pm PDT
DIRECTORY RoseWireClasses, RoseWireTypes;
RoseWireClassesImpl:
CEDAR
PROGRAM
IMPORTS
EXPORTS RoseWireClasses =
BEGIN OPEN RoseWireTypes, RoseWireClasses;
boolSuperClass: RoseWireSuperClass ←
NEW[RoseWireSuperClassRec ← [
GetType: BoolGetType,
ListFormats: BoolListFormats,
GetFormat: BoolGetFormat,
SelectorOffset: BoolSelectorOffset,
SubType: NIL,
SubClass: NIL,
Bits: BoolBits,
MesaRepresentation: BoolMesaRepresentation,
MesaRepAux: NIL,
CreateUntypedInstance: NIL,
flavor: simple]];
boolClass: RoseWireClass ←
NEW[RoseWireClassRec ← [
structure: atom,
dereference: FALSE,
addressContaining: FALSE,
classData: NIL,
super: boolSuperClass]];
boolType: RoseWireType ←
NEW[RoseWireTypeRec ← [
class: boolClass,
typeData: NIL,
length: 0,
other: NIL]];
GetBool:
PUBLIC
PROC
RETURNS [RoseWireClass] = {
RETURN[boolClass]};
BoolGetType:
PROC [rwc: RoseWireClass, wire: Wire]
RETURNS [rwt: RoseWireType] = {
RETURN[boolType]};
BoolListFormats:
PROC [rwt: RoseWireType]
RETURNS [lor:
LOR] = {
ERROR};
BoolGetFormat:
PROC [rwt: RoseWireType, formatName:
ROPE]
RETURNS [format: Format] = {
ERROR};
BoolSelectorOffset:
PROC [rwt: RoseWireType, select: Selector]
RETURNS [dBits:
NAT] = {
ERROR};
BoolBits:
PROC [rwt: RoseWireType]
RETURNS [n:
INT] = {
RETURN[1]};
BoolMesaRepresentation:
PROC [rwc: RoseWireClass]
RETURNS [mesa: Mesa] = {
mesa ← [mesa: "BOOL"]};
END.