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