DIRECTORY Commander USING [CommandProc, Register], IO USING [EndOfStream, IDProc, GetTokenRope, RIS, STREAM], RobotDefs USING [Robot], RobotEvaluator USING [SymbolTable], RobotIO USING [WriteRobot], RobotTParser USING [AssembleRobot], Rope USING [ROPE]; RobotAssembleCommand: CEDAR PROGRAM IMPORTS Commander, IO, RobotIO, RobotTParser ~ { Assemble: Commander.CommandProc ~ { s: IO.STREAM _ IO.RIS[cmd.commandLine]; root: Rope.ROPE _ IO.GetTokenRope[s, IO.IDProc ! IO.EndOfStream => GOTO NoName].token; robot: RobotDefs.Robot; sym: RobotEvaluator.SymbolTable; valid: BOOL; [robot, valid, sym] _ RobotTParser.AssembleRobot[root, cmd.err]; IF valid THEN { result_sym; RobotIO.WriteRobot[root, robot]; } ELSE result_$Failure; EXITS NoName => RETURN[result: $Failure, msg: "File name needed\n"] }; Commander.Register[key: "Robot", proc: Assemble, doc: "Assemble Robot for RobotWar"]; }. œRobotAssembleCommand.mesa Created Sunday, June 10, 1984 0:29 am PDT Last edited by Eric Nickell, June 11, 1984 12:41:42 pm PDT Initialization stuff ÊY˜šœ™Jšœ)™)J™:J™—šÏk ˜ Jšœ œ˜(Jšœœ%œœ˜:Jšœ œ ˜Jšœœ˜#Jšœœ˜Jšœ œ˜#Jšœœœ˜J˜—šœœ˜#Jšœ œ˜,Jšœ˜J˜šÏnœ˜#Jš œœœœœ˜'Jš œ œœœ œœ˜VJ˜J˜ Jšœœ˜ J˜@šœœ˜Jšœ ˜ Jšœ ˜ Jšœ˜—Jšœ˜š˜Jšœ œ-˜=—J˜J˜—J™J˜UJ˜——…—vk