home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / a / armbob / doc / Intro < prev   
Text File  |  1994-07-14  |  5KB  |  108 lines

  1. *********************************************************************
  2. *                                                                   *
  3. *                         ARMBOB  v.1.03                            *
  4. *                                                         25/06/94  *
  5. *********************************************************************
  6.  
  7. History
  8. -------
  9. Bob was written by David Betz (167 Villa Ave. #11, Los Gatos, CA 95032
  10. email: dbetz@Apple.com) for the IBM PC. He owns the copyright.
  11.  
  12. See the article
  13.  
  14.           David Betz.  A tiny object-oriented language.  
  15.                        Dr Dobb's Journal, Sep 1991, p.26.
  16.  
  17. for a description of Bob and how it works.
  18.  
  19. The sources for Bob, version 1.5, are available by anonymous ftp from:
  20.  
  21.          ftp: ftp.mv.com:/pub/ddj/packages/bob15.arc
  22.  
  23. This version, for Acorn RISC OS computers, was adapted from them
  24. by G.C.Wraith (12, Mushroom Field, Kingston by Lewes, E.Sussex BN7 3LE,
  25. email: G.Wraith@Sussex.ac.uk). 
  26.  
  27. Overview of ArmBob
  28. ------------------
  29. Bob is a small object oriented language, with a syntax resembling C++.
  30. It works by compiling the source program - which may be spread over 
  31. several files - into code for a virtual machine, as an intermediate 
  32. step, and then running the virtual machine emulator.
  33.  
  34. Bob provides an easy introduction to object oriented programming for
  35. those already familiar with Basic or C. Bob has a garbage collected
  36. heap which enables it to provide sophisticated datatypes without the
  37. complexities of storage allocation and pointer arithmetic.
  38.  
  39. ArmBob is compatible with Bob, with the minor syntactic change that
  40. local variables are declared in the first line of the function body
  41. after the keyword 'local' (rather like in Basic), rather than with the
  42. function's formal parameters. ArmBob has extra features, such as the
  43. switch() {...} structure, more built-in functions, and facilities to
  44. access software interrupts and interact with the task manager. See
  45. the file ref.LowLevel for more details.
  46.  
  47. How to run Bob programs
  48. -----------------------
  49. Four new filetypes are defined:
  50.  
  51.              BobFile, BobTask, BobProj, BobPTask
  52.  
  53. BobFiles are analogous to Basic files. Double click on them to make
  54. them run (in a command window, unless a mode change command is given).
  55.  
  56. BobTask files run in a taskwindow when double clicked. They are only 
  57. appropriate for programs with textual input and output. For graphics use 
  58. a BobFile.
  59.  
  60. BobProj files are appropriate for large programs stretching over many 
  61. files. They contain a list of the program files (which might as well
  62. have the text filetype). Double click on a BobProj file to compile
  63. and run the program contained in the files that it lists, in a
  64. command window.
  65.  
  66. BobPTask files are like BobProj files but run in a task window.
  67.  
  68. Files of any of these types can be edited by holding down SHIFT and 
  69. double clicking on them. They can be created initially as text files, 
  70. with their filetypes altered later from the filer menu, or as blank 
  71. files of the appropriate type, created by filling in the filetype 
  72. in the blank option of Edit's Create submenu from the iconbar.
  73.  
  74. Double clicking !ArmBob sets up the BobFile, TaskBob and BobProj 
  75. filetypes and their run actions, and opens a filer window on a 
  76. directory forholding Bob programs. The path prefix to this directory 
  77. is Bob:.
  78.  
  79. Compiler errors cause a window to open with an error message.
  80. Clicking on the Throwback icon causes the relevant source file
  81. to be displayed in an edit window, with the error line
  82. highlighted. Runtime errors do not do this (yet!).
  83.  
  84. If you want to run a Bob program in trace and/or debug mode, insert '-t '
  85. and/or '-d ' before %%*0 in the three lines where it occurs in 
  86. !ArmBob.!Run and !ArmBob.!Boot. You will probably find it easier to
  87. debug or trace an ArmBob program in a taskwindow if it has no graphics
  88. output, because you can scroll back the output that has disappeared off 
  89. the screen.
  90.  
  91. The accompanying directory Ref contains more detailed reference files
  92. on ArmBob. The directory Tutorial is intended to help beginners.
  93.  
  94. Changes from v.1.0:
  95.    Bug in switch statement cured.
  96.    The example !Harness has been rewritten to use the
  97.    library Bob:h.wimp.
  98. Changes from v.1.01:
  99.    Cured >>= bug. 
  100.    Corrected bug in Bob:h.string.string.
  101.    Replaced !Harness by !Exec.
  102.    Corrected fputc to putc in documentation.
  103.    Corrected remark about TRUE in documentation. Its
  104.    value is 1, not -1.
  105. Changes from v.1.02:
  106.    Throwback added.
  107.  
  108.                       ----------- END -----------