]> granicus.if.org Git - python/commitdiff
fix warnings by adding more const (GH-12924)
authorInada Naoki <songofacandy@gmail.com>
Tue, 23 Apr 2019 11:39:37 +0000 (20:39 +0900)
committerGitHub <noreply@github.com>
Tue, 23 Apr 2019 11:39:37 +0000 (20:39 +0900)
Include/grammar.h
Modules/parsermodule.c
Parser/acceler.c
Parser/grammar1.c
Parser/parser.c
Parser/parser.h

index faccae4657ee9c0c34ae2c5a352b86ddc9c22dc8..4b66b1e9b97451b1291fcd6eb094b60fd2019b34 100644 (file)
@@ -66,7 +66,7 @@ typedef struct {
 } grammar;
 
 /* FUNCTIONS */
-dfa *PyGrammar_FindDFA(grammar *g, int type);
+const dfa *PyGrammar_FindDFA(grammar *g, int type);
 const char *PyGrammar_LabelRepr(label *lb);
 void PyGrammar_AddAccelerators(grammar *g);
 void PyGrammar_RemoveAccelerators(grammar *);
index a215c7ecacd73b8472861c7468e7b7b71e3a5709..0f681622f28820f2ff808f18df296565321bf40d 100644 (file)
@@ -644,7 +644,6 @@ validate_node(node *tree)
 {
     int type = TYPE(tree);
     int nch = NCH(tree);
-    dfa *nt_dfa;
     state *dfa_state;
     int pos, arc;
 
@@ -654,7 +653,7 @@ validate_node(node *tree)
         PyErr_Format(parser_error, "Unrecognized node type %d.", TYPE(tree));
         return 0;
     }
-    nt_dfa = &_PyParser_Grammar.g_dfa[type];
+    const dfa *nt_dfa = &_PyParser_Grammar.g_dfa[type];
     REQ(tree, nt_dfa->d_type);
 
     /* Run the DFA for this nonterminal. */
index 3a230c19bb9f8097f268761193a3ab8b850ef8e3..e515833e1dda1d4924a3a94892d90a6c6cb6a6b4 100644 (file)
 #include "parser.h"
 
 /* Forward references */
-static void fixdfa(grammar *, dfa *);
+static void fixdfa(grammar *, const dfa *);
 static void fixstate(grammar *, state *);
 
 void
 PyGrammar_AddAccelerators(grammar *g)
 {
-    dfa *d;
     int i;
-    d = g->g_dfa;
+    const dfa *d = g->g_dfa;
     for (i = g->g_ndfas; --i >= 0; d++)
         fixdfa(g, d);
     g->g_accel = 1;
@@ -34,10 +33,9 @@ PyGrammar_AddAccelerators(grammar *g)
 void
 PyGrammar_RemoveAccelerators(grammar *g)
 {
-    dfa *d;
     int i;
     g->g_accel = 0;
-    d = g->g_dfa;
+    const dfa *d = g->g_dfa;
     for (i = g->g_ndfas; --i >= 0; d++) {
         state *s;
         int j;
@@ -51,7 +49,7 @@ PyGrammar_RemoveAccelerators(grammar *g)
 }
 
 static void
-fixdfa(grammar *g, dfa *d)
+fixdfa(grammar *g, const dfa *d)
 {
     state *s;
     int j;
@@ -63,7 +61,7 @@ fixdfa(grammar *g, dfa *d)
 static void
 fixstate(grammar *g, state *s)
 {
-    arc *a;
+    const arc *a;
     int k;
     int *accel;
     int nl = g->g_ll.ll_nlabels;
@@ -78,14 +76,14 @@ fixstate(grammar *g, state *s)
     a = s->s_arc;
     for (k = s->s_narcs; --k >= 0; a++) {
         int lbl = a->a_lbl;
-        label *l = &g->g_ll.ll_label[lbl];
+        const label *l = &g->g_ll.ll_label[lbl];
         int type = l->lb_type;
         if (a->a_arrow >= (1 << 7)) {
             printf("XXX too many states!\n");
             continue;
         }
         if (ISNONTERMINAL(type)) {
-            dfa *d1 = PyGrammar_FindDFA(g, type);
+            const dfa *d1 = PyGrammar_FindDFA(g, type);
             int ibit;
             if (type - NT_OFFSET >= (1 << 7)) {
                 printf("XXX too high nonterminal number!\n");
index fec6d9ec0ee28161cc025b8236baa7db05936e93..e0b8fbb8b82886bea64db250d46ad9e9d84e3e33 100644 (file)
@@ -7,12 +7,11 @@
 
 /* Return the DFA for the given type */
 
-dfa *
+const dfa *
 PyGrammar_FindDFA(grammar *g, int type)
 {
-    dfa *d;
     /* Massive speed-up */
-    d = &g->g_dfa[type - NT_OFFSET];
+    const dfa *d = &g->g_dfa[type - NT_OFFSET];
     assert(d->d_type == type);
     return d;
 }
index c21b6fdf466d9984db326915c316675129005722..227b9184f471d22af132480ff26d18ef0a06e24c 100644 (file)
@@ -35,7 +35,7 @@ s_reset(stack *s)
 #define s_empty(s) ((s)->s_top == &(s)->s_base[MAXSTACK])
 
 static int
-s_push(stack *s, dfa *d, node *parent)
+s_push(stack *s, const dfa *d, node *parent)
 {
     stackentry *top;
     if (s->s_top == s->s_base) {
@@ -119,7 +119,7 @@ shift(stack *s, int type, char *str, int newstate, int lineno, int col_offset,
 }
 
 static int
-push(stack *s, int type, dfa *d, int newstate, int lineno, int col_offset,
+push(stack *s, int type, const dfa *d, int newstate, int lineno, int col_offset,
      int end_lineno, int end_col_offset)
 {
     int err;
@@ -144,7 +144,7 @@ classify(parser_state *ps, int type, const char *str)
     int n = g->g_ll.ll_nlabels;
 
     if (type == NAME) {
-        label *l = g->g_ll.ll_label;
+        const label *l = g->g_ll.ll_label;
         int i;
         for (i = n; i > 0; i--, l++) {
             if (l->lb_type != NAME || l->lb_str == NULL ||
@@ -168,7 +168,7 @@ classify(parser_state *ps, int type, const char *str)
     }
 
     {
-        label *l = g->g_ll.ll_label;
+        const label *l = g->g_ll.ll_label;
         int i;
         for (i = n; i > 0; i--, l++) {
             if (l->lb_type == type && l->lb_str == NULL) {
@@ -246,7 +246,7 @@ PyParser_AddToken(parser_state *ps, int type, char *str,
     /* Loop until the token is shifted or an error occurred */
     for (;;) {
         /* Fetch the current dfa and state */
-        dfa *d = ps->p_stack.s_top->s_dfa;
+        const dfa *d = ps->p_stack.s_top->s_dfa;
         state *s = &d->d_state[ps->p_stack.s_top->s_state];
 
         D(printf(" DFA '%s', state %d:",
@@ -260,7 +260,6 @@ PyParser_AddToken(parser_state *ps, int type, char *str,
                     /* Push non-terminal */
                     int nt = (x >> 8) + NT_OFFSET;
                     int arrow = x & ((1<<7)-1);
-                    dfa *d1;
                     if (nt == func_body_suite && !(ps->p_flags & PyCF_TYPE_COMMENTS)) {
                         /* When parsing type comments is not requested,
                            we can provide better errors about bad indentation
@@ -268,7 +267,7 @@ PyParser_AddToken(parser_state *ps, int type, char *str,
                         D(printf(" [switch func_body_suite to suite]"));
                         nt = suite;
                     }
-                    d1 = PyGrammar_FindDFA(
+                    const dfa *d1 = PyGrammar_FindDFA(
                         ps->p_grammar, nt);
                     if ((err = push(&ps->p_stack, nt, d1,
                         arrow, lineno, col_offset,
index ebb06c2b1976e1b1da28baf22201801debd47495..b16075e7f29f29922949aec9e4b2df9960060777 100644 (file)
@@ -11,7 +11,7 @@ extern "C" {
 
 typedef struct {
     int              s_state;       /* State in current DFA */
-    dfa             *s_dfa;         /* Current DFA */
+    const dfa       *s_dfa;         /* Current DFA */
     struct _node    *s_parent;      /* Where to add next node */
 } stackentry;