--- /dev/null
+import os
+import unittest
+
+
+class NamedExpressionInvalidTest(unittest.TestCase):
+
+ def test_named_expression_invalid_01(self):
+ code = """x := 0"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_02(self):
+ code = """x = y := 0"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_03(self):
+ code = """y := f(x)"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_04(self):
+ code = """y0 = y1 := f(x)"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_06(self):
+ code = """((a, b) := (1, 2))"""
+
+ with self.assertRaisesRegex(SyntaxError, "cannot use named assignment with tuple"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_07(self):
+ code = """def spam(a = b := 42): pass"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_08(self):
+ code = """def spam(a: b := 42 = 5): pass"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_09(self):
+ code = """spam(a=b := 'c')"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_10(self):
+ code = """spam(x = y := f(x))"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_11(self):
+ code = """spam(a=1, b := 2)"""
+
+ with self.assertRaisesRegex(SyntaxError,
+ "positional argument follows keyword argument"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_12(self):
+ code = """spam(a=1, (b := 2))"""
+
+ with self.assertRaisesRegex(SyntaxError,
+ "positional argument follows keyword argument"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_13(self):
+ code = """spam(a=1, (b := 2))"""
+
+ with self.assertRaisesRegex(SyntaxError,
+ "positional argument follows keyword argument"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_14(self):
+ code = """(x := lambda: y := 1)"""
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_15(self):
+ code = """(lambda: x := 1)"""
+
+ with self.assertRaisesRegex(SyntaxError,
+ "cannot use named assignment with lambda"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_16(self):
+ code = "[i + 1 for i in i := [1,2]]"
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_17(self):
+ code = "[i := 0, j := 1 for i, j in [(1, 2), (3, 4)]]"
+
+ with self.assertRaisesRegex(SyntaxError, "invalid syntax"):
+ exec(code, {}, {})
+
+ def test_named_expression_invalid_18(self):
+ code = """class Foo():
+ [(42, 1 + ((( j := i )))) for i in range(5)]
+ """
+
+ with self.assertRaisesRegex(TargetScopeError,
+ "named expression within a comprehension cannot be used in a class body"):
+ exec(code, {}, {})
+
+
+class NamedExpressionAssignmentTest(unittest.TestCase):
+
+ def test_named_expression_assignment_01(self):
+ (a := 10)
+
+ self.assertEqual(a, 10)
+
+ def test_named_expression_assignment_02(self):
+ a = 20
+ (a := a)
+
+ self.assertEqual(a, 20)
+
+ def test_named_expression_assignment_03(self):
+ (total := 1 + 2)
+
+ self.assertEqual(total, 3)
+
+ def test_named_expression_assignment_04(self):
+ (info := (1, 2, 3))
+
+ self.assertEqual(info, (1, 2, 3))
+
+ def test_named_expression_assignment_05(self):
+ (x := 1, 2)
+
+ self.assertEqual(x, 1)
+
+ def test_named_expression_assignment_06(self):
+ (z := (y := (x := 0)))
+
+ self.assertEqual(x, 0)
+ self.assertEqual(y, 0)
+ self.assertEqual(z, 0)
+
+ def test_named_expression_assignment_07(self):
+ (loc := (1, 2))
+
+ self.assertEqual(loc, (1, 2))
+
+ def test_named_expression_assignment_08(self):
+ if spam := "eggs":
+ self.assertEqual(spam, "eggs")
+ else: self.fail("variable was not assigned using named expression")
+
+ def test_named_expression_assignment_09(self):
+ if True and (spam := True):
+ self.assertTrue(spam)
+ else: self.fail("variable was not assigned using named expression")
+
+ def test_named_expression_assignment_10(self):
+ if (match := 10) is 10:
+ pass
+ else: self.fail("variable was not assigned using named expression")
+
+ def test_named_expression_assignment_11(self):
+ def spam(a):
+ return a
+ input_data = [1, 2, 3]
+ res = [(x, y, x/y) for x in input_data if (y := spam(x)) > 0]
+
+ self.assertEqual(res, [(1, 1, 1.0), (2, 2, 1.0), (3, 3, 1.0)])
+
+ def test_named_expression_assignment_12(self):
+ def spam(a):
+ return a
+ res = [[y := spam(x), x/y] for x in range(1, 5)]
+
+ self.assertEqual(res, [[1, 1.0], [2, 1.0], [3, 1.0], [4, 1.0]])
+
+ def test_named_expression_assignment_13(self):
+ length = len(lines := [1, 2])
+
+ self.assertEqual(length, 2)
+ self.assertEqual(lines, [1,2])
+
+ def test_named_expression_assignment_14(self):
+ """
+ Where all variables are positive integers, and a is at least as large
+ as the n'th root of x, this algorithm returns the floor of the n'th
+ root of x (and roughly doubling the number of accurate bits per
+ iteration)::
+ """
+ a = 9
+ n = 2
+ x = 3
+
+ while a > (d := x // a**(n-1)):
+ a = ((n-1)*a + d) // n
+
+ self.assertEqual(a, 1)
+
+
+class NamedExpressionScopeTest(unittest.TestCase):
+
+ def test_named_expression_scope_01(self):
+ code = """def spam():
+ (a := 5)
+print(a)"""
+
+ with self.assertRaisesRegex(NameError, "name 'a' is not defined"):
+ exec(code, {}, {})
+
+ def test_named_expression_scope_02(self):
+ total = 0
+ partial_sums = [total := total + v for v in range(5)]
+
+ self.assertEqual(partial_sums, [0, 1, 3, 6, 10])
+ self.assertEqual(total, 10)
+
+ def test_named_expression_scope_03(self):
+ containsOne = any((lastNum := num) == 1 for num in [1, 2, 3])
+
+ self.assertTrue(containsOne)
+ self.assertEqual(lastNum, 1)
+
+ def test_named_expression_scope_04(self):
+ def spam(a):
+ return a
+ res = [[y := spam(x), x/y] for x in range(1, 5)]
+
+ self.assertEqual(y, 4)
+
+ def test_named_expression_scope_05(self):
+ def spam(a):
+ return a
+ input_data = [1, 2, 3]
+ res = [(x, y, x/y) for x in input_data if (y := spam(x)) > 0]
+
+ self.assertEqual(res, [(1, 1, 1.0), (2, 2, 1.0), (3, 3, 1.0)])
+ self.assertEqual(y, 3)
+
+ def test_named_expression_scope_06(self):
+ res = [[spam := i for i in range(3)] for j in range(2)]
+
+ self.assertEqual(res, [[0, 1, 2], [0, 1, 2]])
+ self.assertEqual(spam, 2)
+
+ def test_named_expression_scope_07(self):
+ len(lines := [1, 2])
+
+ self.assertEqual(lines, [1, 2])
+
+ def test_named_expression_scope_08(self):
+ def spam(a):
+ return a
+
+ def eggs(b):
+ return b * 2
+
+ res = [spam(a := eggs(b := h)) for h in range(2)]
+
+ self.assertEqual(res, [0, 2])
+ self.assertEqual(a, 2)
+ self.assertEqual(b, 1)
+
+ def test_named_expression_scope_09(self):
+ def spam(a):
+ return a
+
+ def eggs(b):
+ return b * 2
+
+ res = [spam(a := eggs(a := h)) for h in range(2)]
+
+ self.assertEqual(res, [0, 2])
+ self.assertEqual(a, 2)
+
+ def test_named_expression_scope_10(self):
+ res = [b := [a := 1 for i in range(2)] for j in range(2)]
+
+ self.assertEqual(res, [[1, 1], [1, 1]])
+ self.assertEqual(a, 1)
+ self.assertEqual(b, [1, 1])
+
+ def test_named_expression_scope_11(self):
+ res = [j := i for i in range(5)]
+
+ self.assertEqual(res, [0, 1, 2, 3, 4])
+ self.assertEqual(j, 4)
+
+ def test_named_expression_scope_12(self):
+ res = [i := i for i in range(5)]
+
+ self.assertEqual(res, [0, 1, 2, 3, 4])
+ self.assertEqual(i, 4)
+
+ def test_named_expression_scope_13(self):
+ res = [i := 0 for i, j in [(1, 2), (3, 4)]]
+
+ self.assertEqual(res, [0, 0])
+ self.assertEqual(i, 0)
+
+ def test_named_expression_scope_14(self):
+ res = [(i := 0, j := 1) for i, j in [(1, 2), (3, 4)]]
+
+ self.assertEqual(res, [(0, 1), (0, 1)])
+ self.assertEqual(i, 0)
+ self.assertEqual(j, 1)
+
+ def test_named_expression_scope_15(self):
+ res = [(i := i, j := j) for i, j in [(1, 2), (3, 4)]]
+
+ self.assertEqual(res, [(1, 2), (3, 4)])
+ self.assertEqual(i, 3)
+ self.assertEqual(j, 4)
+
+ def test_named_expression_scope_16(self):
+ res = [(i := j, j := i) for i, j in [(1, 2), (3, 4)]]
+
+ self.assertEqual(res, [(2, 2), (4, 4)])
+ self.assertEqual(i, 4)
+ self.assertEqual(j, 4)
+
+ def test_named_expression_scope_17(self):
+ b = 0
+ res = [b := i + b for i in range(5)]
+
+ self.assertEqual(res, [0, 1, 3, 6, 10])
+ self.assertEqual(b, 10)
+
+ def test_named_expression_scope_18(self):
+ def spam(a):
+ return a
+
+ res = spam(b := 2)
+
+ self.assertEqual(res, 2)
+ self.assertEqual(b, 2)
+
+ def test_named_expression_scope_19(self):
+ def spam(a):
+ return a
+
+ res = spam((b := 2))
+
+ self.assertEqual(res, 2)
+ self.assertEqual(b, 2)
+
+ def test_named_expression_scope_20(self):
+ def spam(a):
+ return a
+
+ res = spam(a=(b := 2))
+
+ self.assertEqual(res, 2)
+ self.assertEqual(b, 2)
+
+ def test_named_expression_scope_21(self):
+ def spam(a, b):
+ return a + b
+
+ res = spam(c := 2, b=1)
+
+ self.assertEqual(res, 3)
+ self.assertEqual(c, 2)
+
+ def test_named_expression_scope_22(self):
+ def spam(a, b):
+ return a + b
+
+ res = spam((c := 2), b=1)
+
+ self.assertEqual(res, 3)
+ self.assertEqual(c, 2)
+
+ def test_named_expression_scope_23(self):
+ def spam(a, b):
+ return a + b
+
+ res = spam(b=(c := 2), a=1)
+
+ self.assertEqual(res, 3)
+ self.assertEqual(c, 2)
+
+ def test_named_expression_scope_24(self):
+ a = 10
+ def spam():
+ nonlocal a
+ (a := 20)
+ spam()
+
+ self.assertEqual(a, 20)
+
+ def test_named_expression_scope_25(self):
+ ns = {}
+ code = """a = 10
+def spam():
+ global a
+ (a := 20)
+spam()"""
+
+ exec(code, ns, {})
+
+ self.assertEqual(ns["a"], 20)
+
+
+if __name__ == "__main__":
+ unittest.main()
{97, 1},
};
static arc arcs_41_1[1] = {
- {26, 2},
+ {98, 2},
};
static arc arcs_41_2[1] = {
{27, 3},
{28, 4},
};
static arc arcs_41_4[3] = {
- {98, 1},
- {99, 5},
+ {99, 1},
+ {100, 5},
{0, 4},
};
static arc arcs_41_5[1] = {
{1, arcs_41_7},
};
static arc arcs_42_0[1] = {
- {100, 1},
+ {101, 1},
};
static arc arcs_42_1[1] = {
{26, 2},
{28, 4},
};
static arc arcs_42_4[2] = {
- {99, 5},
+ {100, 5},
{0, 4},
};
static arc arcs_42_5[1] = {
{1, arcs_42_7},
};
static arc arcs_43_0[1] = {
- {101, 1},
+ {102, 1},
};
static arc arcs_43_1[1] = {
{66, 2},
};
static arc arcs_43_2[1] = {
- {102, 3},
+ {103, 3},
};
static arc arcs_43_3[1] = {
{9, 4},
{28, 6},
};
static arc arcs_43_6[2] = {
- {99, 7},
+ {100, 7},
{0, 6},
};
static arc arcs_43_7[1] = {
{1, arcs_43_9},
};
static arc arcs_44_0[1] = {
- {103, 1},
+ {104, 1},
};
static arc arcs_44_1[1] = {
{27, 2},
{28, 3},
};
static arc arcs_44_3[2] = {
- {104, 4},
- {105, 5},
+ {105, 4},
+ {106, 5},
};
static arc arcs_44_4[1] = {
{27, 6},
{28, 9},
};
static arc arcs_44_8[4] = {
- {104, 4},
- {99, 10},
- {105, 5},
+ {105, 4},
+ {100, 10},
+ {106, 5},
{0, 8},
};
static arc arcs_44_9[1] = {
{28, 12},
};
static arc arcs_44_12[2] = {
- {105, 5},
+ {106, 5},
{0, 12},
};
static state states_44[13] = {
{2, arcs_44_12},
};
static arc arcs_45_0[1] = {
- {106, 1},
+ {107, 1},
};
static arc arcs_45_1[1] = {
- {107, 2},
+ {108, 2},
};
static arc arcs_45_2[2] = {
{32, 1},
{0, 1},
};
static arc arcs_46_2[1] = {
- {108, 3},
+ {109, 3},
};
static arc arcs_46_3[1] = {
{0, 3},
{1, arcs_46_3},
};
static arc arcs_47_0[1] = {
- {109, 1},
+ {110, 1},
};
static arc arcs_47_1[2] = {
{26, 2},
{0, 1},
};
static arc arcs_48_2[1] = {
- {110, 3},
+ {111, 3},
};
static arc arcs_48_3[1] = {
{6, 4},
};
static arc arcs_48_4[2] = {
{6, 4},
- {111, 1},
+ {112, 1},
};
static state states_48[5] = {
{2, arcs_48_0},
{1, arcs_48_3},
{2, arcs_48_4},
};
-static arc arcs_49_0[2] = {
- {112, 1},
- {113, 2},
+static arc arcs_49_0[1] = {
+ {26, 1},
};
static arc arcs_49_1[2] = {
- {97, 3},
+ {113, 2},
{0, 1},
};
static arc arcs_49_2[1] = {
- {0, 2},
+ {26, 3},
};
static arc arcs_49_3[1] = {
- {112, 4},
-};
-static arc arcs_49_4[1] = {
- {99, 5},
-};
-static arc arcs_49_5[1] = {
- {26, 2},
+ {0, 3},
};
-static state states_49[6] = {
- {2, arcs_49_0},
+static state states_49[4] = {
+ {1, arcs_49_0},
{2, arcs_49_1},
{1, arcs_49_2},
{1, arcs_49_3},
- {1, arcs_49_4},
- {1, arcs_49_5},
};
static arc arcs_50_0[2] = {
- {112, 1},
- {115, 1},
+ {114, 1},
+ {115, 2},
};
-static arc arcs_50_1[1] = {
+static arc arcs_50_1[2] = {
+ {97, 3},
{0, 1},
};
-static state states_50[2] = {
- {2, arcs_50_0},
- {1, arcs_50_1},
+static arc arcs_50_2[1] = {
+ {0, 2},
};
-static arc arcs_51_0[1] = {
- {116, 1},
+static arc arcs_50_3[1] = {
+ {114, 4},
};
-static arc arcs_51_1[2] = {
- {35, 2},
- {27, 3},
+static arc arcs_50_4[1] = {
+ {100, 5},
};
-static arc arcs_51_2[1] = {
- {27, 3},
+static arc arcs_50_5[1] = {
+ {26, 2},
};
-static arc arcs_51_3[1] = {
- {26, 4},
+static state states_50[6] = {
+ {2, arcs_50_0},
+ {2, arcs_50_1},
+ {1, arcs_50_2},
+ {1, arcs_50_3},
+ {1, arcs_50_4},
+ {1, arcs_50_5},
+};
+static arc arcs_51_0[2] = {
+ {114, 1},
+ {117, 1},
};
-static arc arcs_51_4[1] = {
- {0, 4},
+static arc arcs_51_1[1] = {
+ {0, 1},
};
-static state states_51[5] = {
- {1, arcs_51_0},
- {2, arcs_51_1},
- {1, arcs_51_2},
- {1, arcs_51_3},
- {1, arcs_51_4},
+static state states_51[2] = {
+ {2, arcs_51_0},
+ {1, arcs_51_1},
};
static arc arcs_52_0[1] = {
- {116, 1},
+ {118, 1},
};
static arc arcs_52_1[2] = {
{35, 2},
{27, 3},
};
static arc arcs_52_3[1] = {
- {114, 4},
+ {26, 4},
};
static arc arcs_52_4[1] = {
{0, 4},
{1, arcs_52_4},
};
static arc arcs_53_0[1] = {
- {117, 1},
+ {118, 1},
};
static arc arcs_53_1[2] = {
- {118, 0},
- {0, 1},
+ {35, 2},
+ {27, 3},
+};
+static arc arcs_53_2[1] = {
+ {27, 3},
+};
+static arc arcs_53_3[1] = {
+ {116, 4},
};
-static state states_53[2] = {
+static arc arcs_53_4[1] = {
+ {0, 4},
+};
+static state states_53[5] = {
{1, arcs_53_0},
{2, arcs_53_1},
+ {1, arcs_53_2},
+ {1, arcs_53_3},
+ {1, arcs_53_4},
};
static arc arcs_54_0[1] = {
{119, 1},
{1, arcs_54_0},
{2, arcs_54_1},
};
-static arc arcs_55_0[2] = {
+static arc arcs_55_0[1] = {
{121, 1},
- {122, 2},
};
-static arc arcs_55_1[1] = {
- {119, 2},
+static arc arcs_55_1[2] = {
+ {122, 0},
+ {0, 1},
+};
+static state states_55[2] = {
+ {1, arcs_55_0},
+ {2, arcs_55_1},
};
-static arc arcs_55_2[1] = {
+static arc arcs_56_0[2] = {
+ {123, 1},
+ {124, 2},
+};
+static arc arcs_56_1[1] = {
+ {121, 2},
+};
+static arc arcs_56_2[1] = {
{0, 2},
};
-static state states_55[3] = {
- {2, arcs_55_0},
- {1, arcs_55_1},
- {1, arcs_55_2},
+static state states_56[3] = {
+ {2, arcs_56_0},
+ {1, arcs_56_1},
+ {1, arcs_56_2},
};
-static arc arcs_56_0[1] = {
- {108, 1},
+static arc arcs_57_0[1] = {
+ {109, 1},
};
-static arc arcs_56_1[2] = {
- {123, 0},
+static arc arcs_57_1[2] = {
+ {125, 0},
{0, 1},
};
-static state states_56[2] = {
- {1, arcs_56_0},
- {2, arcs_56_1},
+static state states_57[2] = {
+ {1, arcs_57_0},
+ {2, arcs_57_1},
};
-static arc arcs_57_0[10] = {
- {124, 1},
- {125, 1},
+static arc arcs_58_0[10] = {
{126, 1},
{127, 1},
{128, 1},
{129, 1},
{130, 1},
- {102, 1},
- {121, 2},
- {131, 3},
+ {131, 1},
+ {132, 1},
+ {103, 1},
+ {123, 2},
+ {133, 3},
};
-static arc arcs_57_1[1] = {
+static arc arcs_58_1[1] = {
{0, 1},
};
-static arc arcs_57_2[1] = {
- {102, 1},
+static arc arcs_58_2[1] = {
+ {103, 1},
};
-static arc arcs_57_3[2] = {
- {121, 1},
+static arc arcs_58_3[2] = {
+ {123, 1},
{0, 3},
};
-static state states_57[4] = {
- {10, arcs_57_0},
- {1, arcs_57_1},
- {1, arcs_57_2},
- {2, arcs_57_3},
-};
-static arc arcs_58_0[1] = {
- {33, 1},
-};
-static arc arcs_58_1[1] = {
- {108, 2},
-};
-static arc arcs_58_2[1] = {
- {0, 2},
-};
-static state states_58[3] = {
- {1, arcs_58_0},
+static state states_58[4] = {
+ {10, arcs_58_0},
{1, arcs_58_1},
{1, arcs_58_2},
+ {2, arcs_58_3},
};
static arc arcs_59_0[1] = {
- {132, 1},
+ {33, 1},
};
-static arc arcs_59_1[2] = {
- {133, 0},
- {0, 1},
+static arc arcs_59_1[1] = {
+ {109, 2},
};
-static state states_59[2] = {
+static arc arcs_59_2[1] = {
+ {0, 2},
+};
+static state states_59[3] = {
{1, arcs_59_0},
- {2, arcs_59_1},
+ {1, arcs_59_1},
+ {1, arcs_59_2},
};
static arc arcs_60_0[1] = {
{134, 1},
static arc arcs_62_0[1] = {
{138, 1},
};
-static arc arcs_62_1[3] = {
+static arc arcs_62_1[2] = {
{139, 0},
- {140, 0},
{0, 1},
};
static state states_62[2] = {
{1, arcs_62_0},
- {3, arcs_62_1},
+ {2, arcs_62_1},
};
static arc arcs_63_0[1] = {
- {141, 1},
+ {140, 1},
};
static arc arcs_63_1[3] = {
+ {141, 0},
{142, 0},
- {143, 0},
{0, 1},
};
static state states_63[2] = {
{3, arcs_63_1},
};
static arc arcs_64_0[1] = {
- {144, 1},
+ {143, 1},
};
-static arc arcs_64_1[6] = {
- {33, 0},
- {11, 0},
+static arc arcs_64_1[3] = {
+ {144, 0},
{145, 0},
- {146, 0},
- {147, 0},
{0, 1},
};
static state states_64[2] = {
{1, arcs_64_0},
- {6, arcs_64_1},
+ {3, arcs_64_1},
};
-static arc arcs_65_0[4] = {
- {142, 1},
- {143, 1},
- {148, 1},
- {149, 2},
+static arc arcs_65_0[1] = {
+ {146, 1},
};
-static arc arcs_65_1[1] = {
- {144, 2},
+static arc arcs_65_1[6] = {
+ {33, 0},
+ {11, 0},
+ {147, 0},
+ {148, 0},
+ {149, 0},
+ {0, 1},
};
-static arc arcs_65_2[1] = {
+static state states_65[2] = {
+ {1, arcs_65_0},
+ {6, arcs_65_1},
+};
+static arc arcs_66_0[4] = {
+ {144, 1},
+ {145, 1},
+ {150, 1},
+ {151, 2},
+};
+static arc arcs_66_1[1] = {
+ {146, 2},
+};
+static arc arcs_66_2[1] = {
{0, 2},
};
-static state states_65[3] = {
- {4, arcs_65_0},
- {1, arcs_65_1},
- {1, arcs_65_2},
+static state states_66[3] = {
+ {4, arcs_66_0},
+ {1, arcs_66_1},
+ {1, arcs_66_2},
};
-static arc arcs_66_0[1] = {
- {150, 1},
+static arc arcs_67_0[1] = {
+ {152, 1},
};
-static arc arcs_66_1[2] = {
+static arc arcs_67_1[2] = {
{34, 2},
{0, 1},
};
-static arc arcs_66_2[1] = {
- {144, 3},
+static arc arcs_67_2[1] = {
+ {146, 3},
};
-static arc arcs_66_3[1] = {
+static arc arcs_67_3[1] = {
{0, 3},
};
-static state states_66[4] = {
- {1, arcs_66_0},
- {2, arcs_66_1},
- {1, arcs_66_2},
- {1, arcs_66_3},
+static state states_67[4] = {
+ {1, arcs_67_0},
+ {2, arcs_67_1},
+ {1, arcs_67_2},
+ {1, arcs_67_3},
};
-static arc arcs_67_0[2] = {
- {151, 1},
- {152, 2},
+static arc arcs_68_0[2] = {
+ {153, 1},
+ {154, 2},
};
-static arc arcs_67_1[1] = {
- {152, 2},
+static arc arcs_68_1[1] = {
+ {154, 2},
};
-static arc arcs_67_2[2] = {
- {153, 2},
+static arc arcs_68_2[2] = {
+ {155, 2},
{0, 2},
};
-static state states_67[3] = {
- {2, arcs_67_0},
- {1, arcs_67_1},
- {2, arcs_67_2},
+static state states_68[3] = {
+ {2, arcs_68_0},
+ {1, arcs_68_1},
+ {2, arcs_68_2},
};
-static arc arcs_68_0[10] = {
+static arc arcs_69_0[10] = {
{13, 1},
- {155, 2},
- {157, 3},
+ {157, 2},
+ {159, 3},
{23, 4},
- {160, 4},
- {161, 5},
- {83, 4},
{162, 4},
- {163, 4},
+ {163, 5},
+ {83, 4},
{164, 4},
+ {165, 4},
+ {166, 4},
};
-static arc arcs_68_1[3] = {
+static arc arcs_69_1[3] = {
{50, 6},
- {154, 6},
+ {156, 6},
{15, 4},
};
-static arc arcs_68_2[2] = {
- {154, 7},
- {156, 4},
+static arc arcs_69_2[2] = {
+ {156, 7},
+ {158, 4},
};
-static arc arcs_68_3[2] = {
- {158, 8},
- {159, 4},
+static arc arcs_69_3[2] = {
+ {160, 8},
+ {161, 4},
};
-static arc arcs_68_4[1] = {
+static arc arcs_69_4[1] = {
{0, 4},
};
-static arc arcs_68_5[2] = {
- {161, 5},
+static arc arcs_69_5[2] = {
+ {163, 5},
{0, 5},
};
-static arc arcs_68_6[1] = {
+static arc arcs_69_6[1] = {
{15, 4},
};
-static arc arcs_68_7[1] = {
- {156, 4},
+static arc arcs_69_7[1] = {
+ {158, 4},
};
-static arc arcs_68_8[1] = {
- {159, 4},
+static arc arcs_69_8[1] = {
+ {161, 4},
};
-static state states_68[9] = {
- {10, arcs_68_0},
- {3, arcs_68_1},
- {2, arcs_68_2},
- {2, arcs_68_3},
- {1, arcs_68_4},
- {2, arcs_68_5},
- {1, arcs_68_6},
- {1, arcs_68_7},
- {1, arcs_68_8},
-};
-static arc arcs_69_0[2] = {
- {26, 1},
+static state states_69[9] = {
+ {10, arcs_69_0},
+ {3, arcs_69_1},
+ {2, arcs_69_2},
+ {2, arcs_69_3},
+ {1, arcs_69_4},
+ {2, arcs_69_5},
+ {1, arcs_69_6},
+ {1, arcs_69_7},
+ {1, arcs_69_8},
+};
+static arc arcs_70_0[2] = {
+ {98, 1},
{51, 1},
};
-static arc arcs_69_1[3] = {
- {165, 2},
+static arc arcs_70_1[3] = {
+ {167, 2},
{32, 3},
{0, 1},
};
-static arc arcs_69_2[1] = {
+static arc arcs_70_2[1] = {
{0, 2},
};
-static arc arcs_69_3[3] = {
- {26, 4},
+static arc arcs_70_3[3] = {
+ {98, 4},
{51, 4},
{0, 3},
};
-static arc arcs_69_4[2] = {
+static arc arcs_70_4[2] = {
{32, 3},
{0, 4},
};
-static state states_69[5] = {
- {2, arcs_69_0},
- {3, arcs_69_1},
- {1, arcs_69_2},
- {3, arcs_69_3},
- {2, arcs_69_4},
+static state states_70[5] = {
+ {2, arcs_70_0},
+ {3, arcs_70_1},
+ {1, arcs_70_2},
+ {3, arcs_70_3},
+ {2, arcs_70_4},
};
-static arc arcs_70_0[3] = {
+static arc arcs_71_0[3] = {
{13, 1},
- {155, 2},
+ {157, 2},
{82, 3},
};
-static arc arcs_70_1[2] = {
+static arc arcs_71_1[2] = {
{14, 4},
{15, 5},
};
-static arc arcs_70_2[1] = {
- {166, 6},
+static arc arcs_71_2[1] = {
+ {168, 6},
};
-static arc arcs_70_3[1] = {
+static arc arcs_71_3[1] = {
{23, 5},
};
-static arc arcs_70_4[1] = {
+static arc arcs_71_4[1] = {
{15, 5},
};
-static arc arcs_70_5[1] = {
+static arc arcs_71_5[1] = {
{0, 5},
};
-static arc arcs_70_6[1] = {
- {156, 5},
+static arc arcs_71_6[1] = {
+ {158, 5},
};
-static state states_70[7] = {
- {3, arcs_70_0},
- {2, arcs_70_1},
- {1, arcs_70_2},
- {1, arcs_70_3},
- {1, arcs_70_4},
- {1, arcs_70_5},
- {1, arcs_70_6},
+static state states_71[7] = {
+ {3, arcs_71_0},
+ {2, arcs_71_1},
+ {1, arcs_71_2},
+ {1, arcs_71_3},
+ {1, arcs_71_4},
+ {1, arcs_71_5},
+ {1, arcs_71_6},
};
-static arc arcs_71_0[1] = {
- {167, 1},
+static arc arcs_72_0[1] = {
+ {169, 1},
};
-static arc arcs_71_1[2] = {
+static arc arcs_72_1[2] = {
{32, 2},
{0, 1},
};
-static arc arcs_71_2[2] = {
- {167, 1},
+static arc arcs_72_2[2] = {
+ {169, 1},
{0, 2},
};
-static state states_71[3] = {
- {1, arcs_71_0},
- {2, arcs_71_1},
- {2, arcs_71_2},
+static state states_72[3] = {
+ {1, arcs_72_0},
+ {2, arcs_72_1},
+ {2, arcs_72_2},
};
-static arc arcs_72_0[2] = {
+static arc arcs_73_0[2] = {
{26, 1},
{27, 2},
};
-static arc arcs_72_1[2] = {
+static arc arcs_73_1[2] = {
{27, 2},
{0, 1},
};
-static arc arcs_72_2[3] = {
+static arc arcs_73_2[3] = {
{26, 3},
- {168, 4},
+ {170, 4},
{0, 2},
};
-static arc arcs_72_3[2] = {
- {168, 4},
+static arc arcs_73_3[2] = {
+ {170, 4},
{0, 3},
};
-static arc arcs_72_4[1] = {
+static arc arcs_73_4[1] = {
{0, 4},
};
-static state states_72[5] = {
- {2, arcs_72_0},
- {2, arcs_72_1},
- {3, arcs_72_2},
- {2, arcs_72_3},
- {1, arcs_72_4},
+static state states_73[5] = {
+ {2, arcs_73_0},
+ {2, arcs_73_1},
+ {3, arcs_73_2},
+ {2, arcs_73_3},
+ {1, arcs_73_4},
};
-static arc arcs_73_0[1] = {
+static arc arcs_74_0[1] = {
{27, 1},
};
-static arc arcs_73_1[2] = {
+static arc arcs_74_1[2] = {
{26, 2},
{0, 1},
};
-static arc arcs_73_2[1] = {
+static arc arcs_74_2[1] = {
{0, 2},
};
-static state states_73[3] = {
- {1, arcs_73_0},
- {2, arcs_73_1},
- {1, arcs_73_2},
+static state states_74[3] = {
+ {1, arcs_74_0},
+ {2, arcs_74_1},
+ {1, arcs_74_2},
};
-static arc arcs_74_0[2] = {
- {108, 1},
+static arc arcs_75_0[2] = {
+ {109, 1},
{51, 1},
};
-static arc arcs_74_1[2] = {
+static arc arcs_75_1[2] = {
{32, 2},
{0, 1},
};
-static arc arcs_74_2[3] = {
- {108, 1},
+static arc arcs_75_2[3] = {
+ {109, 1},
{51, 1},
{0, 2},
};
-static state states_74[3] = {
- {2, arcs_74_0},
- {2, arcs_74_1},
- {3, arcs_74_2},
+static state states_75[3] = {
+ {2, arcs_75_0},
+ {2, arcs_75_1},
+ {3, arcs_75_2},
};
-static arc arcs_75_0[1] = {
+static arc arcs_76_0[1] = {
{26, 1},
};
-static arc arcs_75_1[2] = {
+static arc arcs_76_1[2] = {
{32, 2},
{0, 1},
};
-static arc arcs_75_2[2] = {
+static arc arcs_76_2[2] = {
{26, 1},
{0, 2},
};
-static state states_75[3] = {
- {1, arcs_75_0},
- {2, arcs_75_1},
- {2, arcs_75_2},
+static state states_76[3] = {
+ {1, arcs_76_0},
+ {2, arcs_76_1},
+ {2, arcs_76_2},
};
-static arc arcs_76_0[3] = {
+static arc arcs_77_0[3] = {
{26, 1},
{34, 2},
{51, 3},
};
-static arc arcs_76_1[4] = {
+static arc arcs_77_1[4] = {
{27, 4},
- {165, 5},
+ {167, 5},
{32, 6},
{0, 1},
};
-static arc arcs_76_2[1] = {
- {108, 7},
+static arc arcs_77_2[1] = {
+ {109, 7},
};
-static arc arcs_76_3[3] = {
- {165, 5},
+static arc arcs_77_3[3] = {
+ {167, 5},
{32, 6},
{0, 3},
};
-static arc arcs_76_4[1] = {
+static arc arcs_77_4[1] = {
{26, 7},
};
-static arc arcs_76_5[1] = {
+static arc arcs_77_5[1] = {
{0, 5},
};
-static arc arcs_76_6[3] = {
+static arc arcs_77_6[3] = {
{26, 8},
{51, 8},
{0, 6},
};
-static arc arcs_76_7[3] = {
- {165, 5},
+static arc arcs_77_7[3] = {
+ {167, 5},
{32, 9},
{0, 7},
};
-static arc arcs_76_8[2] = {
+static arc arcs_77_8[2] = {
{32, 6},
{0, 8},
};
-static arc arcs_76_9[3] = {
+static arc arcs_77_9[3] = {
{26, 10},
{34, 11},
{0, 9},
};
-static arc arcs_76_10[1] = {
+static arc arcs_77_10[1] = {
{27, 12},
};
-static arc arcs_76_11[1] = {
- {108, 13},
+static arc arcs_77_11[1] = {
+ {109, 13},
};
-static arc arcs_76_12[1] = {
+static arc arcs_77_12[1] = {
{26, 13},
};
-static arc arcs_76_13[2] = {
+static arc arcs_77_13[2] = {
{32, 9},
{0, 13},
};
-static state states_76[14] = {
- {3, arcs_76_0},
- {4, arcs_76_1},
- {1, arcs_76_2},
- {3, arcs_76_3},
- {1, arcs_76_4},
- {1, arcs_76_5},
- {3, arcs_76_6},
- {3, arcs_76_7},
- {2, arcs_76_8},
- {3, arcs_76_9},
- {1, arcs_76_10},
- {1, arcs_76_11},
- {1, arcs_76_12},
- {2, arcs_76_13},
-};
-static arc arcs_77_0[1] = {
- {169, 1},
+static state states_77[14] = {
+ {3, arcs_77_0},
+ {4, arcs_77_1},
+ {1, arcs_77_2},
+ {3, arcs_77_3},
+ {1, arcs_77_4},
+ {1, arcs_77_5},
+ {3, arcs_77_6},
+ {3, arcs_77_7},
+ {2, arcs_77_8},
+ {3, arcs_77_9},
+ {1, arcs_77_10},
+ {1, arcs_77_11},
+ {1, arcs_77_12},
+ {2, arcs_77_13},
};
-static arc arcs_77_1[1] = {
+static arc arcs_78_0[1] = {
+ {171, 1},
+};
+static arc arcs_78_1[1] = {
{23, 2},
};
-static arc arcs_77_2[2] = {
+static arc arcs_78_2[2] = {
{13, 3},
{27, 4},
};
-static arc arcs_77_3[2] = {
+static arc arcs_78_3[2] = {
{14, 5},
{15, 6},
};
-static arc arcs_77_4[1] = {
+static arc arcs_78_4[1] = {
{28, 7},
};
-static arc arcs_77_5[1] = {
+static arc arcs_78_5[1] = {
{15, 6},
};
-static arc arcs_77_6[1] = {
+static arc arcs_78_6[1] = {
{27, 4},
};
-static arc arcs_77_7[1] = {
+static arc arcs_78_7[1] = {
{0, 7},
};
-static state states_77[8] = {
- {1, arcs_77_0},
- {1, arcs_77_1},
- {2, arcs_77_2},
- {2, arcs_77_3},
- {1, arcs_77_4},
- {1, arcs_77_5},
- {1, arcs_77_6},
- {1, arcs_77_7},
+static state states_78[8] = {
+ {1, arcs_78_0},
+ {1, arcs_78_1},
+ {2, arcs_78_2},
+ {2, arcs_78_3},
+ {1, arcs_78_4},
+ {1, arcs_78_5},
+ {1, arcs_78_6},
+ {1, arcs_78_7},
};
-static arc arcs_78_0[1] = {
- {170, 1},
+static arc arcs_79_0[1] = {
+ {172, 1},
};
-static arc arcs_78_1[2] = {
+static arc arcs_79_1[2] = {
{32, 2},
{0, 1},
};
-static arc arcs_78_2[2] = {
- {170, 1},
+static arc arcs_79_2[2] = {
+ {172, 1},
{0, 2},
};
-static state states_78[3] = {
- {1, arcs_78_0},
- {2, arcs_78_1},
- {2, arcs_78_2},
+static state states_79[3] = {
+ {1, arcs_79_0},
+ {2, arcs_79_1},
+ {2, arcs_79_2},
};
-static arc arcs_79_0[3] = {
+static arc arcs_80_0[3] = {
{26, 1},
{34, 2},
{33, 2},
};
-static arc arcs_79_1[3] = {
- {165, 3},
+static arc arcs_80_1[4] = {
+ {167, 3},
+ {113, 2},
{31, 2},
{0, 1},
};
-static arc arcs_79_2[1] = {
+static arc arcs_80_2[1] = {
{26, 3},
};
-static arc arcs_79_3[1] = {
+static arc arcs_80_3[1] = {
{0, 3},
};
-static state states_79[4] = {
- {3, arcs_79_0},
- {3, arcs_79_1},
- {1, arcs_79_2},
- {1, arcs_79_3},
+static state states_80[4] = {
+ {3, arcs_80_0},
+ {4, arcs_80_1},
+ {1, arcs_80_2},
+ {1, arcs_80_3},
};
-static arc arcs_80_0[2] = {
- {165, 1},
- {172, 1},
+static arc arcs_81_0[2] = {
+ {167, 1},
+ {174, 1},
};
-static arc arcs_80_1[1] = {
+static arc arcs_81_1[1] = {
{0, 1},
};
-static state states_80[2] = {
- {2, arcs_80_0},
- {1, arcs_80_1},
+static state states_81[2] = {
+ {2, arcs_81_0},
+ {1, arcs_81_1},
};
-static arc arcs_81_0[1] = {
- {101, 1},
+static arc arcs_82_0[1] = {
+ {102, 1},
};
-static arc arcs_81_1[1] = {
+static arc arcs_82_1[1] = {
{66, 2},
};
-static arc arcs_81_2[1] = {
- {102, 3},
+static arc arcs_82_2[1] = {
+ {103, 3},
};
-static arc arcs_81_3[1] = {
- {112, 4},
+static arc arcs_82_3[1] = {
+ {114, 4},
};
-static arc arcs_81_4[2] = {
- {171, 5},
+static arc arcs_82_4[2] = {
+ {173, 5},
{0, 4},
};
-static arc arcs_81_5[1] = {
+static arc arcs_82_5[1] = {
{0, 5},
};
-static state states_81[6] = {
- {1, arcs_81_0},
- {1, arcs_81_1},
- {1, arcs_81_2},
- {1, arcs_81_3},
- {2, arcs_81_4},
- {1, arcs_81_5},
+static state states_82[6] = {
+ {1, arcs_82_0},
+ {1, arcs_82_1},
+ {1, arcs_82_2},
+ {1, arcs_82_3},
+ {2, arcs_82_4},
+ {1, arcs_82_5},
};
-static arc arcs_82_0[2] = {
+static arc arcs_83_0[2] = {
{21, 1},
- {173, 2},
+ {175, 2},
};
-static arc arcs_82_1[1] = {
- {173, 2},
+static arc arcs_83_1[1] = {
+ {175, 2},
};
-static arc arcs_82_2[1] = {
+static arc arcs_83_2[1] = {
{0, 2},
};
-static state states_82[3] = {
- {2, arcs_82_0},
- {1, arcs_82_1},
- {1, arcs_82_2},
+static state states_83[3] = {
+ {2, arcs_83_0},
+ {1, arcs_83_1},
+ {1, arcs_83_2},
};
-static arc arcs_83_0[1] = {
+static arc arcs_84_0[1] = {
{97, 1},
};
-static arc arcs_83_1[1] = {
- {114, 2},
+static arc arcs_84_1[1] = {
+ {116, 2},
};
-static arc arcs_83_2[2] = {
- {171, 3},
+static arc arcs_84_2[2] = {
+ {173, 3},
{0, 2},
};
-static arc arcs_83_3[1] = {
+static arc arcs_84_3[1] = {
{0, 3},
};
-static state states_83[4] = {
- {1, arcs_83_0},
- {1, arcs_83_1},
- {2, arcs_83_2},
- {1, arcs_83_3},
+static state states_84[4] = {
+ {1, arcs_84_0},
+ {1, arcs_84_1},
+ {2, arcs_84_2},
+ {1, arcs_84_3},
};
-static arc arcs_84_0[1] = {
+static arc arcs_85_0[1] = {
{23, 1},
};
-static arc arcs_84_1[1] = {
+static arc arcs_85_1[1] = {
{0, 1},
};
-static state states_84[2] = {
- {1, arcs_84_0},
- {1, arcs_84_1},
+static state states_85[2] = {
+ {1, arcs_85_0},
+ {1, arcs_85_1},
};
-static arc arcs_85_0[1] = {
- {175, 1},
+static arc arcs_86_0[1] = {
+ {177, 1},
};
-static arc arcs_85_1[2] = {
- {176, 2},
+static arc arcs_86_1[2] = {
+ {178, 2},
{0, 1},
};
-static arc arcs_85_2[1] = {
+static arc arcs_86_2[1] = {
{0, 2},
};
-static state states_85[3] = {
- {1, arcs_85_0},
- {2, arcs_85_1},
- {1, arcs_85_2},
+static state states_86[3] = {
+ {1, arcs_86_0},
+ {2, arcs_86_1},
+ {1, arcs_86_2},
};
-static arc arcs_86_0[2] = {
+static arc arcs_87_0[2] = {
{77, 1},
{47, 2},
};
-static arc arcs_86_1[1] = {
+static arc arcs_87_1[1] = {
{26, 2},
};
-static arc arcs_86_2[1] = {
+static arc arcs_87_2[1] = {
{0, 2},
};
-static state states_86[3] = {
- {2, arcs_86_0},
- {1, arcs_86_1},
- {1, arcs_86_2},
+static state states_87[3] = {
+ {2, arcs_87_0},
+ {1, arcs_87_1},
+ {1, arcs_87_2},
};
-static dfa dfas[87] = {
+static dfa dfas[88] = {
{256, "single_input", 0, 3, states_0,
- "\004\050\340\000\002\000\000\000\012\076\011\007\262\004\020\002\000\300\220\050\037\202\000"},
+ "\004\050\340\000\002\000\000\000\012\076\011\007\142\011\100\010\000\000\103\242\174\010\002"},
{257, "file_input", 0, 2, states_1,
- "\204\050\340\000\002\000\000\000\012\076\011\007\262\004\020\002\000\300\220\050\037\202\000"},
+ "\204\050\340\000\002\000\000\000\012\076\011\007\142\011\100\010\000\000\103\242\174\010\002"},
{258, "eval_input", 0, 3, states_2,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
{259, "decorator", 0, 7, states_3,
"\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{260, "decorators", 0, 2, states_4,
{268, "vfpdef", 0, 2, states_12,
"\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{269, "stmt", 0, 2, states_13,
- "\000\050\340\000\002\000\000\000\012\076\011\007\262\004\020\002\000\300\220\050\037\202\000"},
+ "\000\050\340\000\002\000\000\000\012\076\011\007\142\011\100\010\000\000\103\242\174\010\002"},
{270, "simple_stmt", 0, 4, states_14,
- "\000\040\200\000\002\000\000\000\012\076\011\007\000\000\020\002\000\300\220\050\037\200\000"},
+ "\000\040\200\000\002\000\000\000\012\076\011\007\000\000\100\010\000\000\103\242\174\000\002"},
{271, "small_stmt", 0, 2, states_15,
- "\000\040\200\000\002\000\000\000\012\076\011\007\000\000\020\002\000\300\220\050\037\200\000"},
+ "\000\040\200\000\002\000\000\000\012\076\011\007\000\000\100\010\000\000\103\242\174\000\002"},
{272, "expr_stmt", 0, 6, states_16,
- "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
+ "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
{273, "annassign", 0, 5, states_17,
"\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{274, "testlist_star_expr", 0, 3, states_18,
- "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
+ "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
{275, "augassign", 0, 2, states_19,
"\000\000\000\000\000\000\360\377\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{276, "del_stmt", 0, 3, states_20,
{277, "pass_stmt", 0, 2, states_21,
"\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{278, "flow_stmt", 0, 2, states_22,
- "\000\000\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\000\200\000"},
+ "\000\000\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\000\000\000\002"},
{279, "break_stmt", 0, 2, states_23,
"\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{280, "continue_stmt", 0, 2, states_24,
{281, "return_stmt", 0, 3, states_25,
"\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{282, "yield_stmt", 0, 2, states_26,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002"},
{283, "raise_stmt", 0, 5, states_27,
"\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{284, "import_stmt", 0, 2, states_28,
{294, "assert_stmt", 0, 5, states_38,
"\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000"},
{295, "compound_stmt", 0, 2, states_39,
- "\000\010\140\000\000\000\000\000\000\000\000\000\262\004\000\000\000\000\000\000\000\002\000"},
+ "\000\010\140\000\000\000\000\000\000\000\000\000\142\011\000\000\000\000\000\000\000\010\000"},
{296, "async_stmt", 0, 3, states_40,
"\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{297, "if_stmt", 0, 8, states_41,
"\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000"},
{298, "while_stmt", 0, 8, states_42,
- "\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
- {299, "for_stmt", 0, 10, states_43,
"\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
+ {299, "for_stmt", 0, 10, states_43,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
{300, "try_stmt", 0, 13, states_44,
- "\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
{301, "with_stmt", 0, 5, states_45,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"},
{302, "with_item", 0, 4, states_46,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
{303, "except_clause", 0, 5, states_47,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
{304, "suite", 0, 5, states_48,
- "\004\040\200\000\002\000\000\000\012\076\011\007\000\000\020\002\000\300\220\050\037\200\000"},
- {305, "test", 0, 6, states_49,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {306, "test_nocond", 0, 2, states_50,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {307, "lambdef", 0, 5, states_51,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000"},
- {308, "lambdef_nocond", 0, 5, states_52,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000"},
- {309, "or_test", 0, 2, states_53,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\002\000\300\220\050\037\000\000"},
- {310, "and_test", 0, 2, states_54,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\002\000\300\220\050\037\000\000"},
- {311, "not_test", 0, 3, states_55,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\002\000\300\220\050\037\000\000"},
- {312, "comparison", 0, 2, states_56,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {313, "comp_op", 0, 4, states_57,
- "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\362\017\000\000\000\000\000\000"},
- {314, "star_expr", 0, 3, states_58,
+ "\004\040\200\000\002\000\000\000\012\076\011\007\000\000\100\010\000\000\103\242\174\000\002"},
+ {305, "namedexpr_test", 0, 4, states_49,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {306, "test", 0, 6, states_50,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {307, "test_nocond", 0, 2, states_51,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {308, "lambdef", 0, 5, states_52,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
+ {309, "lambdef_nocond", 0, 5, states_53,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000"},
+ {310, "or_test", 0, 2, states_54,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\010\000\000\103\242\174\000\000"},
+ {311, "and_test", 0, 2, states_55,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\010\000\000\103\242\174\000\000"},
+ {312, "not_test", 0, 3, states_56,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\010\000\000\103\242\174\000\000"},
+ {313, "comparison", 0, 2, states_57,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {314, "comp_op", 0, 4, states_58,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\310\077\000\000\000\000\000\000"},
+ {315, "star_expr", 0, 3, states_59,
"\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
- {315, "expr", 0, 2, states_59,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {316, "xor_expr", 0, 2, states_60,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {317, "and_expr", 0, 2, states_61,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {318, "shift_expr", 0, 2, states_62,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {319, "arith_expr", 0, 2, states_63,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {320, "term", 0, 2, states_64,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {321, "factor", 0, 3, states_65,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {322, "power", 0, 4, states_66,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\200\050\037\000\000"},
- {323, "atom_expr", 0, 3, states_67,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\200\050\037\000\000"},
- {324, "atom", 0, 9, states_68,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\050\037\000\000"},
- {325, "testlist_comp", 0, 5, states_69,
- "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {326, "trailer", 0, 7, states_70,
- "\000\040\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\010\000\000\000"},
- {327, "subscriptlist", 0, 3, states_71,
- "\000\040\200\010\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {328, "subscript", 0, 5, states_72,
- "\000\040\200\010\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {329, "sliceop", 0, 3, states_73,
+ {316, "expr", 0, 2, states_60,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {317, "xor_expr", 0, 2, states_61,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {318, "and_expr", 0, 2, states_62,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {319, "shift_expr", 0, 2, states_63,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {320, "arith_expr", 0, 2, states_64,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {321, "term", 0, 2, states_65,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {322, "factor", 0, 3, states_66,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {323, "power", 0, 4, states_67,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\242\174\000\000"},
+ {324, "atom_expr", 0, 3, states_68,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\242\174\000\000"},
+ {325, "atom", 0, 9, states_69,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\240\174\000\000"},
+ {326, "testlist_comp", 0, 5, states_70,
+ "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {327, "trailer", 0, 7, states_71,
+ "\000\040\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\040\000\000\000"},
+ {328, "subscriptlist", 0, 3, states_72,
+ "\000\040\200\010\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {329, "subscript", 0, 5, states_73,
+ "\000\040\200\010\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {330, "sliceop", 0, 3, states_74,
"\000\000\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
- {330, "exprlist", 0, 3, states_74,
- "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\000\000\000\300\220\050\037\000\000"},
- {331, "testlist", 0, 3, states_75,
- "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {332, "dictorsetmaker", 0, 14, states_76,
- "\000\040\200\000\006\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {333, "classdef", 0, 8, states_77,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000"},
- {334, "arglist", 0, 3, states_78,
- "\000\040\200\000\006\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {335, "argument", 0, 4, states_79,
- "\000\040\200\000\006\000\000\000\000\000\010\000\000\000\020\002\000\300\220\050\037\000\000"},
- {336, "comp_iter", 0, 2, states_80,
- "\000\000\040\000\000\000\000\000\000\000\000\000\042\000\000\000\000\000\000\000\000\000\000"},
- {337, "sync_comp_for", 0, 6, states_81,
- "\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
- {338, "comp_for", 0, 3, states_82,
- "\000\000\040\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
- {339, "comp_if", 0, 4, states_83,
+ {331, "exprlist", 0, 3, states_75,
+ "\000\040\200\000\002\000\000\000\000\000\010\000\000\000\000\000\000\000\103\242\174\000\000"},
+ {332, "testlist", 0, 3, states_76,
+ "\000\040\200\000\000\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {333, "dictorsetmaker", 0, 14, states_77,
+ "\000\040\200\000\006\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {334, "classdef", 0, 8, states_78,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000"},
+ {335, "arglist", 0, 3, states_79,
+ "\000\040\200\000\006\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {336, "argument", 0, 4, states_80,
+ "\000\040\200\000\006\000\000\000\000\000\010\000\000\000\100\010\000\000\103\242\174\000\000"},
+ {337, "comp_iter", 0, 2, states_81,
+ "\000\000\040\000\000\000\000\000\000\000\000\000\102\000\000\000\000\000\000\000\000\000\000"},
+ {338, "sync_comp_for", 0, 6, states_82,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
+ {339, "comp_for", 0, 3, states_83,
+ "\000\000\040\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
+ {340, "comp_if", 0, 4, states_84,
"\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000"},
- {340, "encoding_decl", 0, 2, states_84,
+ {341, "encoding_decl", 0, 2, states_85,
"\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
- {341, "yield_expr", 0, 3, states_85,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"},
- {342, "yield_arg", 0, 3, states_86,
- "\000\040\200\000\002\000\000\000\000\040\010\000\000\000\020\002\000\300\220\050\037\000\000"},
+ {342, "yield_expr", 0, 3, states_86,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002"},
+ {343, "yield_arg", 0, 3, states_87,
+ "\000\040\200\000\002\000\000\000\000\040\010\000\000\000\100\010\000\000\103\242\174\000\000"},
};
-static label labels[177] = {
+static label labels[179] = {
{0, "EMPTY"},
{256, 0},
{4, 0},
{269, 0},
{0, 0},
{258, 0},
- {331, 0},
+ {332, 0},
{259, 0},
{49, 0},
{291, 0},
{7, 0},
- {334, 0},
+ {335, 0},
{8, 0},
{260, 0},
{261, 0},
- {333, 0},
+ {334, 0},
{263, 0},
{262, 0},
{1, "async"},
{1, 0},
{264, 0},
{51, 0},
- {305, 0},
+ {306, 0},
{11, 0},
{304, 0},
{265, 0},
{274, 0},
{273, 0},
{275, 0},
- {341, 0},
- {314, 0},
+ {342, 0},
+ {315, 0},
{36, 0},
{37, 0},
{38, 0},
{46, 0},
{48, 0},
{1, "del"},
- {330, 0},
+ {331, 0},
{1, "pass"},
{279, 0},
{280, 0},
{301, 0},
{296, 0},
{1, "if"},
+ {305, 0},
{1, "elif"},
{1, "else"},
{1, "while"},
{1, "finally"},
{1, "with"},
{302, 0},
- {315, 0},
+ {316, 0},
{1, "except"},
{5, 0},
{6, 0},
- {309, 0},
- {307, 0},
- {306, 0},
+ {53, 0},
+ {310, 0},
{308, 0},
+ {307, 0},
+ {309, 0},
{1, "lambda"},
- {310, 0},
- {1, "or"},
{311, 0},
+ {1, "or"},
+ {312, 0},
{1, "and"},
{1, "not"},
- {312, 0},
{313, 0},
+ {314, 0},
{20, 0},
{21, 0},
{27, 0},
{28, 0},
{28, 0},
{1, "is"},
- {316, 0},
- {18, 0},
{317, 0},
- {32, 0},
+ {18, 0},
{318, 0},
- {19, 0},
+ {32, 0},
{319, 0},
+ {19, 0},
+ {320, 0},
{33, 0},
{34, 0},
- {320, 0},
+ {321, 0},
{14, 0},
{15, 0},
- {321, 0},
+ {322, 0},
{17, 0},
{24, 0},
{47, 0},
{31, 0},
- {322, 0},
{323, 0},
- {1, "await"},
{324, 0},
- {326, 0},
+ {1, "await"},
{325, 0},
+ {327, 0},
+ {326, 0},
{9, 0},
{10, 0},
{25, 0},
- {332, 0},
+ {333, 0},
{26, 0},
{2, 0},
{3, 0},
{1, "None"},
{1, "True"},
{1, "False"},
- {338, 0},
- {327, 0},
+ {339, 0},
{328, 0},
{329, 0},
+ {330, 0},
{1, "class"},
- {335, 0},
{336, 0},
- {339, 0},
{337, 0},
{340, 0},
+ {338, 0},
+ {341, 0},
{1, "yield"},
- {342, 0},
+ {343, 0},
};
grammar _PyParser_Grammar = {
- 87,
+ 88,
dfas,
- {177, labels},
+ {179, labels},
256
};