(* Copyright (C) 1992, Digital Equipment Corporation *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* *) (* Last modified on Thu Jun 16 13:34:26 PDT 1994 by heydon *) (* modified on Fri Aug 7 21:51:50 PDT 1992 by myers *) <* PRAGMA LL *> INTERFACE JunoBuild; (* Higher-level procedures for compiling editor commands. *) IMPORT JunoScope, JunoAST, JunoCompileErr; PROCEDURE Cmd(cmd: JunoAST.Cmd; scp: JunoScope.T): CARDINAL RAISES {JunoCompileErr.Error}; (* Compiles "cmd" under scope "scp", and installs the resulting bytestream in a fixed slot of the run-time global code table "JunoRT.code_tbl" (possibly overwriting the last bytestream installed there). Returns the index of this fixed slot in the code table. *) PROCEDURE CurrCmd( cmd: JunoAST.Cmd; scp: JunoScope.T; checkTotal := FALSE): CARDINAL RAISES {JunoCompileErr.Error}; (* Calls "Cmd" above on the command "IF FI; HALT". If "checkTotal", then first calls "JunoChckBNF.TotalCommand" of the resulting command to guarantee it has the proper form. *) END JunoBuild.