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 */