gbx_exec.h

来自「Gambas is a graphical development enviro」· C头文件 代码 · 共 120 行

H
120
字号
/***************************************************************************  exec.h  Subroutines for the interpreter : executing methods, native methods,  the NEW operator, the casting operator, etc.  (c) 2000-2004 Beno顃 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_EXEC_H#define __GBX_EXEC_H#include "gb_alloc.h"#include "gb_error.h"#include "gbx_class.h"#include "gbx_value.h"#include "gb_pcode.h"#include "gbx_stack.h"#include "gbx_string.h"#include "gbx_object.h"#include "gbx_variant.h"#include "gbx_array.h"typedef  void (*EXEC_FUNC)();typedef  struct {    CLASS *class;    void *object;    long index;    //FUNCTION *func;    CLASS_DESC_METHOD *desc;    int nparam;    int nparvar;    bool drop;    bool native;    bool use_stack;    bool property;    }  EXEC_FUNCTION;typedef  struct {    void (*main)();    int (*loop)();    void (*wait)();    int (*message)();    void (*beep)();    void (*watch)();    void (*post)();    void (*quit)();    void (*error)();    }  EXEC_HOOK;#ifndef __GBX_EXEC_CEXTERN STACK_CONTEXT EXEC_current;EXTERN PCODE EXEC_code;EXTERN VALUE *SP;EXTERN VALUE TEMP;EXTERN VALUE RET;EXTERN EXEC_FUNCTION EXEC;/*EXTERN boolean EXEC_stop_next;EXTERN boolean EXEC_stop_next_line;EXTERN FUNCTION *EXEC_stop_function;EXTERN PCODE *EXEC_begin_line;EXTERN PCODE *EXEC_end_line;*/EXTERN bool EXEC_debug;EXTERN bool EXEC_arch;EXTERN bool EXEC_fifo;EXTERN EXEC_HOOK EXEC_Hook;EXTERN bool EXEC_enum_stop;EXTERN void *EXEC_enum_data;EXTERN bool EXEC_big_endian;/*EXTERN long EXEC_const[];*/#endif/* Pointeur de r閒閞ence des variables locales */#define BP EXEC_current.bp/* Classe en cours */#define CP EXEC_current.cp/* Objet en cours */#define OP EXEC_current.op/* Pointeur de r閒閞ence des param鑤res *//*#define PP EXEC_current.pp*//* Sauvegarde du pointeur de pile pour un TRY */#define EP EXEC_current.ep/* fonction en cours */#define FP EXEC_current.fp/* Pointeur de programme */#define PC EXEC_current.pc/* Emplacement o

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?