Commit graph

58 commits

Author SHA1 Message Date
Benoît Minisini
21d9bd178e Display bytecode statistics in verbose, no background task mode.
[COMPILER]
* NEW: Display bytecode statistics in verbose, no background task mode.
2022-07-22 20:40:20 +02:00
Benoît Minisini
c17f5a58f8 Add the branch to the version number when it comes from a 'VERSION' file.
[COMPILER]
* BUG: Add the branch to the version number when it comes from a 'VERSION' file.
2022-05-02 15:06:32 +02:00
gambas
891edceeea The 'VERSION' file is taken into account again.
[COMPILER]
* BUG: The 'VERSION' file is taken into account again.
2022-04-08 02:31:22 +02:00
gambas
bee8cacf59 Line number in error message should now be correct when the faulty code spans on multiple lines.
[COMPILER]
* BUG: Line number in error message should now be correct when the faulty code spans on multiple lines.
2022-03-10 00:48:06 +01:00
gambas
e5a66e553e Add a '-F' option that converts a piece of form data into Gambas code.
[INTERPRETER]
* NEW: Update help text layout.

[COMPILER]
* NEW: Add a '-F' option that converts a piece of form data into Gambas code.
* NEW: Update help text layout.

[ARCHIVER]
* NEW: Update help text layout.

[INFORMER]
* NEW: Update help text layout.
2022-02-05 18:41:36 +01:00
gambas
bc806a189b The parser now does not store integer numbers in its global symbol table anymore. Compile is now about 5% faster.
[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.
2021-10-14 03:01:14 +02:00
gambas
b94176c704 Don't handle VERSION file in the compiler. Only the IDE supports that feature now.
[COMPILER]
* NEW: Don't handle VERSION file in the compiler. Only the IDE supports that feature now.
2021-06-23 18:51:44 +02:00
gambas
3c64df79b7 Namespace support continued.
[COMPILER]
* NEW: Add the '-n' option that defines a default namespace for exported classes.
* BUG: The generation of '.info' file now uses the exported name of classes.
* NEW: 'EXPORT TO <Namespace>' exports the class as '<NameSpace>:<class name>'.
* NEW: 'EXPORT TO DEFAULT' now exports to the global namespace.
2021-05-21 16:48:59 +02:00
gambas
0e78042e07 Initial implementation of class namespaces.
[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.
2021-05-18 02:12:33 +02:00
gambas
41cb5cbfe0 Use a lock file to prevent background task output on standard error from mixing.
[COMPILER]
* BUG: Use a lock file to prevent background task output on standard error from mixing.
2021-04-03 12:45:19 +02:00
gambas
f7c783f536 Add a '-j' option to run multiple jobs in background to speed-up compilation.
[COMPILER]
* OPT: Add a '-j' option to run multiple jobs in background to speed-up compilation.
2021-01-30 14:06:09 +01:00
gambas
ac5068e9c2 Automatically add 'gb.test' component information when a project includes a test module.
[COMPILER]
* BUG: Automatically add 'gb.test' component information when a project includes a test module.
2020-05-09 20:55:04 +02:00
gambas
e584ba6713 Add support for test modules.
[COMPILER]
* NEW: Support for test modules.

[ARCHIVER]
* NEW: Support for test modules.
2020-02-22 15:57:46 +01:00
gambas
abf4dfb110 PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
[COMPILER]
* NEW: PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
2019-08-22 03:13:58 +02:00
gambas
9f2da35cbe Emit column position in almost all error messages.
[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.
2019-05-08 06:20:35 +02:00
gambas
7c0a6730cd Complete support for project extra references.
[CONFIGURATION]
* NEW: Update version to 3.13.90.

[DEVELOPMENT ENVIRONMENT]
* NEW: Redone extra references support.

[COMPILER]
* NEW: Take project extra references into account.

[GB.TERM.FORM]
* BUG: Fix project description.
2019-04-23 12:31:10 +02:00
gambas
26117d0fc9 [COMPILER]
* BUG: Compiler messages are prefixed with 'gbc3:', not just 'gbc:'.
* NEW: Make loop variable errors more accurate.
2018-12-14 05:16:24 +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
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
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
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
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
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
Benoît Minisini
6d0511cded [COMPILER]
* BUG: Remove a debugging message.


git-svn-id: svn://localhost/gambas/trunk@6839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-17 23:33:38 +00:00
Benoît Minisini
2599961aca [DEVELOPMENT ENVIRONMENT]
* 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
2015-01-16 00:31:59 +00:00
Benoît Minisini
c9ca5ab982 [CONFIGURATION]
* 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
2013-08-03 15:38:01 +00:00
Benoît Minisini
ca7856bf80 [INTERPRETER]
* NEW: Clean up allocation macros.

{GB.EVAL.HIGHLIGHT]
* NEW: Add 'transition' to the CSS keywords.


git-svn-id: svn://localhost/gambas/trunk@5599 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-29 23:33:01 +00:00
Benoît Minisini
53d4d9c752 [INTERPRETER]
* BUG: Fixes of bugs detected by Coverity Scan.
* BUG: Process output is correctly flushed at process exit now.

[COMPILER]
* BUG: Fixes of bugs detected by Coverity Scan.

[ARCHIVER]
* BUG: Fixes of bugs detected by Coverity Scan.

[INFORMER]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.COMPRESS]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.DEBUG]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.EVAL]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.IMAGE]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.IMAGE.EFFECT]
* BUG: Fixes of bugs detected by Coverity Scan.

[GB.VB]
* BUG: Fixes of bugs detected by Coverity Scan.


git-svn-id: svn://localhost/gambas/trunk@5493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-06 16:13:31 +00:00
Benoît Minisini
ca59b5880f [COMPILER]
* NEW: Emit line positions in debugging information for global 
  initializations.


git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:55:16 +00:00
Benoît Minisini
25b8edfd44 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for the help comments integrated into the *.info files by 
  the compiler.
* NEW: Use the help comments stored in libraries and display them in them
  help tooltips.
* BUG: Remove duplicates in the automatic completion list.
* BUG: The symbol syntax displayed in the help now correctly follows the
  "Keywords in uppercase" setting.
* NEW: Class help comments are now help comments located at the beginning
  of the source file that starts with three quotes and a space: `''' `.

[COMPILER]
* NEW: Support for help comments on public symbols. They are automatically 
  integrated into the *.info information files.


git-svn-id: svn://localhost/gambas/trunk@5311 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-10 00:19:53 +00:00
Benoît Minisini
0d88e31a1a [COMPILER]
* BUG: Error messages are correctly printed when warnings are disabled.


git-svn-id: svn://localhost/gambas/trunk@5223 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-02 20:31:06 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +00:00
Benoît Minisini
0a9b6abe82 [DEVELOPMENT ENVIRONMENT]
* NEW: More support for WebPage.

[COMPILER]
* NEW: Start supporting WebPage.


git-svn-id: svn://localhost/gambas/trunk@4427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-28 09:55:55 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
9911a92652 [DEVELOPMENT ENVIRONMENT]
* NEW: Slightly change the search dialog look.
* BUG: The packager does not put "Terminal=true" in all *.desktop files 
  anymore.

[COMPILER]
* BUG: Compilation of class headers keywords correctly works again.


git-svn-id: svn://localhost/gambas/trunk@3786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-22 16:52:59 +00:00
Benoît Minisini
c4e08d4574 [DEVELOPMENT ENVIRONMENT]
* NEW: Use small font in editor toolbars.

[COMPILER]
* NEW: Compile form code before class code, so that error messages always 
  occur inside class code.
* BUG: Correctly handle errors when loading source files.

[GB.QT4.EXT]
* BUG: The cursor position is now correctly drawn with proportional fonts.


git-svn-id: svn://localhost/gambas/trunk@3771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-16 13:25:46 +00:00
Benoît Minisini
b936c83f0d [CONFIGURATION]
* NEW: Update copyright strings.

[DEVELOPMENT ENVIRONMENT]
* NEW: Display menu shortcuts inside the form editor.


git-svn-id: svn://localhost/gambas/trunk@3670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-03-21 00:04:10 +00:00
Benoît Minisini
117f2ac635 [INTERPRETER]
* 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
2010-05-22 18:02:34 +00:00
Benoît Minisini
8e1604e59d [CONFIGURATION]
* NEW: The bytecode version has been incremented, as the object file format 
  has changed.

[DEVELOPMENT ENVIRONMENT]
* BUG: Handle static arrays in automatic completion.

[INTERPRETER]
* BUG: Handle public static arrays correctly.

[COMPILER]
* NEW: Handle structures, and write them inside object files.
* NEW: Class options (EXPORT, CREATE...) can only be written at the 
  beginning of the source file now.
* BUG: Fix some use of uninitialized values.
* BUG: Correctly write public static arrays in *.info files.
* NEW: Do not support old OPEN syntax anymore.


git-svn-id: svn://localhost/gambas/trunk@2952 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-20 23:23:39 +00:00
Benoît Minisini
1faa45e317 [COMPILER]
* BUG: Correctly detect self-referenced components.


git-svn-id: svn://localhost/gambas/trunk@2928 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-05-03 10:19:13 +00:00
Benoît Minisini
d49fe17d83 [DEVELOPMENT ENVIRONMENT]
* NEW: Remove any use of Component.UserPath and any reference to "user 
  component".
* NEW: "libraries" management. Libraries are defined in a new tab of the
  projet property dialog. At the moment, libraries exported classes are not
  taken into account by the automatic completion.
* NEW: The ESC key now closes the help browser.
* BUG: Correctly translate compilation error messages.

[INTERPRETER]
* NEW: "libraries" management.
* NEW: The Component.UserPath property has been removed.
* BUG: Evaluating "Application.Path" or "Application.Name" on the command 
  line does not crash anymore.

[COMPILER]
* BUG: Enhance translation of some error messages.
* NEW: Take libraries into account for exported class declarations.

[ARCHIVER]
* NEW: new "-x" option to extract a file from an archive.

[GB.QT4.EXT]
* NEW: Be more clever when deciding if a line has been modified after 
  having its last character deleted.


git-svn-id: svn://localhost/gambas/trunk@2909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-04-25 10:46:57 +00:00
Benoît Minisini
b953aa5392 [COMPILER]
* NEW: Compile "report" forms, and add support for other form families.


git-svn-id: svn://localhost/gambas/trunk@2788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-03-11 10:59:53 +00:00
Benoît Minisini
9c39e31fb5 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for report form continues. Controls declaration has moved 
  from *.component files to the following Control hidden properties: 
  _Family, _Group, _IsControl, _IsContainer, _IsMultiContainer, _IsVirtual, 
  _IsForm. And to the following Form hidden properties: _HiddenControls.
  The wiki control documentation will be updated soon.

[COMPILER]
* NEW: Do not print a warning for a missing self-referenced *.list file.
* NEW: The '-L' is a new command-line option to print the license. The '-h'
  now only prints help.

[INFORMER]
* BUG: Support for boolean public constants.

[GB.DB.FORM]
* NEW: Update control declarations to the new scheme.

[GB.FORM]
* NEW: Update control declarations to the new scheme.

[GB.GTK]
* NEW: Update control declarations to the new scheme.

[GB.QT4]
* NEW: Update control declarations to the new scheme.


git-svn-id: svn://localhost/gambas/trunk@2708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2010-02-21 18:15:16 +00:00
Benoît Minisini
f65184802d [CONFIGURATION]
* NEW: Update copyright and license string in all source files.


git-svn-id: svn://localhost/gambas/trunk@2241 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-08-17 10:41:51 +00:00
Benoît Minisini
d0b3aecc0b [DEVELOPMENT ENVIRONMENT]
* NEW: Project source files are now stored in the ".src" project 
  sub-directory.
* NEW: Project source files can be organized from the project treeview by 
  creating directories, moving source files with drag and drop or copy and
  paste.
* NEW: The hall of fame now uses some sort of blur effect.
* BUG: The breakpoint list should be accurate in all situations now.
* NEW: Showing the bottom status bar is now an entry in the "View" menu.

[INTERPRETER]
* BUG: Fix a possible crash in database component classes having 
  sub-collections, like Result.Fields.

[COMPILER]
* NEW: Support for projects whose sources are stored in the ".src" 
  sub-directory.

[GB.GTK]
* BUG: Frame.Font now works correctly.
* BUG: If the Control.Font property is set with a family name, the other 
  boolean properties of the font are reset.

[GB.NET]
* BUG: Fix a possible crash in the Socket class at connection.

[GB.QT]
* BUG: If the Control.Font property is set with a family name, the other 
  boolean properties of the font are reset.

[GB.QT4]
* BUG: If the Control.Font property is set with a family name, the other 
  boolean properties of the font are reset.
* NEW: TreeView and ColumnView got a new property, ParentKey, that returns 
  the key of the current item parent.
* BUG: Menu shortcuts are correctly disabled now, when a parent menu is 
  disabled.


git-svn-id: svn://localhost/gambas/trunk@2063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-07-03 20:15:26 +00:00
Benoît Minisini
a652b6a92c [GB.DESKTOP]
* BUG: Remove useless dependencies, and fix the *.component file.


git-svn-id: svn://localhost/gambas/trunk@1830 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2009-01-28 23:04:59 +00:00
Benoît Minisini
5acae8e8bb [WIKI CGI SCRIPT]
* NEW: Do not use <pre> markups, they cannot break lines.

[DEVELOPMENT ENVIRONMENT]
* NEW: Replace anonymous object arrays by template arrays.
* NEW: A button that clears the shortcut in the menu editor.
* NEW: When evaluating expression in the console, a semi-colon at the end 
  of the expression prevents the end newline to be printed, like in the 
  PRINT instruction.
* NEW: CTRL+G in the console makes it flash.
* OPT: Remove the CCoolTabs class, that was not used anymore.
* NEW: The main selected control is unselectable in the form editor now.
* NEW: Selected controls can be resized by pressing CTRL and an arrow key.
* NEW: Some form editor shortcuts have been changed to not conflict with
  the previous feature.
* BUG: Fix the horizontal position of the automatic completion.
* BUG: Look in project classes before component classes in automatic 
  completion.

[INTERPRETER]
* BUG: Fix the memory allocation debug routines.
* BUG: When instanciating a template array class, search for element class 
  symbol locally first.
* BUG: Template arrays now correctly release their elements.
* NEW: Update copyright year in gb_common.h header file.

[COMPILER]
* BUG: Manage .list and .info files incrementally, so that they are up to 
  date even when the project is not fully compiled.
* BUG: Float and Single constants are correctly written in the .info file.

[GB.QT.EXT]
* BUG: Fix some painting artifacts in Editor.
* BUG: In Editor, Undo and Redo now should always work correctly when a 
  line is rewritten.
* NEW: In Editor, when a line is rewritten, the Change event is always 
  emitted.
* NEW: The Editor is cleared now when it prints a CTRL+L character.
* NEW: The Editor flashes now when it prints a CTRL+G character.


git-svn-id: svn://localhost/gambas/trunk@1576 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-09-21 23:22:07 +00:00