Files
oldlinux-files/Minix/contrib/pascal/README.PASDE32
2024-02-19 00:21:39 -05:00

264 lines
6.6 KiB
Plaintext

This is the description of the package debug32.tar
Hello minixers and debuggerer,
here comes the first public pascal debugger.
It is developed for Minix 1.7.1 and later. Be careful, all you read
in this file is for the 32-Bit Version of Minix. You can't start
the programs or use the libs under the 32-Bit version. In the file
README.DEBUG16 you find the description for the 16-Bit version.
The programs in this package are copyrighted by Henrik Quintel,
1994, 1995, 1996. But you can feel free if you want to give them
away. That's no problem. Another point is that this package contains
no sourcecode. But in future all my publications will contain source-
code. At the moment I develop a programming language called TQ.
So, all my programs will be written in TQ. For more information please
read the file README.TQ or contact me about the internet. My e-mail
adress is quintel@worms.fh-rpl.de or quintel@nibelung.worms.fh-rpl.de
The address of my home page is www.worms.fh-rpl.de/~quintel. If you
have problems by reaching my home page, please send me a short mail.
This package contains the following files:
------------------------------------------
file what it is div.
------------------------------------------
qdebugger debugger executable
qdb driver shell script
qpascal_cpp preprocessor executable
physik.pas testprogram pascal-source
qdb.1 man page ascii-text
A very important thing is that the size of debugger/interpreter is 20000.
You can test it with size [path]qdebugger.
In the debugger/interpreter are the following features not
implemented:
Filehandling
Packed array
Packed records
'Set of'-construct
How can you get the package ?
Make a ftp to ftp.cs.vu.nl
Directory: pub/minix/contrib/pascal/
set bin
set hash
set prompt
get debug32.tar
------
On your system do the following:
Make a directory in /usr (cd /usr;mkdir debugger;cd debugger)
Put the file debug32.tar there.
Extract the tar file with tar xvf debug32.tar
After extracting there are three directories:
1. debugger32
2. testsuite
4. manpages
In the first directory is the debugger. In the second
directory you find a small testsuite and in the third directory you
find the manpages.
For installing the debugger do the following:
cd /usr;mkdir local;mkdir bin
Copy the the files as follows in the mentioned directories
file directory
-------------------------------
qdebug /usr/local/bin/
qdb /usr/local/bin/
qdb.1 /usr/man/man.1
You have to make the following changes in the file whatis in the
directory /usr/man. Add the line qdb (1).
Of course you can install the files where you want. But if you do
so, you have to make changes in the file qdb.
If you have problems with installing or problems with debugging
your pascal programs send me the pascal program.
If I have forgotten a file or if you have any questions feel free and
mail to me.
Example for the debugger by using the file physik.pas
Starting the debugger:
(The words in the brackets are only comments by me)
qdb physik.pas
(You will see the listing if the pascal program is ok)
Command ? break 15 (Press Enter)
Command ? (Press Enter)
Enter new number (0 to quit) : 9 (Press Enter)
Breakpoint
At 15: If number = 0
Command ?
9.00000 3.0000
5.000000 66.67%
3.400000 13.33%
3.023530 0.78%
3.000092 0.00%
3.000000 0.00%
Enter new number (0 to quit) : (Press CTRL-C)
(Now you see a heart)
(Press Enter)
(There are two error messages - ignore them :-))
Command ? assign number := 16
Command ? show sqrt(number)
4
Command ? pi/number
****Error : undefinded identifier.
****Error : Incompatible types.
Command ? where
At 15: if number = 0
Command ? step
Command ?
At 15 if number = 0
Command ?
At 18: if number < 0
Command ?
At 22: sqroot := sqrt(number)
Command ?
At 23: writeln (number : 12 : 6, sqroot: 12 : 6)
16.000000 4.0000000
Command ?
At 24 : writeln
Command ?
At 26 : root := 1
Command ? unstep
Command ? trace
Command ? (Here you will see a lot of information)
...
Enter new number (0 to quit) : <13> 36
Breakpoint
At 15 : If number = 0
(Press CTRL-C like at the beginning of the session. You will see a heart)
(Press Enter)
Command ? untrace
Command ? store root
Command ? watch
Variables being watched:
root (store)
Command ? break
Statement breakpoints at:
15
Command ?
36.000000 6.000000
..... (There are a lot of stores now)
Enter new number (0 to quit) : 0
(Exit...)
Here are the commands for the debugger:
Command: break (number)
breakpoint at each one of them.
Command: break
Print the line numbers of all the breakpoints.
Command: unbreak (number)
Remove the breakpoint from the statement beginning on line (number).
Command unbreak
Remove all breakpoints from all statements.
Command: trace
Turn on statement tracing.
Command: untrace
Turn off statement tracing.
Command: entry
Turn on tracing of procedure and function entries
Command: unentry
Turn off tracing of procedure and function entries.
Command: exit
Turn on tracing of procedure and function exits.
Command: unexit
Turn off tracing of procedure and function exits.
Command: step
Turn on single-stepping
Command: unstep
Turn off single stepping
Command: fetch (variable)
store (variable)
watch (variable)
Command: show (expression)
Print the value of expression.
Command: assign (variable) := (expression)
(See example)
Command: where
Print the line number followed by the text of the statement to be executed next.
Killing the program
The kill command terminates the program execution.
Command: kill
If you have questions about the commands or the usage, mail to me.
At the moment I program :
an ansi c compiler
a new assembler / loader
a new lib
a forth interpreter
a C++ to C compiler
TQ of course
BTW, I make some brainstorming sessions to produce a compiler/interpreter
which understands the concepts of an OOP-language.
If you have ideas or tips, feel free and mail to me.
If someone has ideas or something else please write to me !
Special thanks for supporting :
Prof. Dr. Andrew S. Tanenbaum ast@cs.vu.nl
Kees J. Bot kjb@cs.vu.nl
Nils Holm fs29@rummelplatz.uni-mannheim.de
Peter J. Holzer hjp@wsr.ac.at