(* Copyright (C) 1989, Digital Equipment Corporation *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* File: ByteSize.m3 *) (* Last Modified On Tue Mar 20 03:05:35 1990 By muller *) (* Modified On Fri Jul 7 11:44:15 1989 By kalsow *) MODULE ByteSize; IMPORT CallExpr, Expr, Type, Procedure, Target, BitSize, Card, Temp; VAR Z: CallExpr.MethodList; PROCEDURE Bind (<*UNUSED*> proc: Expr.T; <*UNUSED*> args: Expr.List): Type.T = BEGIN RETURN Card.T; END Bind; PROCEDURE Check (<*UNUSED*> proc: Expr.T; VAR args: Expr.List) = BEGIN BitSize.CheckArg ("BYTESIZE", args); END Check; PROCEDURE Compile (<*UNUSED*> proc: Expr.T; args: Expr.List): Temp.T = BEGIN RETURN BitSize.Gen (args[0], Target.CHARSIZE); END Compile; PROCEDURE Fold (<*UNUSED*> proc: Expr.T; args: Expr.List): Expr.T = BEGIN RETURN BitSize.GetSize (args[0], Target.CHARSIZE); END Fold; PROCEDURE Initialize () = BEGIN Z := CallExpr.NewMethodList (1, 1, TRUE, Bind, Check, Compile, Fold, CallExpr.IsNever, (* writable *) CallExpr.IsNever(* designator *)); Procedure.Define ("BYTESIZE", Z); END Initialize; BEGIN END ByteSize.