7845b4ba765a2f04e8823028995046feb6e73b01
[kopensolaris-gnu/glibc.git] / locale / programs / locfile-token.h
1 /* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If not,
17    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18    Boston, MA 02111-1307, USA.  */
19
20 #ifndef _TOKEN_H
21 #define _TOKEN_H
22
23 enum token_t
24 {
25   tok_none = 0,
26
27   tok_eof,
28   tok_eol,
29   tok_bsymbol,
30   tok_ident,
31   tok_ellipsis,
32   tok_semicolon,
33   tok_comma,
34   tok_open_brace,
35   tok_close_brace,
36   tok_charcode,
37   tok_ucs2,
38   tok_ucs4,
39   tok_number,
40   tok_minus1,
41   tok_string,
42
43   tok_escape_char,
44   tok_comment_char,
45   tok_charmap,
46   tok_end,
47   tok_g0esc,
48   tok_g1esc,
49   tok_g2esc,
50   tok_g3esc,
51
52   tok_charids,
53
54   tok_code_set_name,
55   tok_mb_cur_max,
56   tok_mb_cur_min,
57   tok_charconv,
58   tok_width,
59   tok_width_variable,
60   tok_width_default,
61   tok_repertoiremap,
62
63   tok_lc_ctype,
64   tok_copy,
65   tok_upper,
66   tok_lower,
67   tok_alpha,
68   tok_digit,
69   tok_xdigit,
70   tok_space,
71   tok_print,
72   tok_graph,
73   tok_blank,
74   tok_cntrl,
75   tok_punct,
76   tok_alnum,
77   tok_charclass,
78   tok_toupper,
79   tok_tolower,
80   tok_lc_collate,
81   tok_collating_element,
82   tok_collating_symbol,
83   tok_order_start,
84   tok_order_end,
85   tok_from,
86   tok_forward,
87   tok_backward,
88   tok_position,
89   tok_undefined,
90   tok_ignore,
91   tok_lc_monetary,
92   tok_int_curr_symbol,
93   tok_currency_symbol,
94   tok_mon_decimal_point,
95   tok_mon_thousands_sep,
96   tok_mon_grouping,
97   tok_positive_sign,
98   tok_negative_sign,
99   tok_int_frac_digits,
100   tok_frac_digits,
101   tok_p_cs_precedes,
102   tok_p_sep_by_space,
103   tok_n_cs_precedes,
104   tok_n_sep_by_space,
105   tok_p_sign_posn,
106   tok_n_sign_posn,
107   tok_lc_numeric,
108   tok_decimal_point,
109   tok_thousands_sep,
110   tok_grouping,
111   tok_lc_time,
112   tok_abday,
113   tok_day,
114   tok_abmon,
115   tok_mon,
116   tok_d_t_fmt,
117   tok_d_fmt,
118   tok_t_fmt,
119   tok_am_pm,
120   tok_t_fmt_ampm,
121   tok_era,
122   tok_era_year,
123   tok_era_d_fmt,
124   tok_era_d_t_fmt,
125   tok_era_t_fmt,
126   tok_alt_digits,
127   tok_lc_messages,
128   tok_yesexpr,
129   tok_noexpr,
130   tok_yesstr,
131   tok_nostr,
132
133   tok_error
134 };
135
136
137 struct keyword_t
138 {
139   const char *name;
140   enum token_t token;
141   int symname_or_ident;
142
143   /* Only for locdef file.  */
144   int locale;
145   enum token_t base;
146   enum token_t group;
147   enum token_t list;
148 };
149
150
151 #endif /* token.h */