[project @ 2000-05-08 15:05:36 by simonmar]
[ghc-hetmet.git] / ghc / compiler / parser / ctypes.h
1 /*-----------------------------------------------------------------------------
2   ctypes.h for Haskell
3
4   (c) Simon Marlow 1993
5 -----------------------------------------------------------------------------*/
6
7 #define C_Ident     1
8 #define C_Symbol    1<<1
9 #define C_Any       1<<2
10 #define C_Space     1<<3
11 #define C_Lower     1<<4
12 #define C_Upper     1<<5
13 #define C_Digit     1<<6
14
15 #define _IsType(c,flags) (char_types[(int)(c)] & flags)
16
17 #define IsSpace(c)     (_IsType(c,C_Space))
18 #define IsIdent(c)     (_IsType(c,C_Ident))
19 #define IsAny(c)       (_IsType(c,C_Any))
20 #define IsSymbol(c)    (_IsType(c,C_Symbol))
21 #define IsLower(c)     (_IsType(c,C_Lower))
22 #define IsUpper(c)     (_IsType(c,C_Upper))
23 #define IsDigit(c)     (_IsType(c,C_Digit))
24
25 extern const unsigned char char_types[];