From 74f1283bb5f6c997de373f076c37631be56e7683 Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Sat, 8 May 1982 02:37:00 -0800 Subject: [PATCH] date and time created 82/05/07 19:37:00 by mckusick SCCS-vsn: old/sh/ctype.h 4.1 --- usr/src/old/sh/ctype.h | 92 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 usr/src/old/sh/ctype.h diff --git a/usr/src/old/sh/ctype.h b/usr/src/old/sh/ctype.h new file mode 100644 index 0000000000..19ffa661b3 --- /dev/null +++ b/usr/src/old/sh/ctype.h @@ -0,0 +1,92 @@ +/* ctype.h 4.1 82/05/07 */ + +# +/* + * UNIX shell + * + * S. R. Bourne + * Bell Telephone Laboratories + * + */ + + +/* table 1 */ +#define T_SUB 01 +#define T_MET 02 +#define T_SPC 04 +#define T_DIP 010 +#define T_EOF 020 +#define T_EOR 040 +#define T_QOT 0100 +#define T_ESC 0200 + +/* table 2 */ +#define T_BRC 01 +#define T_DEF 02 +#define T_AST 04 +#define T_DIG 010 +#define T_FNG 020 +#define T_SHN 040 +#define T_IDC 0100 +#define T_SET 0200 + +/* for single chars */ +#define _TAB (T_SPC) +#define _SPC (T_SPC) +#define _UPC (T_IDC) +#define _LPC (T_IDC) +#define _DIG (T_DIG) +#define _EOF (T_EOF) +#define _EOR (T_EOR) +#define _BAR (T_DIP) +#define _HAT (T_MET) +#define _BRA (T_MET) +#define _KET (T_MET) +#define _SQB (T_FNG) +#define _AMP (T_DIP) +#define _SEM (T_DIP) +#define _LT (T_DIP) +#define _GT (T_DIP) +#define _LQU (T_QOT|T_ESC) +#define _BSL (T_ESC) +#define _DQU (T_QOT) +#define _DOL1 (T_SUB|T_ESC) + +#define _CBR T_BRC +#define _CKT T_DEF +#define _AST (T_AST|T_FNG) +#define _EQ (T_DEF) +#define _MIN (T_DEF|T_SHN) +#define _PCS (T_SHN) +#define _NUM (T_SHN) +#define _DOL2 (T_SHN) +#define _PLS (T_DEF|T_SET) +#define _AT (T_AST) +#define _QU (T_DEF|T_FNG|T_SHN) + +/* abbreviations for tests */ +#define _IDCH (T_IDC|T_DIG) +#define _META (T_SPC|T_DIP|T_MET|T_EOR) + +char _ctype1[]; + +/* nb these args are not call by value !!!! */ +#define space(c) (((c)"E)==0 ANDF _ctype1[c]&(T_SPC)) +#define eofmeta(c) (((c)"E)==0 ANDF _ctype1[c]&(_META|T_EOF)) +#define qotchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_QOT)) +#define eolchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_EOR|T_EOF)) +#define dipchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_DIP)) +#define subchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_SUB|T_QOT)) +#define escchar(c) (((c)"E)==0 ANDF _ctype1[c]&(T_ESC)) + +char _ctype2[]; + +#define digit(c) (((c)"E)==0 ANDF _ctype2[c]&(T_DIG)) +#define fngchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_FNG)) +#define dolchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_AST|T_BRC|T_DIG|T_IDC|T_SHN)) +#define defchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_DEF)) +#define setchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_SET)) +#define digchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_AST|T_DIG)) +#define letter(c) (((c)"E)==0 ANDF _ctype2[c]&(T_IDC)) +#define alphanum(c) (((c)"E)==0 ANDF _ctype2[c]&(_IDCH)) +#define astchar(c) (((c)"E)==0 ANDF _ctype2[c]&(T_AST)) -- 2.20.1