2.5-18.1
[jlayton/glibc.git] / locale / programs / locfile-token.h
1 /* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
4
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License version 2 as
7    published by the Free Software Foundation.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software Foundation,
16    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
17
18 #ifndef _TOKEN_H
19 #define _TOKEN_H
20
21 enum token_t
22 {
23   tok_none = 0,
24
25   tok_eof,
26   tok_eol,
27   tok_bsymbol,
28   tok_ident,
29   tok_ellipsis2,
30   tok_ellipsis3,
31   tok_ellipsis4,
32   tok_ellipsis2_2,
33   tok_ellipsis4_2,
34   tok_semicolon,
35   tok_comma,
36   tok_open_brace,
37   tok_close_brace,
38   tok_charcode,
39   tok_ucs4,
40   tok_number,
41   tok_minus1,
42   tok_string,
43   tok_include,
44
45   tok_escape_char,
46   tok_comment_char,
47   tok_charmap,
48   tok_end,
49   tok_g0esc,
50   tok_g1esc,
51   tok_g2esc,
52   tok_g3esc,
53   tok_escseq,
54   tok_addset,
55
56   tok_charids,
57
58   tok_code_set_name,
59   tok_mb_cur_max,
60   tok_mb_cur_min,
61   tok_charconv,
62   tok_width,
63   tok_width_variable,
64   tok_width_default,
65   tok_repertoiremap,
66
67   tok_lc_ctype,
68   tok_copy,
69   /* Keep the following entries up to the next comment in this order!  */
70   tok_upper,
71   tok_lower,
72   tok_alpha,
73   tok_digit,
74   tok_xdigit,
75   tok_space,
76   tok_print,
77   tok_graph,
78   tok_blank,
79   tok_cntrl,
80   tok_punct,
81   tok_alnum,
82   /* OK, shuffling allowed again.  */
83   tok_outdigit,
84   tok_charclass,
85   tok_class,
86   tok_toupper,
87   tok_tolower,
88   tok_map,
89   tok_translit_start,
90   tok_translit_end,
91   tok_translit_ignore,
92   tok_default_missing,
93   tok_lc_collate,
94   tok_coll_weight_max,
95   tok_section_symbol,
96   tok_collating_element,
97   tok_collating_symbol,
98   tok_symbol_equivalence,
99   tok_script,
100   tok_order_start,
101   tok_order_end,
102   tok_from,
103   tok_forward,
104   tok_backward,
105   tok_position,
106   tok_undefined,
107   tok_ignore,
108   tok_reorder_after,
109   tok_reorder_end,
110   tok_reorder_sections_after,
111   tok_reorder_sections_end,
112   tok_define,
113   tok_undef,
114   tok_ifdef,
115   tok_ifndef,
116   tok_else,
117   tok_elif,
118   tok_endif,
119   tok_lc_monetary,
120   tok_int_curr_symbol,
121   tok_currency_symbol,
122   tok_mon_decimal_point,
123   tok_mon_thousands_sep,
124   tok_mon_grouping,
125   tok_positive_sign,
126   tok_negative_sign,
127   tok_int_frac_digits,
128   tok_frac_digits,
129   tok_p_cs_precedes,
130   tok_p_sep_by_space,
131   tok_n_cs_precedes,
132   tok_n_sep_by_space,
133   tok_p_sign_posn,
134   tok_n_sign_posn,
135   tok_int_p_cs_precedes,
136   tok_int_p_sep_by_space,
137   tok_int_n_cs_precedes,
138   tok_int_n_sep_by_space,
139   tok_int_p_sign_posn,
140   tok_int_n_sign_posn,
141   tok_duo_int_curr_symbol,
142   tok_duo_currency_symbol,
143   tok_duo_int_frac_digits,
144   tok_duo_frac_digits,
145   tok_duo_p_cs_precedes,
146   tok_duo_p_sep_by_space,
147   tok_duo_n_cs_precedes,
148   tok_duo_n_sep_by_space,
149   tok_duo_int_p_cs_precedes,
150   tok_duo_int_p_sep_by_space,
151   tok_duo_int_n_cs_precedes,
152   tok_duo_int_n_sep_by_space,
153   tok_duo_p_sign_posn,
154   tok_duo_n_sign_posn,
155   tok_duo_int_p_sign_posn,
156   tok_duo_int_n_sign_posn,
157   tok_uno_valid_from,
158   tok_uno_valid_to,
159   tok_duo_valid_from,
160   tok_duo_valid_to,
161   tok_conversion_rate,
162   tok_lc_numeric,
163   tok_decimal_point,
164   tok_thousands_sep,
165   tok_grouping,
166   tok_lc_time,
167   tok_abday,
168   tok_day,
169   tok_abmon,
170   tok_mon,
171   tok_d_t_fmt,
172   tok_d_fmt,
173   tok_t_fmt,
174   tok_am_pm,
175   tok_t_fmt_ampm,
176   tok_era,
177   tok_era_year,
178   tok_era_d_fmt,
179   tok_era_d_t_fmt,
180   tok_era_t_fmt,
181   tok_alt_digits,
182   tok_week,
183   tok_first_weekday,
184   tok_first_workday,
185   tok_cal_direction,
186   tok_timezone,
187   tok_date_fmt,
188   tok_lc_messages,
189   tok_yesexpr,
190   tok_noexpr,
191   tok_yesstr,
192   tok_nostr,
193   tok_lc_paper,
194   tok_height,
195   tok_lc_name,
196   tok_name_fmt,
197   tok_name_gen,
198   tok_name_mr,
199   tok_name_mrs,
200   tok_name_miss,
201   tok_name_ms,
202   tok_lc_address,
203   tok_postal_fmt,
204   tok_country_name,
205   tok_country_post,
206   tok_country_ab2,
207   tok_country_ab3,
208   tok_country_num,
209   tok_country_car,
210   tok_country_isbn,
211   tok_lang_name,
212   tok_lang_ab,
213   tok_lang_term,
214   tok_lang_lib,
215   tok_lc_telephone,
216   tok_tel_int_fmt,
217   tok_tel_dom_fmt,
218   tok_int_select,
219   tok_int_prefix,
220   tok_lc_measurement,
221   tok_measurement,
222   tok_lc_identification,
223   tok_title,
224   tok_source,
225   tok_address,
226   tok_contact,
227   tok_email,
228   tok_tel,
229   tok_fax,
230   tok_language,
231   tok_territory,
232   tok_audience,
233   tok_application,
234   tok_abbreviation,
235   tok_revision,
236   tok_date,
237   tok_category,
238
239   tok_error
240 };
241
242
243 struct keyword_t
244 {
245   const char *name;
246   enum token_t token;
247   int symname_or_ident;
248
249   /* Only for locdef file.  */
250   int locale;
251   enum token_t base;
252   enum token_t group;
253   enum token_t list;
254 };
255
256
257 #endif /* token.h */