00001 /*******************************************************************\ 00002 00003 SESAME project software license 00004 00005 Copyright (C) 2002 University of Amsterdam 00006 00007 This program is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU General Public License 00009 as published by the Free Software Foundation; either version 2 00010 of the License, or (at your option) any later version. 00011 00012 This program 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 this program; if not, write to the Free Software 00019 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 00020 02111-1307, USA. 00021 00022 For information regarding the SESAME software project see 00023 http://sesamesim.sourceforge.net or email 00024 jcofflan@users.sourceforge.net 00025 00026 \*******************************************************************/ 00027 00028 /* 00029 * Pearl Compiler (c) 1989 University of Amsterdam 00030 * by 00031 * B.J. Overeinder & J.G. Stil 00032 * 00033 * This file contains the structure that is used in the parse tree. 00034 */ 00035 00036 00037 #ifndef PARSE_H 00038 00039 #define PARSE_H 00040 00041 00042 00043 #include "lex_an.h" 00044 00045 00046 #define EMPTY_FILE "/dev/null" 00047 extern char *home; // Pearls home directory 00048 00049 /* 00050 * Definition of parse tree node. 00051 */ 00052 typedef struct parsex { 00053 int tok; 00054 char *str; 00055 struct parsex *left, *right, *e0, *e1, *e2; 00056 char *sym_entry; 00057 linex *lf; 00058 int simple; 00059 char *tsize; 00060 struct typex *type; // Added, type of expression 00061 } parsex; 00062 00063 00064 parsex *new_parsex(); 00065 00066 #endif