Check for not defined / redefined chars now

Use backward compatible with ASCII collating tables
This commit is contained in:
Andrey A. Chernov 1996-10-23 15:00:18 +00:00
parent 1fbf1a4630
commit 6ab9285573
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=19128
12 changed files with 249 additions and 140 deletions

View File

@ -1,17 +1,19 @@
# latin1
# latin1 (backward compatible with ASCII)
#
# $Id$
#
charmap map.ISO_8859-1
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;<'m>;<-->;-;\,;\;;:;!;<!I>;?;<?I>;/;.;<''>;`;^;<':>;~;<.M>;\
<',>;';\";<<<>;</>/>>;\(;\);[;];\{;\};<SE>;<PI>;<Co>;<Rg>;@;<Cu>;\
<Ct>;$;<Pd>;<Ye>;*;\\;&;\#;%;+;<+->;<-:>;<*X>;\<;=;>;<NO>;|;<BB>;\
<DG>;<My>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;<PA>;...;<AC>;\
<NU>;...;<US>;<PA>;...;<AC>;\
#
<NS>;<SP>;!;<!I>;\";<<<>;</>/>>;<Nb>;\
<Cu>;<Ct>;<DO>;<Pd>;<Ye>;\
%;&;<',>;';\(;\);*;+;<+->;<-:>;<*X>;\,;<-->;-;.;/;\
# digits
(0,<14>,<12>,<34>);(1,<1S>);(2,<2S>);(3,<3S>);4;...;9;\
#
:;\;;\<;=;>;?;<?I>;<SE>;<PI>;<Co>;<Rg>;<At>;\
# capital
(A,<A'>,<A!>,<A/>>,<AA>,<A:>,<A?>,<AE>);\
B;(C,<C,>);D;(E,<E'>,<E!>,<E/>>,<E:>);\
@ -20,6 +22,8 @@ order \
P;...;T;(U,<U'>,<U!>,<U/>>,<U:>);\
V;W;X;(Y,<Y'>);Z;\
<D->;<TH>;\
#
[;\\;];^;<':>;_;<'m>;<''>;`;\
# small
(a,<a'>,<a!>,<a/>>,<aa>,<a:>,<a?>,<ae>);\
b;(c,<c,>);d;(e,<e'>,<e!>,<e/>>,<e:>);\
@ -28,5 +32,7 @@ order \
p;...;t;(u,<u'>,<u!>,<u/>>,<u:>);\
v;w;x;(y,<y'>,<y:>);z;\
<d->;<th>;<ss>;\
#
\{;<NO>;|;<BB>;\};~;<.M>;<DG>;<My>;<DT>;\
# remains
<-a>;<-o>

View File

@ -1,17 +1,19 @@
# latin1
# latin1 (backward compatible with ASCII)
#
# $Id$
#
charmap map.ISO_8859-1
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;<'m>;<-->;-;\,;\;;:;!;<!I>;?;<?I>;/;.;<''>;`;^;<':>;~;<.M>;\
<',>;';\";<<<>;</>/>>;\(;\);[;];\{;\};<SE>;<PI>;<Co>;<Rg>;@;<Cu>;\
<Ct>;$;<Pd>;<Ye>;*;\\;&;\#;%;+;<+->;<-:>;<*X>;\<;=;>;<NO>;|;<BB>;\
<DG>;<My>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;<PA>;...;<AC>;\
<NU>;...;<US>;<PA>;...;<AC>;\
#
<NS>;<SP>;!;<!I>;\";<<<>;</>/>>;<Nb>;\
<Cu>;<Ct>;<DO>;<Pd>;<Ye>;\
%;&;<',>;';\(;\);*;+;<+->;<-:>;<*X>;\,;<-->;-;.;/;\
# digits
(0,<14>,<12>,<34>);(1,<1S>);(2,<2S>);(3,<3S>);4;...;9;\
#
:;\;;\<;=;>;?;<?I>;<SE>;<PI>;<Co>;<Rg>;<At>;\
# capital
(A,<A'>,<A!>,<A/>>,<AA>,<A:>,<A?>,<AE>);\
B;(C,<C,>);D;(E,<E'>,<E!>,<E/>>,<E:>);\
@ -20,6 +22,8 @@ order \
P;...;T;(U,<U'>,<U!>,<U/>>,<U:>);\
V;W;X;(Y,<Y'>);Z;\
<D->;<TH>;\
#
[;\\;];^;<':>;_;<'m>;<''>;`;\
# small
(a,<a'>,<a!>,<a/>>,<aa>,<a:>,<a?>,<ae>);\
b;(c,<c,>);d;(e,<e'>,<e!>,<e/>>,<e:>);\
@ -28,5 +32,7 @@ order \
p;...;t;(u,<u'>,<u!>,<u/>>,<u:>);\
v;w;x;(y,<y'>,<y:>);z;\
<d->;<th>;<ss>;\
#
\{;<NO>;|;<BB>;\};~;<.M>;<DG>;<My>;<DT>;\
# remains
<-a>;<-o>

View File

@ -1,17 +1,19 @@
# latin1
# latin1 (backward compatible with ASCII)
#
# $Id$
#
charmap map.ISO_8859-1
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;<'m>;<-->;-;\,;\;;:;!;<!I>;?;<?I>;/;.;<''>;`;^;<':>;~;<.M>;\
<',>;';\";<<<>;</>/>>;\(;\);[;];\{;\};<SE>;<PI>;<Co>;<Rg>;@;<Cu>;\
<Ct>;$;<Pd>;<Ye>;*;\\;&;\#;%;+;<+->;<-:>;<*X>;\<;=;>;<NO>;|;<BB>;\
<DG>;<My>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;<PA>;...;<AC>;\
<NU>;...;<US>;<PA>;...;<AC>;\
#
<NS>;<SP>;!;<!I>;\";<<<>;</>/>>;<Nb>;\
<Cu>;<Ct>;<DO>;<Pd>;<Ye>;\
%;&;<',>;';\(;\);*;+;<+->;<-:>;<*X>;\,;<-->;-;.;/;\
# digits
(0,<14>,<12>,<34>);(1,<1S>);(2,<2S>);(3,<3S>);4;...;9;\
#
:;\;;\<;=;>;?;<?I>;<SE>;<PI>;<Co>;<Rg>;<At>;\
# capital
(A,<A'>,<A!>,<A/>>,<AA>,<A:>,<A?>,<AE>);\
B;(C,<C,>);D;(E,<E'>,<E!>,<E/>>,<E:>);\
@ -20,6 +22,8 @@ order \
P;...;T;(U,<U'>,<U!>,<U/>>,<U:>);\
V;W;X;(Y,<Y'>);Z;\
<D->;<TH>;\
#
[;\\;];^;<':>;_;<'m>;<''>;`;\
# small
(a,<a'>,<a!>,<a/>>,<aa>,<a:>,<a?>,<ae>);\
b;(c,<c,>);d;(e,<e'>,<e!>,<e/>>,<e:>);\
@ -28,5 +32,7 @@ order \
p;...;t;(u,<u'>,<u!>,<u/>>,<u:>);\
v;w;x;(y,<y'>,<y:>);z;\
<d->;<th>;<ss>;\
#
\{;<NO>;|;<BB>;\};~;<.M>;<DG>;<My>;<DT>;\
# remains
<-a>;<-o>

View File

@ -1,32 +1,39 @@
# IBM Code Page 866
# CP866 (backward compatible with ASCII)
#
# $Id$
#
charmap map.CP866
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;-;\,;\;;:;!;?;/;.;`;^;~;\
';<.M>;\";\(;\);[;];\{;\};<Co>;@;\
$;*;\\;&;\#;%;+;<-:>;\<;<=<>;=;</>=>;>;|;\
<DG>;<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;\
<NU>;...;<US>;\
#
<NS>;<SP>;!;\";<Nb>;<DO>;\
%;&;';\(;\);*;+;<-:>;\,;-;.;/;\
# digits
0;1;(2,<2S>);3;...;9;\
#
:;\;;\<;<=<>;=;</>=>;>;?;<Co>;<At>;\
# capital
A;...;Z;\
<A=>;<B=>;<V=>;<G=>;<D=>;<E=>;<IO>;<Z%>;<Z=>;\
<I=>;<J=>;<K=>;<L=>;<M=>;<N=>;<O=>;<P=>;<R=>;\
<S=>;<T=>;<U=>;<F=>;<H=>;<C=>;<C%>;<S%>;<Sc>;\
<=">;<Y=>;<%">;<JE>;<JU>;<JA>;\
#
[;\\;];^;_;`;\
# small
a;...;z;\
<a=>;<b=>;<v=>;<g=>;<d=>;<e=>;<io>;<z%>;<z=>;\
<i=>;<j=>;<k=>;<l=>;<m=>;<n=>;<o=>;<p=>;<r=>;\
<s=>;<t=>;<u=>;<f=>;<h=>;<c=>;<c%>;<s%>;<sc>;\
<='>;<y=>;<%'>;<je>;<ju>;<ja>
<='>;<y=>;<%'>;<je>;<ju>;<ja>;\
#
\{;|;\};~;<.M>;<DG>;<DT>;\
#
<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>

View File

@ -1,32 +1,39 @@
# koi8-r
# koi8-r (backward compatible with ASCII)
#
# $Id$
#
charmap map.KOI8-R
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;-;\,;\;;:;!;?;/;.;`;^;~;\
';<.M>;\";\(;\);[;];\{;\};<Co>;@;\
$;*;\\;&;\#;%;+;<-:>;\<;<=<>;=;</>=>;>;|;\
<DG>;<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;\
<NU>;...;<US>;\
#
<NS>;<SP>;!;\";<Nb>;<DO>;\
%;&;';\(;\);*;+;<-:>;\,;-;.;/;\
# digits
0;1;(2,<2S>);3;...;9;\
#
:;\;;\<;<=<>;=;</>=>;>;?;<Co>;<At>;\
# capital
A;...;Z;\
<A=>;<B=>;<V=>;<G=>;<D=>;<E=>;<IO>;<Z%>;<Z=>;\
<I=>;<J=>;<K=>;<L=>;<M=>;<N=>;<O=>;<P=>;<R=>;\
<S=>;<T=>;<U=>;<F=>;<H=>;<C=>;<C%>;<S%>;<Sc>;\
<=">;<Y=>;<%">;<JE>;<JU>;<JA>;\
#
[;\\;];^;_;`;\
# small
a;...;z;\
<a=>;<b=>;<v=>;<g=>;<d=>;<e=>;<io>;<z%>;<z=>;\
<i=>;<j=>;<k=>;<l=>;<m=>;<n=>;<o=>;<p=>;<r=>;\
<s=>;<t=>;<u=>;<f=>;<h=>;<c=>;<c%>;<s%>;<sc>;\
<='>;<y=>;<%'>;<je>;<ju>;<ja>
<='>;<y=>;<%'>;<je>;<ju>;<ja>;\
#
\{;|;\};~;<.M>;<DG>;<DT>;\
#
<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>

View File

@ -1,32 +1,39 @@
# IBM Code Page 866
# CP866 (backward compatible with ASCII)
#
# $Id$
#
charmap map.CP866
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;-;\,;\;;:;!;?;/;.;`;^;~;\
';<.M>;\";\(;\);[;];\{;\};<Co>;@;\
$;*;\\;&;\#;%;+;<-:>;\<;<=<>;=;</>=>;>;|;\
<DG>;<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;\
<NU>;...;<US>;\
#
<NS>;<SP>;!;\";<Nb>;<DO>;\
%;&;';\(;\);*;+;<-:>;\,;-;.;/;\
# digits
0;1;(2,<2S>);3;...;9;\
#
:;\;;\<;<=<>;=;</>=>;>;?;<Co>;<At>;\
# capital
A;...;Z;\
<A=>;<B=>;<V=>;<G=>;<D=>;<E=>;<IO>;<Z%>;<Z=>;\
<I=>;<J=>;<K=>;<L=>;<M=>;<N=>;<O=>;<P=>;<R=>;\
<S=>;<T=>;<U=>;<F=>;<H=>;<C=>;<C%>;<S%>;<Sc>;\
<=">;<Y=>;<%">;<JE>;<JU>;<JA>;\
#
[;\\;];^;_;`;\
# small
a;...;z;\
<a=>;<b=>;<v=>;<g=>;<d=>;<e=>;<io>;<z%>;<z=>;\
<i=>;<j=>;<k=>;<l=>;<m=>;<n=>;<o=>;<p=>;<r=>;\
<s=>;<t=>;<u=>;<f=>;<h=>;<c=>;<c%>;<s%>;<sc>;\
<='>;<y=>;<%'>;<je>;<ju>;<ja>
<='>;<y=>;<%'>;<je>;<ju>;<ja>;\
#
\{;|;\};~;<.M>;<DG>;<DT>;\
#
<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>

View File

@ -1,32 +1,39 @@
# koi8-r
# koi8-r (backward compatible with ASCII)
#
# $Id$
#
charmap map.KOI8-R
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;-;\,;\;;:;!;?;/;.;`;^;~;\
';<.M>;\";\(;\);[;];\{;\};<Co>;@;\
$;*;\\;&;\#;%;+;<-:>;\<;<=<>;=;</>=>;>;|;\
<DG>;<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;\
<NU>;...;<US>;\
#
<NS>;<SP>;!;\";<Nb>;<DO>;\
%;&;';\(;\);*;+;<-:>;\,;-;.;/;\
# digits
0;1;(2,<2S>);3;...;9;\
#
:;\;;\<;<=<>;=;</>=>;>;?;<Co>;<At>;\
# capital
A;...;Z;\
<A=>;<B=>;<V=>;<G=>;<D=>;<E=>;<IO>;<Z%>;<Z=>;\
<I=>;<J=>;<K=>;<L=>;<M=>;<N=>;<O=>;<P=>;<R=>;\
<S=>;<T=>;<U=>;<F=>;<H=>;<C=>;<C%>;<S%>;<Sc>;\
<=">;<Y=>;<%">;<JE>;<JU>;<JA>;\
#
[;\\;];^;_;`;\
# small
a;...;z;\
<a=>;<b=>;<v=>;<g=>;<d=>;<e=>;<io>;<z%>;<z=>;\
<i=>;<j=>;<k=>;<l=>;<m=>;<n=>;<o=>;<p=>;<r=>;\
<s=>;<t=>;<u=>;<f=>;<h=>;<c=>;<c%>;<s%>;<sc>;\
<='>;<y=>;<%'>;<je>;<ju>;<ja>
<='>;<y=>;<%'>;<je>;<ju>;<ja>;\
#
\{;|;\};~;<.M>;<DG>;<DT>;\
#
<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>

View File

@ -1,9 +1,9 @@
# $Id: Makefile,v 1.6 1995/11/03 14:53:27 ache Exp $
# $Id: Makefile,v 1.8 1996/06/02 17:18:18 phk Exp $
PROG = colldef
LFLAGS = -8 -i
YFLAGS = -d
CFLAGS += -I. -I${.CURDIR}/../../lib/libc/locale
CFLAGS += -I. -I${.CURDIR}/../../lib/libc/locale -DCOLLATE_DEBUG
SRCS = parse.c scan.c
LDADD = -ll
DPADD = ${LIBL}

View File

@ -1,17 +1,19 @@
# latin1
# latin1 (backward compatible with ASCII)
#
# $Id$
#
charmap map.ISO_8859-1
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;<'m>;<-->;-;\,;\;;:;!;<!I>;?;<?I>;/;.;<''>;`;^;<':>;~;<.M>;\
<',>;';\";<<<>;</>/>>;\(;\);[;];\{;\};<SE>;<PI>;<Co>;<Rg>;@;<Cu>;\
<Ct>;$;<Pd>;<Ye>;*;\\;&;\#;%;+;<+->;<-:>;<*X>;\<;=;>;<NO>;|;<BB>;\
<DG>;<My>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;<PA>;...;<AC>;\
<NU>;...;<US>;<PA>;...;<AC>;\
#
<NS>;<SP>;!;<!I>;\";<<<>;</>/>>;<Nb>;\
<Cu>;<Ct>;<DO>;<Pd>;<Ye>;\
%;&;<',>;';\(;\);*;+;<+->;<-:>;<*X>;\,;<-->;-;.;/;\
# digits
(0,<14>,<12>,<34>);(1,<1S>);(2,<2S>);(3,<3S>);4;...;9;\
#
:;\;;\<;=;>;?;<?I>;<SE>;<PI>;<Co>;<Rg>;<At>;\
# capital
(A,<A'>,<A!>,<A/>>,<AA>,<A:>,<A?>,<AE>);\
B;(C,<C,>);D;(E,<E'>,<E!>,<E/>>,<E:>);\
@ -20,6 +22,8 @@ order \
P;...;T;(U,<U'>,<U!>,<U/>>,<U:>);\
V;W;X;(Y,<Y'>);Z;\
<D->;<TH>;\
#
[;\\;];^;<':>;_;<'m>;<''>;`;\
# small
(a,<a'>,<a!>,<a/>>,<aa>,<a:>,<a?>,<ae>);\
b;(c,<c,>);d;(e,<e'>,<e!>,<e/>>,<e:>);\
@ -28,5 +32,7 @@ order \
p;...;t;(u,<u'>,<u!>,<u/>>,<u:>);\
v;w;x;(y,<y'>,<y:>);z;\
<d->;<th>;<ss>;\
#
\{;<NO>;|;<BB>;\};~;<.M>;<DG>;<My>;<DT>;\
# remains
<-a>;<-o>

View File

@ -1,32 +1,39 @@
# IBM Code Page 866
# CP866 (backward compatible with ASCII)
#
# $Id$
#
charmap map.CP866
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;-;\,;\;;:;!;?;/;.;`;^;~;\
';<.M>;\";\(;\);[;];\{;\};<Co>;@;\
$;*;\\;&;\#;%;+;<-:>;\<;<=<>;=;</>=>;>;|;\
<DG>;<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;\
<NU>;...;<US>;\
#
<NS>;<SP>;!;\";<Nb>;<DO>;\
%;&;';\(;\);*;+;<-:>;\,;-;.;/;\
# digits
0;1;(2,<2S>);3;...;9;\
#
:;\;;\<;<=<>;=;</>=>;>;?;<Co>;<At>;\
# capital
A;...;Z;\
<A=>;<B=>;<V=>;<G=>;<D=>;<E=>;<IO>;<Z%>;<Z=>;\
<I=>;<J=>;<K=>;<L=>;<M=>;<N=>;<O=>;<P=>;<R=>;\
<S=>;<T=>;<U=>;<F=>;<H=>;<C=>;<C%>;<S%>;<Sc>;\
<=">;<Y=>;<%">;<JE>;<JU>;<JA>;\
#
[;\\;];^;_;`;\
# small
a;...;z;\
<a=>;<b=>;<v=>;<g=>;<d=>;<e=>;<io>;<z%>;<z=>;\
<i=>;<j=>;<k=>;<l=>;<m=>;<n=>;<o=>;<p=>;<r=>;\
<s=>;<t=>;<u=>;<f=>;<h=>;<c=>;<c%>;<s%>;<sc>;\
<='>;<y=>;<%'>;<je>;<ju>;<ja>
<='>;<y=>;<%'>;<je>;<ju>;<ja>;\
#
\{;|;\};~;<.M>;<DG>;<DT>;\
#
<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>

View File

@ -1,32 +1,39 @@
# koi8-r
# koi8-r (backward compatible with ASCII)
#
# $Id$
#
charmap map.KOI8-R
order \
# spaces
<NS>;<SP>;\t;\v;\r;\n;\f;\
# puncts
_;-;\,;\;;:;!;?;/;.;`;^;~;\
';<.M>;\";\(;\);[;];\{;\};<Co>;@;\
$;*;\\;&;\#;%;+;<-:>;\<;<=<>;=;</>=>;>;|;\
<DG>;<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>;\
# controls
<NU>;...;<BS>;<SO>;...;<US>;<DT>;\
<NU>;...;<US>;\
#
<NS>;<SP>;!;\";<Nb>;<DO>;\
%;&;';\(;\);*;+;<-:>;\,;-;.;/;\
# digits
0;1;(2,<2S>);3;...;9;\
#
:;\;;\<;<=<>;=;</>=>;>;?;<Co>;<At>;\
# capital
A;...;Z;\
<A=>;<B=>;<V=>;<G=>;<D=>;<E=>;<IO>;<Z%>;<Z=>;\
<I=>;<J=>;<K=>;<L=>;<M=>;<N=>;<O=>;<P=>;<R=>;\
<S=>;<T=>;<U=>;<F=>;<H=>;<C=>;<C%>;<S%>;<Sc>;\
<=">;<Y=>;<%">;<JE>;<JU>;<JA>;\
#
[;\\;];^;_;`;\
# small
a;...;z;\
<a=>;<b=>;<v=>;<g=>;<d=>;<e=>;<io>;<z%>;<z=>;\
<i=>;<j=>;<k=>;<l=>;<m=>;<n=>;<o=>;<p=>;<r=>;\
<s=>;<t=>;<u=>;<f=>;<h=>;<c=>;<c%>;<s%>;<sc>;\
<='>;<y=>;<%'>;<je>;<ju>;<ja>
<='>;<y=>;<%'>;<je>;<ju>;<ja>;\
#
\{;|;\};~;<.M>;<DG>;<DT>;\
#
<sb>;<RT>;<?2>;<Iu>;<Il>;\
<hh>;<HH>;<vv>;<VV>;<dr>;<dR>;<Dr>;<DR>;\
<dl>;<dL>;<Dl>;<LD>;<ur>;<uR>;<Ur>;<UR>;\
<ul>;<uL>;<Ul>;<UL>;<vr>;<vR>;<Vr>;<VR>;\
<vl>;<vL>;<Vl>;<VL>;<dh>;<dH>;<Dh>;<DH>;\
<uh>;<uH>;<Uh>;<UH>;<vh>;<vH>;<Vh>;<VH>;\
<TB>;<LB>;<FB>;<lB>;<RB>;<.S>;<:S>;<?S>;<fS>

View File

@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: parse.y,v 1.1.1.1 1995/02/17 17:29:50 ache Exp $
* $Id: parse.y,v 1.3 1996/10/16 03:12:21 ache Exp $
*/
#include <err.h>
@ -84,8 +84,14 @@ substitute : SUBSTITUTE STRING WITH STRING {
}
;
order : ORDER order_list {
FILE *fp = fopen(out_file, "w");
FILE *fp;
int ch;
for (ch = 0; ch < UCHAR_MAX + 1; ch++)
if (!__collate_char_pri_table[ch].prim)
yyerror("Char 0x%02x not defined", ch);
fp = fopen(out_file, "w");
if(!fp)
err(EX_UNAVAILABLE, "can't open destination file %s",
out_file);
@ -101,7 +107,7 @@ order : ORDER order_list {
fclose(fp);
#ifdef COLLATE_DEBUG
if (debug)
__collate_print_tables();
collate_print_tables();
#endif
exit(EX_OK);
}
@ -109,7 +115,11 @@ order : ORDER order_list {
order_list : item
| order_list ';' item
;
item : CHAR { __collate_char_pri_table[$1].prim = prim_pri++; }
item : CHAR {
if (__collate_char_pri_table[$1].prim)
yyerror("Char 0x%02x redefined", $1);
__collate_char_pri_table[$1].prim = prim_pri++;
}
| CHAIN {
if (chain_index >= TABLE_SIZE - 1)
yyerror("__collate_chain_pri_table overflow");
@ -122,8 +132,11 @@ item : CHAR { __collate_char_pri_table[$1].prim = prim_pri++; }
if ($3 <= $1)
yyerror("Illegal range 0x%02x -- 0x%02x", $1, $3);
for (i = $1; i <= $3; i++)
for (i = $1; i <= $3; i++) {
if (__collate_char_pri_table[(u_char)i].prim)
yyerror("Char 0x%02x redefined", (u_char)i);
__collate_char_pri_table[(u_char)i].prim = prim_pri++;
}
}
| '{' prim_order_list '}' {
prim_pri++;
@ -140,6 +153,8 @@ sec_order_list : sec_sub_item
| sec_order_list ',' sec_sub_item
;
prim_sub_item : CHAR {
if (__collate_char_pri_table[$1].prim)
yyerror("Char 0x%02x redefined", $1);
__collate_char_pri_table[$1].prim = prim_pri;
}
| CHAR RANGE CHAR {
@ -149,8 +164,11 @@ prim_sub_item : CHAR {
yyerror("Illegal range 0x%02x -- 0x%02x",
$1, $3);
for (i = $1; i <= $3; i++)
for (i = $1; i <= $3; i++) {
if (__collate_char_pri_table[(u_char)i].prim)
yyerror("Char 0x%02x redefined", (u_char)i);
__collate_char_pri_table[(u_char)i].prim = prim_pri;
}
}
| CHAIN {
if (chain_index >= TABLE_SIZE - 1)
@ -160,6 +178,8 @@ prim_sub_item : CHAR {
}
;
sec_sub_item : CHAR {
if (__collate_char_pri_table[$1].prim)
yyerror("Char 0x%02x redefined", $1);
__collate_char_pri_table[$1].prim = prim_pri;
__collate_char_pri_table[$1].sec = sec_pri++;
}
@ -171,6 +191,8 @@ sec_sub_item : CHAR {
$1, $3);
for (i = $1; i <= $3; i++) {
if (__collate_char_pri_table[(u_char)i].prim)
yyerror("Char 0x%02x redefined", (u_char)i);
__collate_char_pri_table[(u_char)i].prim = prim_pri;
__collate_char_pri_table[(u_char)i].sec = sec_pri++;
}
@ -237,3 +259,24 @@ void yyerror(char *fmt, ...)
va_end(ap);
errx(EX_UNAVAILABLE, "%s near line %d", msg, line_no);
}
#ifdef COLLATE_DEBUG
collate_print_tables()
{
int i;
struct __collate_st_chain_pri *p2;
printf("Substitute table:\n");
for (i = 0; i < UCHAR_MAX + 1; i++)
if (i != *__collate_substitute_table[i])
printf("\t'%c' --> \"%s\"\n", i,
__collate_substitute_table[i]);
printf("Chain priority table:\n");
for (p2 = __collate_chain_pri_table; p2->str[0]; p2++)
printf("\t\"%s\" : %d %d\n\n", p2->str, p2->prim, p2->sec);
printf("Char priority table:\n");
for (i = 0; i < UCHAR_MAX + 1; i++)
printf("\t'%c' : %d %d\n", i, __collate_char_pri_table[i].prim,
__collate_char_pri_table[i].sec);
}
#endif