gambas-source-code/main/gbx/gbx_expression.h
Benoît Minisini 0ac184012a [DEVELOPMENT ENVIRONMENT]
* 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
2009-07-14 02:24:54 +00:00

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