summaryrefslogtreecommitdiffstats
path: root/Python/graminit.c
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2000-03-28 23:49:17 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2000-03-28 23:49:17 (GMT)
commit7690151c7e95f38b91a9c572ce29b4d8a4ca671d (patch)
treefb8eb51104f6aaa895c37c4c144072be016674f5 /Python/graminit.c
parent93a7c0fe6b2186448ebe35a5af0ac3880d8f16fc (diff)
downloadcpython-7690151c7e95f38b91a9c572ce29b4d8a4ca671d.zip
cpython-7690151c7e95f38b91a9c572ce29b4d8a4ca671d.tar.gz
cpython-7690151c7e95f38b91a9c572ce29b4d8a4ca671d.tar.bz2
slightly modified version of Greg Ewing's extended call syntax patch
executive summary: Instead of typing 'apply(f, args, kwargs)' you can type 'f(*arg, **kwargs)'. Some file-by-file details follow. Grammar/Grammar: simplify varargslist, replacing '*' '*' with '**' add * & ** options to arglist Include/opcode.h & Lib/dis.py: define three new opcodes CALL_FUNCTION_VAR CALL_FUNCTION_KW CALL_FUNCTION_VAR_KW Python/ceval.c: extend TypeError "keyword parameter redefined" message to include the name of the offending keyword reindent CALL_FUNCTION using four spaces add handling of sequences and dictionaries using extend calls fix function import_from to use PyErr_Format
Diffstat (limited to 'Python/graminit.c')
-rw-r--r--Python/graminit.c61
1 files changed, 40 insertions, 21 deletions
diff --git a/Python/graminit.c b/Python/graminit.c
index ba9359e..35d8de4 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -98,9 +98,8 @@ static arc arcs_5_1[3] = {
{22, 5},
{0, 1},
};
-static arc arcs_5_2[2] = {
+static arc arcs_5_2[1] = {
{12, 6},
- {23, 3},
};
static arc arcs_5_3[1] = {
{12, 7},
@@ -125,25 +124,20 @@ static arc arcs_5_8[2] = {
{22, 5},
{0, 8},
};
-static arc arcs_5_9[2] = {
+static arc arcs_5_9[1] = {
{24, 3},
- {23, 10},
};
-static arc arcs_5_10[1] = {
- {23, 3},
-};
-static state states_5[11] = {
+static state states_5[10] = {
{3, arcs_5_0},
{3, arcs_5_1},
- {2, arcs_5_2},
+ {1, arcs_5_2},
{1, arcs_5_3},
{1, arcs_5_4},
{4, arcs_5_5},
{2, arcs_5_6},
{1, arcs_5_7},
{2, arcs_5_8},
- {2, arcs_5_9},
- {1, arcs_5_10},
+ {1, arcs_5_9},
};
static arc arcs_6_0[2] = {
{12, 1},
@@ -1169,21 +1163,46 @@ static state states_54[8] = {
{1, arcs_54_6},
{1, arcs_54_7},
};
-static arc arcs_55_0[1] = {
+static arc arcs_55_0[3] = {
{123, 1},
+ {23, 2},
+ {24, 3},
};
static arc arcs_55_1[2] = {
- {22, 2},
+ {22, 4},
{0, 1},
};
-static arc arcs_55_2[2] = {
+static arc arcs_55_2[1] = {
+ {21, 5},
+};
+static arc arcs_55_3[1] = {
+ {21, 6},
+};
+static arc arcs_55_4[4] = {
{123, 1},
- {0, 2},
+ {23, 2},
+ {24, 3},
+ {0, 4},
+};
+static arc arcs_55_5[2] = {
+ {22, 7},
+ {0, 5},
};
-static state states_55[3] = {
- {1, arcs_55_0},
+static arc arcs_55_6[1] = {
+ {0, 6},
+};
+static arc arcs_55_7[1] = {
+ {24, 3},
+};
+static state states_55[8] = {
+ {3, arcs_55_0},
{2, arcs_55_1},
- {2, arcs_55_2},
+ {1, arcs_55_2},
+ {1, arcs_55_3},
+ {4, arcs_55_4},
+ {2, arcs_55_5},
+ {1, arcs_55_6},
+ {1, arcs_55_7},
};
static arc arcs_56_0[1] = {
{21, 1},
@@ -1215,7 +1234,7 @@ static dfa dfas[57] = {
"\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{260, "parameters", 0, 4, states_4,
"\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
- {261, "varargslist", 0, 11, states_5,
+ {261, "varargslist", 0, 10, states_5,
"\000\020\201\001\000\000\000\000\000\000\000\000\000\000\000\000"},
{262, "fpdef", 0, 4, states_6,
"\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
@@ -1315,8 +1334,8 @@ static dfa dfas[57] = {
"\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
{310, "classdef", 0, 8, states_54,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004"},
- {311, "arglist", 0, 3, states_55,
- "\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
+ {311, "arglist", 0, 8, states_55,
+ "\000\020\201\001\000\000\000\000\000\200\000\000\060\242\074\000"},
{312, "argument", 0, 4, states_56,
"\000\020\001\000\000\000\000\000\000\200\000\000\060\242\074\000"},
};