a0dc52061f
2000-04-06 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (charmap_new_char): Add parameter step. Support ..(2).. ellipsis. (parse_charmap): Recognize ..(2).. etc and pass step down. Correctly generate names for UCS4 characters. * locale/programs/ld-ctype.c (struct translit_ignore_t): Add step. (ctype_finish): We know the wide character value for <SP>, don't search. (charclass_symbolic_ellipsis): Handle ..(2).. ellipsis. (charclass_ucs4_ellipsis): Likewise. (read_translit_ignore_entry): Store ellipsis step. (ctype_read): Recognize ..(2).. etc and pass step down. * locale/programs/linereader.c (lr_token): When seeing comment character ignore only rest of line in sources but stop at escaped newline. Recognize ..(2).. and ....(2)..... * locale/programs/locfile-token.h (enum token_t): Add tok_ellipsis2_2 and tok_ellipsis4_2.
258 lines
4.9 KiB
C
258 lines
4.9 KiB
C
/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
|
This file is part of the GNU C Library.
|
|
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public License as
|
|
published by the Free Software Foundation; either version 2 of the
|
|
License, or (at your option) any later version.
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA. */
|
|
|
|
#ifndef _TOKEN_H
|
|
#define _TOKEN_H
|
|
|
|
enum token_t
|
|
{
|
|
tok_none = 0,
|
|
|
|
tok_eof,
|
|
tok_eol,
|
|
tok_bsymbol,
|
|
tok_ident,
|
|
tok_ellipsis2,
|
|
tok_ellipsis3,
|
|
tok_ellipsis4,
|
|
tok_ellipsis2_2,
|
|
tok_ellipsis4_2,
|
|
tok_semicolon,
|
|
tok_comma,
|
|
tok_open_brace,
|
|
tok_close_brace,
|
|
tok_charcode,
|
|
tok_ucs4,
|
|
tok_number,
|
|
tok_minus1,
|
|
tok_string,
|
|
tok_include,
|
|
|
|
tok_escape_char,
|
|
tok_comment_char,
|
|
tok_charmap,
|
|
tok_end,
|
|
tok_g0esc,
|
|
tok_g1esc,
|
|
tok_g2esc,
|
|
tok_g3esc,
|
|
tok_escseq,
|
|
tok_addset,
|
|
|
|
tok_charids,
|
|
|
|
tok_code_set_name,
|
|
tok_mb_cur_max,
|
|
tok_mb_cur_min,
|
|
tok_charconv,
|
|
tok_width,
|
|
tok_width_variable,
|
|
tok_width_default,
|
|
tok_repertoiremap,
|
|
|
|
tok_lc_ctype,
|
|
tok_copy,
|
|
/* Keep the following entries up to the next comment in this order! */
|
|
tok_upper,
|
|
tok_lower,
|
|
tok_alpha,
|
|
tok_digit,
|
|
tok_xdigit,
|
|
tok_space,
|
|
tok_print,
|
|
tok_graph,
|
|
tok_blank,
|
|
tok_cntrl,
|
|
tok_punct,
|
|
tok_alnum,
|
|
/* OK, shuffling allowed again. */
|
|
tok_outdigit,
|
|
tok_charclass,
|
|
tok_class,
|
|
tok_toupper,
|
|
tok_tolower,
|
|
tok_map,
|
|
tok_translit_start,
|
|
tok_translit_end,
|
|
tok_translit_ignore,
|
|
tok_default_missing,
|
|
tok_lc_collate,
|
|
tok_coll_weight_max,
|
|
tok_section_symbol,
|
|
tok_collating_element,
|
|
tok_collating_symbol,
|
|
tok_symbol_equivalence,
|
|
tok_order_start,
|
|
tok_order_end,
|
|
tok_from,
|
|
tok_forward,
|
|
tok_backward,
|
|
tok_position,
|
|
tok_undefined,
|
|
tok_ignore,
|
|
tok_reorder_after,
|
|
tok_reorder_end,
|
|
tok_reorder_sections_after,
|
|
tok_reorder_sections_end,
|
|
tok_define,
|
|
tok_undef,
|
|
tok_ifdef,
|
|
tok_ifndef,
|
|
tok_else,
|
|
tok_elif,
|
|
tok_endif,
|
|
tok_lc_monetary,
|
|
tok_int_curr_symbol,
|
|
tok_currency_symbol,
|
|
tok_mon_decimal_point,
|
|
tok_mon_thousands_sep,
|
|
tok_mon_grouping,
|
|
tok_positive_sign,
|
|
tok_negative_sign,
|
|
tok_int_frac_digits,
|
|
tok_frac_digits,
|
|
tok_p_cs_precedes,
|
|
tok_p_sep_by_space,
|
|
tok_n_cs_precedes,
|
|
tok_n_sep_by_space,
|
|
tok_p_sign_posn,
|
|
tok_n_sign_posn,
|
|
tok_int_p_cs_precedes,
|
|
tok_int_p_sep_by_space,
|
|
tok_int_n_cs_precedes,
|
|
tok_int_n_sep_by_space,
|
|
tok_int_p_sign_posn,
|
|
tok_int_n_sign_posn,
|
|
tok_duo_int_curr_symbol,
|
|
tok_duo_currency_symbol,
|
|
tok_duo_int_frac_digits,
|
|
tok_duo_frac_digits,
|
|
tok_duo_p_cs_precedes,
|
|
tok_duo_p_sep_by_space,
|
|
tok_duo_n_cs_precedes,
|
|
tok_duo_n_sep_by_space,
|
|
tok_duo_int_p_cs_precedes,
|
|
tok_duo_int_p_sep_by_space,
|
|
tok_duo_int_n_cs_precedes,
|
|
tok_duo_int_n_sep_by_space,
|
|
tok_duo_p_sign_posn,
|
|
tok_duo_n_sign_posn,
|
|
tok_duo_int_p_sign_posn,
|
|
tok_duo_int_n_sign_posn,
|
|
tok_uno_valid_from,
|
|
tok_uno_valid_to,
|
|
tok_duo_valid_from,
|
|
tok_duo_valid_to,
|
|
tok_conversion_rate,
|
|
tok_lc_numeric,
|
|
tok_decimal_point,
|
|
tok_thousands_sep,
|
|
tok_grouping,
|
|
tok_lc_time,
|
|
tok_abday,
|
|
tok_day,
|
|
tok_abmon,
|
|
tok_mon,
|
|
tok_d_t_fmt,
|
|
tok_d_fmt,
|
|
tok_t_fmt,
|
|
tok_am_pm,
|
|
tok_t_fmt_ampm,
|
|
tok_era,
|
|
tok_era_year,
|
|
tok_era_d_fmt,
|
|
tok_era_d_t_fmt,
|
|
tok_era_t_fmt,
|
|
tok_alt_digits,
|
|
tok_week,
|
|
tok_first_weekday,
|
|
tok_first_workday,
|
|
tok_cal_direction,
|
|
tok_timezone,
|
|
tok_lc_messages,
|
|
tok_yesexpr,
|
|
tok_noexpr,
|
|
tok_yesstr,
|
|
tok_nostr,
|
|
tok_lc_paper,
|
|
tok_height,
|
|
tok_lc_name,
|
|
tok_name_fmt,
|
|
tok_name_gen,
|
|
tok_name_mr,
|
|
tok_name_mrs,
|
|
tok_name_miss,
|
|
tok_name_ms,
|
|
tok_lc_address,
|
|
tok_postal_fmt,
|
|
tok_country_name,
|
|
tok_country_post,
|
|
tok_country_ab2,
|
|
tok_country_ab3,
|
|
tok_country_num,
|
|
tok_country_car,
|
|
tok_country_isbn,
|
|
tok_lang_name,
|
|
tok_lang_ab,
|
|
tok_lang_term,
|
|
tok_lang_lib,
|
|
tok_lc_telephone,
|
|
tok_tel_int_fmt,
|
|
tok_tel_dom_fmt,
|
|
tok_int_select,
|
|
tok_int_prefix,
|
|
tok_lc_measurement,
|
|
tok_measurement,
|
|
tok_lc_identification,
|
|
tok_title,
|
|
tok_source,
|
|
tok_address,
|
|
tok_contact,
|
|
tok_email,
|
|
tok_tel,
|
|
tok_fax,
|
|
tok_language,
|
|
tok_territory,
|
|
tok_audience,
|
|
tok_application,
|
|
tok_abbreviation,
|
|
tok_revision,
|
|
tok_date,
|
|
tok_category,
|
|
|
|
tok_error
|
|
};
|
|
|
|
|
|
struct keyword_t
|
|
{
|
|
const char *name;
|
|
enum token_t token;
|
|
int symname_or_ident;
|
|
|
|
/* Only for locdef file. */
|
|
int locale;
|
|
enum token_t base;
|
|
enum token_t group;
|
|
enum token_t list;
|
|
};
|
|
|
|
|
|
#endif /* token.h */
|