Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras » Apple][e/PD/BOB/ARMBOB/doc/!BobDoc/Over
Apple][e/PD/BOB/ARMBOB/doc/!BobDoc/Over
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras |
Filename: | Apple][e/PD/BOB/ARMBOB/doc/!BobDoc/Over |
Read OK: | ✔ |
File size: | 07F3 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
<TITLE>Overview of ArmBob 2.0</TITLE> <H2><IMG SRC="!Sprites#!ArmBob"> Overview of ArmBob 2.0</H2> Armbob is a small object oriented language, with a syntax resembling C++, developed from <A HREF="#Bob"> David Betz's </A> Bob by <A HREF="#GCW"> G.C.Wraith </A> with the aim of providing a practical and more modern alternative to Basic for quick and easy wimp programming, and as a simple introduction to ideas of object oriented programming. It can be obtained by anonymous ftp from <UL> <LI> <KBD> micros.hensa.ac.uk:micros/arch/riscos/b/b178 </KBD> </UL> ArmBob was developed from <A HREF="#Bob"> Bob</A> and differs from it in the following ways: <UL> <LI>Local variables are declared in the first line of the function body after the keyword <CODE>local</CODE> (as in Basic), rather than with the function's formal parameters. <LI> ArmBob has C's <CODE>switch</CODE> block structure. <LI> ArmBob has floating point numbers as well as integers. <LI> ArmBob has some extra syntactic structures, for using arrays as buffers and for naming components of vectors. <LI> Armbob has a variety of built-in functions and constants, in particular ones enabling it to be used for running wimp tasks. <LI> The compilation phase supports error throwback. </UL> <HR> <H3> <A NAME="Bob">Bob</A> </H3> Bob was written by <CITE> David Betz, 167 Villa Ave. #11, Los Gatos, CA 95032 </CITE> <TT> (dbetz@Apple.com) </TT> for the IBM PC. He owns the copyright to Bob. For a description of Bob and how it works see the article <CITE> A tiny object-oriented language, D. Betz, Dr Dobb's Journal, September 1991, p.26. </CITE> The sources for Bob, version 1.5, are available by anonymous ftp as: <UL> <LI> <KBD> ftp: ftp.mv.com:/pub/ddj/packages/bob15.arc </KBD> </UL> <HR> <A NAME="GCW">My address is</A><BR> <ADDRESS> G.C.Wraith<BR> School of Mathematical Sciences<BR> Sussex University<BR> East Sussex, BN1 3HQ<BR> </ADDRESS> <TT> (gavinw@sussex.ac.uk) </TT>
00000000 3c 54 49 54 4c 45 3e 4f 76 65 72 76 69 65 77 20 |<TITLE>Overview | 00000010 6f 66 20 41 72 6d 42 6f 62 20 32 2e 30 3c 2f 54 |of ArmBob 2.0</T| 00000020 49 54 4c 45 3e 0a 3c 48 32 3e 3c 49 4d 47 20 53 |ITLE>.<H2><IMG S| 00000030 52 43 3d 22 21 53 70 72 69 74 65 73 23 21 41 72 |RC="!Sprites#!Ar| 00000040 6d 42 6f 62 22 3e 20 4f 76 65 72 76 69 65 77 20 |mBob"> Overview | 00000050 6f 66 20 41 72 6d 42 6f 62 20 32 2e 30 3c 2f 48 |of ArmBob 2.0</H| 00000060 32 3e 0a 41 72 6d 62 6f 62 20 69 73 20 61 20 73 |2>.Armbob is a s| 00000070 6d 61 6c 6c 20 6f 62 6a 65 63 74 20 6f 72 69 65 |mall object orie| 00000080 6e 74 65 64 20 6c 61 6e 67 75 61 67 65 2c 0a 20 |nted language,. | 00000090 77 69 74 68 20 61 20 73 79 6e 74 61 78 20 72 65 |with a syntax re| 000000a0 73 65 6d 62 6c 69 6e 67 20 43 2b 2b 2c 20 64 65 |sembling C++, de| 000000b0 76 65 6c 6f 70 65 64 20 66 72 6f 6d 20 0a 20 3c |veloped from . <| 000000c0 41 20 48 52 45 46 3d 22 23 42 6f 62 22 3e 20 44 |A HREF="#Bob"> D| 000000d0 61 76 69 64 20 42 65 74 7a 27 73 20 3c 2f 41 3e |avid Betz's </A>| 000000e0 20 42 6f 62 20 62 79 20 0a 20 3c 41 20 48 52 45 | Bob by . <A HRE| 000000f0 46 3d 22 23 47 43 57 22 3e 20 47 2e 43 2e 57 72 |F="#GCW"> G.C.Wr| 00000100 61 69 74 68 20 3c 2f 41 3e 0a 0a 20 77 69 74 68 |aith </A>.. with| 00000110 20 74 68 65 20 61 69 6d 20 6f 66 20 70 72 6f 76 | the aim of prov| 00000120 69 64 69 6e 67 20 61 20 70 72 61 63 74 69 63 61 |iding a practica| 00000130 6c 0a 20 61 6e 64 20 6d 6f 72 65 20 6d 6f 64 65 |l. and more mode| 00000140 72 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 |rn alternative t| 00000150 6f 20 42 61 73 69 63 20 0a 20 66 6f 72 20 71 75 |o Basic . for qu| 00000160 69 63 6b 20 61 6e 64 20 65 61 73 79 20 77 69 6d |ick and easy wim| 00000170 70 20 70 72 6f 67 72 61 6d 6d 69 6e 67 2c 0a 20 |p programming,. | 00000180 61 6e 64 20 61 73 20 61 20 73 69 6d 70 6c 65 20 |and as a simple | 00000190 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 |introduction to | 000001a0 69 64 65 61 73 20 6f 66 0a 20 6f 62 6a 65 63 74 |ideas of. object| 000001b0 20 6f 72 69 65 6e 74 65 64 20 70 72 6f 67 72 61 | oriented progra| 000001c0 6d 6d 69 6e 67 2e 0a 20 49 74 20 63 61 6e 20 62 |mming.. It can b| 000001d0 65 20 6f 62 74 61 69 6e 65 64 20 62 79 20 61 6e |e obtained by an| 000001e0 6f 6e 79 6d 6f 75 73 20 66 74 70 20 66 72 6f 6d |onymous ftp from| 000001f0 0a 20 3c 55 4c 3e 0a 20 3c 4c 49 3e 0a 20 3c 4b |. <UL>. <LI>. <K| 00000200 42 44 3e 0a 20 20 20 6d 69 63 72 6f 73 2e 68 65 |BD>. micros.he| 00000210 6e 73 61 2e 61 63 2e 75 6b 3a 6d 69 63 72 6f 73 |nsa.ac.uk:micros| 00000220 2f 61 72 63 68 2f 72 69 73 63 6f 73 2f 62 2f 62 |/arch/riscos/b/b| 00000230 31 37 38 0a 20 3c 2f 4b 42 44 3e 0a 20 3c 2f 55 |178. </KBD>. </U| 00000240 4c 3e 0a 20 41 72 6d 42 6f 62 20 77 61 73 20 64 |L>. ArmBob was d| 00000250 65 76 65 6c 6f 70 65 64 20 66 72 6f 6d 20 3c 41 |eveloped from <A| 00000260 20 48 52 45 46 3d 22 23 42 6f 62 22 3e 20 42 6f | HREF="#Bob"> Bo| 00000270 62 3c 2f 41 3e 0a 20 61 6e 64 20 64 69 66 66 65 |b</A>. and diffe| 00000280 72 73 20 66 72 6f 6d 20 69 74 20 69 6e 20 74 68 |rs from it in th| 00000290 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 61 79 73 |e following ways| 000002a0 3a 0a 20 3c 55 4c 3e 0a 20 3c 4c 49 3e 4c 6f 63 |:. <UL>. <LI>Loc| 000002b0 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 |al variables are| 000002c0 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 | declared in the| 000002d0 20 66 69 72 73 74 0a 20 6c 69 6e 65 20 6f 66 20 | first. line of | 000002e0 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 |the function bod| 000002f0 79 20 61 66 74 65 72 20 74 68 65 20 6b 65 79 77 |y after the keyw| 00000300 6f 72 64 0a 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c |ord. <CODE>local| 00000310 3c 2f 43 4f 44 45 3e 20 28 61 73 20 69 6e 20 42 |</CODE> (as in B| 00000320 61 73 69 63 29 2c 20 72 61 74 68 65 72 20 74 68 |asic), rather th| 00000330 61 6e 0a 20 77 69 74 68 20 74 68 65 20 66 75 6e |an. with the fun| 00000340 63 74 69 6f 6e 27 73 20 66 6f 72 6d 61 6c 20 70 |ction's formal p| 00000350 61 72 61 6d 65 74 65 72 73 2e 0a 20 3c 4c 49 3e |arameters.. <LI>| 00000360 20 41 72 6d 42 6f 62 20 68 61 73 20 43 27 73 20 | ArmBob has C's | 00000370 3c 43 4f 44 45 3e 73 77 69 74 63 68 3c 2f 43 4f |<CODE>switch</CO| 00000380 44 45 3e 20 62 6c 6f 63 6b 20 73 74 72 75 63 74 |DE> block struct| 00000390 75 72 65 2e 0a 20 3c 4c 49 3e 20 41 72 6d 42 6f |ure.. <LI> ArmBo| 000003a0 62 20 68 61 73 20 66 6c 6f 61 74 69 6e 67 20 70 |b has floating p| 000003b0 6f 69 6e 74 20 6e 75 6d 62 65 72 73 20 61 73 20 |oint numbers as | 000003c0 77 65 6c 6c 20 61 73 20 69 6e 74 65 67 65 72 73 |well as integers| 000003d0 2e 0a 20 3c 4c 49 3e 20 41 72 6d 42 6f 62 20 68 |.. <LI> ArmBob h| 000003e0 61 73 20 73 6f 6d 65 20 65 78 74 72 61 20 73 79 |as some extra sy| 000003f0 6e 74 61 63 74 69 63 20 73 74 72 75 63 74 75 72 |ntactic structur| 00000400 65 73 2c 20 66 6f 72 20 75 73 69 6e 67 0a 20 61 |es, for using. a| 00000410 72 72 61 79 73 20 61 73 20 62 75 66 66 65 72 73 |rrays as buffers| 00000420 20 61 6e 64 20 66 6f 72 20 6e 61 6d 69 6e 67 20 | and for naming | 00000430 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 76 65 |components of ve| 00000440 63 74 6f 72 73 2e 0a 20 3c 4c 49 3e 20 41 72 6d |ctors.. <LI> Arm| 00000450 62 6f 62 20 68 61 73 20 61 20 76 61 72 69 65 74 |bob has a variet| 00000460 79 20 6f 66 20 62 75 69 6c 74 2d 69 6e 20 66 75 |y of built-in fu| 00000470 6e 63 74 69 6f 6e 73 20 61 6e 64 20 63 6f 6e 73 |nctions and cons| 00000480 74 61 6e 74 73 2c 0a 20 69 6e 20 70 61 72 74 69 |tants,. in parti| 00000490 63 75 6c 61 72 20 6f 6e 65 73 20 65 6e 61 62 6c |cular ones enabl| 000004a0 69 6e 67 20 69 74 20 74 6f 20 62 65 20 75 73 65 |ing it to be use| 000004b0 64 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 77 69 |d for running wi| 000004c0 6d 70 20 0a 20 74 61 73 6b 73 2e 0a 20 3c 4c 49 |mp . tasks.. <LI| 000004d0 3e 20 54 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f |> The compilatio| 000004e0 6e 20 70 68 61 73 65 20 73 75 70 70 6f 72 74 73 |n phase supports| 000004f0 20 65 72 72 6f 72 20 74 68 72 6f 77 62 61 63 6b | error throwback| 00000500 2e 0a 20 3c 2f 55 4c 3e 0a 20 3c 48 52 3e 0a 20 |.. </UL>. <HR>. | 00000510 3c 48 33 3e 0a 20 3c 41 20 4e 41 4d 45 3d 22 42 |<H3>. <A NAME="B| 00000520 6f 62 22 3e 42 6f 62 3c 2f 41 3e 0a 20 3c 2f 48 |ob">Bob</A>. </H| 00000530 33 3e 0a 20 42 6f 62 20 77 61 73 20 77 72 69 74 |3>. Bob was writ| 00000540 74 65 6e 20 62 79 20 0a 20 3c 43 49 54 45 3e 0a |ten by . <CITE>.| 00000550 20 20 20 44 61 76 69 64 20 42 65 74 7a 2c 0a 20 | David Betz,. | 00000560 20 20 31 36 37 20 56 69 6c 6c 61 20 41 76 65 2e | 167 Villa Ave.| 00000570 20 23 31 31 2c 0a 20 20 20 4c 6f 73 20 47 61 74 | #11,. Los Gat| 00000580 6f 73 2c 20 43 41 20 39 35 30 33 32 0a 20 3c 2f |os, CA 95032. </| 00000590 43 49 54 45 3e 0a 20 3c 54 54 3e 0a 20 20 20 28 |CITE>. <TT>. (| 000005a0 64 62 65 74 7a 40 41 70 70 6c 65 2e 63 6f 6d 29 |dbetz@Apple.com)| 000005b0 0a 20 3c 2f 54 54 3e 0a 20 66 6f 72 20 74 68 65 |. </TT>. for the| 000005c0 20 49 42 4d 20 50 43 2e 20 48 65 20 6f 77 6e 73 | IBM PC. He owns| 000005d0 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 74 | the copyright t| 000005e0 6f 20 42 6f 62 2e 20 0a 20 46 6f 72 20 61 20 64 |o Bob. . For a d| 000005f0 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 42 6f |escription of Bo| 00000600 62 20 61 6e 64 20 68 6f 77 20 69 74 20 77 6f 72 |b and how it wor| 00000610 6b 73 20 73 65 65 0a 20 74 68 65 20 61 72 74 69 |ks see. the arti| 00000620 63 6c 65 20 3c 43 49 54 45 3e 20 41 20 74 69 6e |cle <CITE> A tin| 00000630 79 20 6f 62 6a 65 63 74 2d 6f 72 69 65 6e 74 65 |y object-oriente| 00000640 64 20 6c 61 6e 67 75 61 67 65 2c 20 44 2e 20 42 |d language, D. B| 00000650 65 74 7a 2c 20 0a 20 44 72 20 44 6f 62 62 27 73 |etz, . Dr Dobb's| 00000660 20 4a 6f 75 72 6e 61 6c 2c 20 53 65 70 74 65 6d | Journal, Septem| 00000670 62 65 72 20 31 39 39 31 2c 20 70 2e 32 36 2e 20 |ber 1991, p.26. | 00000680 3c 2f 43 49 54 45 3e 20 0a 20 54 68 65 20 73 6f |</CITE> . The so| 00000690 75 72 63 65 73 20 66 6f 72 20 42 6f 62 2c 20 76 |urces for Bob, v| 000006a0 65 72 73 69 6f 6e 20 31 2e 35 2c 20 61 72 65 20 |ersion 1.5, are | 000006b0 61 76 61 69 6c 61 62 6c 65 0a 20 62 79 20 61 6e |available. by an| 000006c0 6f 6e 79 6d 6f 75 73 20 66 74 70 20 61 73 3a 0a |onymous ftp as:.| 000006d0 20 3c 55 4c 3e 0a 20 3c 4c 49 3e 0a 20 3c 4b 42 | <UL>. <LI>. <KB| 000006e0 44 3e 0a 20 20 20 66 74 70 3a 20 66 74 70 2e 6d |D>. ftp: ftp.m| 000006f0 76 2e 63 6f 6d 3a 2f 70 75 62 2f 64 64 6a 2f 70 |v.com:/pub/ddj/p| 00000700 61 63 6b 61 67 65 73 2f 62 6f 62 31 35 2e 61 72 |ackages/bob15.ar| 00000710 63 0a 20 3c 2f 4b 42 44 3e 0a 20 3c 2f 55 4c 3e |c. </KBD>. </UL>| 00000720 0a 20 3c 48 52 3e 0a 20 3c 41 20 4e 41 4d 45 3d |. <HR>. <A NAME=| 00000730 22 47 43 57 22 3e 4d 79 20 61 64 64 72 65 73 73 |"GCW">My address| 00000740 20 69 73 3c 2f 41 3e 3c 42 52 3e 0a 20 3c 41 44 | is</A><BR>. <AD| 00000750 44 52 45 53 53 3e 0a 20 20 47 2e 43 2e 57 72 61 |DRESS>. G.C.Wra| 00000760 69 74 68 3c 42 52 3e 0a 20 20 53 63 68 6f 6f 6c |ith<BR>. School| 00000770 20 6f 66 20 4d 61 74 68 65 6d 61 74 69 63 61 6c | of Mathematical| 00000780 20 53 63 69 65 6e 63 65 73 3c 42 52 3e 0a 20 20 | Sciences<BR>. | 00000790 53 75 73 73 65 78 20 55 6e 69 76 65 72 73 69 74 |Sussex Universit| 000007a0 79 3c 42 52 3e 0a 20 20 45 61 73 74 20 53 75 73 |y<BR>. East Sus| 000007b0 73 65 78 2c 20 42 4e 31 20 33 48 51 3c 42 52 3e |sex, BN1 3HQ<BR>| 000007c0 0a 20 3c 2f 41 44 44 52 45 53 53 3e 0a 20 3c 54 |. </ADDRESS>. <T| 000007d0 54 3e 0a 20 20 20 28 67 61 76 69 6e 77 40 73 75 |T>. (gavinw@su| 000007e0 73 73 65 78 2e 61 63 2e 75 6b 29 0a 20 3c 2f 54 |ssex.ac.uk). </T| 000007f0 54 3e 20 |T> | 000007f3