home *** CD-ROM | disk | FTP | other *** search
- MENU of MISCELLANEOUS UTILITIES:
- copyright (C) 1983 by E. E. Bergmann
- COREDUMP and RESTORE
- LISTFILE
- LOAD
- SHOWCODE and NOSHOWCODE
- % ="comments"
- TOP10 and NEXT10
- DIS ="the disassembler"
- to examine STACK and RSTACK
- TRACE of procedures
- HELP
- :
- ::
- *********************************************************
- * *
- * PISTOL-Portably Implemented Stack Oriented Language *
- * Version 2.0 *
- * (C) 1983 by Ernest E. Bergmann *
- * Physics, Building #16 *
- * Lehigh Univerisity *
- * Bethlehem, Pa. 18015 *
- * *
- * Permission is hereby granted for all reproduction and *
- * distribution of this material provided this notice is *
- * included. *
- * *
- *********************************************************
- :
- ::
- COREDUMP saves an image of PISTOL's memory as a
- file named with the string previously
- placed on top of the stack. (for an
- example see "GETTING STARTED", near the
- start of this documentation).
-
- RESTORE takes the file whose name is on the top
- of stack and "restores" the memory image
- that had been previously saved by a
- COREDUMP command. (for an example see
- "GETTING STARTED", near the start of this
- documentation).
-
- :
- ::
- LISTFILE opens a new file with the name that was
- on the top of stack. This new file can
- be written into to keep a record of the
- terminal session (using the boolean:
- LIST). For example, to record portions
- of the terminal session in a file named
- "DIALOG":
-
- X> 'DIALOG LISTFILE
- X> LIST ON
- .
- . (recorded)
- .
- X> LIST OFF
- .
- . (not recorded)
- .
- X> LIST ON
- .
- . (recorded)
- .
- etc.
-
- :
- ::
- LOAD is used to take a PISTOL source file whose name is
- pointed to by the top of stack. If given a line
- number instead of a filename, it will access the
- edit buffer instead.
-
- :
- ::
- SHOWCODE makes pistol display the contents of its
- compile buffer after every compilation. It is
- most useful when you are trying to estimate
- where special patching needs to be done, such
- as done by ARGPATCH (see the definitions in
- PBASE for this one!). To stop showing code you
- should use:
-
- NOSHOWCODE turns off the SHOWCODE, described immediately
- above.
-
- :
- ::
-
- % is the comment delimiter; the compiler ignores
- remaining text to the end of the current line. Do not
- shun its use in creating PISTOL source files; PISTOL
- is NOT self documenting!
- :
- ::
- To name the ten most recent definitions one should
- type: TOP10 . It will display the information and leave on
- stack the address of the 11th most recent definition. To name
- further definitions, one can type NEXT10 which takes the
- address off of the stack and names the next ten definitions.
- In turn, it leaves the address of the 21th most recent
- definition on stack.
-
- :
- ::
- One can dis-assemble a definition using the word, DIS .
- For example:
-
- X> 'TOP10 DIS
-
- produces the result:
-
- 'TOP10 : CURRENT W@ NEXT10 ;
-
- Not all definitions are disassembled so faithfully.
-
- :
- ::
- To examine the stack in a non-destructive manner, one
- can use the word, STACK. It will display the number of items
- in the stack and their values. For testing definitions it is
- useful to check the stack before and after the definition has
- been invoked.
-
- To examine the contents of the return stack in a
- non-destructive manner, one can use the word, RSTACK .
-
- :
- ::
- If the definition appears to be faulty, it is often
- useful to debug it by tracing the program flow through the
- definition and the state of the stack at intermediate steps.
- This can be accomplished automatically by the use of the word,
- TRACE. For example, to trace the action of DDUP one can type:
-
- X> 1 2 'DDUP TRACE
-
- :
- ::
- HELP If typed with no parameters placed on the stack
- it accesses this file (PISTOL.HLP) and permits the
- user to access various partitions in a menu driven
- manner.
- It may also be used to access other files
- by the user placing the name of the file on stack.
- For example, the user can access the file named "io":
-
- X> 'IO HELP
-
- The files accessed in this manner should contain
- partitioning information in the form of lines that
- start with a variable number of ':'; examine the
- PISTOL.HLP file for examples of partitioning and
- subpartitioning.
- :
-