0ac184012a
* NEW: Database manager integration continues. You can create, edit and remove tables now. You cannot rename them yet, nor modify their contents. * BUG: Fix popup menu activation in text editor. * NEW: Almost any character is allowed now in the name of directories storing source files. [GB.DB.FORM] * NEW: DataSource.Reset() is a new method that clears the internal metadata cache. That method is dynamic because it is intended to only reset the metadata associated with the DataSource. At the moment all the metadata is dropped. [GB.FORM] * NEW: TableView.Save() now returns a boolean that will tell you if the Save event has been cancelled. * BUG: TableView should manage arrow keys correctly if the current editor is a read-only ComboBox. [GB.FORM.MDI] * OPT: Toolbars do no useless layout anymore when in design mode. [GB.QT4] * BUG: The Message class has been fixed. * BUG: Fix the behaviour of TabStrip when all its page are hidden. git-svn-id: svn://localhost/gambas/trunk@2115 867c0c6c-44f3-4631-809d-bfa615b0a4ec
72 lines
1.7 KiB
C
72 lines
1.7 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 rewrite : 1;
|
|
unsigned comment : 1;
|
|
unsigned _reserved : 13;
|
|
int stack_usage;
|
|
void *op;
|
|
}
|
|
PACKED
|
|
EXPRESSION;
|
|
|
|
typedef
|
|
struct {
|
|
SYMBOL sym;
|
|
int local;
|
|
}
|
|
EVAL_SYMBOL;
|
|
|
|
#endif
|