home *** CD-ROM | disk | FTP | other *** search
- 21/1/94 Got sources from
- ftp: ftp.mv.com:/pub/ddj/packages/bob15.arc
-
- Changes:
-
- # Altered syntax from
-
- f(x, .. ;a, .. ) { ... }
-
- to
-
- f(x, .. ){ local a, .. ; .... }
-
- # Implemented input() using OS_ReadLine.
-
- # Implemented sysvar() using OS_ReadVarVal.
-
- # Implemented switch-block
-
- switch (<expression>)
- {
- case <expression> : <statement> [ break; ]
- ........................................
- [ default : <statement> [ break; ] ]
- }
-
- The only difference from standard C is that a single statement
- follows the colon (or a block enclosed in braces).
-
- This required two new opcodes for the virtual-machine:
- OP_DUP and OP_DROP.
-
- # Altered action of comparison operators to allow comparisons between
- strings as well as integers.
-
- # Introduced 'repeat' as a variant to 'do' with 'until <test> ;' as
- an alternative to 'while <test> ;'.
-
- # Implemented rnd() and seed() for random integers.
-
- # Implemented quit() to terminate program with a message string.
-
- # Altered system() to oscli().
-
- # Allow @,$ and ` in identifiers.
-
- # Implement swi(n,regs) to call SWI number n, with registers in
- vector regs (regs = newvector(8)).
-
- # Implement @(s) for address of string s, and $(adr) to get the
- string at adr.
-
- # Allow positive hexadecimal numbers with a & prefix. Lower case
- a,b,c,d,e,f are used for 10,11,12,13,14,15.
-
- # Added built-in constants, TRUE, FALSE, names for the types, and
- SWI numbers.
-
- # Removed bug in switch/case. Added built-in val() to convert
- strings to integers.
-
- # Modify swi to take string arguments.
-
- # Implement peek and poke for reading and writing words to buffers.
-
- # Improve switch/case structure so as to conform completely with
- C syntax.
-
- # Change syntax of peek and poke, so that `(), £(), $() peek bytes,
- words and strings respectively, and ``(), ££(), $$() poke.
-
- # Added the
-
- in buffer put { item1; ..... itemn; }
-
- construction, for initializing window/sprite/menu/message blocks.
- This requires the addition of two more opcodes, OP_ADR, OP_PUTNEXT.
-
- # Added an internal variable w_task to hold task handle. Implemented
- wimp_report(s),
- wimp_close_down(),
- wimp_init(version, name, mesg_list).
-
- # Modified Bobint.c to give an error message if a function is not
- found. Altered the flag decoding in bob.c to be able to trace and
- debug projects.
-
- # Cured another bug in switch statement.
-
- <- version 1.01 02/03/94
-
- # Cured bug in h.string.string
-
- # Misprint found in compiler source:
- changed an instance of SHL_EQ to SHR_EQ. >>= now works.
-
- <- version 1.02 06/06/94
-
- # Added throwback for compiler errors. 25/06/94
-
- # Added the start_task(command) function. This works whether
- from a BobFile or a BobTask.
-
- # Hand crafted the code for the interpreter and memory management
- in assembler.
-
- <- version 1.03 14/07/94
-
- # Added floating point arithmetic. 28/11/94
-
- <- version 2.0 29/11/94
-
- # Added vector { ... } and enum { ... } constructs. 1/12/94
- Used Aeby's active text for manual.
- Added draw library.
- Eased syntactic restrictions in project files.
-
- <- version 2.1 25/12/94
-
-