1 12/28/82  mvt_
 2 
 3 The mvt_ subroutine provides for extremely efficient translation of
 4 character strings using translations which are not known at compile
 5 time.
 6 
 7 
 8 Entry points in mvt_:
 9    (List is generated by the help command)
10 
11 
12 :Entry: mvt_: 12/06/82  mvt_ (entry)
13 
14 
15 Syntax:
16 declare mvt_ entry (ptr, ptr, fixed bin(21), char(512) aligned);
17 call mvt_ (input_string_ptr, output_string_ptr, string_lth,
18      translate_table);
19 
20 
21 Arguments:
22 input_string_ptr
23    is a pointer to the unaligned string to be translated.  (Input)
24 output_string_ptr
25    is a pointer to the string where the results of the translation will
26    be placed.  (Input)
27 string_lth
28    is the length of both the input string and the output string in
29    characters.  (Input)
30 translate_table
31    is the translation table which defines the actual translation.  See
32    mvt_$make_translation_table for a description of how to create this
33    table.  (Input)
34 
35 
36 :Entry:  make_translation_table:  12/06/82 mvt_$make_translation_table
37 
38 
39 Function:  This entry point creates the translation table used by the
40 mvt_ subroutine given the second and third arguments which would be
41 supplied to the PL/I translate builtin function.
42 
43 
44 Syntax:
45 declare mvt_$make_translation_table entry (char(*), char(*), char(512)
46      aligned);
47 call mvt_$make_translation_table (translated_list, untranslated_list,
48      translate_table);
49 
50 
51 Arguments:
52 translated_list
53    is the second argument to the PL/I translate builtin and specifies
54    the result of translating any occurrence of the corresponding
55    characters in untranslated_list present in the input string of the
56    mvt_ entry described above.  (Input)
57 untranslated_list
58    is the third argument to the PL/I translate builtin and specifies
59    the list of characters which will be translated if found in the
60    input string.  (Input)
61 translate_table
62    is set to the translate table which defines the desired translation.
63    (Output)
64 
65 
66 Notes:  The table constructed by this subroutine will cause any
67 occurence of the N'th character in untranslated_list present in the
68 input string of mvt_ to be converted into the N'th character in
69 translated_list.  See the description of the PL/I translate builtin for
70 more information.
71 
72 If the PL/I builtin would have been used with only two arguments, use
73 the value of the collate9 builtin for the untranslated_list argument.