add directory Minix

This commit is contained in:
gohigh
2024-02-19 00:21:39 -05:00
parent 56596ada90
commit 5a46ddb732
2923 changed files with 1764412 additions and 0 deletions

321
Minix/contrib/pascal/README Normal file
View File

@@ -0,0 +1,321 @@
Hi minixers and pascalers,
here comes the first public pascal compiler and pascal debugger/interpreter
for Minix 16-Bit. It is developed for Prof. Dr. Tanenbaum's Minix 1.6.25,
1.6.30 and the newest version 1.7.0. It does NOT work under Minix 1.5.
This package is copyrighted by Henrik Quintel 1994, 1995 but you can give
the package away to your friends without anything. This package contains
no source code. But in the future all my publications will contain the source
code. I think this will happen, when I have 'learned' to program a compiler
which understands a OOP-language under a 16-Bit Operating-System like Minix.
I am working on it.
This package contains the following files :
-------------------------------------------
file what it is div.
-------------------------------------------
qpascal compiler executable
Qpas small driver shell script
qpascal_cpp preprocessor executabale
pas_as assembler executable
pas_ld linker executable
pas_ncrtso.o lib opject-code
paslib.o lib object-code
pas_libd.a lib object-code
pas_libc.a lib object-code
pas_libfp.a lib object-code
pas_libe.a lib object-code
pas_end.a lib object-code
pas_cv conversion executable
Qdb small driver shell script
qdebugger debugger /
interpreter executable
physik.pas testprogram pascal-source
README this file ascii-text
qpas man-page ascii-text
qdb man-page ascii-text
A very important thing is that the size of qdebugger is 20000.
If you are missing something in the package, please let me know immediately !
Not implemented are the following features :
Filehandling
Packed array
Packed records
'Set of'-construct
Here is an example to port a set-of construct to an array construct.
var a, b: set of [1..10]
=> const lwb=1; upb=10;
type set10 = array [lwb..upb] of boolean;
var a, b: set10
a:= (1; 4; 6);
=> for i:= lwb to upb do a[i]:= false;
a[2]:=true; a[4]:=true; a[6]:=true;
a:=a*b
=> procedure intersect(a,b:set10; var res: set10);
var i: integer;
begin
for i:=lwb to upb do res[i]:= a[i] and b[i];
end;
intersect(a, b, a);
...
How can you get the package ?
Make a ftp to ftp.cs.vu.nl
Directory : minix/pascal
set bin
set hash
set prompt
mget *
-------------------------------------------
On your system do the following:
(QCK = Quintel's Compiler Kit)
Then make a dirrectory in /usr (cd /usr ; mkdir pascal ; cd pascal)
Put the file QCK.tar there.
Uncompress the file. (uncompress QCK.tar.Z)
Then extract the tar file QCK.tar (tar xvf QCK.tar)
After extracting there are four directories :
1. compiler
2. debugger
3. test
4. man
In the first directory is the compiler and in the second the debugger.
Make (cd test). Here you find the file testsuite.tar.
Make (tar xvf testsuite.tar and you have extracted the testsuite.
So you can see how programming in pascal.
In the man directory is this file and the man pages.
Copy the following files in the mentioned directories
qpascal /usr/bin
Qpas /usr/bin
qpascal_cpp /usr/lib
pas_as /usr/lib
pas_ld /usr/lib
pas_ncrtso.o /usr/lib
paslib.o /usr/lib
pas_libd.A /usr/lib
pas_libc.A /usr/lib
pas_libfp.A /usr/lib
pas_libe.A /usr/lib
pas_end.A /usr/lib
pas_cv /usr/lib
Qdb /usr/bin
qdebugger /usr/bin
qpas /usr/man/man1
qdb /usr/man/man1
Of course you can install the files where you want. But then you have to
change all the PATH in Qpas and in Qdb.
IF YOU HAVE PROBLEMS WITH INSTALLING OR PROBLEMS WITH
COMPILING OR DEBUGGUNG/INTERPRETING YOUR PASCAL-PROGRAMS
SEND ME THE FOLLOWING FILES :
Your PASCAL-PROGRAM (hallo.pas)
The .qcpp file (hallo.qcpp)
The assembler output (hallo.as)
The object file (hallo.o)
If possible the outputfile (output)
TRY *******NNEEVVEERR********* to make changes inside the
OBJECT FILES WHICH ARE DISTRIBUTED.
If I have forgotten a file or have you any questions for
the standard-pascal or how to use, install the compiler, debugger/interpreter,
FEEEEEEL FREE and mail to me.
Example for the compiler (use the file physik.pas)
Starting the compiler :
Qpas physik (You do not have to write qpas newton.pas, but if you want so,
you can change it in qpas.)
Starting and working with the debugger :
(The words in the brackets are only commets by me)
qdb physik
(You will see the listing)
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 modula-2 compiler
a new assembler / loader
a new lib
a forth interpreter
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 SUPPORT TO THE FOLLOWING PERSONS :
Prof. Dr. Andrew S. Tanenbaum ast@cs.vu.nl
Kees J. Bot kjb@cs.vu.nl
--
quintel@nibelung.Worms.Fh-Rpl.DE | compilers for Minix
------------------------------------------------------
compilerwriters use cat > a.out ...

View File

@@ -0,0 +1,20 @@
The files and their meaning:
README.ALL - This file
README.PAS16 - What you should know about the pascal
compiler for the OS-16-Bit version
README.PASDE16 - What you should know about the debugger
for the OS-16-Bit version
README.PASDE32 - What you should know about the debugger
for the OS-32-Bit version
README.PFRONT - What you should know about the pascal
compiler for the OS-32-Bit version
README.MOD2 - What you should know about the modula-2
compiler for the OS-32-Bit version
README.C++ - What you should know about the C++ compiler
README.FORTH - What you should know about the FORTH implementation
README.DEBG - What you should know about the debugger
README.LIB - What you should know about the library development
README.OTHER - What you should know about my work
README.INTERPR - What you should know about the pascal interpreter
development
README.TQ - What you should know about TQ

View File

@@ -0,0 +1,13 @@
Modern operating systems should have a C++ compiler. So since
1 1/2 years I program at one. Since 2 weeks a have finished the
work and I can say that it runs under AIX, SUN-OS, SUN-SPARC,
DOS, WINDOWS 3.11, WINDOWS 95, OS/2 WARP 3.0. ***BUT*** not under
Minix. I do not why. I think it is a problem of the library. But
I do not find the reason. I am still searching like a crazy man
and I hope that I will find it this year.
This mentioned problem is a reason to build a debugger. For this
I have a lot of ideas and I have started the implemention. But
I have no date when the debugger is ready for using.
Yours Henrik Quintel

View File

@@ -0,0 +1,15 @@
Modern operating systems should have a C++ compiler. So since
1 1/2 years I program at one. Since 2 weeks a have finished the
work and I can say that it runs under AIX, SUN-OS, SUN-SPARC,
DOS, WINDOWS 3.11, WINDOWS 95, OS/2 WARP 3.0. ***BUT*** not under
Minix. I do not why. I think it is a problem of the library. But
I do not find the reason. I am still searching like a crazy man
and I hope that I will find it this year.
This mentioned problem is a reason to build a debugger. For this
I have a lot of ideas and I have started the implemention. But
I have no date when the debugger is ready for using. The debugger
debugs C code and pascal code modula-2 code and perhaps C++ code -
I do not know now.
Yours Henrik Quintel

View File

@@ -0,0 +1,7 @@
Dr. Woitzel said that it would be interested to have a FORTH
interpreter/compiler for Minix. I am still designing it and
have started with the implementation.
I think it comes out in summer 96.
Yours Henrik Quintel

View File

@@ -0,0 +1,6 @@
In my opinion it is the best solution to build a standalone interpreter.
The pascal debugger in this package can be used as an interpreter, but
I think it is not really a good solution. So this summer (1996) I will
put an pascal interpreter on the net.
Yours Henrik Quintel

View File

@@ -0,0 +1,10 @@
Modern operating systems should have a C++ compiler. So since
1 1/2 years I program at one. Since 2 weeks a have finished the
work and I can say that it runs under AIX, SUN-OS, SUN-SPARC,
DOS, WINDOWS 3.11, WINDOWS 95, OS/2 WARP 3.0. ***BUT*** not under
Minix. I do not why. I think it is a problem of the library. But
I do not find the reason. I am still searching like a crazy man
and I hope that I will find it this year. I will write a new C-library
for the C++ compiler. If you have any idea about that, please let me know.
Yours Henrik Quintel

View File

@@ -0,0 +1,7 @@
Since a half year I think about a modula-2 compiler. Now I have
decide to implement a pascal compiler and a modula-2 in one. I
hope that this product comes at the end of this year.
A modula-2 debugger comes out additional.
Yours Henrik Quintel

View File

@@ -0,0 +1,47 @@
I am sure that people who are using Minix not only want to program
in C. But actual the ACK-C compiler is the only public compiler
for Minix. In this package comes a pascal compiler and a pascal
debugger for Minix 1.7.0 / 16-Bit and later. As a additional
feature comes a pascal compiler which produces C Code. The first
mentioned compiler does not support the complete standard of pascal
but I hope that the second will do. I know that in the second are
a few bugs. At the moment I am designing a new one which should solve
all the problems of the first.
Since a half year I think about a modula-2 compiler. Now I have
decide to implement a pascal compiler and a modula-2 in one. I
hope that this product comes at the end of this year.
A product what I want to design is a pascal interpreter. But at
the moment I do not know if I should implement it together with
an debugger. I think it could be a good idea, if I implement it
in the same product as the new pascal/modula-2 compiler.
Modern operating systems should have a C++ compiler. So since
1 1/2 years I program at one. Since 2 weeks a have finished the
work and I can say that it runs under AIX, SUN-OS, SUN-SPARC,
DOS, WINDOWS 3.11, WINDOWS 95, OS/2 WARP 3.0. ***BUT*** not under
Minix. I do not why. I think it is a problem of the library. But
I do not find the reason. I am still searching like a crazy man
and I hope that I will find it this year.
This mentioned problem is a reason to build a debugger. For this
I have a lot of ideas and I have started the implemention. But
I have no date when the debugger is ready for using.
Dr. Woitzel said that it would be interested to have a FORTH
interpreter/compiler for Minix. I am still designing it and
have started with the implementation.
For the implementation of TQ, I develop a lot of new aspects in
programminglanguages. To read about them look on my home page
under the point RESEARCH PROJECTS.
Finally I want say one sentence about TQ. It is an object oriented
language for distributed systems. If you want to hear more about
that, please read the file README.TQ
So, now you see what I do all the day. If you have wishes or
something like that, please let me know.
Yours Henrik Quintel

View File

@@ -0,0 +1,111 @@
This is the description of the package pascal16.tar
Hello minixers and pascalers,
here comes the first public pascal compiler.
It is developed for Minix 1.7.2 and later. Be careful, all you read
in this file is for the 16-Bit Version of Minix. You can't start
the programs or use the libs under the 32-Bit version. In the file
README.PFRONT you find the description for the 32-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.
------------------------------------------
qpascal compiler executable
qpas driver shell script
qpascal_cpp preprocessor executable
pas_as assembler executable
pas_ld linker executable
pas_ncrtso.o lib object-code
paslib.o lib object-code
pas_libd.a lib object-code
pas_libc.a lib object-code
pas_libfp.a lib object-code
pas_libe.a lib object-code
pas_end.a lib object-code
pas_cv converter executable
physik.pas testprogram pascal-source
qpas.0 man page ascii-text
In the compiler 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 pascal16.tar
------
On your system do the following:
Make a directory in /usr (cd /usr;mkdir pascal;cd pascal)
Put the file pascal16.tar there.
Extract the tar file with tar xvf pascal16.tar
After extracting there are four directories:
1. compiler16
2. lib16
3. testsuite
4. manpages
In the first directory is the compiler. In the second directory
you find the 16-Bit libraray, in the third directory is a small
testsuite and in the fourth directory you find the manpages.
For installing the compiler do the following:
cd /usr;mkdir local;mkdir bin
Copy the the files as follows in the mentioned directories
file directory
-------------------------------
qpascal /usr/local/bin/
qpas /usr/local/bin/
qpascal_cpp /usr/lib/
pas_as /usr/lib/
pas_ld /usr/lib/
pas_ncrtso.o /usr/lib/
paslib.o /usr/lib/
pas_libd.a /usr/lib/
pas_libc.a /usr/lib/
pas_libfp.a /usr/lib/
pas_libe.a /usr/lib/
pas_end.a /usr/lib/
pas_cv /usr/lib/
qpas.0 /usr/man/man.1
You have to make the following changes in the file whatis in the
directory /usr/man. Add the line qpas (1).
Of course you can install the files where you want. But if you do
so, you have to make changes in the file qpas.
If you have problems with installing or problems with compiling
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 compiler by using the file physik.pas
Starting the compiler:
qpas physik.pas
Special thanks for support to the following persons:
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

View File

@@ -0,0 +1,263 @@
This is the description of the package debug16.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 16-Bit Version of Minix. You can't start
the programs or use the libs under the 16-Bit version. In the file
README.PASDE32 a you find the description for the 32-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 is 20000.
You can test it with size [path]qdebugger.
In the debugger 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 debug16.tar
------
On your system do the following:
Make a directory in /usr (cd /usr;mkdir debugger;cd debugger)
Put the file debug16.tar there.
Extract the tar file with tar xvf debug16.tar
After extracting there are three directories:
1. debugger16
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

View File

@@ -0,0 +1,263 @@
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

View File

@@ -0,0 +1,85 @@
This is the description of the package pfront.tar
Hello minixers and pascalers,
here comes the public pascal compiler for Minix 32-Bit.
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 16-Bit version. In the file
README.PAS16 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.
------------------------------------------
pasfront compilerfrontend executable
run driver shell script
physik.pas testprogram pascal-source
tmplib.o temolibrary object-code
pasfront.h include-file C-source
pasfrontlib.a library aal-archive with object-code
The compiler should support the complete pascal-standard.
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 pfront.tar
------
On your system do the following:
Make a directory in /usr (cd /usr;mkdir pascal;cd pascal)
Put the file pfront.tar there.
Extract the tar file with tar xvf pfront.tar
After extracting there are four directories:
1. compiler32
2. testsuite
3. manpages
In the first directory is the compiler. In the second directory
you find a small testsuite and in the third directory you find the
manpages.
For installing the compiler do the following:
cd /usr;mkdir local;mkdir bin
cd /usr;cd local; mkdir pasfront
Copy the the files as follows in the mentioned directories
file directory
-------------------------------
pasfront /usr/local/bin/
tmplib.o /usr/local/pasfront/
pasfrontlib.a /usr/local/pasfront/
run /usr/local/bin/
pasfront.h /usr/include/
Of course you can install the files where you want. But if you do
so, you have to make changes in the file run.
If you have problems with installing or problems with compiling
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 compiler by using the file physik.pas
Starting the compiler:
run physik
Special thanks for support to the following persons:
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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
<pre>
The files and their meaning:
<a href="README.ALL">README.ALL</a> - This file
<a href="README.PAS16">README.PAS16</a> - What you should know about the pascal
compiler for the OS-16-Bit version
<a href="README.PASDE16">README.PASDE16</a> - What you should know about the debugger
for the OS-16-Bit version
<a href="README.PASDE32">README.PASDE32</a> - What you should know about the debugger
for the OS-32-Bit version
<a href="README.PFRONT">README.PFRONT</a> - What you should know about the pascal
compiler for the OS-32-Bit version
<a href="README.MOD2">README.MOD2</a> - What you should know about the modula-2
compiler for the OS-32-Bit version
<a href="README.C++">README.C++</a> - What you should know about the C++ compiler
<a href="README.FORTH">README.FORTH</a> - What you should know about the FORTH implementation
<a href="README.DEBG">README.DEBG</a> - What you should know about the debugger
<a href="README.LIB">README.LIB</a> - What you should know about the library development
<a href="README.OTHER">README.OTHER</a> - What you should know about my work
<a href="README.INTERPR">README.INTERPR</a> - What you should know about the pascal interpreter
development
<a href="README.TQ">README.TQ</a> - What you should know about TQ
</pre>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.