John Aycock correctly pointed out that the grammar for
"power" was formally ambiguous. Here's his fix.
diff --git a/Grammar/Grammar b/Grammar/Grammar
index 6ac0cbc..27cf1cb 100644
--- a/Grammar/Grammar
+++ b/Grammar/Grammar
@@ -79,7 +79,7 @@
arith_expr: term (('+'|'-') term)*
term: factor (('*'|'/'|'%'|'//') factor)*
factor: ('+'|'-'|'~') factor | power
-power: atom trailer* ('**' factor)*
+power: atom trailer* ['**' factor]
atom: '(' [testlist] ')' | '[' [listmaker] ']' | '{' [dictmaker] '}' | '`' testlist '`' | NAME | NUMBER | STRING+
listmaker: test ( list_for | (',' test)* [','] )
lambdef: 'lambda' [varargslist] ':' test
diff --git a/Misc/ACKS b/Misc/ACKS
index 5adfd51..2c1ad20 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -20,6 +20,7 @@
Ross Andrus
Jason Asbahr
David Ascher
+John Aycock
Donovan Baarda
Alfonso Baciero
Stig Bakken
diff --git a/Python/graminit.c b/Python/graminit.c
index 11e0705..b14fdf9 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -1005,15 +1005,14 @@
static arc arcs_48_2[1] = {
{119, 3},
};
-static arc arcs_48_3[2] = {
- {24, 2},
+static arc arcs_48_3[1] = {
{0, 3},
};
static state states_48[4] = {
{1, arcs_48_0},
{3, arcs_48_1},
{1, arcs_48_2},
- {2, arcs_48_3},
+ {1, arcs_48_3},
};
static arc arcs_49_0[7] = {
{16, 1},