Metropoli BBS
VIEWER: aplchar.h MODE: TEXT (ASCII)
/* aplchar.h APL2 V1.0.0 - Copyright 1993 Thomas Glen Smith ************
* Contains three global variables:                                     *
*  1) aplchar - A char array containing representations of the APL     *
*     character set, allowing a standard PC keyboard to be used for    *
*     entering APL statements.                                         *
*  2) aplchno - An int containing the number of elements in aplchar.   *
*  3) aplmxln - An int giving the maximum length element in aplchar.   *
* Aplchar.h can be replaced or changed with these provisos:            *
*  1) Each element must be left-to-right unique, i.e. it would not     *
*     work to have one element be "A" and another "AB".                *
*  2) Any change to aplchar.h must be reflected in aplchdef.h.         *
*  3) Some elements must be a single character, as indicated in the    *
*     comments below.                                                  *
* See also aplchax.h.                                                  *
***********************************************************************/
#if !defined(APLCHAR_INCL)
#define APLCHAR_INCL
     #define APLCHNO 137
     int aplchno = APLCHNO;
     int aplmxln = 2; /* maximum element length */
     char *aplchar[APLCHNO] = {
     " ",      /*  0 '\x2000' space - must be single character        */
     "!",      /*  1 '\x2100' quote dot (binomial, factorial          */
     "\"",     /*  2 '\x2200' cap null (comment                       */
     "#",      /*  3 '\x2300' left arrow (assignment                  */
     "$",      /*  4 '\x2400' right arrow (branch)                    */
     "%",      /*  5 '\x2500' divide (divide)                         */
     "&",      /*  6 '\x2600' and (and)                               */
     "'",      /*  7 '\x2700' quote (character constants) single char */
     "(",      /*  8 '\x2800' left paren (order of execution)         */
     ")",      /*  9 '\x2900' right paren (order of execution)        */
     "*",      /* 10 '\x2a00' star (exponential, power)               */
     "+",      /* 11 '\x2b00' plus (plus, conjugate)                  */
     ",",      /* 12 '\x2c00' comma (catenate, laminate, ravel)       */
     "-",      /* 13 '\x2d00' overbar (negative numbers)              */
     ".",      /* 14 '\x2e00' dot (inner, outer product) m/b single ch*/
     "/",      /* 15 '\x2f00' slash (compress, reduction)             */
     "0",      /* 16 '\x3000' digit 0 digits must be contiguous, and  */
     "1",      /* 17 '\x3100' digit 1 must be single characters.      */
     "2",      /* 18 '\x3200' digit 2                                 */
     "3",      /* 19 '\x3300' digit 3                                 */
     "4",      /* 20 '\x3400' digit 4                                 */
     "5",      /* 21 '\x3500' digit 5                                 */
     "6",      /* 22 '\x3600' digit 6                                 */
     "7",      /* 23 '\x3700' digit 7                                 */
     "8",      /* 24 '\x3800' digit 8                                 */
     "9",      /* 25 '\x3900' digit 9                                 */
     ":",      /* 26 '\x3a00' colon (labels)                          */
     ";",      /* 27 '\x3b00' semicolon (function header, indexing)   */
     "<",      /* 28 '\x3c00' less (less than)                        */
     "=",      /* 29 '\x3d00' equal (equal)                           */
     ">",      /* 30 '\x3e00' greater (greater than)                  */
     "?",      /* 31 '\x3f00' query (deal, roll)                      */
     "@",      /* 32 '\x4000' log (general and natural logarithm)     */
     "A",      /* 33 '\x4100' delta stile (grade up)                  */
     "B",      /* 34 '\x4200' base (decode)                           */
     "C",      /* 35 '\x4300' base null (execute)                     */
     "D",      /* 36 '\x4400' downstile (floor, minimum)              */
     "E",      /* 37 '\x4500' epsilon (membership)                    */
     "F",      /* 38 '\x4600' top null (format)                       */
     "G",      /* 39 '\x4700' del                                     */
     "H",      /* 40 '\x4800' delta                                   */
     "I",      /* 41 '\x4900' iota (index generator, index of)        */
     "J",      /* 42 '\x4a00' null (inner product, outer product)     */
     "K",      /* 43 '\x4b00' not greater (not greater)               */
     "L",      /* 44 '\x4c00' quad (evaluated input)      single chara*/
     "M",      /* 45 '\x4d00' domino (matrix divide and inverse)      */
     "N",      /* 46 '\x4e00' top (encode)                            */
     "O",      /* 47 '\x4f00' circle (cirular, hyperbolic, pythagorus,*/
     "P",      /* 48 '\x5000' nand (nand)                             */
     "Q",      /* 49 '\x5100' quote-quad (character input)            */
     "R",      /* 50 '\x5200' rho (reshape, shape)                    */
     "S",      /* 51 '\x5300' upstile (ceiling, maximum)              */
     "T",      /* 52 '\x5400' circle slope (transpose)                */
     "U",      /* 53 '\x5500' down arrow (drop)                       */
     "V",      /* 54 '\x5600' or (or)                                 */
     "W",      /* 55 '\x5700' del stile (grade down)                  */
     "X",      /* 56 '\x5800' times (signum, times)                   */
     "Y",      /* 57 '\x5900' up arrow (take)                         */
     "Z",      /* 58 '\x5a00' not less (not less)                     */
     "[",      /* 59 '\x5b00' left bracket (axis, indexing)           */
     "\\",     /* 60 '\x5c00' slope (expand, scan)                    */
     "]",      /* 61 '\x5d00' right bracket (axis, indexing)          */
     "^=",     /* 62 '\x5e3d00' not equal (exclusize or)              */
     "_",      /* 63 '\x5f00' bar (minus, negative)                   */
     "`/",     /* 64 '\x602f00' slash bar (compress, reduction)       */
     "`1",     /* 65 '\x603100' dieresis                              */
     "`A",     /* 66 '\x604100' alpha                                 */
     "`C",     /* 67 '\x604300' cap                                   */
     "`G",     /* 68 '\x604700' del tilde                             */
     "`I",     /* 69 '\x604900' I-beam                                */
     "`O",     /* 70 '\x604f00' circle stile (reverse, rotate)        */
     "`R",     /* 71 '\x605200' circle bar (reverse)                  */
     "`U",     /* 72 '\x605500' cup                                   */
     "`V",     /* 73 '\x605600' nor (nor)                             */
     "`W",     /* 74 '\x605700' omega                                 */
     "`X",     /* 75 '\x605800' right shoe                            */
     "`Z",     /* 76 '\x605a00' left shoe                             */
     "`\\",    /* 77 '\x605c00' slope bar (expand, scan)              */
     "`_",     /* 78 '\x605f00' underbar                              */
               /* Alphabetics should be contiguous                    */
     "`a",     /* 79 '\x606100' Alphabetic A underscored              */
     "`b",     /* 80 '\x606200' Alphabetic B underscored              */
     "`c",     /* 81 '\x606300' Alphabetic C underscored              */
     "`d",     /* 82 '\x606400' Alphabetic D underscored              */
     "`e",     /* 83 '\x606500' Alphabetic E underscored              */
     "`f",     /* 84 '\x606600' Alphabetic F underscored              */
     "`g",     /* 85 '\x606700' Alphabetic G underscored              */
     "`h",     /* 86 '\x606800' Alphabetic H underscored              */
     "`i",     /* 87 '\x606900' Alphabetic I underscored              */
     "`j",     /* 88 '\x606a00' Alphabetic J underscored              */
     "`k",     /* 89 '\x606b00' Alphabetic K underscored              */
     "`l",     /* 90 '\x606c00' Alphabetic L underscored              */
     "`m",     /* 91 '\x606d00' Alphabetic M underscored              */
     "`n",     /* 92 '\x606e00' Alphabetic N underscored              */
     "`o",     /* 93 '\x606f00' Alphabetic O underscored              */
     "`p",     /* 94 '\x607000' Alphabetic P underscored              */
     "`q",     /* 95 '\x607100' Alphabetic Q underscored              */
     "`r",     /* 96 '\x607200' Alphabetic R underscored              */
     "`s",     /* 97 '\x607300' Alphabetic S underscored              */
     "`t",     /* 98 '\x607400' Alphabetic T underscored              */
     "`u",     /* 99 '\x607500' Alphabetic U underscored              */
     "`v",     /*100 '\x607600'  Alphabetic V underscored             */
     "`w",     /*101 '\x607700'  Alphabetic W underscored             */
     "`x",     /*102 '\x607800'  Alphabetic X underscored             */
     "`y",     /*103 '\x607900'  Alphabetic Y underscored             */
     "`z",     /*104 '\x607a00'  Alphabetic Z underscored             */
     "a",      /*105 '\x6100'  alphabetic A single character          */
     "b",      /*106 '\x6200'  alphabetic B single character          */
     "c",      /*107 '\x6300'  alphabetic C single character          */
     "d",      /*108 '\x6400'  alphabetic D single character          */
     "e",      /*109 '\x6500'  alphabetic E single character          */
     "f",      /*110 '\x6600'  alphabetic F single character          */
     "g",      /*111 '\x6700'  alphabetic G single character          */
     "h",      /*112 '\x6800'  alphabetic H single character          */
     "i",      /*113 '\x6900'  alphabetic I single character          */
     "j",      /*114 '\x6a00'  alphabetic J single character          */
     "k",      /*115 '\x6b00'  alphabetic K single character          */
     "l",      /*116 '\x6c00'  alphabetic L single character          */
     "m",      /*117 '\x6d00'  alphabetic M single character          */
     "n",      /*118 '\x6e00'  alphabetic N single character          */
     "o",      /*119 '\x6f00'  alphabetic O single character          */
     "p",      /*120 '\x7000'  alphabetic P single character          */
     "q",      /*121 '\x7100'  alphabetic Q single character          */
     "r",      /*122 '\x7200'  alphabetic R single character          */
     "s",      /*123 '\x7300'  alphabetic S single character          */
     "t",      /*124 '\x7400'  alphabetic T single character          */
     "u",      /*125 '\x7500'  alphabetic U single character          */
     "v",      /*126 '\x7600'  alphabetic V single character          */
     "w",      /*127 '\x7700'  alphabetic W single character          */
     "x",      /*128 '\x7800'  alphabetic X single character          */
     "y",      /*129 '\x7900'  alphabetic Y single character          */
     "z",      /*130 '\x7a00'  alphabetic Z single character          */
     "|",      /*131 '\x7c00'  stile (magnitude, residue)             */
     "~",      /*132 '\x7e00'  tilde (not)                            */
     "`=",     /*133 '\x603d00'  equal underbar (depth)               */
     "`E",     /*134 '\x604500'  epsilon underbar (find)              */
     "`Q",     /*135 '\x605100'  squad (index)                        */
     "`2"      /*136 '\x603200'  logamma                              */
     };
#endif
[ RETURN TO DIRECTORY ]