home *** CD-ROM | disk | FTP | other *** search
-
- Cursor V1.0 - A freely distributable BASIC-Compiler
- (c) Copyright 1990 by Jürgen Forster
-
- This program is freeware. This means you may use it and give it to any other
- person, but you are not allowed to sell it except for a small copying fee.
-
- 'Cursor' is a 3-pass compiler for BASIC-programs written with the
- AmigaBASIC-interpreter from Commodore. Not all BASIC-commands are
- implemented, but 'Cursor' is at least able to compile itsself. For a list
- of more or less supported BASIC-commands/functions look at the file
- 'Functions.asc'. Though 'Cursor' recognizes most of the AmigaBASIC-commands,
- many of them cause the compiled program to quit with an 'advanced feature'-
- errormessage.
-
- If you want to use 'Cursor' copy the file 'Cursor' to your C:-directory and
- the file 'bas_runtime.library' to your LIBS:-directory. All programs
- compiled with 'Cursor' need this library, and as 'Cursor' itsself is written
- in AmigaBASIC, 'Cursor' needs the library, too. As 'Cursor' uses the four
- math-libraries (mathffp.library, mathtrans.library, mathieeedoubbas.library,
- mathieeedoubtrans.library) for floating-point operations, a compiled program
- always opens these four libraries (even if you only use integer variables),
- so you must have these four libraries in your LIBS: directory (or of course
- in the ROM). 'Cursor' writes one temporary file into the T: directory, so it
- is best to put T: into the RAM-disk.
-
- To compile a BASIC-program start 'Cursor'. It will ask you for the name
- of the programm (which must have an '.bas' extension and must be in ASCII-
- format (use SAVE "name",A in AmigaBASIC), and will create an executable
- without the extension. It will report any error found and stop after one
- pass has been finished. ('Cursor' is not very fast at the moment, but I think
- I'll fix this)
-
- About compiled programs:
- - all compiled programms are pure.
- - the CALL/SUB-...STATIC-commands pass their parameters by value and result
- and not by reference (as I think AmigaBASIC does).
- - 'Cursor' uses buffers for input and output to files to speed I/O up.
- - at the moment every compiled programs allocates 200000 Bytes of memory for
- the BASIC-strings, you might need one megabyte to use 'Cursor' (I'll fix
- this as soon as possible).
- - the stack size can be very small, as the compiled programs allocate their
- own memory for recursions (which are allowed)
- - variables in subprograms are not (like in the AmigaBASIC-interpreter)
- static ones
- - errormessages will either be written to standard output (if it exists) or
- a requester will appear
- - if you make 'Cursor' write the linenumbers into the executable the
- linenumber will be written after any errormessage (for debuging purposes)
- - you can abort a compiled program almost always by using the windowclose-
- gadget
- - programs can be started from the CLI or the workbench
-
- The main program 'Cursor' was written in Amiga-BASIC, the library
- was written using the A68k-assembler (from Charlie Gibbs) and Blink (from
- the Software Distillery).
-
- As I have put a lot of work into 'Cursor' and there still is a lot
- to be done, I want to ask you to send any sum of money to me if you like
- and use this program and want to encourage me to improve it. (I don't want
- to call 'Cursor' shareware as I don't want anyone who does not pay to have
- a bad conscience).
-
- 'Cursor' is supplied as it is. I cannot be made responsible for any
- damage caused by 'Cursor'. Use it at your own risk!
-
- Please send bug reports, suggestions for improvements, money or anything
- else to
-
- Jürgen Forster
- Lintheide 9
- 4800 Bielefeld 17
- West-Germany
-
- Tel.: 05208/1539
-
-