1 (* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. *)
2 (* This file is part of GNU Modula-2.
4 GNU Modula-2 is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free
6 Software Foundation; either version 2, or (at your option) any later
9 GNU Modula-2 is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 You should have received a copy of the GNU General Public License along
15 with gm2; see the file COPYING. If not, write to the Free Software
16 Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *)
26 PROCEDURE GetSymName (s: CARDINAL) : CARDINAL ;
31 PROCEDURE LengthKey (s: CARDINAL) : CARDINAL ;
36 PROCEDURE GetKey (s: CARDINAL; a: ARRAY OF CHAR) ;
42 GetConstLitType - returns the type of the constant, Sym.
43 All constants have type NulSym except CHAR constants
44 ie 00C 012C etc and floating point constants which have type LONGREAL.
47 PROCEDURE GetConstLitType (Sym: CARDINAL) : CARDINAL ;
51 a : ARRAY [0..Max] OF CHAR ;
55 GetKey(GetSymName(Sym), a) ;
56 High := LengthKey(GetSymName(Sym)) ;
63 IF (a[i]='.') OR (a[i]='+')
76 IF GetConstLitType(2)=2