To: J3 J3/19-137r2 From: Dan Nagle Subject: Specifications and Edits of AT Date: 2019-February-13 Reference: 18-238r3, 18-007r1 1 Introduction The minimal-width character format was approved for further work at 217. This paper attempts to craft specifications. The sole choice of syntax is to choose the spelling of the edit descriptor. I hope the syntax choice made at 217 is reaffirmed, but the vote should be taken. This paper also attempts to craft edits. 2 Discussion The original A0 proposal morphed into the form AT in 18-238r3. Making this change breaks any connection between AT and G widths. It also moots any concerns with consistency with other "w=0 => minimum-width" formats. This format descriptor is intended to apply to output list items of type character only. The intention is to effectively trim a character list item before output, and to apply to any character kind the processor supports. 3 Specifications Specify a data edit descriptor that may appear in a format for output only. The corresponding effective list item shall be of type character, of any kind supported by the processor. The width of the output field is the length of the value of the list item, after any trailing blanks are removed. The value transferred is the value of the list item, after any trailing blanks are removed. Note that, if the list item is of zero length, or contains only blanks, a zero-width output field is produced. 4 Syntax The new edit descriptor is spelled "AT" (for A + TRIM). 5 Edits to 18-007r1 { add remark to Introduction in the bullet item for Input/output } [xiii] add "A new AT edit descriptor provides output of character values with trailing blanks trimmed." { Introduction briefly describes new features } { 13.3.2 Edit descriptors } { add AT to syntax list in R1307 } [258:10] after "<> A [ ]" [258:10+] add "<> AT" { add to rule R1307 } { add AT to edit descriptors list } [258:24p2] In the sentence "An I, B, O, Z, F, E, EN, ES, EX, G, L, A, D, or DT edit descriptor indicates the manner of editing." [258:24] after "L, A,", add "AT," so the resulting sentence reads "An I, B, O, Z, F, E, EN, ES, EX, G, L, A, AT, D, or DT edit descriptor indicates the manner of editing." { AT functions similarly } { 13.7.1 Purpose of edit descriptors } { add AT to list of descriptors that might cause file positioning } [261:17p1] in the second clause of the first sentence, ", the A data edit descriptor can also cause file positioning." change "the A data edit descriptor" to "the A or AT data edit descriptors" so the resulting clause reads ", the A or AT data edit descriptors can also cause file positioning." { AT can do what A does } { 13.7.4 Character editing } { list edit descriptors described in this subclause } [269:11p1] in the first sentence, "The A[] edit descriptor is used with an input/output list item of type character." { append a new description for output only } [269:11] change "... type character." to "type character; the AT edit descriptor is used with an output list item of type character." so the resulting sentence reads "The A[] edit descriptor is used with an input/output list item of type character; the AT edit descriptor is used with an output list item of type character." { add AT to the topics of this subclause } { add AT to A or G } [269:12-13p1] in the sentence "The kind type parameter of all characters transferred and converted under control of one A or G edit descriptor is implied by the kind of the corresponding list item." [269:13] change "one A or G edit descriptor" to "one A, AT, or G edit descriptor" so the resulting sentence reads "The kind type parameter of all characters transferred and converted under control of one A, AT, or G edit descriptor is implied by the kind of the corresponding list item." { include AT in general rule } { add a paragraph describing what AT does } [269:24+] { after p4 before Note 1 } [269:24+] add a new p4+ "The field width for an AT edit descriptor is the length of the value of the output list item after any trailing blanks are removed. The output field consists of the value of the output list item after any trailing blanks are removed; if the value of the output list item is all blanks, the AT format produces no output." { finally state the effects } { end }