summaryrefslogtreecommitdiffstats
path: root/usr.bin/colldef/parse.y
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1996-10-16 03:12:22 +0000
committerache <ache@FreeBSD.org>1996-10-16 03:12:22 +0000
commitf5b4e8c2abd5160b9d821a234962354728748f49 (patch)
tree981a086d32426b26e3940c73565d5662776f9294 /usr.bin/colldef/parse.y
parent0b67136d65d40b2d2dda49a4e9a837e5ff5b59d3 (diff)
downloadFreeBSD-src-f5b4e8c2abd5160b9d821a234962354728748f49.zip
FreeBSD-src-f5b4e8c2abd5160b9d821a234962354728748f49.tar.gz
Simplify and improve parser.
Clarify manpage.
Diffstat (limited to 'usr.bin/colldef/parse.y')
-rw-r--r--usr.bin/colldef/parse.y227
1 files changed, 0 insertions, 227 deletions
diff --git a/usr.bin/colldef/parse.y b/usr.bin/colldef/parse.y
index 55067c5..5823689 100644
--- a/usr.bin/colldef/parse.y
+++ b/usr.bin/colldef/parse.y
@@ -61,7 +61,6 @@ char *out_file = "LC_COLLATE";
}
%token SUBSTITUTE WITH ORDER RANGE
%token <str> STRING
-%token <str> NAME
%token <str> CHAIN
%token <str> DEFN
%token <ch> CHAR
@@ -117,17 +116,6 @@ item : CHAR { __collate_char_pri_table[$1].prim = prim_pri++; }
strcpy(__collate_chain_pri_table[chain_index].str, $1);
__collate_chain_pri_table[chain_index++].prim = prim_pri++;
}
- | NAME {
- u_int i;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0)
- goto findi;
- yyerror("Name <%s> not defined", $1);
- findi:
-
- __collate_char_pri_table[i].prim = prim_pri++;
-}
| CHAR RANGE CHAR {
u_int i;
@@ -137,68 +125,6 @@ item : CHAR { __collate_char_pri_table[$1].prim = prim_pri++; }
for (i = $1; i <= $3; i++)
__collate_char_pri_table[(u_char)i].prim = prim_pri++;
}
- | NAME RANGE CHAR {
- u_int i, c1;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0) {
- c1 = i;
- goto find1;
- }
- yyerror("Name <%s> not defined", $1);
- find1:
-
- if ($3 <= c1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- c1, $3);
-
- for (i = c1; i <= $3; i++)
- __collate_char_pri_table[(u_char)i].prim = prim_pri++;
-}
- | CHAR RANGE NAME {
- u_int i, c3;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $3) == 0) {
- c3 = i;
- goto find3;
- }
- yyerror("Name <%s> not defined", $3);
- find3:
-
- if (c3 <= $1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- $1, c3);
-
- for (i = $1; i <= c3; i++)
- __collate_char_pri_table[(u_char)i].prim = prim_pri++;
-}
- | NAME RANGE NAME {
- u_int i, c1, c3;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0) {
- c1 = i;
- goto find21;
- }
- yyerror("Name <%s> not defined", $1);
- find21:
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $3) == 0) {
- c3 = i;
- goto find23;
- }
- yyerror("Name <%s> not defined", $3);
- find23:
-
- if (c3 <= c1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- c1, c3);
-
- for (i = c1; i <= c3; i++)
- __collate_char_pri_table[(u_char)i].prim = prim_pri++;
-}
| '{' prim_order_list '}' {
prim_pri++;
}
@@ -226,79 +152,6 @@ prim_sub_item : CHAR {
for (i = $1; i <= $3; i++)
__collate_char_pri_table[(u_char)i].prim = prim_pri;
}
- | NAME RANGE CHAR {
- u_int i, c1;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0) {
- c1 = i;
- goto findpsi1;
- }
- yyerror("Name <%s> not defined", $1);
- findpsi1:
-
- if ($3 <= c1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- c1, $3);
-
- for (i = c1; i <= $3; i++)
- __collate_char_pri_table[(u_char)i].prim = prim_pri;
-}
- | CHAR RANGE NAME {
- u_int i, c3;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $3) == 0) {
- c3 = i;
- goto findpsi3;
- }
- yyerror("Name <%s> not defined", $3);
- findpsi3:
-
- if (c3 <= $1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- $1, c3);
-
- for (i = $1; i <= c3; i++)
- __collate_char_pri_table[(u_char)i].prim = prim_pri;
-}
- | NAME RANGE NAME {
- u_int i, c1, c3;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0) {
- c1 = i;
- goto findpsi21;
- }
- yyerror("Name <%s> not defined", $1);
- findpsi21:
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $3) == 0) {
- c3 = i;
- goto findpsi23;
- }
- yyerror("Name <%s> not defined", $3);
- findpsi23:
-
- if (c3 <= c1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- c1, c3);
-
- for (i = c1; i <= c3; i++)
- __collate_char_pri_table[(u_char)i].prim = prim_pri;
-}
- | NAME {
- u_int i;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0)
- goto findpsi;
- yyerror("Name <%s> not defined", $1);
- findpsi:
-
- __collate_char_pri_table[i].prim = prim_pri;
-}
| CHAIN {
if (chain_index >= TABLE_SIZE - 1)
yyerror("__collate_chain_pri_table overflow");
@@ -322,86 +175,6 @@ sec_sub_item : CHAR {
__collate_char_pri_table[(u_char)i].sec = sec_pri++;
}
}
- | NAME RANGE CHAR {
- u_int i, c1;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0) {
- c1 = i;
- goto findssi1;
- }
- yyerror("Name <%s> not defined", $1);
- findssi1:
-
- if ($3 <= c1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- c1, $3);
-
- for (i = c1; i <= $3; i++) {
- __collate_char_pri_table[(u_char)i].prim = prim_pri;
- __collate_char_pri_table[(u_char)i].sec = sec_pri++;
- }
-}
- | CHAR RANGE NAME {
- u_int i, c3;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $3) == 0) {
- c3 = i;
- goto findssi3;
- }
- yyerror("Name <%s> not defined", $3);
- findssi3:
-
- if (c3 <= $1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- $1, c3);
-
- for (i = $1; i <= c3; i++) {
- __collate_char_pri_table[(u_char)i].prim = prim_pri;
- __collate_char_pri_table[(u_char)i].sec = sec_pri++;
- }
-}
- | NAME RANGE NAME {
- u_int i, c1, c3;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0) {
- c1 = i;
- goto findssi21;
- }
- yyerror("Name <%s> not defined", $1);
- findssi21:
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $3) == 0) {
- c3 = i;
- goto findssi23;
- }
- yyerror("Name <%s> not defined", $3);
- findssi23:
-
- if (c3 <= c1)
- yyerror("Illegal range 0x%02x -- 0x%02x",
- c1, c3);
-
- for (i = c1; i <= c3; i++) {
- __collate_char_pri_table[(u_char)i].prim = prim_pri;
- __collate_char_pri_table[(u_char)i].sec = sec_pri++;
- }
-}
- | NAME {
- u_int i;
-
- for (i = 0; i <= UCHAR_MAX; i++)
- if (strcmp(charmap_table[i], $1) == 0)
- goto findssi;
- yyerror("Name <%s> not defined", $1);
- findssi:
-
- __collate_char_pri_table[i].prim = prim_pri;
- __collate_char_pri_table[i].sec = sec_pri++;
-}
| CHAIN {
if (chain_index >= TABLE_SIZE - 1)
yyerror("__collate_chain_pri_table overflow");
OpenPOWER on IntegriCloud