* BUG: The Val() and IsXXX() functions algorithm has been fixed. Now the
string is trimmed before being converted. Thousand separators are really
valid only to separate thousands. Extra non-space characters at the end
of the string make the conversion fail.
git-svn-id: svn://localhost/gambas/trunk@3382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: In icon editor, the width of the selection frame now follows the
zoom level.
* NEW: Support for preprocessor highlighting.
[COMPILER]
* NEW: Integrated preprocessor. The following commands are supported:
#If <expr>, #Else If <expr>, #Else and #Endif. <expr> can be a
combination of constants (OS_LINUX, OS_FREEBSD, ARCH_X86, ARCH_X86...),
parenthesis, 'And' & 'Or' operators, version test (VERSION >= "3.0").
This is work in progress.
[GB.EVAL]
* NEW: A new highlighting color for the preprocessor.
[GB.QT4.EXT]
* NEW: A new highlighting color for the preprocessor in Editor control.
git-svn-id: svn://localhost/gambas/trunk@3374 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '%' is a new operator that is a synonymous for 'MOD'. It has its
assignment operator shortcut '%=' too.
git-svn-id: svn://localhost/gambas/trunk@3362 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The scaring change. IsByte(), IsShort(), IsSingle(), IsString(),
IsPointer(), IsObject() and IsVariant() have been removed. IsNull() has
been kept unchanged.
* NEW: IsInteger() now returns if a string can be converted to an Integer
number.
* NEW: IsLong() now returns if a string can be converted to an Integer or a
Long number.
* NEW: IsFloat() now returns if a string can be converted to a Float, but
not an Integer or a Long.
* NEW: IsNumber() now returns if a string can be converted to an Integer, a
Long or a Float.
* NEW: IsDate() now returns if a string can be converted to a Date.
* NEW: Str(True) and Str(False) now use the translation of the "True" and
"False" string, if they exist in the current project.
* NEW: Val() now uses the translation of the "True" and "False" string, if
they exist in the current project.
git-svn-id: svn://localhost/gambas/trunk@3329 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The argument of Byte@(), Short@()... functions now can be a string.
Then the address of the string in memory is used.
* BUG: Structures allocated with the NEW operator are correctly freed now.
* NEW: READ and WRITE now can deal with structures and embedded arrays.
* NEW: Dir?() synonymous has been removed.
git-svn-id: svn://localhost/gambas/trunk@3322 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mem$() was replaced by MkBool$(), MkByte$(), and so on.
[COMPILER]
* NEW: Mem$() was replaced by MkBool$(), MkByte$(), and so on.
* NEW: CLng(), CSng(), CVar(), CPtr() abbreviations were removed.
* NEW: CBoolean() was added.
git-svn-id: svn://localhost/gambas/trunk@3320 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mem$() is a new function that returns a string from the internal
memory representation of a value.
* NEW: BoolPtr() has been replaced by Bool@(), BytePtr() has been replaced
by Byte@(), and so on...
* NEW: StrPtr() has been replaced by String@().
[EXAMPLES]
* NEW: Search support in the WebBrowser example.
git-svn-id: svn://localhost/gambas/trunk@3318 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New look for version specific documentation.
[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression
beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
PointerPtr().
[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
course it is optional.
[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.
git-svn-id: svn://localhost/gambas/trunk@3041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: StrPtr() now can take a second argument to specify the length of the
string we will read from memory. If that argument is not specified, the
string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
Gambas array class.
[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
raises an error.
git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been increased, and so all projects must be
recompiled.
[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event
management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have
been removed.
[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.
[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().
git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: More work on structure support.
* BUG: Fix optimization in error management.
[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the
Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE,
which is smaller!
* NEW: Do not compute variable position and size, as it is done by the
interpreter anyway.
[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.
[GB.XML.RPC]
* BUG: The component compiles again.
git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GB.NewZeroString() API to create a Gambas string from a
null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.
[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.
git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec