[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / compiler / parser / ctypes.c
1 /*-----------------------------------------------------------------------------
2   ctype.c for Haskell
3
4   (c) Simon Marlow 1993
5 -----------------------------------------------------------------------------*/
6
7 #include "ctypes.h"
8
9 const unsigned char char_types[] = 
10   {
11     0,                          /* \000 */
12     0,                          /* \001 */
13     0,                          /* \002 */
14     0,                          /* \003 */
15     0,                          /* \004 */
16     0,                          /* \005 */
17     0,                          /* \006 */
18     0,                          /* \007 */
19     0,                          /* \010 */
20     C_Any | C_Space,            /* \t */
21     C_Any | C_Space,            /* \n */
22     C_Any | C_Space,            /* \v */
23     C_Any | C_Space,            /* \f */
24     0,                          /* \015 */
25     0,                          /* \016 */
26     0,                          /* \017 */
27     0,                          /* \020 */
28     0,                          /* \021 */
29     0,                          /* \022 */
30     0,                          /* \023 */
31     0,                          /* \024 */
32     0,                          /* \025 */
33     0,                          /* \026 */
34     0,                          /* \027 */
35     0,                          /* \030 */
36     0,                          /* \031 */
37     0,                          /* \032 */
38     0,                          /* \033 */
39     0,                          /* \034 */
40     0,                          /* \035 */
41     0,                          /* \036 */
42     0,                          /* \037 */
43     C_Any | C_Space,            /*   */
44     C_Any | C_Symbol,           /* ! */
45     C_Any,                      /* " */
46     C_Any | C_Symbol,           /* # */
47     C_Any | C_Symbol,           /* $ */
48     C_Any | C_Symbol,           /* % */
49     C_Any | C_Symbol,           /* & */
50     C_Any | C_Ident,            /* ' */
51     C_Any,                      /* ( */
52     C_Any,                      /* ) */
53     C_Any | C_Symbol,           /* * */
54     C_Any | C_Symbol,           /* + */
55     C_Any,                      /* , */
56     C_Any | C_Symbol,           /* - */
57     C_Any | C_Symbol,           /* . */
58     C_Any | C_Symbol,           /* / */
59     C_Any | C_Ident | C_Digit,  /* 0 */
60     C_Any | C_Ident | C_Digit,  /* 1 */
61     C_Any | C_Ident | C_Digit,  /* 2 */
62     C_Any | C_Ident | C_Digit,  /* 3 */
63     C_Any | C_Ident | C_Digit,  /* 4 */
64     C_Any | C_Ident | C_Digit,  /* 5 */
65     C_Any | C_Ident | C_Digit,  /* 6 */
66     C_Any | C_Ident | C_Digit,  /* 7 */
67     C_Any | C_Ident | C_Digit,  /* 8 */
68     C_Any | C_Ident | C_Digit,  /* 9 */
69     C_Any | C_Symbol,           /* : */
70     C_Any,                      /* ; */
71     C_Any | C_Symbol,           /* < */
72     C_Any | C_Symbol,           /* = */
73     C_Any | C_Symbol,           /* > */
74     C_Any | C_Symbol,           /* ? */
75     C_Any | C_Symbol,           /* @ */
76     C_Any | C_Ident | C_Upper,  /* A */
77     C_Any | C_Ident | C_Upper,  /* B */
78     C_Any | C_Ident | C_Upper,  /* C */
79     C_Any | C_Ident | C_Upper,  /* D */
80     C_Any | C_Ident | C_Upper,  /* E */
81     C_Any | C_Ident | C_Upper,  /* F */
82     C_Any | C_Ident | C_Upper,  /* G */
83     C_Any | C_Ident | C_Upper,  /* H */
84     C_Any | C_Ident | C_Upper,  /* I */
85     C_Any | C_Ident | C_Upper,  /* J */
86     C_Any | C_Ident | C_Upper,  /* K */
87     C_Any | C_Ident | C_Upper,  /* L */
88     C_Any | C_Ident | C_Upper,  /* M */
89     C_Any | C_Ident | C_Upper,  /* N */
90     C_Any | C_Ident | C_Upper,  /* O */
91     C_Any | C_Ident | C_Upper,  /* P */
92     C_Any | C_Ident | C_Upper,  /* Q */
93     C_Any | C_Ident | C_Upper,  /* R */
94     C_Any | C_Ident | C_Upper,  /* S */
95     C_Any | C_Ident | C_Upper,  /* T */
96     C_Any | C_Ident | C_Upper,  /* U */
97     C_Any | C_Ident | C_Upper,  /* V */
98     C_Any | C_Ident | C_Upper,  /* W */
99     C_Any | C_Ident | C_Upper,  /* X */
100     C_Any | C_Ident | C_Upper,  /* Y */
101     C_Any | C_Ident | C_Upper,  /* Z */
102     C_Any,                      /* [ */
103     C_Any | C_Symbol,           /* \ */
104     C_Any,                      /* ] */
105     C_Any | C_Symbol,           /* ^ */
106     C_Any | C_Ident,            /* _ */
107     C_Any,                      /* ` */
108     C_Any | C_Ident,            /* a */
109     C_Any | C_Ident,            /* b */
110     C_Any | C_Ident,            /* c */
111     C_Any | C_Ident,            /* d */
112     C_Any | C_Ident,            /* e */
113     C_Any | C_Ident,            /* f */
114     C_Any | C_Ident,            /* g */
115     C_Any | C_Ident,            /* h */
116     C_Any | C_Ident,            /* i */
117     C_Any | C_Ident,            /* j */
118     C_Any | C_Ident,            /* k */
119     C_Any | C_Ident,            /* l */
120     C_Any | C_Ident,            /* m */
121     C_Any | C_Ident,            /* n */
122     C_Any | C_Ident,            /* o */
123     C_Any | C_Ident,            /* p */
124     C_Any | C_Ident,            /* q */
125     C_Any | C_Ident,            /* r */
126     C_Any | C_Ident,            /* s */
127     C_Any | C_Ident,            /* t */
128     C_Any | C_Ident,            /* u */
129     C_Any | C_Ident,            /* v */
130     C_Any | C_Ident,            /* w */
131     C_Any | C_Ident,            /* x */
132     C_Any | C_Ident,            /* y */
133     C_Any | C_Ident,            /* z */
134     C_Any,                      /* { */
135     C_Any | C_Symbol,           /* | */
136     C_Any,                      /* } */
137     C_Any | C_Symbol,           /* ~ */
138     0,                          /* \177 */
139     0,                          /* \200 */
140     0,                          /* \201 */
141     0,                          /* \202 */
142     0,                          /* \203 */
143     0,                          /* \204 */
144     0,                          /* \205 */
145     0,                          /* \206 */
146     0,                          /* \207 */
147     0,                          /* \210 */
148     0,                          /* \211 */
149     0,                          /* \212 */
150     0,                          /* \213 */
151     0,                          /* \214 */
152     0,                          /* \215 */
153     0,                          /* \216 */
154     0,                          /* \217 */
155     0,                          /* \220 */
156     0,                          /* \221 */
157     0,                          /* \222 */
158     0,                          /* \223 */
159     0,                          /* \224 */
160     0,                          /* \225 */
161     0,                          /* \226 */
162     0,                          /* \227 */
163     0,                          /* \230 */
164     0,                          /* \231 */
165     0,                          /* \232 */
166     0,                          /* \233 */
167     0,                          /* \234 */
168     0,                          /* \235 */
169     0,                          /* \236 */
170     0,                          /* \237 */
171     C_Space,                    /*   */
172     C_Any | C_Symbol,           /* ¡ */
173     C_Any | C_Symbol,           /* ¢ */
174     C_Any | C_Symbol,           /* £ */
175     C_Any | C_Symbol,           /* ¤ */
176     C_Any | C_Symbol,           /* ¥ */
177     C_Any | C_Symbol,           /* ¦ */
178     C_Any | C_Symbol,           /* § */
179     C_Any | C_Symbol,           /* ¨ */
180     C_Any | C_Symbol,           /* © */
181     C_Any | C_Symbol,           /* ª */
182     C_Any | C_Symbol,           /* « */
183     C_Any | C_Symbol,           /* ¬ */
184     C_Any | C_Symbol,           /* ­ */
185     C_Any | C_Symbol,           /* ® */
186     C_Any | C_Symbol,           /* ¯ */
187     C_Any | C_Symbol,           /* ° */
188     C_Any | C_Symbol,           /* ± */
189     C_Any | C_Symbol,           /* ² */
190     C_Any | C_Symbol,           /* ³ */
191     C_Any | C_Symbol,           /* ´ */
192     C_Any | C_Symbol,           /* µ */
193     C_Any | C_Symbol,           /* ¶ */
194     C_Any | C_Symbol,           /* · */
195     C_Any | C_Symbol,           /* ¸ */
196     C_Any | C_Symbol,           /* ¹ */
197     C_Any | C_Symbol,           /* º */
198     C_Any | C_Symbol,           /* » */
199     C_Any | C_Symbol,           /* ¼ */
200     C_Any | C_Symbol,           /* ½ */
201     C_Any | C_Symbol,           /* ¾ */
202     C_Any | C_Symbol,           /* ¿ */
203     C_Any | C_Ident | C_Upper,  /* À */
204     C_Any | C_Ident | C_Upper,  /* Á */
205     C_Any | C_Ident | C_Upper,  /* Â */
206     C_Any | C_Ident | C_Upper,  /* Ã */
207     C_Any | C_Ident | C_Upper,  /* Ä */
208     C_Any | C_Ident | C_Upper,  /* Å */
209     C_Any | C_Ident | C_Upper,  /* Æ */
210     C_Any | C_Ident | C_Upper,  /* Ç */
211     C_Any | C_Ident | C_Upper,  /* È */
212     C_Any | C_Ident | C_Upper,  /* É */
213     C_Any | C_Ident | C_Upper,  /* Ê */
214     C_Any | C_Ident | C_Upper,  /* Ë */
215     C_Any | C_Ident | C_Upper,  /* Ì */
216     C_Any | C_Ident | C_Upper,  /* Í */
217     C_Any | C_Ident | C_Upper,  /* Î */
218     C_Any | C_Ident | C_Upper,  /* Ï */
219     C_Any | C_Ident | C_Upper,  /* Ð */
220     C_Any | C_Ident | C_Upper,  /* Ñ */
221     C_Any | C_Ident | C_Upper,  /* Ò */
222     C_Any | C_Ident | C_Upper,  /* Ó */
223     C_Any | C_Ident | C_Upper,  /* Ô */
224     C_Any | C_Ident | C_Upper,  /* Õ */
225     C_Any | C_Ident | C_Upper,  /* Ö */
226     C_Any | C_Symbol,           /* × */
227     C_Any | C_Ident | C_Upper,  /* Ø */
228     C_Any | C_Ident | C_Upper,  /* Ù */
229     C_Any | C_Ident | C_Upper,  /* Ú */
230     C_Any | C_Ident | C_Upper,  /* Û */
231     C_Any | C_Ident | C_Upper,  /* Ü */
232     C_Any | C_Ident | C_Upper,  /* Ý */
233     C_Any | C_Ident | C_Upper,  /* Þ */
234     C_Any | C_Ident,            /* ß */
235     C_Any | C_Ident,            /* à */
236     C_Any | C_Ident,            /* á */
237     C_Any | C_Ident,            /* â */
238     C_Any | C_Ident,            /* ã */
239     C_Any | C_Ident,            /* ä */
240     C_Any | C_Ident,            /* å */
241     C_Any | C_Ident,            /* æ */
242     C_Any | C_Ident,            /* ç */
243     C_Any | C_Ident,            /* è */
244     C_Any | C_Ident,            /* é */
245     C_Any | C_Ident,            /* ê */
246     C_Any | C_Ident,            /* ë */
247     C_Any | C_Ident,            /* ì */
248     C_Any | C_Ident,            /* í */
249     C_Any | C_Ident,            /* î */
250     C_Any | C_Ident,            /* ï */
251     C_Any | C_Ident,            /* ð */
252     C_Any | C_Ident,            /* ñ */
253     C_Any | C_Ident,            /* ò */
254     C_Any | C_Ident,            /* ó */
255     C_Any | C_Ident,            /* ô */
256     C_Any | C_Ident,            /* õ */
257     C_Any | C_Ident,            /* ö */
258     C_Any | C_Symbol,           /* ÷ */
259     C_Any | C_Ident,            /* ø */
260     C_Any | C_Ident,            /* ù */
261     C_Any | C_Ident,            /* ú */
262     C_Any | C_Ident,            /* û */
263     C_Any | C_Ident,            /* ü */
264     C_Any | C_Ident,            /* ý */
265     C_Any | C_Ident,            /* þ */
266     C_Any | C_Ident,            /* ÿ */
267   };