Mercurial > audlegacy-plugins
view src/paranormal-ng/libcalc/execute.h @ 2647:5808b64d3f68
branch merge
author | Paula Stanciu <paula.stanciu@gmail.com> |
---|---|
date | Sun, 25 May 2008 21:29:48 +0300 |
parents | 1fa3c8cd366a |
children | f1b6f1b2cdb3 |
line wrap: on
line source
/* execute.h -- execute precompiled expression code * * Copyright (C) 2001 Janusz Gregorczyk <jgregor@kki.net.pl> * * This file is part of xvs. * * 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 2 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef Included_EXECUTE_H #define Included_EXECUTE_H #include <glib.h> #include "dict.h" #include "storage.h" /* Execution stack. */ typedef struct { #define STACK_DEPTH 64 int sp; /* stack pointer */ double value[STACK_DEPTH]; } ex_stack; /* Prototypes. */ gboolean check_stack (ex_stack *stack, int depth); void push (ex_stack *stack, double value); double pop (ex_stack *stack); void expr_execute (expression_t *expr, symbol_dict_t *dict); #endif /* Included_EXECUTE_H */