xref: /original-bsd/local/toolchest/ksh/sh/ctype.c (revision eb87a959)
1 /*
2 
3  *      Copyright (c) 1984, 1985, 1986 AT&T
4  *      All Rights Reserved
5 
6  *      THIS IS UNPUBLISHED PROPRIETARY SOURCE
7  *      CODE OF AT&T.
8  *      The copyright notice above does not
9  *      evidence any actual or intended
10  *      publication of such source code.
11 
12  */
13 /* @(#)ctype.c	1.1 */
14 /*
15  *	UNIX shell
16  *
17  *	S. R. Bourne
18  *	AT&T Bell Laboratories
19  *	Rewritten by David Korn
20  *
21  */
22 
23 #include	"shtype.h"
24 
25 /*
26  * #define _XBAR _BAR
27  * to make ^ a synonym for |.  (Strongly discouraged)
28  */
29 
30 #define _XBAR	0
31 
32 const char	_ctype1[]=
33 {
34  /*	000	001	002	003	004	005	006	007	*/
35 	_EOF,	0,	0,	0,	0,	0,	0,	0,
36 
37  /*	bs	ht	nl	vt	np	cr	so	si	*/
38 	0,	_TAB,	_EOR,	0,	0,	0,	0,	0,
39 
40 	0,	0,	0,	0,	0,	0,	0,	0,
41 
42 	0,	0,	0,	0,	0,	0,	0,	0,
43 
44  /*	sp	!	"	#	$	%	&	'	*/
45 	_SPC,	0,	_DQU,	0,	_DOL1,	0,	_AMP,	0,
46 
47  /*	(	)	*	+	,	-	.	/	*/
48 	_BRA,	_KET,	_AST1,	0,	0,	0,	0,	0,
49 
50  /*	0	1	2	3	4	5	6	7	*/
51 	0,	0,	0,	0,	0,	0,	0,	0,
52 
53  /*	8	9	:	;	<	=	>	?	*/
54 	0,	0,	0,	_SEM,	_LT,	0,	_GT,	_QU1,
55 
56  /*	@	A	B	C	D	E	F	G	*/
57 	0,	0,	0,	0,	0,	0,	0,	0,
58 
59  /*	H	I	J	K	L	M	N	O	*/
60 	0,	0,	0,	0,	0,	0,	0,	0,
61 
62  /*	P	Q	R	S	T	U	V	W	*/
63 	0,	0,	0,	0,	0,	0,	0,	0,
64 
65  /*	X	Y	Z	[	\	]	^	_	*/
66 	0,	0,	0,	T_EXP,	_BSL,	0,	_XBAR,	0,
67 
68  /*	`	a	b	c	d	e	f	g	*/
69 	_LQU,	0,	0,	0,	0,	0,	0,	0,
70 
71  /*	h	i	j	k	l	m	n	o	*/
72 	0,	0,	0,	0,	0,	0,	0,	0,
73 
74  /*	p	q	r	s	t	u	v	w	*/
75 	0,	0,	0,	0,	0,	0,	0,	0,
76 
77  /*	x	y	z	{	|	}	~	del	*/
78 	0,	0,	0,	0,	_BAR,	0,	0,	0,
79 
80  /*	200	201	202	203	204	205	206	207	*/
81 	0,	0,	0,	0,	0,	0,	0,	0,
82 
83  /*	210	211	212	213	214	215	216	217	*/
84 	0,	0,	0,	0,	0,	0,	0,	0,
85 
86  /*	220	221	222	223	224	225	226	227	*/
87 	0,	0,	0,	0,	0,	0,	0,	0,
88 
89  /*	230	231	232	233	234	235	236	237	*/
90 	0,	0,	0,	0,	0,	0,	0,	0,
91 
92  /*	240	241	242	243	244	245	246	247	*/
93 	0,	0,	0,	0,	0,	0,	0,	0,
94 
95  /*	250	251	252	253	254	255	256	257	*/
96 	0,	0,	0,	0,	0,	0,	0,	0,
97 
98  /*	260	261	262	263	264	265	266	267	*/
99 	0,	0,	0,	0,	0,	0,	0,	0,
100 
101  /*	270	271	272	273	274	275	276	277	*/
102 	0,	0,	0,	0,	0,	0,	0,	0,
103 
104  /*	300	301	302	303	304	305	306	307	*/
105 	0,	0,	0,	0,	0,	0,	0,	0,
106 
107  /*	310	311	312	313	314	315	316	317	*/
108 	0,	0,	0,	0,	0,	0,	0,	0,
109 
110  /*	320	321	322	323	324	325	326	327	*/
111 	0,	0,	0,	0,	0,	0,	0,	0,
112 
113  /*	330	331	332	333	334	335	336	337	*/
114 	0,	0,	0,	0,	0,	0,	0,	0,
115 
116  /*	340	341	342	343	344	345	346	347	*/
117 	0,	0,	0,	0,	0,	0,	0,	0,
118 
119  /*	350	351	352	353	354	355	356	357	*/
120 	0,	0,	0,	0,	0,	0,	0,	0,
121 
122  /*	360	361	362	363	364	365	366	367	*/
123 	0,	0,	0,	0,	0,	0,	0,	0,
124 
125  /*	370	371	372	373	374	375	376	377	*/
126 	0,	0,	0,	0,	0,	0,	0,	0
127 };
128 
129 
130 const char	_ctype2[]=
131 {
132  /*	000	001	002	003	004	005	006	007	*/
133 	0,	0,	0,	0,	0,	0,	0,	0,
134 
135  /*	bs	ht	nl	vt	np	cr	so	si	*/
136 	0,	0,	0,	0,	0,	0,	0,	0,
137 
138 	0,	0,	0,	0,	0,	0,	0,	0,
139 
140 	0,	0,	0,	0,	0,	0,	0,	0,
141 
142  /*	sp	!	"	#	$	%	&	'	*/
143 	0,	_PCS,	0,	_NUM,	_DOL2,	_PLS,	0,	0,
144 
145  /*	(	)	*	+	,	-	.	/	*/
146 	_LPAR,	0,	_AST,	_PLS,	0,	_MIN,	0,	0,
147 
148  /*	0	1	2	3	4	5	6	7	*/
149 	_DIG,	_DIG,	_DIG,	_DIG,	_DIG,	_DIG,	_DIG,	_DIG,
150 
151  /*	8	9	:	;	<	=	>	?	*/
152 	_DIG,	_DIG,	0,	0,	0,	_EQ,	0,	_QU,
153 
154  /*	@	A	B	C	D	E	F	G	*/
155 	_AT,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,
156 
157  /*	H	I	J	K	L	M	N	O	*/
158 	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,
159 
160  /*	P	Q	R	S	T	U	V	W	*/
161 	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,	_UPC,
162 
163  /*	X	Y	Z	[	\	]	^	_	*/
164 	_UPC,	_UPC,	_UPC,	0,	0,	0,	0,	_ALP,
165 
166  /*	`	a	b	c	d	e	f	g	*/
167 	0,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,
168 
169  /*	h	i	j	k	l	m	n	o	*/
170 	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,
171 
172  /*	p	q	r	s	t	u	v	w	*/
173 	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,	_LPC,
174 
175  /*	x	y	z	{	|	}	~	del	*/
176 	_LPC,	_LPC,	_LPC,	_CBR,	0,	_CKT,	0,	0,
177 
178  /*	200	201	202	203	204	205	206	207	*/
179 	0,	0,	0,	0,	0,	0,	0,	0,
180 
181  /*	210	211	212	213	214	215	216	217	*/
182 	0,	0,	0,	0,	0,	0,	_SS2,	_SS3,
183 
184  /*	220	221	222	223	224	225	226	227	*/
185 	0,	0,	0,	0,	0,	0,	0,	0,
186 
187  /*	230	231	232	233	234	235	236	237	*/
188 	0,	0,	0,	0,	0,	0,	0,	0,
189 
190  /*	240	241	242	243	244	245	246	247	*/
191 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
192 
193  /*	250	251	252	253	254	255	256	257	*/
194 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
195 
196  /*	260	261	262	263	264	265	266	267	*/
197 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
198 
199  /*	270	271	272	273	274	275	276	277	*/
200 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
201 
202  /*	300	301	302	303	304	305	306	307	*/
203 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
204 
205  /*	310	311	312	313	314	315	316	317	*/
206 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
207 
208  /*	320	321	322	323	324	325	326	327	*/
209 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
210 
211  /*	330	331	332	333	334	335	336	337	*/
212 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
213 
214  /*	340	341	342	343	344	345	346	347	*/
215 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
216 
217  /*	350	351	352	353	354	355	356	357	*/
218 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
219 
220  /*	360	361	362	363	364	365	366	367	*/
221 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,
222 
223  /*	370	371	372	373	374	375	376	377	*/
224 	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP,	_ALP
225 };
226 
227 const char hdigits[] = "00112233445566778899aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
228