github.com/benhoyt/goawk@v1.8.1/testdata/gawk/parse1.awk (about)

     1  # Date: Fri, 06 Jan 2006 14:02:17 -0800
     2  # From: Paul Eggert <eggert@CS.UCLA.EDU>
     3  # Subject: gawk misparses $expr++ if expr ends in ++
     4  # To: bug-gawk@gnu.org
     5  # Message-id: <87irsxypzq.fsf@penguin.cs.ucla.edu>
     6  # 
     7  # Here's an example of the problem:
     8  # 
     9  # $ gawk 'BEGIN{a=3}{print $$a++++}'
    10  # gawk: {print $$a++++}
    11  # gawk:               ^ syntax error
    12  # 
    13  # But it's not a syntax error, as the expression conforms to the POSIX
    14  # spec: it should be treated like '$($a++)++'.
    15  # 
    16  # Mawk, Solaris awk (old awk), and Solaris nawk all accept the
    17  # expression.  For example:
    18  # 
    19  # $ echo '3 4 5 6 7 8 9' | nawk 'BEGIN{a=3}{print $$a++++}'
    20  # 7
    21  # 
    22  # This is with gawk 3.1.5 on Solaris 8 (sparc).
    23  # 
    24  # 
    25  # #####################################################################################
    26  # This Mail Was Scanned by 012.net AntiVirus Service1- Powered by TrendMicro Interscan
    27  # 
    28  BEGIN { a = 3 }
    29  
    30  {
    31  	print "in:", $0
    32  	print "a =", a
    33  	print $$a++++
    34  	print "out:", $0
    35  }