Email List: Xaustin-review-lX
[All Lists]

Defect in XCU awk

To: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
Subject: Defect in XCU awk
From: yyyyyy@xxxxxxxxxxx
Date: Tue, 13 Dec 2005 18:37:18 GMT
        Defect report from : Paul Eggert , UCLA

(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)

@ page 176 line 6875 section awk objection {20051213b}

Problem:

Edition of Specification (Year): 2004

Defect code :  1. Error

The expression (a++b) is ambiguous in the Awk grammar.  It can be
parsed either as ((a++)b) or as (a(++b)).  The disambiguation rules
do not address this issue.

Common practice (e.g., Solaris 10 nawk, GNU Awk) is to parse (a++b) as
if it were ((a++)b).


Action:

Insert the following after XCU page 176 line 6875.

* In case of ambiguity, a ++ or -- shall be associated with
  the previous subexpression, not the next subexpression.
  For example, (a++b) is parsed as if it were ((a++)b), not
  as (a(++b)).


Another possible fix is to rewrite the grammar by introducing some
extra productions.

<Prev in Thread] Current Thread [Next in Thread>