1 /********************************************************************/ 2 /* */ 3 /* s7 Seed7 interpreter */ 4 /* Copyright (C) 1990 - 2000 Thomas Mertes */ 5 /* */ 6 /* This program is free software; you can redistribute it and/or */ 7 /* modify it under the terms of the GNU General Public License as */ 8 /* published by the Free Software Foundation; either version 2 of */ 9 /* the License, or (at your option) any later version. */ 10 /* */ 11 /* This program is distributed in the hope that it will be useful, */ 12 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 13 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ 14 /* GNU General Public License for more details. */ 15 /* */ 16 /* You should have received a copy of the GNU General Public */ 17 /* License along with this program; if not, write to the */ 18 /* Free Software Foundation, Inc., 51 Franklin Street, */ 19 /* Fifth Floor, Boston, MA 02110-1301, USA. */ 20 /* */ 21 /* Module: Analyzer */ 22 /* File: seed7/src/findid.h */ 23 /* Changes: 1991, 1992, 1993, 1994 Thomas Mertes */ 24 /* Content: Procedures to maintain the identifier table. */ 25 /* */ 26 /********************************************************************/ 27 28 #define STRONGEST_PRIORITY ((priorityType) 0) 29 #define SCOL_PRIORITY ((priorityType) 49) 30 #define COM_PRIORITY ((priorityType) 99) 31 #define WEAKEST_PRIORITY ((priorityType) 127) 32 33 EXTERN identType current_ident; 34 35 36 #define find_1_ch_ident(ch) current_ident = prog->ident.table1[(int) (ch)] 37 #define find_literal_ident() current_ident = prog->ident.literal 38 #define find_eof_ident() current_ident = prog->ident.end_of_file 39 40 41 void find_normal_ident (sySizeType length); 42 void check_list_of_syntax_elements (const_listType elem_list); 43 void clean_idents (progType currentProg); 44 void write_idents (progType currentProg); 45 void init_findid (progType aProg, errInfoType *err_info); 46