]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Parser/tokenizer.c (tok_nextc): zap tok->buf after freeing;
authorGuido van Rossum <guido@python.org>
Fri, 30 Dec 1994 15:46:02 +0000 (15:46 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 30 Dec 1994 15:46:02 +0000 (15:46 +0000)
rest: abort() -> fatal(); small things

Parser/grammar.c
Parser/parser.c
Parser/pgen.c
Parser/pgenmain.c
Parser/tokenizer.c

index 1285fb3078f424317891a49b111f2af45950fadd..b422cf5ef4851da24b477cc2052bd65192526ee9 100644 (file)
@@ -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]);
index 9167a9d591a7be4e4e1268ca178fe4d07b1d92ec..1b11801e8f0f6a1dede2e43bf4c76a6881ec352b 100644 (file)
@@ -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++;
 }
 
index 0232a769b5afc4021303fc829bec5dd7262179c6..1827477a5f855eb2d2ae6b390b63d167d52f375e 100644 (file)
@@ -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;
index 96a3b3c9b833ba9f7e3a5ecd4718f96777526183..c93fadeb9187c4aae71d4276ff7bffade0bd597e 100644 (file)
@@ -64,7 +64,6 @@ main(argc, argv)
        char **argv;
 {
        grammar *g;
-       node *n;
        FILE *fp;
        char *filename;
        
index 7c2545015e397dfaab15036004be21786850c9dd..baed65d5cca2182e478bc465c906407cb5a30f04 100644 (file)
@@ -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;
        }