($commandshelp) .sysdict ($commandshelp) .known (.pop) .cvx (200 .dict .def) .cvx .ifelse (puthelp)($commandshelp 3 1 .roll .put).cvx .def (.add)(.add : .add => ) puthelp (.sub)(.sub : .sub => ) puthelp (.mul)(.mul : .mul => ) puthelp (.div)(.div : .div => ) puthelp (.neg)(.neg : .neg => <-n>) puthelp (.cos)(.cos : .cos => ) puthelp (.sin)(.sin : .sin => ) puthelp (.atan)(.atan : .atan => ) puthelp (.exp)(.exp : .exp => ) puthelp (.log)(.log : .log => ) puthelpe12(1792)\325f7 221o4 1o0 46o252 1o0 (.true)(.true : .true => <.true>) puthelp (.false)(.false : .false => <.false>) puthelp (.eq)(.eq : .eq => <.true> if n = m <.false> if n # m) puthelp (.gt)(.gt : .gt => <.true> if n > m <.false> if n <= m) puthelp (.lt)(.lt : .lt => <.true> if n < m <.false> if n >= m) puthelp (.not)(.not : .not => <~b>) puthelp (.and)(.and : .and => ) puthelp (.or)(.or : .or => ) puthelp (.xor)(.xor : .xor => ) puthelpe12\f7 1f0 375f7 16o252 1o0 3o252 1o0 12o252 1o0 6o252 1o0 26o252 1o0 3o252 1o0 11o252 1o0 5o252 1o0 28o252 1o0 3o252 1o0 12o252 1o0 6o252 1o0 (.pop)(.pop : .pop => --) puthelp (.copy)(.copy : ... .copy => ... ... ) puthelp (.cntstk)(.cntstk : | ... .cntstk => ) puthelp (.roll)(.roll : ... .roll => ... ...) puthelp (.dup)(.dup : .dup => ) puthelp (.clrstk)(.clrstk : | ... .clrstk => |) puthelp (.exch)(.exch : .exch => ) puthelp (.mark)(.mark : .mark => (this command puts a Mark type object on the operand stack.)) puthelp (.cntomrk)(.cnttomrk : ... .cnttomrk => ... ) puthelp (.clrtomrk)(.clrtomrk : ... .clrtomrk => ) puthelp e12\59o252 1o0 3o252 1o0 8o252 1o0 16o252 1o0 3o252 1o0 8o252 1o0 3o252 1o0 3o252 1o0 8o252 1o0 36o252 1o0 3o252 1o0 8o252 1o0 45o252 1o0 3o252 1o0 8o252 1o0 19o252 11o0 8o252 1o0 3o252 1o0 6o252 7o0 79o252 1o0 3o252 1o0 8o252 1o0 74f7 134o252 1o0 3o252 1o0 8o252 1o0 23o252 1o0 3o252 1o0 8o252 1o0 47o252 1o0 3o252 1o0 8o252 1o0 31f0 (.dict)(.dict : .dict => (dictionary with capacity of i entries)) puthelp (.def)(.def : .def => -- (associates the value v with the key k in the current dictionary)) puthelp (.del)(.del : .del => -- (deletes the key k from the dictionary d)) puthelp (.load)(.load : .load => (loads the value associated with k in the current dictionary)) puthelp (.store)(.store : .store => -- (finds a definition of k in the current context and replaces that definition with value v. If no definition of k exists then the definition is placed in the current dictionary.)) puthelp (.put)(.put : .put => -- (associates value v with key k in dictionary d.)) puthelp (.get)(.get : .get => (retrieves the value associated with k in dictionary d.)) puthelp (.known)(.known : .known => <.true> if key k is in dictionary d. <.false> if key k is not in dictionary d.) puthelp (.where)(.where : .where => <.true> if k is found in some dictionary d. <.false> if k is not found in any dictionary.) puthelp (.clrdict)(.clrdict : .clrdict => -- (clears all entries from dictionary d.)) puthelp (.dictforall)(.dictforall: .dictforall => -- (puts on the stack, and then executes . This is done for every k,v pair in dictionary d)) puthelp (.begin)(.begin : .begin => -- (makes d the current dictionary on the dictionary stack.)) puthelp (.end)(.end : .end => -- (pops the current dictionary from the dictionary stack.)) puthelp (.sysdict)(.sysdict : .sysdict => ) puthelp (.exec)(.exec : .exec => -- (executes object x)) puthelp (.if)(.if : .if => -- (if b = .true then execute x)) puthelp (.ifelse)(.ifelse : .ifelse => -- (if b = .true then execute x else execute y)) puthelp (.rept)(.rept : .rept => -- (execute x -- i times)) puthelp (.loop)(.loop : .loop => -- (execute x until a .exit command is executed)) puthelp (.exit)(.exit : .exit => -- (exit from the current .rept, .loop, .dictforall, .arrayforall commands)) puthelp (.stop)(.stop : .stop (clear the execution stack.))puthelp (.singlestep)(.singlestep: .singlestep => -- (put execution control into singlestep mode.)) puthelp (.runfree)(.runfree : .runfree => -- (take execution control out of singlestep mode.)) puthelp (.quit)(.quit : .quit => -- (save virtual memory and exit to the operating system.)) puthelp (.array)(.array : .array => (new array of length i.)) puthelp (.subarray)(.subarray : .subarray => (a' is the subarray of a starting at position i and with length j.)) puthelp (.aput)(.aput : .aput => -- (store v in the ith position of a.)) puthelp (.aget)(.aget : .aget => (get v from the ith position of a.)) puthelp (.aload)(.aload : .aload => ... ) puthelp (.astore)(.astore : ... .astore => (store x1 ... xi into array a of length i.)) puthelp (.arrayforall)(.arrayforall: .dictforall => -- (puts the contents of ai on the stack, and then executes . This is done for every ai pair in array a)) puthelp (.print)(.print : .print => --(.prints the string s on the current output stream.)) puthelp (.bytestream)(.bytestream: .bytestream => (this command creates a bytestream with the access characteristics represented by . Here = 1 for read, 2 for write, 4 for append -- or the sum of any of these. The created stream type object is left on the operand stack.)) puthelp (.keystream)(.keystream : .keystream => (this command creates a keystream and leaves it on the operand stack.)) puthelp (.killstream)(.killstream: .killstream => -- (this command kills the given stream.)) puthelp (.writebytes)(.writebytes: .writebytes => -- (write bytes in string s appended to stream t.)) puthelp (.loadbcd)(.loadbcd : .loadbcd => -- (load mesa bcd and start.)) puthelp (.type)(.type : .type => (deliver the name of the type on top of operand stack. Current types include. .nulltype, .intergertype, .longintegertype, .realtype, .booleantype, .stringtype, .streamtype, .arraytype, .dicttype, .commandtype, .stacktype, .frametype, .marktype.)) puthelp (.itype)(.itype : .itype => (deliver the number of the type on top of the operand stack.) Current number assignments are: nulltype = 0 integertype = 1 longintegertype = 2 realtype = 3 booleantype = 4 stringtype = 5 streamtype = 6 commandtype = 7 dicttype = 8 arraytype = 9 stacktype = 10 frametype = 11 marktype = 12 ) puthelp (.length)(.length : .length => (length of: string (in characters); array (in elements); dictionary (in entries).)) puthelp (.cvs)(.cvs : .cvs => (convert to string equivalent.)) puthelp (.cvis)(.cvis : .cvis => (convert into given string space. This command will use s for all number and boolean conversions.)) puthelp (.cvlit)(.cvlit : .cvlit => (convert into noun form.)) puthelp (.cvx)(.cvx : .cvx => (convert into verb form.)) puthelp (.litchk)(.litchk : .litchk => <.true> if a noun otherwise <.false>) puthelp (.token)(.token : .token => (strip first token from given stream or string. Return remainder and token on the stack. If no token, then return only a NullType Object.)) puthelp (.string)(.string : .string => ( is a string of length i).) puthelp (.substring)(.substring : .substring => ( is a substring of s starting at position i for j characters.)) puthelp (.putstring)(.putstring : .putstring => ( is the same as except for the substring s starting at position i.)) puthelp (.search)(.search : .search => <.true>(if there is a substring of t matching s) <.false> (if no substring of t matches s).) puthelpe12j\1585b1B1110o4 2o0 80o4 2o0 60o252 1o0 3o252 1o0 8o252 1o0 38o252 1o0 3o252 1o0 8o252 1o0 29o252 1o0 6o252 1o0 114o252 1o0 62o252 1o0 1170f7 403f0 492f7 81f0 192f7 400o252 3o0 3o252 5o0 3o252 5o0 108f5b (.undefkey)(.undefkey : A dictionary lookup failed. when this identifier is executed the offending name is on the operand stack.) puthelp (.longname)(.longname : A file name passed to .run or .bytestream is too long (256 chars). The contents of the stack contains the offending command plus its input parameters.) puthelp (.badname)(.badname : is generated from an attempt to create a stream with the given name. This error can come from either the .run command or the .bytestream command.) puthelp (.typechk)(.typechk : a command is executed which has been passed objects of the wrong type on the stack. Both the command and the original arguments are on the operand stack when .typechk is executed.) puthelp (.dictfull)(.dictfull : an attempt to define a new entry into a full dictionary has occurred. The offending command and the argument prior to the call are on the stack.) puthelp (.stkundflw)(.stkundflw : an attempt to retrieve an argument from an empty stack has occured.) puthelp (.syntaxerr)(.syntaxerr : an isolated right paren has been found by the scanner.) puthelp (.overflow)(.overflow : numeric overflow has occurred in scanning a number.) puthelp (.stkovrflw)(.stkovrflw : a stack has overflowed. This error may come from various parts of the JaM machine. When the error occurs, all stacks are stored into arrays and put on the operand stack in the order: opstack, dictstack, execstk.) puthelp (.rangechk)(.rangechk : some string or array operation is attempting to store out of bounds.) puthelp\f7 1f0 1f7 1534f0