summaryrefslogtreecommitdiffstats
path: root/Parser/acceler.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-08-02 03:02:27 (GMT)
committerGuido van Rossum <guido@python.org>1997-08-02 03:02:27 (GMT)
commitaee094cc60b4b05e28cfd9e1a2add1b97ededbb6 (patch)
treeee321e85dc8012f5d8ee150ea003e484f2236422 /Parser/acceler.c
parent08c166152e9f882d475b02e2d76a198389b13d0b (diff)
downloadcpython-aee094cc60b4b05e28cfd9e1a2add1b97ededbb6.zip
cpython-aee094cc60b4b05e28cfd9e1a2add1b97ededbb6.tar.gz
cpython-aee094cc60b4b05e28cfd9e1a2add1b97ededbb6.tar.bz2
Added finalization routines.
Diffstat (limited to 'Parser/acceler.c')
-rw-r--r--Parser/acceler.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/Parser/acceler.c b/Parser/acceler.c
index 9417b76..9b72023 100644
--- a/Parser/acceler.c
+++ b/Parser/acceler.c
@@ -68,6 +68,26 @@ PyGrammar_AddAccelerators(g)
#endif
}
+void
+PyGrammar_RemoveAccelerators(g)
+ grammar *g;
+{
+ dfa *d;
+ int i;
+ g->g_accel = 0;
+ d = g->g_dfa;
+ for (i = g->g_ndfas; --i >= 0; d++) {
+ state *s;
+ int j;
+ s = d->d_state;
+ for (j = 0; j < d->d_nstates; j++, s++) {
+ if (s->s_accel)
+ PyMem_DEL(s->s_accel);
+ s->s_accel = NULL;
+ }
+ }
+}
+
static void
fixdfa(g, d)
grammar *g;