Commit graph

325 commits

Author SHA1 Message Date
gambas
6f6224a9c1 Allow compilation of structure accesses again.
[COMPILER]
* BUG: Allow compilation of structure accesses again.
2018-08-07 10:31:03 +02:00
gambas
38eb07adf5 Fix the clang fix. Compiler messages are visible again.
[COMPILER]
* BUG: Fix the clang fix. Compiler messages are visible again.
2018-08-07 09:51:46 +02:00
bgermann
bc798a5860 Make compilation with clang possible.
[CONFIGURATION]
* BUG: Compilation with clang is possible.
2018-08-07 09:50:42 +02:00
gambas
58ddc650ad Try to add some more static datatype analysis, but did not succed.
[COMPILER]
* NEW: Try to add some more static datatype analysis, but did not succed.
2018-03-03 03:14:11 +01:00
gambas
b1f4574278 Really fix static datatype analysis of DIV and MOD operators.
[COMPILER]
* BUG: Really fix static datatype analysis of DIV and MOD operators.
2018-02-28 16:54:23 +01:00
gambas
98b4de489c Fix warning on boolean operators and static datatype analysis of DIV and MOD operators.
[COMPILER]
* BUG: Fix warning on boolean operators.
* BUG: Fix static datatype analysis of DIV and MOD operators.
2018-02-28 16:48:39 +01:00
gambas
00b0adb523 Don't raise an error when analyzing the AND, OR or XOR operator. Print a warning instead.
[COMPILER]
* NEW: Don't raise an error when analyzing the AND, OR or XOR operator.
* NEW: Print a warning if the AND, OR or XOR operator mix Boolean and Integer datatypes.
2018-02-28 14:07:24 +01:00
gambas
d5c096f71e Fix parsing of quoted identifiers.
[COMPILER]
* BUG: Fix parsing of quoted identifiers.

[GB.EVAL]
* BUG: Fix parsing of quoted identifiers.
2018-02-17 20:41:39 +01:00
gambas
e39cfbf9da Fix Min() and Max() arguments datatype static checks, and some little differences with compiler sources.
[COMPILER]
* BUG: Fix Min() and Max() arguments datatype static checks.

[GB.EVAL]
* BUG: Fix some little differences with compiler sources.
2018-02-17 16:44:38 +01:00
gambas
a2099dea77 Fix a warning message typo.
[COMPILER]
* BUG: Fix a warning message typo.
2018-02-14 17:07:06 +01:00
gambas
d1f6bc62c4 Add a warning for uninitialized local and private global variables.
[COMPILER]
* NEW: Add a warning for uninitialized local and private global variables.
2018-02-14 17:03:14 +01:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
df26bab7c4 Correctly raise an error if a quoted identifier starting with '{' has no corresponding '}'.
[COMPILER]
* BUG: Correctly raise an error if a quoted identifier starting with '{' has no corresponding '}'.
2018-01-22 20:10:30 +01:00
gambas
2bb28545a5 LOCK instruction now can be used on existing files without clearing them.
[INTEPRRETER]
* NEW: LOCK instruction now can be used on existing files without clearing them.
2017-12-17 21:21:29 +01:00
gambas
36b16f18b3 Sort the internal project class list to make the contents of object files predictable.
[ARCHIVER]
* BUG: scandir() work is now correctly freed.

[COMPILER]
* NEW: Sort the internal project class list to make the contents of object files predictable.
2017-11-19 23:18:23 +01:00
gambas
39f93ddb37 The archiver now uses a predictable file order when creating an archive.
[ARCHIVER]
* BUG: The archiver now uses a predictable file order when creating an archive.
2017-11-19 02:29:59 +01:00
gambas
5e79f29fdc Fix some gcc compiler warnings.
[COMPILER]
* BUG: Fix some gcc warnings.

[GB.QT4]
* BUG: Clipboard.Paste() correctly converts image to ARGB premultiplied format.

[GB.QT5]
* BUG: Clipboard.Paste() correctly converts image to ARGB premultiplied format.

[GB.PCRE]
* BUG: Fix a gcc warning.
2017-11-10 20:35:27 +01:00
gambas
807f10b92b Allows newlines before a closing ']' in array/collection creation operator.
[COMPILER]
* NEW: Allows newlines before a closing ']' in array/collection creation operator.
2017-10-10 18:45:31 +02:00
gambas
12d51ca863 New syntax for octal numbers: "&Oxxx".
[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".
2017-10-05 03:17:13 +02:00
gambas
65c83f1407 Compile breakpoints for functions whose name begins with a '$'.
[COMPILER]
* BUG: Compile breakpoints for functions whose name begins with a '$'.
2017-09-26 01:49:57 +02:00
gambas
6b9060885e Make MOVE '<source> KILL <target>' a synonymous of 'MOVE <source> DOWNTO <target>'.
[COMPILER]
* NEW: Make MOVE '<source> KILL <target>' a synonymous of 'MOVE <source> DOWNTO <target>'.
2017-09-12 16:30:00 +02:00
gambas
0abba10995 Switcher component are now more clever, and support the lack of gb.qt4.
[INFORMER]
* NEW: Components now can include information for a list of alternatives component. The first one available will be included.

[GB.GUI]
* NEW: Includes information of the first available gui component.

[GB.GUI.OPENGL]
* NEW: Includes information of the first available gui OpenGL component.

[GB.GUI.QT]
* NEW: Includes information of the first available Qt component.

[GB.GUI.QT.WEBKIT]
* NEW: Includes information of the first available Qt webkit component.
2017-08-29 00:38:43 +02:00
gambas
f1abbae64d Support for TermForms in the compiler.
[COMPILER]
* NEW: Add support for terminal forms ('*.termform' file extension).
2017-08-24 20:17:08 +02:00
Benoît Minisini
46f31edffc Merge branch 'fix-nested-withs' into 'master'
[COMPILER] Fix Nested WITHs expression evaluation.

See merge request !1
2017-08-21 22:20:24 +00:00
gambas
ba37aa6da7 Fix pseudo-terminal initialization when running an external process with Exec or Shell.
[INTERPRETER]
* BUG: Fix pseudo-terminal initialization when running an external process with Exec or Shell.

[COMPILER]
* BUG: Fix a typo in 'gbc_trans.h' header.
2017-08-21 13:57:40 +02:00
Tobias Boege
48c951987b [CONFIGURATION]
* NEW: Add (short) commit hash and branch name to gb{a,c,i,x}3 --version when compiled from git
2017-08-15 11:58:48 +02:00
Adrien Prokopowicz
72ddc85f52 [COMPILER]
* BUG: The WITH's expression is now evaluated before entering the WITH's scope.
2017-08-12 18:12:13 +00:00
Benoît Minisini
c4bdedb4d4 [COMPILER]
* BUG: Oops, forgot to remove a debugging flag.


git-svn-id: svn://localhost/gambas/trunk@8130 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-04-27 13:46:49 +00:00
Benoît Minisini
c20cbb7972 [COMPILER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.

[INTERPRETER]
* NEW: New instruction MOVE ... DOWNTO ... that renames a file and erase the destination atomically.
* BUG: The signal handler now loops until the signal pipe is void.


git-svn-id: svn://localhost/gambas/trunk@8129 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-04-27 13:18:35 +00:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
dd180e03ee [COMPILER]
* BUG: Fix internal datatype analyze. The compiler should not crash anymore on ARM.

[GB.DB.ODBC]
* BUG: Fix a 32-bits 'sprintf' format bug.

[GB.IMAGE.IO]
* BUG: Fix a 32-bits 'sprintf' format bug.

[GB.XML]
* BUG: Fix a 32-bits 'sprintf' format bug.


git-svn-id: svn://localhost/gambas/trunk@7887 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-09-03 23:45:59 +00:00
Benoît Minisini
c324389180 [COMPILER]
* NEW: Rename the internal class initialization method from "$load" to "@load", so that the valid identifier "$load" can be freely used by the user.


git-svn-id: svn://localhost/gambas/trunk@7797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-06-07 00:08:11 +00:00
Benoît Minisini
4c3370908c [COMPILER]
* NEW: Work on internal expression datatype analyze has continued.
* OPT: Compiling syntax trees is faster now.

[INTERPRETER]
* OPT: Analyzing objects a method or a property applies to is faster now.
* NEW: Remove an unused method in table symbol implementation.


git-svn-id: svn://localhost/gambas/trunk@7647 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 01:27:31 +00:00
Benoît Minisini
5b75185c3a [COMPILER]
* OPT: Compile is now compiled with -O3 optimizations.
* OPT: Reserved words built-in symbol table is faster now.
* NEW: Initial support for expression datatype analyze. Some new errors are raised at compilation time, like using a string with the AND operator for example. The datatype analyzer is rougher than the IDE one because it is local to the compile class.
* OPT: Symbol table search is a bit faster.


git-svn-id: svn://localhost/gambas/trunk@7632 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-14 01:40:50 +00:00
Benoît Minisini
f34f52b928 [INTERPRETER]
* NEW: New library management.

[COMPILER]
* NEW: New library management.


git-svn-id: svn://localhost/gambas/trunk@7592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-02-01 02:18:49 +00:00
Benoît Minisini
a6f458e05c [INTERPRETER]
* NEW: _ready() is new special method that is called when an object construction is completly finished.

[COMPILER]
* NEW: Remove the call to _load() method in form constructors.

[GB.WEB.FORM]
* BUG: WebExpander: Remove a debugging message.
* NEW: WebForm.Debug is a new static property that, if set, dumps all exchanges between the server and the client in the browser console.
* NEW: Use the new _ready special method.
* NEW: WebLabel: Add the Border property.
* NEW: WebLabel: Alignment is a new property that defines the label horizontal alignment.
* NEW: A few changes in default style sheet.


git-svn-id: svn://localhost/gambas/trunk@7541 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-30 18:11:01 +00:00
Benoît Minisini
f63e8caf6b [COMPILER]
* BUG: Optional exported classes are now correctly inserted into '*.list' files.


git-svn-id: svn://localhost/gambas/trunk@7535 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-12-22 20:41:18 +00:00
Benoît Minisini
8d24b22411 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix the function that detects if a control needs a parent.
* BUG: When adding every new file to the subversion repository, the
  '.gambas' directory is now correctly ignored.

[COMPILER]
* NEW: The _load() special method is now called just after the initial form
  creation is finished.

[GB.WEB.FORM]
* NEW: Message is a new class for displaying message boxes.
* BUG: Fix management of control names.
* NEW: Implement the WebContainer.Delete() method and WebWindow.Delete()
  methods. Child controls are now automatically deleted if their parent is
  also deleted.
* NEW: WebControl.Show() and WebControl.Hide() are two new methods that are
  synonymous of the Visible property.
* NEW: WebControl acts now like an collection-like array, so that you can
  store user data associated with a control in the session.
* NEW: WebControl.Reset() is a new method to reset the control user data.
* NEW: WebForm.ShowModal() shows a form as a modal window.
* NEW: WebForm.Show() does not take an optional parent anymore. Windows are
  always shown in the current form.
* NEW: Windows with no initial size are centered.
* NEW: WebImage is a new control that displays an image.
* NEW: WebLabel is a new control that displays a one-line vertically
  centered label.
* NEW: WebTextArea is a new control that implements a multi-line text area.


git-svn-id: svn://localhost/gambas/trunk@7482 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-11-18 01:29:28 +00:00
Benoît Minisini
4508817f56 [DEVELOPMENT ENVIRONMENT]
* NEW: When compiling changes the project information metadata, only reload 
  forms.
* NEW: Support for future webforms.
* NEW: About dialog: Mouse wheel now scrolls the text in both direction.

[COMPILER]
* NEW:  Support for future webforms.


git-svn-id: svn://localhost/gambas/trunk@7407 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-10-11 08:18:22 +00:00
Benoît Minisini
f19a549361 [CONFIGURATION]
* BUG: Forgot to put VERSION file in the source package file list.

[COMPILER]
* NEW: Trim the VERSION file before inserting into the ".startup" file.


git-svn-id: svn://localhost/gambas/trunk@7390 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-10-05 17:24:34 +00:00
Benoît Minisini
ac93f40a40 [COMPILER]
* BUG: Correctly set '.startup' file owner.


git-svn-id: svn://localhost/gambas/trunk@7313 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-15 15:04:22 +00:00
Benoît Minisini
991f685a3c [INTERPRETER]
* NEW: Component.FindFromPath() is a new method that returns the name of 
  the component a relative path belongs to.
* BUG: Fix the internal method that returns the component a relative path 
  belongs to.

[ARCHIVER]
* NEW: Better verbose mode.

[GB.GUI.BASE]
* NEW: Use the new Component.FindFromPath() method.

[GB.IMAGE]
* NEW: Color[].Luminance returns the luminance information of a color.


git-svn-id: svn://localhost/gambas/trunk@7309 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-14 10:53:02 +00:00
Benoît Minisini
8304ddf53f [COMPILER]
* NEW: Take into account the "Use 'VERSION' file" project option to compute
  the actual version in the .startup file.


git-svn-id: svn://localhost/gambas/trunk@7288 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-07 22:03:43 +00:00
Adrien Prokopowicz
d169f763a5 [COMPILER]
* NEW: Syntax errors in constant declarations now give more detailed 
  messages.

git-svn-id: svn://localhost/gambas/trunk@7221 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-08-13 13:25:46 +00:00
Benoît Minisini
930c7549d1 [INTERPRETER]
* NEW: Add a new GB.Component.Declare() API, that allows a component to
  dynamically register a class description.

[INFORMER]
* NEW: A component now can declare classes through a GB_OPTIONAL_CLASSES 
  public symbol. Theses classes are included into the information file,
  but are not automatically loaded as the ones defined through the 
  GB_CLASSES symbol.

[GB.FORM.STATUSICON]
* NEW: This component has been removed and replaced by gb.dbus.trayicon.
* NEW: This component now provide TrayIcon and TrayIcons classes that have
  exactly the same interface as the old ones.

[GB.DBUS]
* NEW: Remove the now useless DBusConnection.Raise(). The DBusConnection
  Register() and Unregister() are kept for backward-compatibility reason.
* NEW: Add DBus.Raise() and DBus[].Raise() to raise signals. At the moment,
  there is no difference between the two methods, as there no mean to
  indicate the sender raising a signal. I don't know yet how DBus decides
  which service sends a signal!

[GB.DBUS.TRAYICON]
* NEW: This component implements the tray icon DBus protocol. It is 
  automatically loaded by the GUI components.

[GB.GTK]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.GTK3]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the component name in deprecation warning messages.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.

[GB.QT4]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.

[GB.QT5]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
  desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.


git-svn-id: svn://localhost/gambas/trunk@7154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-29 01:46:51 +00:00
Benoît Minisini
e5db05b186 [COMPILER]
* BUG: Don't crash when a constant is the void string.


git-svn-id: svn://localhost/gambas/trunk@7144 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-19 08:19:54 +00:00
Benoît Minisini
4121439611 [COMPILER]
* BUG: Allow string constants longer than 255 characters when generating 
  *.info files.

[GB.FORM.EDITOR]
* NEW: TextEditor: Draw line ending spaces with dots.
* NEW: TextEditor.ShowSpaces is a new property that toggles the drawing of 
  spaces at the end of line.
* BUG: TextEditor: Don't crash anymore when calling the Clear method 
  (again).


git-svn-id: svn://localhost/gambas/trunk@7142 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-06-19 07:10:05 +00:00
Benoît Minisini
b55f5f427f [DEVELOPMENT ENVIRONMENT]
* NEW: The string constants are now quoted in *.info files. Take that into 
  account.
* BUG: Disable code that uses the old Editor procedure floding feature.
* NEW: Make the option dialog smaller.

[WIKI CGI SCRIPT]
* NEW: The string constants are now quoted in *.info files. Take that into 
  account.
  
[COMPILER]
* BUG: The string constants are now quoted in *.info files.

[GB.FORM.MDI]
* BUG: Workspace: Disable some unused code.

[GB.QT4]
* OPT: Minimize X11 window properties changes.

[GB.QT5]
* BUG: Window SKipTaskbar, Stacking, Border... properties (all that rely on 
  Xlib calls) now work correctly.
* OPT: Minimize X11 window properties changes.


git-svn-id: svn://localhost/gambas/trunk@7092 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-21 15:39:20 +00:00
Benoît Minisini
43f26cd8ff [CONFIGURATION]
* NEW: gb.qt5 component.

[EXAMPLES]
* BUG: Fix WebBrowser example.

[INTERPRETER]
* NEW: Fix compilation of EXEC and SHELL for older bytecode versions.

[GB.DB.FORM]
* NEW: Display the busy mouse cursor while loading SQL data.

[GB.QT4]
* NEW: Support for QT5.

[GB.QT5]
* NEW: Initial version of the QT5 component. Not everything is working. 
  There is no Embedder and TrayIcon controls.


git-svn-id: svn://localhost/gambas/trunk@7062 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-05-08 17:40:28 +00:00
Benoît Minisini
825eb39923 [COMPILER]
* NEW: A symbol followed by a point is never interpreted as a function if 
  it is used as a function name in the current class.


git-svn-id: svn://localhost/gambas/trunk@6856 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-22 22:46:11 +00:00