J3/14-115r1 To: J3 From: Van Snyder & Robert Corbett Subject: UTI 001 Date: 2014 February 11 1. Edits for UTI 001 ==================== Malcolm suggested two edits to address UTI 001. Robert Corbett later suggested a third possible edit. All edits are against 14-007. 1.1 First alternative ===================== [107:9] In the first production in R538, replace "" by "". [107:20-21] Simplify C570. Delete "A ... ." Replace "the variable" by "the ." [107:26] Revise C572 to correspond to revised R538: Replace "" by "". [119:15+] Introduce the syntax term and an associated constraint. "R602a <> " "C602a (R602a) shall designate a variable." [160:22] In the first production in R737, replace "" by "". [160:24-25] Replace C725 "C725 (R737) shall designate a variable that has either the POINTER or TARGET attribute, and shall not be an array section with a vector subscript." 1.2 Second alternative ====================== [160:26] Replace C726 "C726 (R737) An shall be a reference to a function that returns a data pointer, and shall not have the form of a ." 1.3 Third alternative ===================== The syntax change suggested in the first alternative replaces one syntactic ambiguity with another. One form of is a that is a . A is also a . Therefore, there are two ways to derive a from a . The proposed constraints resolve the ambiguity, but similar constraints can be used to define a with no syntactic ambiguity. Simply replace the definition of a with <> and add a constraint that requires to be a designator or a reference to a function, together with the restrictions needed for the two cases. Edits ----- [160:22-23] Replace R737 with "R737 <> " [160:24-26] Replace C725 and C726 with "C725 (R737) The shall be a designator that designates a variable with either the TARGET or POINTER attribute and is not an array section with a vector subscript, or it shall be a reference to a function that returns a data pointer."