Commit graph

2879 commits

Author SHA1 Message Date
Benoît Minisini
620770ed20 [COMPILER]
* BUG: ByRef keyword is now correctly forbidden in extern functions now.
* BUG: '...' syntax is now correctly forbidden in event description.


git-svn-id: svn://localhost/gambas/trunk@4797 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:25:45 +00:00
Benoît Minisini
a865d9e227 [INTERPRETER]
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.

[COMPILER]
* NEW: Support for variable number of arguments in extern functions.

[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is 
  defined but a null string.


git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:18:38 +00:00
Adrien Prokopowicz
df734896c2 [GB.XML]
* BUG : Attributes.Count correctly works now
* BUG : XmlReader.Read only returns Eof if nothing has been found
* OPT : XmlReader now always adds read attributes instead of looking if it is already set

git-svn-id: svn://localhost/gambas/trunk@4795 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-31 00:52:06 +00:00
Adrien Prokopowicz
5fafeec711 [GB.XML.HTML]
BUG : Html elements which must have self-closing tags are now correctly rendered.
BUG : Sylesheet paths are now correctly supported.
BUG : Setting the base URL of a document works fine now.
BUG : HtmlDocument now can correctly detect the document type.

git-svn-id: svn://localhost/gambas/trunk@4794 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-30 21:18:16 +00:00
Laurent Carlier
3264da4c53 [GB.JIT]
* BUG: Now component is disabled for llvm version prior to 3.1 at compilation time.


git-svn-id: svn://localhost/gambas/trunk@4793 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-30 14:11:38 +00:00
Fabien Bodard
b9a0fe018c [DEVELOPMENT ENVIRONMENT]
* NEW: ReportLabel and ReportTextLabel show a blue dashed border, so they are more easy to find.


git-svn-id: svn://localhost/gambas/trunk@4792 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-30 09:49:01 +00:00
Adrien Prokopowicz
b2337ca7c7 [GB.XML]
OPT : Many code organization improvements, so that it is more readable
OPT : Directly uses char* into the nodes
OPT : Nodes have now pointers to their brothers and their parent, so that each Element behaves as a double-linked list
OPT : Improvements in gb.xml/gb.html linkage, so that ther isn't any including cpp files anymore
NEW : Added license agreements to the top of each source file
BUG : XmlNode.Attributes can't return Null anymore. If the node is not an Element, this property acts like there isn't any attribute.
BUG : Relationship between nodes are now correctly supported, so that every node is correctly released

git-svn-id: svn://localhost/gambas/trunk@4791 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-29 22:19:22 +00:00
Laurent Carlier
6b8cf6448e [CONFIGURATION]
* BUG: Adapt to the verbosity output when a pkg-config component isn't available.


git-svn-id: svn://localhost/gambas/trunk@4790 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-29 05:55:35 +00:00
Laurent Carlier
79c4ff0e71 [CONFIGURATION]
* NEW: Add more verbosity about the failing pkg-config requirement.

checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gb.media component with pkg-config... no
configure: WARNING: Unable to met pkg-config requirement: gstreamer-interfaces-0.10
configure: WARNING: gb.media is disabled
checking that generated files are newer than configure... done
 


git-svn-id: svn://localhost/gambas/trunk@4789 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-28 21:32:51 +00:00
Benoît Minisini
c1decfddfd [INTERPRETER]
* BUG: Enumerating the Param class does not leak memory in some cases 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-28 08:08:36 +00:00
Benoît Minisini
083ed1dd8e [GB.FORM]
* NEW: Hidden SidePanel now has two toggle buttons that appear when the 
  mouse moves on the two ends of the hidden panel.


git-svn-id: svn://localhost/gambas/trunk@4787 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-27 22:00:25 +00:00
Benoît Minisini
05c354e56e [EXAMPLES]
* OPT: Fractal: optimize drawing by detecting rectangles having the same 
  color.


git-svn-id: svn://localhost/gambas/trunk@4786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 23:20:19 +00:00
Benoît Minisini
5ad32aea43 [GB.JIT]
* BUG: Fix two warnings in structure initializations.


git-svn-id: svn://localhost/gambas/trunk@4785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 19:04:22 +00:00
Benoît Minisini
2375145a67 [DEVELOPMENT ENVIRONMENT]
* OPT: Use JIT compiler to speed-up the loading of profile files.

[EXAMPLES]
* NEW: Display a rose inside the window of the Fractal example. Why not?


git-svn-id: svn://localhost/gambas/trunk@4784 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 18:13:09 +00:00
Emil Lenngren
743bbc7a2a [GB.JIT]
* BUG: Fix String -> Long conversion.


git-svn-id: svn://localhost/gambas/trunk@4783 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 17:59:14 +00:00
Benoît Minisini
7fb2fefccd [DEVELOPMENT ENVIRONMENT]
* NEW: Profiler windows now take into account global editor options like 
  showing line numbers.
* NEW: Profiler now displays when a line is called once.


git-svn-id: svn://localhost/gambas/trunk@4782 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 17:41:38 +00:00
Benoît Minisini
cea7c17b4c [EXAMPLES]
* BUG: Really allow to switch to JIT compilation!


git-svn-id: svn://localhost/gambas/trunk@4781 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 11:21:13 +00:00
Benoît Minisini
e4dcaa0e41 [EXAMPLES]
* NEW: A new Fractal example that draws the Mandelbrot set with an option 
  to enable just-in-time compilation.


git-svn-id: svn://localhost/gambas/trunk@4780 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 11:19:22 +00:00
Benoît Minisini
8fff3e69bd [GB.JIT]
* NEW: Debugging information is printed as soon as the GB_JIT environmental 
  variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed. 
  Normally, a crash should occur just after. :-)


git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 22:24:13 +00:00
Tobias Boege
31cdd37ebd [GB.NCURSES]
* NEW: Move .Buffered and .Refresh() from Window to Screen class as Screen
  reflects better that these routines affect the entire screen
* NEW: Window has a Caption property to display a caption within the border
  frame; only visible when the Window has a border
* NEW: Add NoDelay input mode to Screen class (for use with caution and a
  true tty). This mode lets the programmer artifically set the keyboard
  repeat delay for the program (beware: still broken)
* NEW: Add IsConsole property to check if one can enter NoDelay mode
* NEW: Add Repeater property to Screen to specify keyboard repeat
  delay. This specifies the minimum interval of sucessively risen Read
  events and Window.Read() calls
* NEW: Rename Window.WaitKey() to .Read()
* NEW: Rename Window.Bottom() to .Lower() and .Top() to .Raise()
* NEW: Add very-visible mode for cursor, according to ncurses doc
* NEW: Window class has a new optional parameter to specify the parent
  Screen, if none given, the currently active Screen is used.
* NEW: Window class does not get a default event name anymore. If the Read
  event is risen and the active Window cannot raise events, the parent
  Screen raises it (beware: still broken)
* NEW: Window.Border is an integer, new constants .None, .ASCII, .ACS to
  choose the border look
* NEW: Cursor resides on the new location after Window.Print() now
* OPT: Remove redundant wrapping code in Print function because ncurses
  waddch() does this by itself
* OPT: Stream inheritance entirely useless due to future ReadLine()
  function, hence it was removed
* OPT: Remove NCurses class, it contained only component-global routines
  that were moved to main module
* BUG: Turning off attributes with the Normal attribute now works
* BUG: Changes on color attributes (also on color pairs) are immediately
  visible now
* BUG: Fix string argument handling in Window.Ask(), .Insert(), .Print() and
  .PrintCenter()
* BUG: Newline to Window.Print() really works now and gives the desired
  effect of not returning to x=0 on the next line (like ncurses does)



git-svn-id: svn://localhost/gambas/trunk@4778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 21:09:17 +00:00
Laurent Carlier
5dd86fdb1b [GB.JIT]
* NEW: Use AC_PROG_PATH() macro detect llvm-config file. llvm-config file can also be
defined with LLVM_CONFIG environment variable.

Useful in case of several llvm libs installed (see debian!), or non-standard path.


git-svn-id: svn://localhost/gambas/trunk@4777 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 15:54:00 +00:00
Benoît Minisini
ac2377df94 [GB.JIT]
* NEW: Enhance configuration file so that gb.jit can be compiled on any
  detected LLVM version, provided that 'llvm-config' is in the PATH.


git-svn-id: svn://localhost/gambas/trunk@4776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 00:50:33 +00:00
Emil Lenngren
8d12476edb [GB.JIT]
* BUG: Really fix enumeration for non-pure objects.



git-svn-id: svn://localhost/gambas/trunk@4775 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 23:24:44 +00:00
Emil Lenngren
1777bef542 [GB.JIT]
* NEW: IIf() and Choose() are now implemented.
* BUG: Bug in enum_next.



git-svn-id: svn://localhost/gambas/trunk@4774 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 23:16:44 +00:00
Emil Lenngren
b12caea4f6 [INTERPRETER]
* BUG: Fix IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4773 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 19:01:04 +00:00
Benoît Minisini
b3eba7f652 [INTERPRETER]
* NEW: You can free a null pointer.


git-svn-id: svn://localhost/gambas/trunk@4772 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:45:21 +00:00
Emil Lenngren
5e63b49525 [GB.JIT]
* NEW: If GB_JIT environment variable is set to "info", LLVM code dumps will be printed to stderr.



git-svn-id: svn://localhost/gambas/trunk@4771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:42:07 +00:00
Emil Lenngren
073a6d9e90 [INTERPRETER]
* OPT: Don't allocate array for jit functions if not necessary.



git-svn-id: svn://localhost/gambas/trunk@4770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:27:16 +00:00
Benoît Minisini
326c380ff6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the FAST keyword in function declaration.

[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
  the first one on the line.

[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.


git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:05:21 +00:00
Benoît Minisini
76f3885a08 [SCRIPTER]
* BUG: Do not crash when compiling a program again.

[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c


git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:31:57 +00:00
Emil Lenngren
eb7931d99c [GB.JIT]
* BUG: Fixed a bug in compi.



git-svn-id: svn://localhost/gambas/trunk@4767 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:07:09 +00:00
Emil Lenngren
406d250935 [GB.JIT]
* NEW: Use special add, sub, mul, compi for JIT Compiler Runtime.



git-svn-id: svn://localhost/gambas/trunk@4766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:49:16 +00:00
Benoît Minisini
8056acb60d [GB.DEBUG]
* BUG: gb.debug must not be hidden, stupid!


git-svn-id: svn://localhost/gambas/trunk@4765 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:40:26 +00:00
Benoît Minisini
8e6dbfa273 [INTERPRETER]
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
  gbx_subr_common.h'.


git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:39:02 +00:00
Benoît Minisini
327add9439 [GB.DEBUG]
* NEW: The component is hidden now.
* BUG: Do not crash anymore when profiling Eval().

[GB.JIT]
* NEW: The component is hidden now.


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00
Benoît Minisini
6b2e5d0776 [CONFIGURATION]
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.

[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling. 
  Function calls keep being profiled. That way the IDE can read the profiled
  output without crashing!


git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 21:35:58 +00:00
Benoît Minisini
947e201117 [INTERPRETER]
* BUG: Now System.Profile has no effect if the project has not been started 
  in profiling mode from the IDE.


git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 20:15:32 +00:00
Benoît Minisini
47e099ab72 [GB.JIT]
* BUG: Use component name instead of explicit name in gb.jit configure.ac file.


git-svn-id: svn://localhost/gambas/trunk@4760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:56:48 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.

[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.

[GB.JIT]
* NEW: JIT Compiler.



git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:26:15 +00:00
Benoît Minisini
1b33c5dc1a [DEVELOPMENT ENVIRONMENT]
* BUG: CFlt() is now replaced by CFloat() when converting a Gambas 2 project.

[COMPILER]
* BUG: The token following a CONST keyword is now assumed to always be an 
  identifier.


git-svn-id: svn://localhost/gambas/trunk@4758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 18:59:30 +00:00
Benoît Minisini
1518cff7a6 [DEVELOPMENT ENVIRONMENT]
* NEW: Adapt GUI to the new SidePanel look.

[GB.FORM]
* NEW: SidePanel are invisible now.

[GB.QT4]
* BUG: Control.Hovered does no computation anymore, it returns an internal
  flag set when the Enter event is raised, and unset when the Leave event
  is raised.


git-svn-id: svn://localhost/gambas/trunk@4757 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 12:11:14 +00:00
Benoît Minisini
fe22f29a69 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not display a spurious message anymore when clicking in a void 
  part of the project tree view with the right mouse button.


git-svn-id: svn://localhost/gambas/trunk@4756 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 00:12:43 +00:00
Benoît Minisini
658b01475f [DEVELOPMENT ENVIRONMENT]
* OPT: Use Stream.Lines enumeration instead of LINE INPUT. It is a little bit 
  faster.

[COMPILER]
* BUG: Fix CASE LIKE syntax. Now all CASE LIKE arguments are compared with 
  the LIKE operator. Not just the first one.

[GB.FORM]
* NEW: FileChooser now can handle *.tgz archives.
* NEW: GridView: If the Grid property is FALSE, do not draw row and column
  separators.

[GB.GTK]
* BUG: Fix cached drawing areas.
* BUG: Fix mouse event management for controls having scrollbars.
* BUG: Fix cursor management for DrawingArea.


git-svn-id: svn://localhost/gambas/trunk@4755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-22 23:32:38 +00:00
Benoît Minisini
cf844ec65e [GB.QT4]
* BUG: Using Draw on a DrawingArea correctly initializes the drawing 
  properties from the control colors.
* BUG: Background color of cached DrawingArea is correctly initialized now.


git-svn-id: svn://localhost/gambas/trunk@4754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-22 09:15:26 +00:00
Benoît Minisini
d356f49366 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the profiling GUI.

[EXAMPLES]
* OPT: Little optimization in GameOfLife example.

[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
  profiling at run time. Profiling can only be enabled if debugging
  information are available.

[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.


git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 22:13:58 +00:00
Benoît Minisini
27a3b9a218 [GB.GTK]
* BUG: gb.gtk compiles again.


git-svn-id: svn://localhost/gambas/trunk@4752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 17:01:59 +00:00
Benoît Minisini
9fa35120a4 [DEVELOPMENT ENVIRONMENT]
* BUG: Profiling: The total function duration is now the same as the sum of 
  each line of code duration.

[WEBSITE MAKER]
* NEW: Add a "Release Notes" link in the menu panel.

[GB.DEBUG]
* NEW: Optimize the profile file format a bit.


git-svn-id: svn://localhost/gambas/trunk@4751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 11:35:13 +00:00
Fabien Bodard
1a9e4d94ca [DEVELOPMENT ENVIRONMENT]
* BUG: Another bug removed, on the ReportBOrder dialog, about the sync.


git-svn-id: svn://localhost/gambas/trunk@4750 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 09:02:51 +00:00
Fabien Bodard
d9c4408f7c [DEVELOPMENT ENVIRONMENT]
* BUG: The report border dialog work well now


git-svn-id: svn://localhost/gambas/trunk@4749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 08:06:32 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* NEW: Handle new format of profile files.

[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.

[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.


git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 01:09:35 +00:00