* locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef

and tok_elifndef.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/ld-collate.c: Implement primitive preprocessor.
This commit is contained in:
Ulrich Drepper 2007-10-11 02:36:04 +00:00
parent 069293a7e7
commit 3a054d7ab0
7 changed files with 621 additions and 334 deletions

View File

@ -1,3 +1,10 @@
2007-10-10 Ulrich Drepper <drepper@redhat.com>
* locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef
and tok_elifndef.
* locale/programs/locfile-kw.gperf: Likewise.
* locale/programs/ld-collate.c: Implement primitive preprocessor.
2007-10-10 Jakub Jelinek <jakub@redhat.com> 2007-10-10 Jakub Jelinek <jakub@redhat.com>
* stdio-common/printf-parse.h: Include string.h and wchar.h. * stdio-common/printf-parse.h: Include string.h and wchar.h.

View File

@ -181,6 +181,14 @@ struct symbol_t
#include "3level.h" #include "3level.h"
/* Simple name list for the preprocessor. */
struct name_list
{
struct name_list *next;
char str[0];
};
/* The real definition of the struct for the LC_COLLATE locale. */ /* The real definition of the struct for the LC_COLLATE locale. */
struct locale_collate_t struct locale_collate_t
{ {
@ -240,6 +248,15 @@ struct locale_collate_t
/* The arrays with the collation sequence order. */ /* The arrays with the collation sequence order. */
unsigned char mbseqorder[256]; unsigned char mbseqorder[256];
struct collseq_table wcseqorder; struct collseq_table wcseqorder;
/* State of the preprocessor. */
enum
{
else_none = 0,
else_ignore,
else_seen
}
else_action;
}; };
@ -247,6 +264,9 @@ struct locale_collate_t
LC_COLLATE category descriptions in all files. */ LC_COLLATE category descriptions in all files. */
static uint32_t nrules; static uint32_t nrules;
/* List of defined preprocessor symbols. */
static struct name_list *defined;
/* We need UTF-8 encoding of numbers. */ /* We need UTF-8 encoding of numbers. */
static inline int static inline int
@ -2622,6 +2642,43 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
} }
static enum token_t
skip_to (struct linereader *ldfile, struct locale_collate_t *collate,
const struct charmap_t *charmap, int to_endif)
{
while (1)
{
struct token *now = lr_token (ldfile, charmap, NULL, NULL, 0);
enum token_t nowtok = now->tok;
if (nowtok == tok_eof || nowtok == tok_end)
return nowtok;
if (nowtok == tok_ifdef || nowtok == tok_ifndef)
{
lr_error (ldfile, _("%s: nested conditionals not supported"),
"LC_COLLATE");
nowtok = skip_to (ldfile, collate, charmap, tok_endif);
if (nowtok == tok_eof || nowtok == tok_end)
return nowtok;
}
else if ((!to_endif && (nowtok == tok_else || nowtok == tok_elifdef
|| nowtok == tok_elifndef))
|| nowtok == tok_endif)
{
lr_ignore_rest (ldfile, 1);
return nowtok;
}
else if (nowtok == tok_else)
{
lr_error (ldfile, _("%s: more then one 'else'"), "LC_COLLATE");
}
lr_ignore_rest (ldfile, 0);
}
}
void void
collate_read (struct linereader *ldfile, struct localedef_t *result, collate_read (struct linereader *ldfile, struct localedef_t *result,
const struct charmap_t *charmap, const char *repertoire_name, const struct charmap_t *charmap, const char *repertoire_name,
@ -2659,6 +2716,38 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
} }
while (nowtok == tok_eol); while (nowtok == tok_eol);
while (nowtok == tok_define)
{
if (ignore_content)
{
lr_ignore_rest (ldfile, 0);
continue;
}
arg = lr_token (ldfile, charmap, result, NULL, verbose);
if (arg->tok != tok_ident)
SYNTAX_ERROR (_("%s: syntax error"), "LC_COLLATE");
else
{
/* Simply add the new symbol. */
struct name_list *newsym = xmalloc (sizeof (*newsym)
+ arg->val.str.lenmb + 1);
memcpy (newsym->str, arg->val.str.startmb, arg->val.str.lenmb);
newsym->str[arg->val.str.lenmb] = '\0';
newsym->next = defined;
defined = newsym;
lr_ignore_rest (ldfile, 1);
}
do
{
now = lr_token (ldfile, charmap, result, NULL, verbose);
nowtok = now->tok;
}
while (nowtok == tok_eol);
}
if (nowtok == tok_copy) if (nowtok == tok_copy)
{ {
now = lr_token (ldfile, charmap, result, NULL, verbose); now = lr_token (ldfile, charmap, result, NULL, verbose);
@ -3798,6 +3887,7 @@ error while adding equivalent collating symbol"));
break; break;
case tok_end: case tok_end:
seen_end:
/* Next we assume `LC_COLLATE'. */ /* Next we assume `LC_COLLATE'. */
if (!ignore_content) if (!ignore_content)
{ {
@ -3838,6 +3928,180 @@ error while adding equivalent collating symbol"));
lr_ignore_rest (ldfile, arg->tok == tok_lc_collate); lr_ignore_rest (ldfile, arg->tok == tok_lc_collate);
return; return;
case tok_define:
if (ignore_content)
{
lr_ignore_rest (ldfile, 0);
break;
}
arg = lr_token (ldfile, charmap, result, NULL, verbose);
if (arg->tok != tok_ident)
goto err_label;
/* Simply add the new symbol. */
struct name_list *newsym = xmalloc (sizeof (*newsym)
+ arg->val.str.lenmb + 1);
memcpy (newsym->str, arg->val.str.startmb, arg->val.str.lenmb);
newsym->str[arg->val.str.lenmb] = '\0';
newsym->next = defined;
defined = newsym;
lr_ignore_rest (ldfile, 1);
break;
case tok_undef:
if (ignore_content)
{
lr_ignore_rest (ldfile, 0);
break;
}
arg = lr_token (ldfile, charmap, result, NULL, verbose);
if (arg->tok != tok_ident)
goto err_label;
/* Remove _all_ occurrences of the symbol from the list. */
struct name_list *prevdef = NULL;
struct name_list *curdef = defined;
while (curdef != NULL)
if (strncmp (arg->val.str.startmb, curdef->str,
arg->val.str.lenmb) == 0
&& curdef->str[arg->val.str.lenmb] == '\0')
{
if (prevdef == NULL)
defined = curdef->next;
else
prevdef->next = curdef->next;
struct name_list *olddef = curdef;
curdef = curdef->next;
free (olddef);
}
else
{
prevdef = curdef;
curdef = curdef->next;
}
lr_ignore_rest (ldfile, 1);
break;
case tok_ifdef:
case tok_ifndef:
if (ignore_content)
{
lr_ignore_rest (ldfile, 0);
break;
}
found_ifdef:
arg = lr_token (ldfile, charmap, result, NULL, verbose);
if (arg->tok != tok_ident)
goto err_label;
lr_ignore_rest (ldfile, 1);
if (collate->else_action == else_none)
{
curdef = defined;
while (curdef != NULL)
if (strncmp (arg->val.str.startmb, curdef->str,
arg->val.str.lenmb) == 0
&& curdef->str[arg->val.str.lenmb] == '\0')
break;
if ((nowtok == tok_ifdef && curdef != NULL)
|| (nowtok == tok_ifndef && curdef == NULL))
{
/* We have to use the if-branch. */
collate->else_action = else_ignore;
}
else
{
/* We have to use the else-branch, if there is one. */
nowtok = skip_to (ldfile, collate, charmap, 0);
if (nowtok == tok_else)
collate->else_action = else_seen;
else if (nowtok == tok_elifdef)
{
nowtok = tok_ifdef;
goto found_ifdef;
}
else if (nowtok == tok_elifndef)
{
nowtok = tok_ifndef;
goto found_ifdef;
}
else if (nowtok == tok_eof)
goto seen_eof;
else if (nowtok == tok_end)
goto seen_end;
}
}
else
{
/* XXX Should it really become necessary to support nested
preprocessor handling we will push the state here. */
lr_error (ldfile, _("%s: nested conditionals not supported"),
"LC_COLLATE");
nowtok = skip_to (ldfile, collate, charmap, 1);
if (nowtok == tok_eof)
goto seen_eof;
else if (nowtok == tok_end)
goto seen_end;
}
break;
case tok_elifdef:
case tok_elifndef:
case tok_else:
if (ignore_content)
{
lr_ignore_rest (ldfile, 0);
break;
}
lr_ignore_rest (ldfile, 1);
if (collate->else_action == else_ignore)
{
/* Ignore everything until the endif. */
nowtok = skip_to (ldfile, collate, charmap, 1);
if (nowtok == tok_eof)
goto seen_eof;
else if (nowtok == tok_end)
goto seen_end;
}
else
{
assert (collate->else_action == else_none);
lr_error (ldfile, _("\
%s: '%s' without matching 'ifdef' or 'ifndef'"), "LC_COLLATE",
nowtok == tok_else ? "else"
: nowtok == tok_elifdef ? "elifdef" : "elifndef");
}
break;
case tok_endif:
if (ignore_content)
{
lr_ignore_rest (ldfile, 0);
break;
}
lr_ignore_rest (ldfile, 1);
if (collate->else_action != else_ignore
&& collate->else_action != else_seen)
lr_error (ldfile, _("\
%s: 'endif' without matching 'ifdef' or 'ifndef'"), "LC_COLLATE");
/* XXX If we support nested preprocessor directives we pop
the state here. */
collate->else_action = else_none;
break;
default: default:
err_label: err_label:
SYNTAX_ERROR (_("%s: syntax error"), "LC_COLLATE"); SYNTAX_ERROR (_("%s: syntax error"), "LC_COLLATE");
@ -3848,6 +4112,7 @@ error while adding equivalent collating symbol"));
nowtok = now->tok; nowtok = now->tok;
} }
seen_eof:
/* When we come here we reached the end of the file. */ /* When we come here we reached the end of the file. */
lr_error (ldfile, _("%s: premature end of file"), "LC_COLLATE"); lr_error (ldfile, _("%s: premature end of file"), "LC_COLLATE");
} }

View File

@ -1,4 +1,4 @@
/* ANSI-C code produced by gperf version 3.0.1 */ /* ANSI-C code produced by gperf version 3.0.2 */
/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf */ /* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@ -30,7 +30,7 @@
#line 1 "locfile-kw.gperf" #line 1 "locfile-kw.gperf"
/* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc. /* Copyright (C) 1996-2000,2005,2007 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@ -51,15 +51,15 @@
#include <string.h> #include <string.h>
#include "locfile-token.h" #include "locfile-token.h"
#line 23 "locfile-kw.gperf" #line 24 "locfile-kw.gperf"
struct keyword_t ; struct keyword_t ;
#define TOTAL_KEYWORDS 175 #define TOTAL_KEYWORDS 176
#define MIN_WORD_LENGTH 3 #define MIN_WORD_LENGTH 3
#define MAX_WORD_LENGTH 22 #define MAX_WORD_LENGTH 22
#define MIN_HASH_VALUE 3 #define MIN_HASH_VALUE 3
#define MAX_HASH_VALUE 610 #define MAX_HASH_VALUE 630
/* maximum key range = 608, duplicates = 0 */ /* maximum key range = 628, duplicates = 0 */
#ifdef __GNUC__ #ifdef __GNUC__
__inline __inline
@ -73,32 +73,32 @@ hash (register const char *str, register unsigned int len)
{ {
static const unsigned short asso_values[] = static const unsigned short asso_values[] =
{ {
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
5, 0, 611, 611, 611, 611, 611, 611, 611, 611, 5, 0, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 5, 611, 0, 0, 0, 631, 631, 631, 631, 631, 5, 631, 0, 0, 0,
0, 0, 10, 0, 611, 611, 0, 611, 0, 5, 0, 0, 10, 0, 631, 631, 0, 631, 0, 5,
611, 611, 0, 0, 0, 10, 611, 611, 611, 0, 631, 631, 0, 0, 0, 10, 631, 631, 631, 0,
611, 611, 611, 611, 611, 0, 611, 145, 105, 25, 631, 631, 631, 631, 631, 0, 631, 145, 80, 25,
15, 0, 190, 110, 10, 35, 611, 0, 80, 65, 15, 0, 180, 105, 10, 35, 631, 50, 80, 160,
5, 130, 40, 50, 5, 0, 10, 35, 50, 20, 5, 130, 40, 45, 5, 0, 10, 35, 40, 35,
5, 10, 0, 611, 611, 611, 611, 611, 611, 611, 5, 10, 0, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611, 611, 611, 611, 611, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
611, 611, 611, 611, 611, 611 631, 631, 631, 631, 631, 631
}; };
register int hval = len; register int hval = len;
@ -134,470 +134,472 @@ locfile_hash (register const char *str, register unsigned int len)
static const struct keyword_t wordlist[] = static const struct keyword_t wordlist[] =
{ {
{""}, {""}, {""}, {""}, {""}, {""},
#line 30 "locfile-kw.gperf" #line 31 "locfile-kw.gperf"
{"END", tok_end, 0}, {"END", tok_end, 0},
{""}, {""}, {""}, {""},
#line 69 "locfile-kw.gperf" #line 70 "locfile-kw.gperf"
{"IGNORE", tok_ignore, 0}, {"IGNORE", tok_ignore, 0},
#line 127 "locfile-kw.gperf" #line 129 "locfile-kw.gperf"
{"LC_TIME", tok_lc_time, 0}, {"LC_TIME", tok_lc_time, 0},
#line 29 "locfile-kw.gperf" #line 30 "locfile-kw.gperf"
{"LC_CTYPE", tok_lc_ctype, 0}, {"LC_CTYPE", tok_lc_ctype, 0},
{""}, {""},
#line 164 "locfile-kw.gperf" #line 166 "locfile-kw.gperf"
{"LC_ADDRESS", tok_lc_address, 0}, {"LC_ADDRESS", tok_lc_address, 0},
#line 149 "locfile-kw.gperf" #line 151 "locfile-kw.gperf"
{"LC_MESSAGES", tok_lc_messages, 0}, {"LC_MESSAGES", tok_lc_messages, 0},
#line 157 "locfile-kw.gperf" #line 159 "locfile-kw.gperf"
{"LC_NAME", tok_lc_name, 0}, {"LC_NAME", tok_lc_name, 0},
#line 154 "locfile-kw.gperf" #line 156 "locfile-kw.gperf"
{"LC_PAPER", tok_lc_paper, 0}, {"LC_PAPER", tok_lc_paper, 0},
#line 182 "locfile-kw.gperf" #line 184 "locfile-kw.gperf"
{"LC_MEASUREMENT", tok_lc_measurement, 0}, {"LC_MEASUREMENT", tok_lc_measurement, 0},
#line 55 "locfile-kw.gperf" #line 56 "locfile-kw.gperf"
{"LC_COLLATE", tok_lc_collate, 0}, {"LC_COLLATE", tok_lc_collate, 0},
{""}, {""},
#line 184 "locfile-kw.gperf" #line 186 "locfile-kw.gperf"
{"LC_IDENTIFICATION", tok_lc_identification, 0}, {"LC_IDENTIFICATION", tok_lc_identification, 0},
#line 197 "locfile-kw.gperf" #line 199 "locfile-kw.gperf"
{"revision", tok_revision, 0}, {"revision", tok_revision, 0},
#line 68 "locfile-kw.gperf" #line 69 "locfile-kw.gperf"
{"UNDEFINED", tok_undefined, 0}, {"UNDEFINED", tok_undefined, 0},
#line 123 "locfile-kw.gperf" #line 125 "locfile-kw.gperf"
{"LC_NUMERIC", tok_lc_numeric, 0}, {"LC_NUMERIC", tok_lc_numeric, 0},
#line 80 "locfile-kw.gperf" #line 82 "locfile-kw.gperf"
{"LC_MONETARY", tok_lc_monetary, 0}, {"LC_MONETARY", tok_lc_monetary, 0},
#line 177 "locfile-kw.gperf" #line 179 "locfile-kw.gperf"
{"LC_TELEPHONE", tok_lc_telephone, 0}, {"LC_TELEPHONE", tok_lc_telephone, 0},
{""}, {""}, {""}, {""},
#line 130 "locfile-kw.gperf" #line 75 "locfile-kw.gperf"
{"week", tok_week, 0},
{""},
#line 74 "locfile-kw.gperf"
{"define", tok_define, 0}, {"define", tok_define, 0},
#line 150 "locfile-kw.gperf" #line 152 "locfile-kw.gperf"
{"yesexpr", tok_yesexpr, 0}, {"yesexpr", tok_yesexpr, 0},
#line 139 "locfile-kw.gperf" #line 141 "locfile-kw.gperf"
{"era_year", tok_era_year, 0}, {"era_year", tok_era_year, 0},
{""}, {""},
#line 53 "locfile-kw.gperf" #line 54 "locfile-kw.gperf"
{"translit_ignore", tok_translit_ignore, 0}, {"translit_ignore", tok_translit_ignore, 0},
#line 152 "locfile-kw.gperf" #line 154 "locfile-kw.gperf"
{"yesstr", tok_yesstr, 0}, {"yesstr", tok_yesstr, 0},
{""}, {""},
#line 87 "locfile-kw.gperf" #line 89 "locfile-kw.gperf"
{"negative_sign", tok_negative_sign, 0}, {"negative_sign", tok_negative_sign, 0},
{""}, {""},
#line 135 "locfile-kw.gperf" #line 137 "locfile-kw.gperf"
{"t_fmt", tok_t_fmt, 0}, {"t_fmt", tok_t_fmt, 0},
#line 155 "locfile-kw.gperf" #line 157 "locfile-kw.gperf"
{"height", tok_height, 0}, {"height", tok_height, 0},
{""}, {""}, {""}, {""},
#line 51 "locfile-kw.gperf" #line 52 "locfile-kw.gperf"
{"translit_start", tok_translit_start, 0}, {"translit_start", tok_translit_start, 0},
#line 134 "locfile-kw.gperf" #line 136 "locfile-kw.gperf"
{"d_fmt", tok_d_fmt, 0}, {"d_fmt", tok_d_fmt, 0},
{""}, {""},
#line 52 "locfile-kw.gperf" #line 53 "locfile-kw.gperf"
{"translit_end", tok_translit_end, 0}, {"translit_end", tok_translit_end, 0},
#line 92 "locfile-kw.gperf" #line 94 "locfile-kw.gperf"
{"n_cs_precedes", tok_n_cs_precedes, 0}, {"n_cs_precedes", tok_n_cs_precedes, 0},
#line 142 "locfile-kw.gperf" #line 144 "locfile-kw.gperf"
{"era_t_fmt", tok_era_t_fmt, 0}, {"era_t_fmt", tok_era_t_fmt, 0},
#line 38 "locfile-kw.gperf" #line 39 "locfile-kw.gperf"
{"space", tok_space, 0}, {"space", tok_space, 0},
#line 71 "locfile-kw.gperf"
{"reorder-end", tok_reorder_end, 0},
#line 72 "locfile-kw.gperf" #line 72 "locfile-kw.gperf"
{"reorder-end", tok_reorder_end, 0},
#line 73 "locfile-kw.gperf"
{"reorder-sections-after", tok_reorder_sections_after, 0}, {"reorder-sections-after", tok_reorder_sections_after, 0},
{""}, {""},
#line 140 "locfile-kw.gperf" #line 142 "locfile-kw.gperf"
{"era_d_fmt", tok_era_d_fmt, 0}, {"era_d_fmt", tok_era_d_fmt, 0},
#line 185 "locfile-kw.gperf" #line 187 "locfile-kw.gperf"
{"title", tok_title, 0}, {"title", tok_title, 0},
{""}, {""}, {""}, {""},
#line 147 "locfile-kw.gperf" #line 149 "locfile-kw.gperf"
{"timezone", tok_timezone, 0}, {"timezone", tok_timezone, 0},
{""}, {""},
#line 73 "locfile-kw.gperf" #line 74 "locfile-kw.gperf"
{"reorder-sections-end", tok_reorder_sections_end, 0}, {"reorder-sections-end", tok_reorder_sections_end, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 93 "locfile-kw.gperf" #line 95 "locfile-kw.gperf"
{"n_sep_by_space", tok_n_sep_by_space, 0}, {"n_sep_by_space", tok_n_sep_by_space, 0},
{""}, {""}, {""}, {""},
#line 98 "locfile-kw.gperf" #line 100 "locfile-kw.gperf"
{"int_n_cs_precedes", tok_int_n_cs_precedes, 0}, {"int_n_cs_precedes", tok_int_n_cs_precedes, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 25 "locfile-kw.gperf" #line 26 "locfile-kw.gperf"
{"escape_char", tok_escape_char, 0}, {"escape_char", tok_escape_char, 0},
{""}, {""},
#line 27 "locfile-kw.gperf" #line 28 "locfile-kw.gperf"
{"repertoiremap", tok_repertoiremap, 0}, {"repertoiremap", tok_repertoiremap, 0},
#line 45 "locfile-kw.gperf" #line 46 "locfile-kw.gperf"
{"charclass", tok_charclass, 0}, {"charclass", tok_charclass, 0},
#line 42 "locfile-kw.gperf"
{"print", tok_print, 0},
#line 43 "locfile-kw.gperf" #line 43 "locfile-kw.gperf"
{"print", tok_print, 0},
#line 44 "locfile-kw.gperf"
{"xdigit", tok_xdigit, 0}, {"xdigit", tok_xdigit, 0},
#line 108 "locfile-kw.gperf" #line 110 "locfile-kw.gperf"
{"duo_n_cs_precedes", tok_duo_n_cs_precedes, 0}, {"duo_n_cs_precedes", tok_duo_n_cs_precedes, 0},
#line 125 "locfile-kw.gperf" #line 127 "locfile-kw.gperf"
{"thousands_sep", tok_thousands_sep, 0}, {"thousands_sep", tok_thousands_sep, 0},
#line 193 "locfile-kw.gperf" #line 195 "locfile-kw.gperf"
{"territory", tok_territory, 0}, {"territory", tok_territory, 0},
#line 35 "locfile-kw.gperf" #line 36 "locfile-kw.gperf"
{"digit", tok_digit, 0}, {"digit", tok_digit, 0},
{""}, {""}, {""}, {""},
#line 90 "locfile-kw.gperf" #line 92 "locfile-kw.gperf"
{"p_cs_precedes", tok_p_cs_precedes, 0}, {"p_cs_precedes", tok_p_cs_precedes, 0},
{""}, {""}, {""},
#line 156 "locfile-kw.gperf" #line 62 "locfile-kw.gperf"
{"width", tok_width, 0},
#line 61 "locfile-kw.gperf"
{"script", tok_script, 0}, {"script", tok_script, 0},
#line 28 "locfile-kw.gperf" #line 29 "locfile-kw.gperf"
{"include", tok_include, 0}, {"include", tok_include, 0},
{""}, {""},
#line 77 "locfile-kw.gperf" #line 78 "locfile-kw.gperf"
{"else", tok_else, 0}, {"else", tok_else, 0},
#line 180 "locfile-kw.gperf" #line 182 "locfile-kw.gperf"
{"int_select", tok_int_select, 0}, {"int_select", tok_int_select, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 32 "locfile-kw.gperf" #line 132 "locfile-kw.gperf"
{"week", tok_week, 0},
#line 33 "locfile-kw.gperf"
{"upper", tok_upper, 0}, {"upper", tok_upper, 0},
{""}, {""}, {""}, {""},
#line 190 "locfile-kw.gperf" #line 192 "locfile-kw.gperf"
{"tel", tok_tel, 0}, {"tel", tok_tel, 0},
#line 91 "locfile-kw.gperf" #line 93 "locfile-kw.gperf"
{"p_sep_by_space", tok_p_sep_by_space, 0}, {"p_sep_by_space", tok_p_sep_by_space, 0},
{""}, {""}, #line 158 "locfile-kw.gperf"
#line 96 "locfile-kw.gperf" {"width", tok_width, 0},
{""},
#line 98 "locfile-kw.gperf"
{"int_p_cs_precedes", tok_int_p_cs_precedes, 0}, {"int_p_cs_precedes", tok_int_p_cs_precedes, 0},
{""}, {""}, {""}, {""},
#line 40 "locfile-kw.gperf" #line 41 "locfile-kw.gperf"
{"punct", tok_punct, 0}, {"punct", tok_punct, 0},
{""}, {""}, {""}, {""},
#line 99 "locfile-kw.gperf" #line 101 "locfile-kw.gperf"
{"int_n_sep_by_space", tok_int_n_sep_by_space, 0}, {"int_n_sep_by_space", tok_int_n_sep_by_space, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 106 "locfile-kw.gperf" #line 108 "locfile-kw.gperf"
{"duo_p_cs_precedes", tok_duo_p_cs_precedes, 0}, {"duo_p_cs_precedes", tok_duo_p_cs_precedes, 0},
{""}, {""}, #line 48 "locfile-kw.gperf"
#line 46 "locfile-kw.gperf"
{"class", tok_class, 0},
#line 112 "locfile-kw.gperf"
{"duo_int_n_cs_precedes", tok_duo_int_n_cs_precedes, 0},
#line 113 "locfile-kw.gperf"
{"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
#line 109 "locfile-kw.gperf"
{"duo_n_sep_by_space", tok_duo_n_sep_by_space, 0},
#line 117 "locfile-kw.gperf"
{"duo_int_n_sign_posn", tok_duo_int_n_sign_posn, 0},
{""}, {""}, {""},
#line 47 "locfile-kw.gperf"
{"charconv", tok_charconv, 0}, {"charconv", tok_charconv, 0},
{""}, {""}, {""},
#line 183 "locfile-kw.gperf" #line 47 "locfile-kw.gperf"
{"measurement", tok_measurement, 0}, {"class", tok_class, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 114 "locfile-kw.gperf"
#line 57 "locfile-kw.gperf" {"duo_int_n_cs_precedes", tok_duo_int_n_cs_precedes, 0},
#line 115 "locfile-kw.gperf"
{"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
#line 111 "locfile-kw.gperf"
{"duo_n_sep_by_space", tok_duo_n_sep_by_space, 0},
#line 119 "locfile-kw.gperf"
{"duo_int_n_sign_posn", tok_duo_int_n_sign_posn, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
#line 58 "locfile-kw.gperf"
{"section-symbol", tok_section_symbol, 0}, {"section-symbol", tok_section_symbol, 0},
#line 181 "locfile-kw.gperf" #line 183 "locfile-kw.gperf"
{"int_prefix", tok_int_prefix, 0}, {"int_prefix", tok_int_prefix, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 137 "locfile-kw.gperf" #line 42 "locfile-kw.gperf"
{"t_fmt_ampm", tok_t_fmt_ampm, 0},
{""}, {""},
#line 97 "locfile-kw.gperf"
{"int_p_sep_by_space", tok_int_p_sep_by_space, 0},
{""},
#line 41 "locfile-kw.gperf"
{"graph", tok_graph, 0}, {"graph", tok_graph, 0},
{""}, {""}, {""}, {""},
#line 124 "locfile-kw.gperf" #line 99 "locfile-kw.gperf"
{"decimal_point", tok_decimal_point, 0}, {"int_p_sep_by_space", tok_int_p_sep_by_space, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 110 "locfile-kw.gperf" #line 112 "locfile-kw.gperf"
{"duo_int_p_cs_precedes", tok_duo_int_p_cs_precedes, 0}, {"duo_int_p_cs_precedes", tok_duo_int_p_cs_precedes, 0},
#line 111 "locfile-kw.gperf" #line 113 "locfile-kw.gperf"
{"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0}, {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
#line 107 "locfile-kw.gperf" #line 109 "locfile-kw.gperf"
{"duo_p_sep_by_space", tok_duo_p_sep_by_space, 0}, {"duo_p_sep_by_space", tok_duo_p_sep_by_space, 0},
#line 116 "locfile-kw.gperf" #line 118 "locfile-kw.gperf"
{"duo_int_p_sign_posn", tok_duo_int_p_sign_posn, 0}, {"duo_int_p_sign_posn", tok_duo_int_p_sign_posn, 0},
#line 153 "locfile-kw.gperf" #line 155 "locfile-kw.gperf"
{"nostr", tok_nostr, 0}, {"nostr", tok_nostr, 0},
{""}, {""}, {""}, {""},
#line 138 "locfile-kw.gperf" #line 140 "locfile-kw.gperf"
{"era", tok_era, 0}, {"era", tok_era, 0},
{""}, {""},
#line 82 "locfile-kw.gperf" #line 84 "locfile-kw.gperf"
{"currency_symbol", tok_currency_symbol, 0}, {"currency_symbol", tok_currency_symbol, 0},
{""}, {""},
#line 163 "locfile-kw.gperf" #line 165 "locfile-kw.gperf"
{"name_ms", tok_name_ms, 0}, {"name_ms", tok_name_ms, 0},
#line 161 "locfile-kw.gperf" #line 163 "locfile-kw.gperf"
{"name_mrs", tok_name_mrs, 0}, {"name_mrs", tok_name_mrs, 0},
#line 162 "locfile-kw.gperf" #line 164 "locfile-kw.gperf"
{"name_miss", tok_name_miss, 0}, {"name_miss", tok_name_miss, 0},
#line 81 "locfile-kw.gperf" #line 83 "locfile-kw.gperf"
{"int_curr_symbol", tok_int_curr_symbol, 0}, {"int_curr_symbol", tok_int_curr_symbol, 0},
#line 186 "locfile-kw.gperf" #line 188 "locfile-kw.gperf"
{"source", tok_source, 0}, {"source", tok_source, 0},
#line 160 "locfile-kw.gperf" #line 162 "locfile-kw.gperf"
{"name_mr", tok_name_mr, 0}, {"name_mr", tok_name_mr, 0},
#line 159 "locfile-kw.gperf" #line 161 "locfile-kw.gperf"
{"name_gen", tok_name_gen, 0}, {"name_gen", tok_name_gen, 0},
#line 198 "locfile-kw.gperf" #line 200 "locfile-kw.gperf"
{"date", tok_date, 0}, {"date", tok_date, 0},
{""}, {""}, {""}, {""},
#line 187 "locfile-kw.gperf" #line 189 "locfile-kw.gperf"
{"address", tok_address, 0}, {"address", tok_address, 0},
#line 158 "locfile-kw.gperf" #line 160 "locfile-kw.gperf"
{"name_fmt", tok_name_fmt, 0}, {"name_fmt", tok_name_fmt, 0},
#line 31 "locfile-kw.gperf" #line 32 "locfile-kw.gperf"
{"copy", tok_copy, 0}, {"copy", tok_copy, 0},
{""}, {""},
#line 49 "locfile-kw.gperf"
{"tolower", tok_tolower, 0},
#line 129 "locfile-kw.gperf"
{"day", tok_day, 0},
#line 103 "locfile-kw.gperf" #line 103 "locfile-kw.gperf"
{"duo_currency_symbol", tok_duo_currency_symbol, 0},
#line 101 "locfile-kw.gperf"
{"int_n_sign_posn", tok_int_n_sign_posn, 0}, {"int_n_sign_posn", tok_int_n_sign_posn, 0},
{""}, {""}, {""}, {""},
#line 148 "locfile-kw.gperf" #line 131 "locfile-kw.gperf"
{"day", tok_day, 0},
#line 105 "locfile-kw.gperf"
{"duo_currency_symbol", tok_duo_currency_symbol, 0},
{""}, {""}, {""},
#line 150 "locfile-kw.gperf"
{"date_fmt", tok_date_fmt, 0}, {"date_fmt", tok_date_fmt, 0},
#line 63 "locfile-kw.gperf" #line 64 "locfile-kw.gperf"
{"order_end", tok_order_end, 0}, {"order_end", tok_order_end, 0},
{""}, {""}, #line 117 "locfile-kw.gperf"
#line 166 "locfile-kw.gperf"
{"country_name", tok_country_name, 0},
#line 70 "locfile-kw.gperf"
{"reorder-after", tok_reorder_after, 0},
#line 118 "locfile-kw.gperf"
{"uno_valid_from", tok_uno_valid_from, 0},
#line 115 "locfile-kw.gperf"
{"duo_n_sign_posn", tok_duo_n_sign_posn, 0}, {"duo_n_sign_posn", tok_duo_n_sign_posn, 0},
#line 151 "locfile-kw.gperf" {""},
#line 168 "locfile-kw.gperf"
{"country_name", tok_country_name, 0},
#line 71 "locfile-kw.gperf"
{"reorder-after", tok_reorder_after, 0},
{""}, {""},
#line 153 "locfile-kw.gperf"
{"noexpr", tok_noexpr, 0}, {"noexpr", tok_noexpr, 0},
{""}, #line 50 "locfile-kw.gperf"
#line 194 "locfile-kw.gperf" {"tolower", tok_tolower, 0},
#line 196 "locfile-kw.gperf"
{"audience", tok_audience, 0}, {"audience", tok_audience, 0},
{""}, {""}, {""}, {""},
#line 44 "locfile-kw.gperf" #line 49 "locfile-kw.gperf"
{"blank", tok_blank, 0},
{""},
#line 48 "locfile-kw.gperf"
{"toupper", tok_toupper, 0}, {"toupper", tok_toupper, 0},
#line 67 "locfile-kw.gperf" #line 68 "locfile-kw.gperf"
{"position", tok_position, 0}, {"position", tok_position, 0},
#line 120 "locfile-kw.gperf" {""},
{"duo_valid_from", tok_duo_valid_from, 0}, #line 40 "locfile-kw.gperf"
#line 39 "locfile-kw.gperf"
{"cntrl", tok_cntrl, 0}, {"cntrl", tok_cntrl, 0},
{""}, {""},
#line 26 "locfile-kw.gperf" #line 27 "locfile-kw.gperf"
{"comment_char", tok_comment_char, 0}, {"comment_char", tok_comment_char, 0},
#line 86 "locfile-kw.gperf" #line 88 "locfile-kw.gperf"
{"positive_sign", tok_positive_sign, 0}, {"positive_sign", tok_positive_sign, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 132 "locfile-kw.gperf" #line 61 "locfile-kw.gperf"
{"mon", tok_mon, 0},
{""}, {""},
#line 171 "locfile-kw.gperf"
{"country_car", tok_country_car, 0},
{""},
#line 60 "locfile-kw.gperf"
{"symbol-equivalence", tok_symbol_equivalence, 0}, {"symbol-equivalence", tok_symbol_equivalence, 0},
{""},
#line 102 "locfile-kw.gperf" #line 102 "locfile-kw.gperf"
{"duo_int_curr_symbol", tok_duo_int_curr_symbol, 0},
#line 100 "locfile-kw.gperf"
{"int_p_sign_posn", tok_int_p_sign_posn, 0}, {"int_p_sign_posn", tok_int_p_sign_posn, 0},
{""}, {""}, {""}, {""}, {""}, {""}, #line 173 "locfile-kw.gperf"
#line 172 "locfile-kw.gperf" {"country_car", tok_country_car, 0},
{"country_isbn", tok_country_isbn, 0}, {""}, {""},
#line 36 "locfile-kw.gperf" #line 104 "locfile-kw.gperf"
{"outdigit", tok_outdigit, 0}, {"duo_int_curr_symbol", tok_duo_int_curr_symbol, 0},
{""}, {""}, {""},
#line 114 "locfile-kw.gperf" #line 135 "locfile-kw.gperf"
{"duo_p_sign_posn", tok_duo_p_sign_posn, 0},
{""},
#line 133 "locfile-kw.gperf"
{"d_t_fmt", tok_d_t_fmt, 0}, {"d_t_fmt", tok_d_t_fmt, 0},
{""}, {""}, {""}, {""},
#line 33 "locfile-kw.gperf" #line 116 "locfile-kw.gperf"
{"duo_p_sign_posn", tok_duo_p_sign_posn, 0},
#line 185 "locfile-kw.gperf"
{"measurement", tok_measurement, 0},
#line 174 "locfile-kw.gperf"
{"country_isbn", tok_country_isbn, 0},
#line 37 "locfile-kw.gperf"
{"outdigit", tok_outdigit, 0},
{""}, {""},
#line 143 "locfile-kw.gperf"
{"era_d_t_fmt", tok_era_d_t_fmt, 0},
{""}, {""}, {""},
#line 34 "locfile-kw.gperf"
{"lower", tok_lower, 0}, {"lower", tok_lower, 0},
{""}, #line 181 "locfile-kw.gperf"
#line 167 "locfile-kw.gperf" {"tel_dom_fmt", tok_tel_dom_fmt, 0},
#line 169 "locfile-kw.gperf"
{"country_post", tok_country_post, 0}, {"country_post", tok_country_post, 0},
#line 146 "locfile-kw.gperf" #line 148 "locfile-kw.gperf"
{"cal_direction", tok_cal_direction, 0}, {"cal_direction", tok_cal_direction, 0},
{""}, {""},
#line 189 "locfile-kw.gperf" #line 139 "locfile-kw.gperf"
{"email", tok_email, 0}, {"t_fmt_ampm", tok_t_fmt_ampm, 0},
#line 141 "locfile-kw.gperf" #line 91 "locfile-kw.gperf"
{"era_d_t_fmt", tok_era_d_t_fmt, 0},
{""}, {""},
#line 173 "locfile-kw.gperf"
{"lang_name", tok_lang_name, 0},
{""},
#line 179 "locfile-kw.gperf"
{"tel_dom_fmt", tok_tel_dom_fmt, 0},
{""}, {""}, {""},
#line 54 "locfile-kw.gperf"
{"default_missing", tok_default_missing, 0},
#line 89 "locfile-kw.gperf"
{"frac_digits", tok_frac_digits, 0}, {"frac_digits", tok_frac_digits, 0},
{""}, {""}, {""}, {""}, {""},
#line 88 "locfile-kw.gperf" #line 175 "locfile-kw.gperf"
{"lang_name", tok_lang_name, 0},
#line 90 "locfile-kw.gperf"
{"int_frac_digits", tok_int_frac_digits, 0}, {"int_frac_digits", tok_int_frac_digits, 0},
#line 170 "locfile-kw.gperf"
{"country_num", tok_country_num, 0},
#line 119 "locfile-kw.gperf"
{"uno_valid_to", tok_uno_valid_to, 0},
{""}, {""}, {""}, {""}, {""},
#line 50 "locfile-kw.gperf"
{"map", tok_map, 0},
{""}, {""},
#line 105 "locfile-kw.gperf"
{"duo_frac_digits", tok_duo_frac_digits, 0},
#line 178 "locfile-kw.gperf"
{"tel_int_fmt", tok_tel_int_fmt, 0},
#line 121 "locfile-kw.gperf" #line 121 "locfile-kw.gperf"
{"uno_valid_to", tok_uno_valid_to, 0},
#line 126 "locfile-kw.gperf"
{"decimal_point", tok_decimal_point, 0},
{""},
#line 133 "locfile-kw.gperf"
{"abmon", tok_abmon, 0},
{""}, {""}, {""}, {""},
#line 107 "locfile-kw.gperf"
{"duo_frac_digits", tok_duo_frac_digits, 0},
#line 180 "locfile-kw.gperf"
{"tel_int_fmt", tok_tel_int_fmt, 0},
#line 123 "locfile-kw.gperf"
{"duo_valid_to", tok_duo_valid_to, 0}, {"duo_valid_to", tok_duo_valid_to, 0},
#line 144 "locfile-kw.gperf" #line 146 "locfile-kw.gperf"
{"first_weekday", tok_first_weekday, 0}, {"first_weekday", tok_first_weekday, 0},
{""}, {""},
#line 143 "locfile-kw.gperf" #line 130 "locfile-kw.gperf"
{"alt_digits", tok_alt_digits, 0},
#line 95 "locfile-kw.gperf"
{"n_sign_posn", tok_n_sign_posn, 0},
#line 84 "locfile-kw.gperf"
{"mon_thousands_sep", tok_mon_thousands_sep, 0},
#line 145 "locfile-kw.gperf"
{"first_workday", tok_first_workday, 0},
#line 64 "locfile-kw.gperf"
{"from", tok_from, 0},
#line 131 "locfile-kw.gperf"
{"abmon", tok_abmon, 0},
{""}, {""},
#line 192 "locfile-kw.gperf"
{"language", tok_language, 0},
{""}, {""},
#line 195 "locfile-kw.gperf"
{"application", tok_application, 0},
{""},
#line 126 "locfile-kw.gperf"
{"grouping", tok_grouping, 0},
#line 78 "locfile-kw.gperf"
{"elif", tok_elif, 0},
#line 128 "locfile-kw.gperf"
{"abday", tok_abday, 0}, {"abday", tok_abday, 0},
{""}, {""},
#line 196 "locfile-kw.gperf" #line 198 "locfile-kw.gperf"
{"abbreviation", tok_abbreviation, 0}, {"abbreviation", tok_abbreviation, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 147 "locfile-kw.gperf"
#line 56 "locfile-kw.gperf" {"first_workday", tok_first_workday, 0},
{"coll_weight_max", tok_coll_weight_max, 0}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, #line 97 "locfile-kw.gperf"
#line 66 "locfile-kw.gperf" {"n_sign_posn", tok_n_sign_posn, 0},
{"backward", tok_backward, 0}, {""}, {""}, {""},
#line 104 "locfile-kw.gperf" #line 145 "locfile-kw.gperf"
{"duo_int_frac_digits", tok_duo_int_frac_digits, 0}, {"alt_digits", tok_alt_digits, 0},
{""}, {""},
#line 128 "locfile-kw.gperf"
{"grouping", tok_grouping, 0},
{""}, {""},
#line 94 "locfile-kw.gperf" #line 45 "locfile-kw.gperf"
{"blank", tok_blank, 0},
{""}, {""},
#line 194 "locfile-kw.gperf"
{"language", tok_language, 0},
#line 120 "locfile-kw.gperf"
{"uno_valid_from", tok_uno_valid_from, 0},
{""},
#line 197 "locfile-kw.gperf"
{"application", tok_application, 0},
{""},
#line 80 "locfile-kw.gperf"
{"elifndef", tok_elifndef, 0},
{""}, {""}, {""}, {""}, {""},
#line 122 "locfile-kw.gperf"
{"duo_valid_from", tok_duo_valid_from, 0},
#line 57 "locfile-kw.gperf"
{"coll_weight_max", tok_coll_weight_max, 0},
{""},
#line 79 "locfile-kw.gperf"
{"elifdef", tok_elifdef, 0},
#line 67 "locfile-kw.gperf"
{"backward", tok_backward, 0},
#line 106 "locfile-kw.gperf"
{"duo_int_frac_digits", tok_duo_int_frac_digits, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 96 "locfile-kw.gperf"
{"p_sign_posn", tok_p_sign_posn, 0}, {"p_sign_posn", tok_p_sign_posn, 0},
{""}, {""},
#line 199 "locfile-kw.gperf" #line 201 "locfile-kw.gperf"
{"category", tok_category, 0}, {"category", tok_category, 0},
{""}, {""}, {""}, {""},
#line 134 "locfile-kw.gperf"
{"mon", tok_mon, 0},
{""}, {""},
#line 122 "locfile-kw.gperf" #line 124 "locfile-kw.gperf"
{"conversion_rate", tok_conversion_rate, 0}, {"conversion_rate", tok_conversion_rate, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 83 "locfile-kw.gperf" #line 63 "locfile-kw.gperf"
{"mon_decimal_point", tok_mon_decimal_point, 0},
{""}, {""}, {""},
#line 62 "locfile-kw.gperf"
{"order_start", tok_order_start, 0}, {"order_start", tok_order_start, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, #line 176 "locfile-kw.gperf"
#line 188 "locfile-kw.gperf" {"lang_ab", tok_lang_ab, 0},
#line 178 "locfile-kw.gperf"
{"lang_lib", tok_lang_lib, 0},
{""}, {""}, {""},
#line 190 "locfile-kw.gperf"
{"contact", tok_contact, 0}, {"contact", tok_contact, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 169 "locfile-kw.gperf" #line 171 "locfile-kw.gperf"
{"country_ab3", tok_country_ab3, 0}, {"country_ab3", tok_country_ab3, 0},
{""}, {""}, {""}, {""},
#line 168 "locfile-kw.gperf"
{"country_ab2", tok_country_ab2, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
#line 174 "locfile-kw.gperf"
{"lang_ab", tok_lang_ab, 0},
#line 176 "locfile-kw.gperf"
{"lang_lib", tok_lang_lib, 0},
{""}, {""}, {""}, {""},
#line 191 "locfile-kw.gperf"
{"fax", tok_fax, 0},
{""},
#line 136 "locfile-kw.gperf"
{"am_pm", tok_am_pm, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
#line 37 "locfile-kw.gperf"
{"alnum", tok_alnum, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 175 "locfile-kw.gperf" #line 191 "locfile-kw.gperf"
{"lang_term", tok_lang_term, 0}, {"email", tok_email, 0},
#line 170 "locfile-kw.gperf"
{"country_ab2", tok_country_ab2, 0},
{""}, {""}, {""},
#line 55 "locfile-kw.gperf"
{"default_missing", tok_default_missing, 0},
{""}, {""},
#line 193 "locfile-kw.gperf"
{"fax", tok_fax, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 172 "locfile-kw.gperf"
{"country_num", tok_country_num, 0},
{""}, {""}, {""}, {""}, {""}, {""},
#line 51 "locfile-kw.gperf"
{"map", tok_map, 0},
#line 65 "locfile-kw.gperf"
{"from", tok_from, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 86 "locfile-kw.gperf"
{"mon_thousands_sep", tok_mon_thousands_sep, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""},
#line 81 "locfile-kw.gperf"
{"endif", tok_endif, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 79 "locfile-kw.gperf" #line 76 "locfile-kw.gperf"
{"endif", tok_endif, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 165 "locfile-kw.gperf"
{"postal_fmt", tok_postal_fmt, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""},
#line 75 "locfile-kw.gperf"
{"undef", tok_undef, 0}, {"undef", tok_undef, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
#line 58 "locfile-kw.gperf"
{"collating-element", tok_collating_element, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
#line 85 "locfile-kw.gperf"
{"mon_grouping", tok_mon_grouping, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""},
#line 65 "locfile-kw.gperf"
{"forward", tok_forward, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 59 "locfile-kw.gperf" #line 59 "locfile-kw.gperf"
{"collating-symbol", tok_collating_symbol, 0}, {"collating-element", tok_collating_element, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
#line 34 "locfile-kw.gperf"
{"alpha", tok_alpha, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 76 "locfile-kw.gperf" #line 66 "locfile-kw.gperf"
{"ifdef", tok_ifdef, 0} {"forward", tok_forward, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""},
#line 85 "locfile-kw.gperf"
{"mon_decimal_point", tok_mon_decimal_point, 0},
{""}, {""},
#line 167 "locfile-kw.gperf"
{"postal_fmt", tok_postal_fmt, 0},
{""}, {""}, {""}, {""}, {""},
#line 60 "locfile-kw.gperf"
{"collating-symbol", tok_collating_symbol, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 35 "locfile-kw.gperf"
{"alpha", tok_alpha, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""},
#line 38 "locfile-kw.gperf"
{"alnum", tok_alnum, 0},
{""},
#line 87 "locfile-kw.gperf"
{"mon_grouping", tok_mon_grouping, 0},
{""},
#line 177 "locfile-kw.gperf"
{"lang_term", tok_lang_term, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""},
#line 77 "locfile-kw.gperf"
{"ifdef", tok_ifdef, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""},
#line 138 "locfile-kw.gperf"
{"am_pm", tok_am_pm, 0}
}; };
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)

View File

@ -1,3 +1,10 @@
2007-10-10 Ulrich Drepper <drepper@redhat.com>
* locales/iso14651_t1_common: If DIACRIT_FORWARD is defined, define
second level of <LATIN> script as forward.
* locales/de_DE: Define DIACRIT_FORWARD.
* de_DE.in: Revert last change.
2007-10-10 Jakub Jelinek <jakub@redhat.com> 2007-10-10 Jakub Jelinek <jakub@redhat.com>
* locales/en_US: Add first_weekday and first_workday. * locales/en_US: Add first_weekday and first_workday.

View File

@ -40,8 +40,8 @@ F
Fussel : fluff Fussel : fluff
fusseln : to wear of fluff fusseln : to wear of fluff
füßeln : play footsie [under the table] füßeln : play footsie [under the table]
Füssen : Füssen (town)
fußen : to be based [on] fußen : to be based [on]
Füssen : Füssen (town)
Füßen (dat. pl. of "Fuß") : [to the] feet Füßen (dat. pl. of "Fuß") : [to the] feet
in Massen : in large numbers in Massen : in large numbers
in Maßen : moderately in Maßen : moderately
@ -49,9 +49,9 @@ Masern : measels
Mass. (Massachusetts) : Massachusetts (state) Mass. (Massachusetts) : Massachusetts (state)
Maß : measure Maß : measure
Masse : mass Masse : mass
Massé : (particular billard stroke)
Maße (pl. of "Maß") : measures Maße (pl. of "Maß") : measures
mäße (pres. conj. of "messen") : take measure (e.g. in indirect speech) mäße (pres. conj. of "messen") : take measure (e.g. in indirect speech)
Massé : (particular billard stroke)
Massen- : mass; wholesale; bulk (in compound nouns) Massen- : mass; wholesale; bulk (in compound nouns)
massig : massive massig : massive
mäßig : moderate; modest mäßig : moderate; modest
@ -60,8 +60,8 @@ Mi
Passe : yoke (of dress) Passe : yoke (of dress)
passé : over, gone passé : over, gone
Schlagerforderung : claim, demanded in a pop song Schlagerforderung : claim, demanded in a pop song
Schlägerforderung : demand of a hooligan
Schlagerförderung : promotion of pop music Schlagerförderung : promotion of pop music
Schlägerforderung : demand of a hooligan
Schlägerförderung : promotion of hooliganism :-) Schlägerförderung : promotion of hooliganism :-)
Schurz : apron Schurz : apron
Schürze : apron Schürze : apron

View File

@ -76,6 +76,8 @@ END LC_CTYPE
LC_COLLATE LC_COLLATE
define DIACRIT_FORWARD
% Copy the template from ISO/IEC 14651 % Copy the template from ISO/IEC 14651
copy "iso14651_t1" copy "iso14651_t1"

View File

@ -1121,7 +1121,11 @@ order_start <SPECIAL>;forward;backward;forward;forward,position
<U009E> IGNORE;IGNORE;IGNORE;<U009E> <U009E> IGNORE;IGNORE;IGNORE;<U009E>
<U009F> IGNORE;IGNORE;IGNORE;<U009F> <U009F> IGNORE;IGNORE;IGNORE;<U009F>
ifdef DIACRIT_FORWARD
order_start <LATIN>;forward;forward;forward;forward,position
else
order_start <LATIN>;forward;backward;forward;forward,position order_start <LATIN>;forward;backward;forward;forward,position
endif
# #
<U00A0> <U0020>;<BAS>;<MIN>;IGNORE # 170<NBSP> <U00A0> <U0020>;<BAS>;<MIN>;IGNORE # 170<NBSP>
# #