phil@cs.wwu.edu (Phil Nelson) (04/30/91)
Submitted-by: phil@cs.wwu.edu (Phil Nelson) Hello, I've been working on an implementation of bc and have been using the POSIX draft as a definition of the language. In working on the program, I have found several problems with the draft. I have P1003.2/D11 and any line number references are from that draft. The following are what I consider to be problems. If I am wrong, please help me understand what the committee intended. 1) The character '-' "shall" be recognized as both the token ADD_OP and the token '-'. lines: 1587, 1670, 1737, 1738, 1749-1751 2) Lines 1642-1644 are parameter_list : LETTER | define_list ',' LETTER I presume it should be parameter_list : LETTER | parameter_list ',' LETTER 3) Lines 1836-1838 state "A whole array passed as an argument shall be specified by the array name followed by empty square brackets." a) I find no provision in the grammar in the definition of the parameter list define a parameter as an array. (See lines 1642-1644.) b) No provision is made in the grammar for the specification of an array in the actual function call. (See 1657-1659.) I am interested in knowing if these have been noticed before and if there are changes to the draft. Phil Nelson phil@cs.wwu.edu Volume-Number: Volume 23, Number 53
rml@hpfcdc.fc.hp.com (Bob Lenk) (05/07/91)
Submitted-by: rml@hpfcdc.fc.hp.com (Bob Lenk) In article <131021@uunet.UU.NET>, phil@cs.wwu.edu (Phil Nelson) writes: > 1) The character '-' "shall" be recognized as both the token > ADD_OP and the token '-'. > lines: 1587, 1670, 1737, 1738, 1749-1751 The intention is that the minus character can be recognized as either unary minus or as a binary operator (with the same precedence as the other ADD_OP, binary +). The lexical specification is indeed ambiguous and incorrect. > 2) Lines 1642-1644 are > parameter_list : LETTER > | define_list ',' LETTER > I presume it should be > parameter_list : LETTER > | parameter_list ',' LETTER This was an error in preparation of Draft 10. The presumption is correct. > 3) Lines 1836-1838 state "A whole array passed as an argument > shall be specified by the array name followed by empty square > brackets." > a) I find no provision in the grammar in the definition of the > parameter list define a parameter as an array. (See lines > 1642-1644.) > b) No provision is made in the grammar for the specification of > an array in the actual function call. (See 1657-1659.) This was also an error in the preparation of Draft 10. The sentence in question was intended to be deleted. A reference to this feature in the grammar was deleted. This feature has been documented but not implemented in all historical versions of bc I have encountered. I was the terchnical editor for bc during the ballot that produced Draft 10. The three errors noted above are mine. It is interesting that they have gone unnoticed for this long (Draft 10 was distributed last summer, and a full ballot recirculation has completed). I am forwarding this message to the chair of P1003.2, effectively as ballot comments. Note that they do not include a resolution for problem (1). Those comments and this posting are made strictly as an individual. Bob Lenk rml@fc.hp.com {uunet,hplabs}!fc.hp.com!rml Volume-Number: Volume 23, Number 58