(* Copyright (C) 1989, Digital Equipment Corporation *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* File: CallExpr.i3 *) (* Last Modified On Tue Jul 25 16:50:48 1989 By kalsow *) INTERFACE CallExpr; IMPORT Expr, Type, Temp; PROCEDURE New (proc: Expr.T; args: Expr.List): Expr.T; (*******************************************************************) TYPE MethodList <: ADDRESS; TYPE Binder = PROCEDURE (proc: Expr.T; args: Expr.List): Type.T; TypeChecker = PROCEDURE (proc: Expr.T; VAR args: Expr.List); Compiler = PROCEDURE (proc: Expr.T; args: Expr.List): Temp.T; Evaluator = PROCEDURE (proc: Expr.T; args: Expr.List): Expr.T; Predicate = PROCEDURE (proc: Expr.T; args: Expr.List): BOOLEAN; PROCEDURE NewMethodList (minArgs : INTEGER; maxArgs : INTEGER; functional : BOOLEAN; binder : Binder; checker : TypeChecker; compiler : Compiler; evaluator : Evaluator; isWritable : Predicate; isDesignator : Predicate): MethodList; PROCEDURE IsNever (proc: Expr.T; args: Expr.List): BOOLEAN; PROCEDURE IsAlways (proc: Expr.T; args: Expr.List): BOOLEAN; PROCEDURE NoValue (proc: Expr.T; args: Expr.List): Expr.T; END CallExpr.