Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ chrtbl(1M) — sysv — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctype(3C)

environ(5)

CHRTBL(1M-SysV)



CHRTBL(1M-SysV)     RISC/os Reference Manual      CHRTBL(1M-SysV)



NAME
     chrtbl - generate character classification and conversion
     tables

SYNOPSIS
     chrtbl [file]

DESCRIPTION
     The chrtbl command creates a character classification table
     and an upper/lower-case conversion table.  The tables are
     contained in a byte-sized array encoded such that a table
     lookup can be used to determine the character classification
     of a character or to convert a character (see ctype(3C)).
     The size of the array is 257*2 bytes:  257 bytes are
     required for the 8-bit code set character classification
     table and 257 bytes for the upper- to lower-case and lower-
     to upper-case conversion tables.

     chrtbl reads the user-defined character classification and
     conversion information from file and creates two output
     files in the current directory.  One output file, ctype.c (a
     C-language source file), contains the 257*2-byte array gen-
     erated from processing the information from file.  You
     should review the content of ctype.c to verify that the
     array is set up as you had planned.  (In addition, an appli-
     cation program could use ctype.c)

     The first 257 bytes of the array in ctype.c are used for
     character classification.  The characters used for initial-
     izing these bytes of the array represent character classifi-
     cations that are defined in /usr/include/ctype.h; for exam-
     ple, _L means a character is lower case and _S|_B means the
     character is both a spacing character and a blank.  The last
     257 bytes of the array are used for character conversion.
     These bytes of the array are initialized so that characters
     for which you do not provide conversion information will be
     converted to themselves.  When you do provide conversion
     information, the first value of the pair is stored where the
     second one would be stored normally, and vice versa; for
     example, if you provide <0x41 0x61>, then 0x61 is stored
     where 0x41 would be stored normally, and 0x41 is stored
     where 0x61 would be stored normally.

     The second output file (a data file) contains the same
     information, but is structured for efficient use by the
     character classification and conversion routines (see
     ctype(3C)).  The name of this output file is the value of
     the character classification chrclass read in from file.
     This output file must be installed in the /lib/chrclass
     directory under this name by someone who is super-user or a
     member of group bin.  This file must be readable by user,
     group, and other; no other permissions should be set.  To



                         Printed 1/15/91                   Page 1





CHRTBL(1M-SysV)     RISC/os Reference Manual      CHRTBL(1M-SysV)



     use the character classification and conversion tables in
     this file, set the environment variable CHRCLASS (see
     environ(5)) to the name of this file and export the vari-
     able; for example, if the name of this file (and character
     class) is xyz, you should issue the commands:  CHRCLASS=xyz;
     export CHRCLASS .

     If no input file is given, or if the argument - is encoun-
     tered, chrtbl reads from the standard input file.

     The syntax of file allows the user to define the name of the
     data file created by chrtbl, the assignment of characters to
     character classifications and the relationship between
     upper- and lower-case letters.  The character classifica-
     tions recognized by chrtbl are:

          chrclass  name of the data file to be created by chrtbl

          isupper   character codes to be classified as upper-
                    case letters

          islower   character codes to be classified as lower-
                    case letters

          isdigit   character codes to be classified as numeric

          isspace   character codes to be classified as a spacing
                    (delimiter) character

          ispunct   character codes to be classified as a punc-
                    tuation character

          iscntrl   character codes to be classified as a control
                    character

          isblank   character code for the space character

          isxdigit  character codes to be classified as hexade-
                    cimal digits

          ul        relationship between upper- and lower-case
                    characters

     Any lines with the number sign (#) in the first column are
     treated as comments and are ignored.  Blank lines are also
     ignored.

     A character can be represented as a hexadecimal or octal
     constant (for example, the letter 'a' can be represented as
     0x61 in hexadecimal or 0141 in octal.  Hexadecimal and octal
     constants may be separated by one or more space and tab
     characters.



 Page 2                  Printed 1/15/91





CHRTBL(1M-SysV)     RISC/os Reference Manual      CHRTBL(1M-SysV)



     The dash character (-) may be used to indicate a range of
     consecutive numbers.  Zero or more space characters may be
     used for separating the dash character from the numbers.

     The backslash character (\) is used for line continuation.
     Only a carriage return is permitted after the backslash
     character.

     The relationship between upper- and lower-case letters (ul)
     is expressed as ordered pairs of octal or hexadecimal con-
     stants:  <upper-case_character lower-case_character>.  These
     two constants may be separated by one or more space charac-
     ters.  Zero or more space characters may be used for
     separating the angle brackets (< >) from the numbers.

EXAMPLE
     The following is an example of an input file used to create
     the ASCII code set definition table in a file named ascii:
          chrclass    ascii
          isupper     0x41 - 0x5a
          islower     0x61 - 0x7a
          isdigit     0x30 - 0x39
          isspace     0x20 0x9 - 0xd
          ispunct     0x21 - 0x2f 0x3a - 0x40    \
                      0x5b - 0x60 0x7b - 0x7e
          iscntrl     0x0 - 0x1f 0x7f
          isblank     0x20
          isxdigit    0x30 - 0x39 0x61 - 0x66    \
                      0x41 - 0x46
          ul          <0x41 0x61> <0x42 0x62> <0x43 0x63>    \
                      <0x44 0x63> <0x45 0x65> <0x46 0x66>    \
                      <0x47 0x67> <0x48 0x68> <0x49 0x69>    \
                      <0x4a 0x6a> <0x4b 0x6b> <0x4c 0x6c>    \
                      <0x4d 0x6d> <0x4e 0x6e> <0x4f 0x6f>    \
                      <0x50 0x70> <0x51 0x71> <0x52 0x72>    \
                      <0x53 0x73> <0x54 0x74> <0x55 0x75>    \
                      <0x56 0x76> <0x57 0x77> <0x58 0x78>    \
                      <0x59 0x79> <0x5a 0x7a>

FILES
     /lib/chrclass/*       data file containing character clas-
                           sification and conversion tables
                           created by chrtbl

     /usr/include/ctype.h  header file containing information
                           used by character classification and
                           conversion routines

SEE ALSO
     ctype(3C), environ(5) in the Programmer's Reference Manual.





                         Printed 1/15/91                   Page 3





CHRTBL(1M-SysV)     RISC/os Reference Manual      CHRTBL(1M-SysV)



DIAGNOSTICS
     The error messages produced by chrtbl are intended to be
     self-explanatory.  They indicate errors in the command line
     or syntactic errors encountered within the input file.



















































 Page 4                  Printed 1/15/91



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026