don't need "make rall" (make install does it twice)
[unix-history] / usr / src / old / sh / ctype.h
CommitLineData
74f1283b
KM
1/* ctype.h 4.1 82/05/07 */
2
3#
4/*
5 * UNIX shell
6 *
7 * S. R. Bourne
8 * Bell Telephone Laboratories
9 *
10 */
11
12
13/* table 1 */
14#define T_SUB 01
15#define T_MET 02
16#define T_SPC 04
17#define T_DIP 010
18#define T_EOF 020
19#define T_EOR 040
20#define T_QOT 0100
21#define T_ESC 0200
22
23/* table 2 */
24#define T_BRC 01
25#define T_DEF 02
26#define T_AST 04
27#define T_DIG 010
28#define T_FNG 020
29#define T_SHN 040
30#define T_IDC 0100
31#define T_SET 0200
32
33/* for single chars */
34#define _TAB (T_SPC)
35#define _SPC (T_SPC)
36#define _UPC (T_IDC)
37#define _LPC (T_IDC)
38#define _DIG (T_DIG)
39#define _EOF (T_EOF)
40#define _EOR (T_EOR)
41#define _BAR (T_DIP)
42#define _HAT (T_MET)
43#define _BRA (T_MET)
44#define _KET (T_MET)
45#define _SQB (T_FNG)
46#define _AMP (T_DIP)
47#define _SEM (T_DIP)
48#define _LT (T_DIP)
49#define _GT (T_DIP)
50#define _LQU (T_QOT|T_ESC)
51#define _BSL (T_ESC)
52#define _DQU (T_QOT)
53#define _DOL1 (T_SUB|T_ESC)
54
55#define _CBR T_BRC
56#define _CKT T_DEF
57#define _AST (T_AST|T_FNG)
58#define _EQ (T_DEF)
59#define _MIN (T_DEF|T_SHN)
60#define _PCS (T_SHN)
61#define _NUM (T_SHN)
62#define _DOL2 (T_SHN)
63#define _PLS (T_DEF|T_SET)
64#define _AT (T_AST)
65#define _QU (T_DEF|T_FNG|T_SHN)
66
67/* abbreviations for tests */
68#define _IDCH (T_IDC|T_DIG)
69#define _META (T_SPC|T_DIP|T_MET|T_EOR)
70
71char _ctype1[];
72
73/* nb these args are not call by value !!!! */
74#define space(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(T_SPC))
75#define eofmeta(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(_META|T_EOF))
76#define qotchar(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(T_QOT))
77#define eolchar(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(T_EOR|T_EOF))
78#define dipchar(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(T_DIP))
79#define subchar(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(T_SUB|T_QOT))
80#define escchar(c) (((c)&QUOTE)==0 ANDF _ctype1[c]&(T_ESC))
81
82char _ctype2[];
83
84#define digit(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_DIG))
85#define fngchar(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_FNG))
86#define dolchar(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_AST|T_BRC|T_DIG|T_IDC|T_SHN))
87#define defchar(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_DEF))
88#define setchar(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_SET))
89#define digchar(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_AST|T_DIG))
90#define letter(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_IDC))
91#define alphanum(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(_IDCH))
92#define astchar(c) (((c)&QUOTE)==0 ANDF _ctype2[c]&(T_AST))