1 /*        Begin include file ... speedtype_symbols.incl.pl1
 2 *         Created on 09/06/76 by Bill Silver.
 3 *         Modified   06/03/80 by Paul Benjamin to allow special suffixing.
 4 *
 5 *         This include file defines the format of a Speedtype Symbol Dictionary.
 6 *         The default Speedtype options are:
 7 *
 8 *              ESCAPES:
 9 *                   temp "~"  pad (Octal 177)  perm "`"  trans ":"  space ";"
10 *              PREFIXES:
11 *                   under "_"  upper "+"
12 *              SUFFIXES:
13 *                   plural "+"  ed "-"  ing "*"  er "="  ly "|"
14 *              DELIMITERS:
15 *                   ,"()?!<>[]{}
16 */
17 dcl       ssd_ptr             ptr;                /* Pointer to the base of a Speedtype Symbol Dictionary. */
18 dcl       exp_ptr             ptr;                /* Pointer to an expansion entry. */
19 dcl       sb_ptr              ptr;                /* Pointer to a symbol entry. */
20 dcl       spc_ptr             ptr;                /* Pointer to a special entry. */
21 dcl       delim_ptr           ptr;                /* Pointer to delimiter characters. */
22 
23 dcl       ssd_version_2       fixed bin           /* Version of this include file. */
24           internal static     init (2);
25 
26 dcl    1  ssd  based(ssd_ptr) aligned,            /* Format of a Speedtype Symbol Dictionary. */
27           2  version          fixed bin,          /* Version number.  Currently = 2. */
28           2  identifier       char(12),           /* "Seedtype_SD" => this is a Speedtype Symbol Dictionary. */
29           2  flags            bit(36),            /* Not used, all zero. */
30           2  delimiters       char(24),           /* Blank, New Line, Tab, Escapes, Others. */
31           2  escapes          char(5),            /* Pad, Perm, Temp, Trans, Space */
32           2  prefixes         char(2),            /* Under, Upper. */
33           2  suffixes         char(5),            /* Plural, ed, ing, er, ly. */
34           2  num_symbols      fixed bin,          /* Number of defined symbols. */
35           2  table_size       fixed bin,          /* Size of the 3 tables to follow. */
36           2  pad(14)          bit(36),            /* Round out header to 32 words. */
37           2  spec_tab(table_size) like  spc,      /* Special entries. */
38           2  exp_tab(table_size) like  exp,       /* Expansion entries. */
39           2  sb_tab(table_size) like  sb;         /* Symbol entries. */
40 
41 dcl    1  delim_chars  based(delim_ptr)  aligned, /* Overlay of ssd.delimiters. */
42         ( 2  blank            char(1),
43           2  new_line         char(1),
44           2  tab              char(1),
45           2  escapes          char(5),
46           2  others           char(16)) unaligned;
47 
48 dcl    1  sb  based(sb_ptr)   aligned,            /* Symbol entry. */
49         ( 2  new_line         char(1),            /* Needed to make index functions work. */
50           2  symbol           char(7)) unal;      /* Actual symbol string. */
51 
52 dcl    1  exp  based(exp_ptr) aligned,            /* Expansion entry. */
53         ( 2  actionx(5)       fixed bin(8),       /* Action index for each suffix. */
54           2  pad              fixed bin(17),      /* Reserved for additional suffixes, flags, etc.. */
55           2  len              fixed bin(8),       /* Actual length of expansion. */
56           2  expansion        char(56)) unal;     /* Expansion of string (56 => size(exp) = 16 words). */
57 dcl    1  spc  based(spc_ptr) aligned,            /* Special entry. */
58           2  special (5)      char(56) unal;      /* One for each possible suffix. */
59 
60 /*        End include file ... speedtype_symbols.incl.pl1   */