summaryrefslogtreecommitdiffstats
path: root/Parser
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2019-04-23 11:39:37 (GMT)
committerGitHub <noreply@github.com>2019-04-23 11:39:37 (GMT)
commit09415ff0ebbbe97c8cd08ac1f94673d7a49c8018 (patch)
treec49ee25cd8762638867af92177cb90bced0ec4b4 /Parser
parent574913479f26b5ff48827861bce68281be01d16e (diff)
downloadcpython-09415ff0ebbbe97c8cd08ac1f94673d7a49c8018.zip
cpython-09415ff0ebbbe97c8cd08ac1f94673d7a49c8018.tar.gz
cpython-09415ff0ebbbe97c8cd08ac1f94673d7a49c8018.tar.bz2
fix warnings by adding more const (GH-12924)
Diffstat (limited to 'Parser')
-rw-r--r--Parser/acceler.c16
-rw-r--r--Parser/grammar1.c5
-rw-r--r--Parser/parser.c13
-rw-r--r--Parser/parser.h2
4 files changed, 16 insertions, 20 deletions
diff --git a/Parser/acceler.c b/Parser/acceler.c
index 3a230c1..e515833 100644
--- a/Parser/acceler.c
+++ b/Parser/acceler.c
@@ -17,15 +17,14 @@
#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");
diff --git a/Parser/grammar1.c b/Parser/grammar1.c
index fec6d9e..e0b8fbb 100644
--- a/Parser/grammar1.c
+++ b/Parser/grammar1.c
@@ -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;
}
diff --git a/Parser/parser.c b/Parser/parser.c
index c21b6fd..227b918 100644
--- a/Parser/parser.c
+++ b/Parser/parser.c
@@ -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,
diff --git a/Parser/parser.h b/Parser/parser.h
index ebb06c2..b16075e 100644
--- a/Parser/parser.h
+++ b/Parser/parser.h
@@ -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;