mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 18:23:03 +00:00
* src/reader.c (readgram): Remove dead code, an strip useless
braces. (get_type): Remove, unused.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2001-12-13 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/reader.c (readgram): Remove dead code, an strip useless
|
||||||
|
braces.
|
||||||
|
(get_type): Remove, unused.
|
||||||
|
|
||||||
2001-12-12 Akim Demaille <akim@epita.fr>
|
2001-12-12 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* src/complain.h, src/complain.c: Remove error_one_per_line, rely
|
* src/complain.h, src/complain.c: Remove error_one_per_line, rely
|
||||||
|
|||||||
114
src/reader.c
114
src/reader.c
@@ -1327,60 +1327,8 @@ gensym (void)
|
|||||||
sym->value = nvars++;
|
sym->value = nvars++;
|
||||||
return sym;
|
return sym;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
/*------------------------------------------------------------------.
|
|
||||||
| read in a %type declaration and record its information for |
|
|
||||||
| get_type_name to access. This is unused. It is only called from |
|
|
||||||
| the #if 0 part of readgram |
|
|
||||||
`------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
static int
|
|
||||||
get_type (void)
|
|
||||||
{
|
|
||||||
int k;
|
|
||||||
token_t token;
|
|
||||||
char *name;
|
|
||||||
|
|
||||||
token = lex ();
|
|
||||||
|
|
||||||
if (token != tok_typename)
|
|
||||||
{
|
|
||||||
complain (_("invalid %s declaration"), "%type");
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
name = xstrdup (token_buffer);
|
|
||||||
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
token = lex ();
|
|
||||||
|
|
||||||
switch (token)
|
|
||||||
{
|
|
||||||
case tok_semicolon:
|
|
||||||
return lex ();
|
|
||||||
|
|
||||||
case tok_comma:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case tok_identifier:
|
|
||||||
if (symval->type_name == NULL)
|
|
||||||
symval->type_name = name;
|
|
||||||
else if (strcmp (name, symval->type_name) != 0)
|
|
||||||
complain (_("type redeclaration for %s"), symval->tag);
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------.
|
/*-------------------------------------------------------------------.
|
||||||
| Parse the input grammar into a one symbol_list structure. Each |
|
| Parse the input grammar into a one symbol_list structure. Each |
|
||||||
| rule is represented by a sequence of symbols: the left hand side |
|
| rule is represented by a sequence of symbols: the left hand side |
|
||||||
| followed by the contents of the right hand side, followed by a |
|
| followed by the contents of the right hand side, followed by a |
|
||||||
@@ -1389,29 +1337,33 @@ get_type (void)
|
|||||||
| |
|
| |
|
||||||
| All guards and actions are copied out to the appropriate files, |
|
| All guards and actions are copied out to the appropriate files, |
|
||||||
| labelled by the rule number they apply to. |
|
| labelled by the rule number they apply to. |
|
||||||
`------------------------------------------------------------------*/
|
| |
|
||||||
|
| Bison used to allow some %directives in the rules sections, but |
|
||||||
|
| this is no longer consider appropriate: (i) the documented grammar |
|
||||||
|
| doesn't claim it, (ii), it would promote bad style, (iii), error |
|
||||||
|
| recovery for %directives consists in skipping the junk until a `%' |
|
||||||
|
| is seen and helrp synchronizing. This scheme is definitely wrong |
|
||||||
|
| in the rules section. |
|
||||||
|
`-------------------------------------------------------------------*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
readgram (void)
|
readgram (void)
|
||||||
{
|
{
|
||||||
token_t t;
|
token_t t;
|
||||||
bucket *lhs = NULL;
|
bucket *lhs = NULL;
|
||||||
symbol_list *p;
|
symbol_list *p = NULL;
|
||||||
symbol_list *p1;
|
symbol_list *p1 = NULL;
|
||||||
bucket *bp;
|
bucket *bp;
|
||||||
|
|
||||||
/* Points to first symbol_list of current rule. its symbol is the
|
/* Points to first symbol_list of current rule. its symbol is the
|
||||||
lhs of the rule. */
|
lhs of the rule. */
|
||||||
symbol_list *crule;
|
symbol_list *crule = NULL;
|
||||||
/* Points to the symbol_list preceding crule. */
|
/* Points to the symbol_list preceding crule. */
|
||||||
symbol_list *crule1;
|
symbol_list *crule1 = NULL;
|
||||||
|
|
||||||
p1 = NULL;
|
|
||||||
|
|
||||||
t = lex ();
|
t = lex ();
|
||||||
|
|
||||||
while (t != tok_two_percents && t != tok_eof)
|
while (t != tok_two_percents && t != tok_eof)
|
||||||
{
|
|
||||||
if (t == tok_identifier || t == tok_bar)
|
if (t == tok_identifier || t == tok_bar)
|
||||||
{
|
{
|
||||||
int action_flag = 0;
|
int action_flag = 0;
|
||||||
@@ -1609,50 +1561,12 @@ readgram (void)
|
|||||||
if (t == tok_semicolon)
|
if (t == tok_semicolon)
|
||||||
t = lex ();
|
t = lex ();
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
/* these things can appear as alternatives to rules. */
|
|
||||||
/* NO, they cannot.
|
|
||||||
a) none of the documentation allows them
|
|
||||||
b) most of them scan forward until finding a next %
|
|
||||||
thus they may swallow lots of intervening rules
|
|
||||||
*/
|
|
||||||
else if (t == tok_token)
|
|
||||||
{
|
|
||||||
parse_token_decl (token_sym, nterm_sym);
|
|
||||||
t = lex ();
|
|
||||||
}
|
|
||||||
else if (t == tok_nterm)
|
|
||||||
{
|
|
||||||
parse_token_decl (nterm_sym, token_sym);
|
|
||||||
t = lex ();
|
|
||||||
}
|
|
||||||
else if (t == tok_type)
|
|
||||||
{
|
|
||||||
t = get_type ();
|
|
||||||
}
|
|
||||||
else if (t == tok_union)
|
|
||||||
{
|
|
||||||
parse_union_decl ();
|
|
||||||
t = lex ();
|
|
||||||
}
|
|
||||||
else if (t == tok_expect)
|
|
||||||
{
|
|
||||||
parse_expect_decl ();
|
|
||||||
t = lex ();
|
|
||||||
}
|
|
||||||
else if (t == tok_start)
|
|
||||||
{
|
|
||||||
parse_start_decl ();
|
|
||||||
t = lex ();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
complain (_("invalid input: %s"), quote (token_buffer));
|
complain (_("invalid input: %s"), quote (token_buffer));
|
||||||
t = lex ();
|
t = lex ();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* grammar has been read. Do some checking */
|
/* grammar has been read. Do some checking */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user