[project @ 1999-06-01 16:15:42 by simonmar]
[ghc-hetmet.git] / ghc / compiler / parser / id.h
1 #ifndef ID_H
2 #define ID_H
3
4 typedef char *id;
5 typedef id unkId;       /* synonym */
6 typedef id stringId;    /* synonym */
7 typedef id numId;       /* synonym, for now */
8
9 typedef struct { long len; char *bytes; } Hstring;
10 typedef Hstring *hstring;
11
12 long  get_hstring_len  PROTO((hstring));
13 char *get_hstring_bytes PROTO((hstring));
14
15 id installid PROTO((char *));                /* Create a new identifier */
16 hstring installHstring PROTO((int, char *)); /* Create a new literal string */
17
18 /* defines for special-syntax ids, see comment next
19    to creategid()
20 */
21 #define ARROWGID   (-2)
22 #define NILGID     (-1)
23 #define UNITGID    (0)
24
25
26 #endif