| Home | Why Omnibasic | Features | FAQ | Examples |
|---|---|---|---|---|
| Reviews | Keyword/Syntax | On-Line Manual | Download Manual | ScreenShots |
Pointer and based variable capability
In the realm of systems programming, few features are as significant as the ability to reference data at the address of the programmers choice rather than as assigned by the compiler.
Pointers and Based Variables provide precisely this facility.
An additional capability provided by these features is the ability to address a block of data as more than one data type. For example, it is not only possible, but convenient to reference a string as an array of bytes. It is also easy to refer to a long integer as a byte array. This latter example is useful in reversing the order of the long integer internally from big endian to little endian format.
These features also go hand in hand with dynamic memory allocation allowing the effect of dynamically changing array or buffer sizes. An example of this might be an edit buffer which will change based on what the user loads, adds, or deletes during an edit session.
OmniBasic pointers are implemented in such a way that the pointer reference is expressed as an indirect data reference.
Based variables (vectors) accomplish the same result but do not require the special pointer (indirect) notation.
Another feature of note with regard to (but not limited to) systems programming is OmniBasics Macro capability. This allows complex coding sequences to be encapsulated into a block of code which is then expressed by the macros name and followed by any arguments as appropriate. The macro substitution rules allow up to 16 arguments.
Conditional compilation should also be mentioned as a powerful tool which may also be combined with the macro capability to produce a wide array of complex compiler targets.
Home || Why Omnibasic || Features || FAQ || Examples
Reviews || Links || Privacy Statement || Top of Page
Innomation Systems, Inc.
117 Morrison Ave. Morrison, MO 65061 (573) 294-6130
OmniBasic is a
trademark of Innomation Systems, Inc., other trademarks are the property of their
respective owners.
Innomation Systems, Inc. reserves the right to change prices and specifications without prior notice.
Copyright © 2000, 2001, 2002 Innomation Systems, Inc.