home *** CD-ROM | disk | FTP | other *** search
- *********************************************************************
- * *
- * ARMBOB v.2.1 *
- * 25/12/94 *
- *********************************************************************
-
- History
- -------
- Bob was written by David Betz (167 Villa Ave. #11, Los Gatos, CA 95032
- email: dbetz@Apple.com) for the IBM PC. He owns the copyright.
-
- See the article
-
- David Betz. A tiny object-oriented language.
- Dr Dobb's Journal, Sep 1991, p.26.
-
- for a description of Bob and how it works.
-
- The sources for Bob, version 1.5, are available by anonymous ftp from:
-
- ftp: ftp.mv.com:/pub/ddj/packages/bob15.arc
-
- This version, for Acorn RISC OS computers, was adapted from them
- by G.C.Wraith (12, Mushroom Field, Kingston by Lewes, E.Sussex BN7 3LE,
- email: G.Wraith@Sussex.ac.uk).
-
- Overview of ArmBob
- ------------------
- Bob is a small object oriented language, with a syntax resembling C++.
- It works by compiling the source program - which may be spread over
- several files - into code for a virtual machine, as an intermediate
- step, and then running the virtual machine emulator.
-
- Bob provides an easy introduction to object oriented programming for
- those already familiar with Basic or C. Bob has a garbage collected
- heap which enables it to provide sophisticated datatypes without the
- complexities of storage allocation and pointer arithmetic.
-
- ArmBob is compatible with Bob, with the minor syntactic change that
- local variables are declared in the first line of the function body
- after the keyword 'local' (rather like in Basic), rather than with the
- function's formal parameters. ArmBob has extra features, such as the
- switch() {...} structure, more built-in functions, and facilities to
- access software interrupts and interact with the task manager.
-
- How to run Bob programs
- -----------------------
- Four new filetypes are defined:
-
- BobFile, BobTask, BobProj, BobPTask
-
- BobFiles are analogous to Basic files. Double click on them to make
- them run (in a command window, unless a mode change command is given).
-
- BobTask files run in a taskwindow when double clicked. They are only
- appropriate for programs with textual input and output. For graphics use
- a BobFile.
-
- BobProj files are appropriate for large programs stretching over many
- files. They contain a list of the program files (which might as well
- have the text filetype). Double click on a BobProj file to compile
- and run the program contained in the files that it lists, in a
- command window.
-
- BobPTask files are like BobProj files but run in a task window.
-
- Files of any of these types can be edited by holding down SHIFT and
- double clicking on them. They can be created initially as text files,
- with their filetypes altered later from the filer menu, or as blank
- files of the appropriate type, created by filling in the filetype
- in the blank option of Edit's Create submenu from the iconbar.
-
- Double clicking !ArmBob sets up the BobFile, TaskBob and BobProj
- filetypes and their run actions, and opens a filer window on a
- directory forholding Bob programs. The path prefix to this directory
- is Bob:.
-
- Compiler errors cause a window to open with an error message.
- Clicking on the Throwback icon causes the relevant source file
- to be displayed in an edit window, with the error line
- highlighted. Runtime errors do not do this (yet!).
-
- If you want to run a taskwindow Bob program in trace and/or debug mode,
- double click on the Obey files called debug and trace. You will find it
- easier to debug or trace an ArmBob program in a taskwindow (if it has no
- graphics output), because you can scroll back the output that has
- disappeared off the screen. In any case, for producing still graphics
- it is best to use the draw library to produce and display the graphics
- in a draw file. Double click on the !Armbob icon to turn debug or trace
- mode off.
-
- The directory doc.Ref contains more detailed reference files
- on ArmBob. The directory doc.Tutorial is intended to help beginners.
- The file doc.manual is active text for use with T.Aeby's !Whelp
- help-reader, also available by anonymous ftp from hensa in:
-
- micros.hensa.ac.uk:micros/arch/riscos/c/c071
-
- Simply doubly click on manual once the !whelp application has
- been 'seen' or filer_booted.
-
- Changes since v.1.0:
- Bug in switch statement cured.
- The example !Harness has been rewritten to use the
- library Bob:h.wimp.
- Changes since v.1.01:
- Cured >>= bug.
- Corrected bug in Bob:h.string.string.
- Replaced !Harness by !Exec.
- Corrected fputc to putc in documentation.
- Corrected remark about TRUE in documentation. Its
- value is 1, not -1.
- Changes since v.1.02:
- Throwback added.
- Changes since v.1.03:
- Floating point arithmetic added.
- Changes since v.2.0
- vector { ... } and enum { ... } constructs added.
- syntax of project files made easier.
- draw library added.
-
- ----------- END -----------