gambas-source-code/main/gbx/gbx_expression.h
Benoît Minisini 9ccbaac697 [INTERPRETER]
* NEW: New API for returning the parent (event observer) of an object.

[COMPILER]
* BUG: Setting a property without having to use ME is possible now, if the
  property is defined in the same file of course.
* NEW: Mid$() can be used on the left side of an assignment.

[GB.FORM]
* BUG: ValueBox now reformats its contents after its Value property has 
  been set.

[GB.GTK]
* BUG: Composed keys are correctly handled again by KeyPress events, but
  the SCIM input method does not work yet.
* BUG: Form are their own event observer only if no event observer is 
  defined at form instanciation.
* BUG: The default tray icon is the same as gb.qt now.

[GB.QT]
* BUG: TrayIcon objects are correctly destroyed at program exit.
* BUG: Form are their own event observer only if no event observer is 
  defined at form instanciation.
* BUG: TrayIcon Width, Height, ScreenX and ScreenY properties do not crash
  anymore when the tray icon is hidden. They return zero instead.
  

git-svn-id: svn://localhost/gambas/trunk@1187 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2008-03-17 14:54:17 +00:00

70 lines
1.6 KiB
C

/***************************************************************************
expression.h
Compiled expression
(c) 2000-2007 Benoit Minisini <gambas@users.sourceforge.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
***************************************************************************/
#ifndef __GBX_EXPRESSION_H
#define __GBX_EXPRESSION_H
#include "gb_table.h"
#include "gbx_class.h"
typedef
struct {
char *source;
int len;
PATTERN *pattern;
int pattern_count;
PATTERN *current;
PATTERN *tree;
CLASS exec_class;
CLASS_LOAD class_load;
FUNCTION func;
CLASS_CONST *cst;
ushort *code;
ushort ncode;
ushort ncode_max;
TABLE *table;
TABLE *string;
/*TABLE *variable;*/
CLASS **class;
char **unknown;
int *var;
short nvar;
short last_code;
short last_code2;
unsigned analyze : 1;
unsigned _reserved : 15;
int stack_usage;
void *op;
}
PACKED
EXPRESSION;
typedef
struct {
SYMBOL sym;
int local;
}
EVAL_SYMBOL;
#endif