home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
a
/
armbob
/
doc
/
History
next >
Wrap
Text File
|
1994-07-14
|
3KB
|
105 lines
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.
<- version 1.03 14/07/94