Subject: Clarifying "Keyword" J3/01-245r1 From: Kurt W. Hirchert (Meeting 157) 06 Jun 2001 ======== Overview ======== While working on issue 323, /data discovered a number of errors and infelicities on the draft related to the word "keyword". This document attempts to repair some of them: o Simplify 2.5.2 by grouping three of the meanings together. o Fix BNF error related to . o Fix font typo in BNF. o Fix a small number of inconsistent uses of the word keyword. o Change "component name keyword" to simply "component keyword" to be more consistent in terminology. o Delete unhelpful glossary entries. ===== Edits ===== [19:2-25] Replace the text of 2.5.2: {Note to Richard: some of this text comes from the existing 2.5.2; it is re-entered here to better allow J3 to see the effects of some fairly extensive edits.} "The term <> is used in two ways in this standard. (1) It is used to describe a word that is part of the syntax of a statement. These keywords are not reserved words; that is, names with the same spellings are allowed. In the syntax rules, such keywords appear literally. In descriptive text, this meaning is denoted by the term <> and by the use of the term keyword without any preceding modifier. Examples of statement keywords are: IF, READ, UNIT, KIND, and INTEGER. (2) It is used to denote names that identify items in a list. In argument lists, type parameter lists, and structure constructors, items may be identified by a preceding = rather their position within the list. An <> is the name of a dummy argument in the interface for the procedure being referenced, a <> is the name of a type parameter in the type being specified, and a <> is the name of a component in a structure constructor. R2XX <> NOTE 2.6 Use of keywords rather than position to identify items in a list can make such lists more readable and allows them to be reordered. This facilitates specification of a list in cases where optional items are omitted." [55:26/56:44/56:45/57:11] Change "component name keyword" to "component keyword". [56:28] Change "keyword" to "". [255:14] Delete R1220. {Replaced by R2XX in 2.5.2 above} [344:10] Change "keyword" to "argument keyword". [347:43] Change "keyword" to "type parameter keyword". [348:2] Change "keyword" to "component keyword". [397:28-29] Delete glossary entry for argument keyword. [399:12-13] Delete glossary entry for component name keyword. [403:27-28] Replace glossary entry for keyword with the following: "<> (2.5.2): A word that is part of the syntax of a statement or a name that is used to identify an item in a list." [406:36-37] Delete glossary entry for statement keyword. - end -