[COMPILER]
* BUG: Synchronize reserved words enumeration with reserved words table.
[GB.EVAL]
* NEW: Highlight: 'Analyze()' got a new optional boolean parameter that stops the analyze when the "%>" token is encountered.
* NEW: Highlight: 'IsFunction' is a new property that returns if 'Highlight.Analyze()' got a function declaration.
* NEW: Highlight: 'LengthBefore' is a new property that returns the number of analyzed characters before the possible rewrite.
[INTERPRETER]
* NEW: Support for the new Eval() feature.
[GB.EVAL]
* NEW: 'Eval()' now can evaluate several expressions at once, provided that they are separated by newlines. The value of the last expression is returned.
* NEW: 'Eval()' now returns NULL if its last expression returns nothing.
[COMPILER]
* OPT: The parser now does not store integer numbers in its global symbol table anymore.
* OPT: Some other little optimizations here and here. The compiler is now about 5% faster.
[ARCHIVER]
* NEW: Compile with '-O3' optimization flag.
[INFORMER]
* NEW: Compile with '-O3' optimization flag.
[GB.EVAL]
* OPT: The parser now does not store integer numbers in its global symbol table anymore.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update French translation.
* NEW: Support of the new '.list' file format.
* NEW: Support of the new EXPORT AS syntax.
* NEW: Update error messages.
[COMPILER]
* NEW: EXPORT AS is a new syntax for exporting a class with a specific name that can include a namespace.
* NEW: New header file to start sharing reader code with the 'gb.eval' component.
* NEW: Class names can include a colon. The part before the colon is assumed to be a namespace.
[INTERPRETER]
* NEW: Classes exported in a namespace are now declared both in the global symbol table and in the local symbol table of their component.
* NEW: Class names are now allocated inside the symbol tables, and not in the class objects anymore.
[GB.EVAL]
* NEW: Share some reader code with the compiler.
[COMPILER]
* NEW: '#Include" is a new preprocessor reserved identifier.
* BUG: Always raise a syntax error if a preprocessor line starts with an unknown reserved identifier.
[GB.EVAL]
* BUG: Fix preprocessor lines highlighting.
[COMPILER]
* NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword.
[GB.EVAL]
* NEW: If the "class" word follows the "End" keyword, it is recognized as a keyword.
[COMPILER]
* OPT: Some optimizations in symbol table routines.
* NEW: Emit column position in almost all error messages. It makes the compiler 2.5% slower, even with the optimizations.
[COMPILER]
* NEW: Rename a macro constant to avoid a symbol clash when compiling the interpreter.
[INTERPRETER]
* NEW: Get rid of a macro trick in 'gbx_eval.h' header.
[GB.EVAL]
* NEW: Highlight: Add three new color constants for syntax highlighting: Escape, Label and Constant.
* NEW: Rename some source files.
* NEW: Rename some constants.
* NEW: Gambas syntax highlighter now use the three new contants for escape characters in strings, for labels, and for language contants (True, False, Null, +Inf and -Inf).
[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new syntax highlighting color constants.
[GB.FORM.EDITOR]
* NEW: Support for the new syntax highlighting color constants.
[COMPILER]
* NEW: New syntax for octal numbers: "&Oxxx".
[INTERPRETER]
* NEW: New syntax for octal numbers: "&Oxxx".
[GB.EVAL]
* NEW: New syntax for octal numbers: "&Oxxx".
* NEW: Support for custom expression evaluators.
[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
provided that you allow it in the IsIdentifier() method.
git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Get rid of the new warnings.
* NEW: Support for arguments without a datatype in function signatures.
* NEW: [ALT] + any brace character is a new editor shrotcut that add or
remove braces around the current word. Same thing for [ALT] + [<] or [>].
* NEW: Property editor: Add a clear button. Replace the MenuButton by a
normal ComboBox.
[INTERPRETER]
* NEW: Support for the new '*.list' file format.
[COMPILER]
* NEW: New '*.list' file format that marks classes having static elements.
* NEW: A warning is emitted when a class having static elements is
overriden by a declaration. This is suspicious.
* NEW: A symbol in a local variable declaration, or a global variable or
property declaration can now be surrounded by braces to prevent a
possible warning.
[GB.FORM]
* NEW: Get rid of the new warnings.
* NEW: TabPanel[].Closable is a new property that defines if a specific tab
has a close button.
[GB.FORM.MDI]
* NEW: Workspace: Try to minimize flickering during resizing. Not very
successful.
git-svn-id: svn://localhost/gambas/trunk@6838 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Move some rare instructions (breakpoints & quit management) out of
the main interpreter loop.
[COMPILER]
* NEW: The parser now assumes that an identifier is a subroutine taking
some arguments only if it is followed by an open brace.
[GB.EVAL]
* NEW: The parser now assumes that an identifier is a subroutine taking
some arguments only if it is followed by an open brace.
git-svn-id: svn://localhost/gambas/trunk@6620 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The IDE now can edit *.gbs Gambas scripts. But there is no automatic
completion.
* NEW: Use labels instead of buttons inside project items.
[WEBSITE MAKER]
* NEW: Update for 3.6.1 version.
[GB.EVAL]
* NEW: Lines beginning with '#!' are highlighted like comments. It's the
'shebang' of Gambas scripts.
git-svn-id: svn://localhost/gambas/trunk@6608 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The PUSH CHAR byte code now works correctly with ASCII code greater
than 127.
git-svn-id: svn://localhost/gambas/trunk@6481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Undo one change of last revision: reading a stream from a memory
stream is a special case. It reads a null-terminated C string, and not a
serialized Gambas string.
* NEW: OPEN STRING is a new instruction that allows to use a string as a
stream. Writing to it appends the written data to the end of the string
at the moment.
* NEW: Closing a string stream returns the data written to the stream as a
new string.
[COMPILER]
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
instructions alone.
[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.
git-svn-id: svn://localhost/gambas/trunk@5941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for imaginary number syntax. For example, using "3i" will
automatically load the gb.gsl component, create the corresponding complex
number and return it.
[COMPILER]
* NEW: Support for imaginary number syntax.
[GB.EVAL]
* NEW: Support for imaginary number syntax.
[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector
and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed.
It had too many problems.
git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix analyze of non-terminated strings and quoted symbols that could
crash.
git-svn-id: svn://localhost/gambas/trunk@4584 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the form editor grid horizontal position.
[INTERPRETER]
* NEW: IsNan() is a new function that returns if a floating point value is
not a number.
* NEW: IsInf() is a new function that returns +1 if a floating point value
is +Inf, -1 if it is -Inf, and 0 if it is a normal number.
* NEW: Swap$() is a new function that swaps a string.
* NEW: The MkBool$(), MkShort$(), MkInt$()... functions come back!
[COMPILER]
* NEW: +Inf and -Inf are two new keywords for representing the
corresponding special floating values.
git-svn-id: svn://localhost/gambas/trunk@4435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New "Gamabs" highlight theme.
* BUG: When showing the search dialog, the search text is correctly
selected in all cases now.
* BUG: Importing a report (or any form that is not a GUI form) now
correctly imports the class file.
[EXAMPLES]
* NEW: Add a text clipping example in the 'Painting' example.
[INTERPRETER]
* OPT: Replace() is now faster when the search string and the replace
string are both one character length strings.
[COMPILER]
* NEW: The string escape character '\v' was added.
[GB.GTK]
* BUG: Paint.Text() now works correctly when the alignment is not
specified.
[GB.NET]
* BUG: Correctly check system errors when using a asynchronous DnsClient.
[GB.QT4]
* BUG: Paint.Save() and Paint.Restore() take the clipping path into account
now.
[GB.SETTINGS]
* NEW: Use a temporary file when saving a settings file, and always make a
backup.
[GB.WEB]
* NEW: The Session.Modify() method was replaced by a read/write Modified
property.
git-svn-id: svn://localhost/gambas/trunk@4273 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The lowest long integer constant (-9223372036854775808) is correctly
interpreted now.
[GB.EVAL]
* BUG: The lowest long integer constant (-9223372036854775808) is correctly
interpreted now.
git-svn-id: svn://localhost/gambas/trunk@4230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix many gcc 4.6.1 warnings.
* NEW: Update the depcomp sript with a more recent version.
[GB.DB.POSTGRESQL]
* BUG: Fix primary index retrieving for tables inside a schema.
git-svn-id: svn://localhost/gambas/trunk@4203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the use of boolean in the interpreter API.
* NEW: Change the GB.New() API signature, and update all components
accordingly.
git-svn-id: svn://localhost/gambas/trunk@3846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '\0' is a new string escape character for Chr$(0).
[GB.DRAW]
* NEW: Several Draw.Begin() and/or Paint.Begin() on the same device can be
safely imbricated.
[GB.EVAL]
* NEW: '\0' is a new string escape character for Chr$(0).
[GB.FORM]
* NEW: ButtonBox.Alignment is a new property to define the alignment of its
internal TextBox.
* NEW: New syntaxes for the MaskBox mask:
- '<' just after a mask character and just before a separator means that
the text before will be right-aligned.
- '!' marks the default cursor position when the MaskBox gets the focus.
git-svn-id: svn://localhost/gambas/trunk@3450 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Code indentation routine correctly handles structures now.
[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by
the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.
[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".
[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
inside compound controls (ValueBox, ButtonBox, MenuButton).
[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the help browser for classes whose name begins with an
underscore.
* BUG: Fix project loading when there are breakpoints set on non-existing
classes.
[INTERPRETER]
* BUG: Fix the behaviour of Eval() when the expression cannot be compiled.
* BUG: Error.Text does not crash anymore when the error message is void.
[COMPILER]
* BUG: Fix the parser behaviour when a non-terminated string is located at
the end of the file.
[GB.EVAL]
* BUG: Fix the parser behaviour when a non-terminated string is located at
the end of the expression.
[GB.GTK]
* BUG: Fix the behaviour of Label with AutoResize set.
[GB.QT4]
* BUG: Fix the behaviour of Label with AutoResize set.
git-svn-id: svn://localhost/gambas/trunk@3178 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Breakpoints are correctly reset when opening a new project.
[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API
signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.
[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
automatically converted to uppercase.
git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object file format has changed, so bytecode version has been
incremented, and all projects must be recompiled. Yes, again!
[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.
[COMPILER]
* OPT: Optimize symbol lookup tables.
[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more
intelligently now.
git-svn-id: svn://localhost/gambas/trunk@2971 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: CygWin needs a -no-undefined flag when linking.
[INFORMER]
* BUG: Use dlopen() on CygWin.
[INTERPRETER]
* BUG: Fix some misuse of signed char.
[GB.DB]
* BUG: Fix some misuse of signed char.
[GB.EVAL]
* BUG: Fix some misuse of signed char.
git-svn-id: svn://localhost/gambas/trunk@2749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Be more clever when detecting hexdecimal or binary numbers.
[GB.EVAL]
* NEW: Be more clever when detecting hexdecimal or binary numbers.
[GB.FORM]
* BUG: In DateChooser, switching to February works now, when there is 28
days in February and the current day is greater or equal than 29.
git-svn-id: svn://localhost/gambas/trunk@2651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Linkification does not erase symbols references anymore.
[INTERPRETER]
* BUG: Use the system maximum path length constant, not ours.
[COMPILER]
* BUG: Allow Inherits to be followed by any indentifier.
git-svn-id: svn://localhost/gambas/trunk@2647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Begins and Ends operator of course.
* BUG: Fix a crash when compiling a line beginning with the Read instruction.
git-svn-id: svn://localhost/gambas/trunk@2366 867c0c6c-44f3-4631-809d-bfa615b0a4ec