interpretor.h

00001 /* interpretor.h -- Simple Interpretor
00002    Copyright 2003 Free Software Foundation, Inc.
00003    Written by Stephane Carrez (stcarrez@nerim.fr)
00004 
00005 This file is part of GEL.
00006 
00007 GEL is free software; you can redistribute it and/or modify
00008 it under the terms of the GNU General Public License as published by
00009 the Free Software Foundation; either version 2, or (at your option)
00010 any later version.
00011 
00012 GEL is distributed in the hope that it will be useful,
00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015 GNU General Public License for more details.
00016 
00017 You should have received a copy of the GNU General Public License
00018 along with GEL; see the file COPYING.  If not, write to
00019 the Free Software Foundation, 59 Temple Place - Suite 330,
00020 Boston, MA 02111-1307, USA.  */
00021 
00022 #ifndef _GEL_INTERPRETOR_H
00023 #define _GEL_INTERPRETOR_H
00024 
00025 #include <sys/param.h>
00026 #include <stddef.h>
00027 
00028 #include "config.h"
00029 
00030 #undef far
00031 #define bank SECT_ATTR(".text.bank2")
00032 #define far FAR_ATTR(".text.bank2")
00033 
00034 
00039 class interpretor {
00040 
00041   // Execute the command (evaluate the expression).
00042   int bank execute(const char* line);
00043 
00044   // Busy loop to wait for a command or a valid number.
00045   void bank get_command (char *buf);
00046 public:
00047 
00048   // Interpretor main loop.
00049   void far main_loop();
00050 };
00051 
00052 #endif