Hello Guido,
First, let me precise that iziBasic is not a "
real" compiler.
It compiles the code to some intermediate code which will then be executed in a virtual machine.
Yes, there is only 1 numeric array and 1 string array in iziBasic.
I can give you an example of one device which addresses/maps its memory with arrays in a very similar way to the one used in iziBasic, look here:
http://www.aldweb.com/articles.php?lng=en&pg=26 Same thing with this one here:
http://www.aldweb.com/articles.php?lng=en&pg=27 Having been a BASIC developer since ages, just like you
I liked this feature a lot and I knew right from the beginning of the iziBasic project that I would implement something similar.
The use of the A() and A$() arrays are indeed quite unusual in iziBasic. The very smart and original point is that they allow to address all of the numeric and string stacks. The counterpart is indeed that their index manipulation is a little bit more difficult.
There are the first step towards other arrays DIMensinoning which I have somewhere in my to do list. They are not implemented yet, because [whatever explanation you wish] and also because I just believed they were other more important things to implement first.
You maybe have MB of RAM free, depending on your device you maybe also have MB of
DYNAMIC RAM free or maybe just a few KB instead. So, when designing iziBasic, I had to deal with some compromises to have its virtual machine run in an old Palm OS 3.x device or a newer 5.x one. 64 characters strings was a decision I made (including CHR$(0) final character, so 63 chars max) at that time. 128 characters strings would have provided half the number of strings to the developers...
I am currently studying how to have iziBasic be more flexible in this area without slowing it down too much...
About the grid form object, please see my answer to the following thread:
Topic #1240 - Palm TablesCheers
@+
aldweb