add directory Minix
This commit is contained in:
321
Minix/contrib/pascal/README
Normal file
321
Minix/contrib/pascal/README
Normal 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 ...
|
||||
20
Minix/contrib/pascal/README.ALL
Normal file
20
Minix/contrib/pascal/README.ALL
Normal 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
|
||||
13
Minix/contrib/pascal/README.C++
Normal file
13
Minix/contrib/pascal/README.C++
Normal 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
|
||||
15
Minix/contrib/pascal/README.DEBG
Normal file
15
Minix/contrib/pascal/README.DEBG
Normal 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
|
||||
7
Minix/contrib/pascal/README.FORTH
Normal file
7
Minix/contrib/pascal/README.FORTH
Normal 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
|
||||
6
Minix/contrib/pascal/README.INTERPR
Normal file
6
Minix/contrib/pascal/README.INTERPR
Normal 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
|
||||
10
Minix/contrib/pascal/README.LIB
Normal file
10
Minix/contrib/pascal/README.LIB
Normal 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
|
||||
7
Minix/contrib/pascal/README.MOD2
Normal file
7
Minix/contrib/pascal/README.MOD2
Normal 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
|
||||
47
Minix/contrib/pascal/README.OTHER
Normal file
47
Minix/contrib/pascal/README.OTHER
Normal 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
|
||||
111
Minix/contrib/pascal/README.PAS16
Normal file
111
Minix/contrib/pascal/README.PAS16
Normal 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
|
||||
263
Minix/contrib/pascal/README.PASDE16
Normal file
263
Minix/contrib/pascal/README.PASDE16
Normal 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
|
||||
263
Minix/contrib/pascal/README.PASDE32
Normal file
263
Minix/contrib/pascal/README.PASDE32
Normal 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
|
||||
85
Minix/contrib/pascal/README.PFRONT
Normal file
85
Minix/contrib/pascal/README.PFRONT
Normal 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
|
||||
1538
Minix/contrib/pascal/README.TQ
Normal file
1538
Minix/contrib/pascal/README.TQ
Normal file
File diff suppressed because it is too large
Load Diff
22
Minix/contrib/pascal/README.html
Normal file
22
Minix/contrib/pascal/README.html
Normal 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>
|
||||
BIN
Minix/contrib/pascal/debug16.tar.gz
Normal file
BIN
Minix/contrib/pascal/debug16.tar.gz
Normal file
Binary file not shown.
BIN
Minix/contrib/pascal/debug32.tar.gz
Normal file
BIN
Minix/contrib/pascal/debug32.tar.gz
Normal file
Binary file not shown.
BIN
Minix/contrib/pascal/pascal16.tar.gz
Normal file
BIN
Minix/contrib/pascal/pascal16.tar.gz
Normal file
Binary file not shown.
BIN
Minix/contrib/pascal/pfront.tar.gz
Normal file
BIN
Minix/contrib/pascal/pfront.tar.gz
Normal file
Binary file not shown.
BIN
Minix/contrib/pascal/qck.tar.gz
Normal file
BIN
Minix/contrib/pascal/qck.tar.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user