summaryrefslogtreecommitdiff
path: root/Parser
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1994-12-30 15:46:02 +0000
committerGuido van Rossum <guido@python.org>1994-12-30 15:46:02 +0000
commitf8524445cb89b90ec7d4a84663c1220924993a91 (patch)
tree0748ef1c1ab616519bcb6ab227789159c6484ca0 /Parser
parentd04007652eb3eb0e9267345168d1ba1d8201397c (diff)
downloadcpython-f8524445cb89b90ec7d4a84663c1220924993a91.tar.gz
Parser/tokenizer.c (tok_nextc): zap tok->buf after freeing;
rest: abort() -> fatal(); small things
Diffstat (limited to 'Parser')
-rw-r--r--Parser/grammar.c13
-rw-r--r--Parser/parser.c6
-rw-r--r--Parser/pgen.c6
-rw-r--r--Parser/pgenmain.c1
-rw-r--r--Parser/tokenizer.c7
5 files changed, 18 insertions, 15 deletions
diff --git a/Parser/grammar.c b/Parser/grammar.c
index 1285fb3078..b422cf5ef4 100644
--- a/Parser/grammar.c
+++ b/Parser/grammar.c
@@ -48,6 +48,7 @@ newgrammar(start)
g->g_start = start;
g->g_ll.ll_nlabels = 0;
g->g_ll.ll_label = NULL;
+ g->g_accel = 0;
return g;
}
@@ -84,6 +85,10 @@ addstate(d)
s = &d->d_state[d->d_nstates++];
s->s_narcs = 0;
s->s_arc = NULL;
+ s->s_lower = 0;
+ s->s_upper = 0;
+ s->s_accel = NULL;
+ s->s_accept = 0;
return s - d->d_state;
}
@@ -139,7 +144,6 @@ findlabel(ll, type, str)
char *str;
{
int i;
- label *lb;
for (i = 0; i < ll->ll_nlabels; i++) {
if (ll->ll_label[i].lb_type == type /*&&
@@ -147,7 +151,8 @@ findlabel(ll, type, str)
return i;
}
fprintf(stderr, "Label %d/'%s' not found\n", type, str);
- abort();
+ fatal("grammar.c:findlabel()");
+ /*NOTREACHED*/
}
/* Forward */
@@ -158,8 +163,10 @@ translatelabels(g)
grammar *g;
{
int i;
-
+
+#ifdef DEBUG
printf("Translating labels ...\n");
+#endif
/* Don't translate EMPTY */
for (i = EMPTY+1; i < g->g_ll.ll_nlabels; i++)
translabel(g, &g->g_ll.ll_label[i]);
diff --git a/Parser/parser.c b/Parser/parser.c
index 9167a9d591..1b11801e8f 100644
--- a/Parser/parser.c
+++ b/Parser/parser.c
@@ -86,10 +86,8 @@ static void
s_pop(s)
register stack *s;
{
- if (s_empty(s)) {
- fprintf(stderr, "s_pop: parser stack underflow -- FATAL\n");
- abort();
- }
+ if (s_empty(s))
+ fatal("s_pop: parser stack underflow -- FATAL");
s->s_top++;
}
diff --git a/Parser/pgen.c b/Parser/pgen.c
index 0232a769b5..1827477a5f 100644
--- a/Parser/pgen.c
+++ b/Parser/pgen.c
@@ -162,7 +162,7 @@ static char REQNFMT[] = "metacompile: less than %d children\n";
#define REQN(i, count) \
if (i < count) { \
fprintf(stderr, REQNFMT, count); \
- abort(); \
+ fatal("REQN"); \
} else
#else
@@ -390,7 +390,7 @@ dumpnfa(ll, nf)
/* PART TWO -- CONSTRUCT DFA -- Algorithm 3.1 from [Aho&Ullman 77] */
-static int
+static void
addclosure(ss, nf, istate)
bitset ss;
nfa *nf;
@@ -628,7 +628,7 @@ simplify(xx_nstates, xx_state)
ss_state *xx_state;
{
int changes;
- int i, j, k;
+ int i, j;
do {
changes = 0;
diff --git a/Parser/pgenmain.c b/Parser/pgenmain.c
index 96a3b3c9b8..c93fadeb91 100644
--- a/Parser/pgenmain.c
+++ b/Parser/pgenmain.c
@@ -64,7 +64,6 @@ main(argc, argv)
char **argv;
{
grammar *g;
- node *n;
FILE *fp;
char *filename;
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 7c2545015e..baed65d5cc 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -209,6 +209,7 @@ tok_nextc(tok)
tok->lineno++;
if (buf == NULL) {
free(tok->buf);
+ tok->buf = NULL;
free(new);
tok->done = E_NOMEM;
return EOF;
@@ -309,10 +310,8 @@ tok_backup(tok, c)
register int c;
{
if (c != EOF) {
- if (--tok->cur < tok->buf) {
- fprintf(stderr, "tok_backup: begin of buffer\n");
- abort();
- }
+ if (--tok->cur < tok->buf)
+ fatal("tok_backup: begin of buffer");
if (*tok->cur != c)
*tok->cur = c;
}