1/* Copyright (C) 1996-2022 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published
6 by the Free Software Foundation; version 2 of the License, or
7 (at your option) any later version.
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, see <https://www.gnu.org/licenses/>. */
16
17#ifndef _TOKEN_H
18#define _TOKEN_H
19
20enum token_t
21{
22 tok_none = 0,
23
24 tok_eof,
25 tok_eol,
26 tok_bsymbol,
27 tok_ident,
28 tok_ellipsis2,
29 tok_ellipsis3,
30 tok_ellipsis4,
31 tok_ellipsis2_2,
32 tok_ellipsis4_2,
33 tok_semicolon,
34 tok_comma,
35 tok_open_brace,
36 tok_close_brace,
37 tok_charcode,
38 tok_ucs4,
39 tok_number,
40 tok_minus1,
41 tok_string,
42 tok_include,
43
44 tok_escape_char,
45 tok_comment_char,
46 tok_charmap,
47 tok_end,
48 tok_g0esc,
49 tok_g1esc,
50 tok_g2esc,
51 tok_g3esc,
52 tok_escseq,
53 tok_addset,
54
55 tok_charids,
56
57 tok_code_set_name,
58 tok_mb_cur_max,
59 tok_mb_cur_min,
60 tok_charconv,
61 tok_width,
62 tok_width_variable,
63 tok_width_default,
64 tok_repertoiremap,
65
66 tok_lc_ctype,
67 tok_copy,
68 /* Keep the following entries up to the next comment in this order! */
69 tok_upper,
70 tok_lower,
71 tok_alpha,
72 tok_digit,
73 tok_xdigit,
74 tok_space,
75 tok_print,
76 tok_graph,
77 tok_blank,
78 tok_cntrl,
79 tok_punct,
80 tok_alnum,
81 /* OK, shuffling allowed again. */
82 tok_outdigit,
83 tok_charclass,
84 tok_class,
85 tok_toupper,
86 tok_tolower,
87 tok_map,
88 tok_translit_start,
89 tok_translit_end,
90 tok_translit_ignore,
91 tok_default_missing,
92 tok_lc_collate,
93 tok_codepoint_collation,
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_elifdef,
118 tok_elifndef,
119 tok_endif,
120 tok_lc_monetary,
121 tok_int_curr_symbol,
122 tok_currency_symbol,
123 tok_mon_decimal_point,
124 tok_mon_thousands_sep,
125 tok_mon_grouping,
126 tok_positive_sign,
127 tok_negative_sign,
128 tok_int_frac_digits,
129 tok_frac_digits,
130 tok_p_cs_precedes,
131 tok_p_sep_by_space,
132 tok_n_cs_precedes,
133 tok_n_sep_by_space,
134 tok_p_sign_posn,
135 tok_n_sign_posn,
136 tok_int_p_cs_precedes,
137 tok_int_p_sep_by_space,
138 tok_int_n_cs_precedes,
139 tok_int_n_sep_by_space,
140 tok_int_p_sign_posn,
141 tok_int_n_sign_posn,
142 tok_duo_int_curr_symbol,
143 tok_duo_currency_symbol,
144 tok_duo_int_frac_digits,
145 tok_duo_frac_digits,
146 tok_duo_p_cs_precedes,
147 tok_duo_p_sep_by_space,
148 tok_duo_n_cs_precedes,
149 tok_duo_n_sep_by_space,
150 tok_duo_int_p_cs_precedes,
151 tok_duo_int_p_sep_by_space,
152 tok_duo_int_n_cs_precedes,
153 tok_duo_int_n_sep_by_space,
154 tok_duo_p_sign_posn,
155 tok_duo_n_sign_posn,
156 tok_duo_int_p_sign_posn,
157 tok_duo_int_n_sign_posn,
158 tok_uno_valid_from,
159 tok_uno_valid_to,
160 tok_duo_valid_from,
161 tok_duo_valid_to,
162 tok_conversion_rate,
163 tok_lc_numeric,
164 tok_decimal_point,
165 tok_thousands_sep,
166 tok_grouping,
167 tok_lc_time,
168 tok_abday,
169 tok_day,
170 tok_abmon,
171 tok_mon,
172 tok_d_t_fmt,
173 tok_d_fmt,
174 tok_t_fmt,
175 tok_am_pm,
176 tok_t_fmt_ampm,
177 tok_era,
178 tok_era_year,
179 tok_era_d_fmt,
180 tok_era_d_t_fmt,
181 tok_era_t_fmt,
182 tok_alt_digits,
183 tok_week,
184 tok_first_weekday,
185 tok_first_workday,
186 tok_cal_direction,
187 tok_timezone,
188 tok_date_fmt,
189 tok_alt_mon,
190 tok_ab_alt_mon,
191 tok_lc_messages,
192 tok_yesexpr,
193 tok_noexpr,
194 tok_yesstr,
195 tok_nostr,
196 tok_lc_paper,
197 tok_height,
198 tok_lc_name,
199 tok_name_fmt,
200 tok_name_gen,
201 tok_name_mr,
202 tok_name_mrs,
203 tok_name_miss,
204 tok_name_ms,
205 tok_lc_address,
206 tok_postal_fmt,
207 tok_country_name,
208 tok_country_post,
209 tok_country_ab2,
210 tok_country_ab3,
211 tok_country_num,
212 tok_country_car,
213 tok_country_isbn,
214 tok_lang_name,
215 tok_lang_ab,
216 tok_lang_term,
217 tok_lang_lib,
218 tok_lc_telephone,
219 tok_tel_int_fmt,
220 tok_tel_dom_fmt,
221 tok_int_select,
222 tok_int_prefix,
223 tok_lc_measurement,
224 tok_measurement,
225 tok_lc_identification,
226 tok_title,
227 tok_source,
228 tok_address,
229 tok_contact,
230 tok_email,
231 tok_tel,
232 tok_fax,
233 tok_language,
234 tok_territory,
235 tok_audience,
236 tok_application,
237 tok_abbreviation,
238 tok_revision,
239 tok_date,
240 tok_category,
241
242 tok_error
243};
244
245
246struct keyword_t
247{
248 const char *name;
249 enum token_t token;
250 int symname_or_ident;
251
252 /* Only for locdef file. */
253 int locale;
254 enum token_t base;
255 enum token_t group;
256 enum token_t list;
257};
258
259
260#endif /* token.h */
261

source code of glibc/locale/programs/locfile-token.h