mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-17 08:13:02 +00:00
* reader.c (packsymbols): Formatting changes.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2000-03-17 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* reader.c (packsymbols): Formatting changes.
|
||||||
|
|
||||||
2000-03-17 Akim Demaille <akim@epita.fr>
|
2000-03-17 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* reader.c (copy_comment): New function, factored out from:
|
* reader.c (copy_comment): New function, factored out from:
|
||||||
|
|||||||
83
src/reader.c
83
src/reader.c
@@ -1790,8 +1790,9 @@ get_type (void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* assign symbol numbers, and write definition of token names into fdefines.
|
/* Assign symbol numbers, and write definition of token names into
|
||||||
Set up vectors tags and sprec of names and precedences of symbols. */
|
fdefines. Set up vectors tags and sprec of names and precedences
|
||||||
|
of symbols. */
|
||||||
|
|
||||||
void
|
void
|
||||||
packsymbols (void)
|
packsymbols (void)
|
||||||
@@ -1822,34 +1823,38 @@ packsymbols (void)
|
|||||||
}
|
}
|
||||||
else if (bp->alias)
|
else if (bp->alias)
|
||||||
{
|
{
|
||||||
/* this symbol and its alias are a single token defn.
|
/* this symbol and its alias are a single token defn.
|
||||||
allocate a tokno, and assign to both
|
allocate a tokno, and assign to both check agreement of
|
||||||
check agreement of ->prec and ->assoc fields
|
->prec and ->assoc fields and make both the same */
|
||||||
and make both the same
|
if (bp->value == 0)
|
||||||
*/
|
bp->value = bp->alias->value = tokno++;
|
||||||
if (bp->value == 0)
|
|
||||||
bp->value = bp->alias->value = tokno++;
|
|
||||||
|
|
||||||
if (bp->prec != bp->alias->prec) {
|
if (bp->prec != bp->alias->prec)
|
||||||
if (bp->prec != 0 && bp->alias->prec != 0
|
{
|
||||||
&& bp->user_token_number == SALIAS)
|
if (bp->prec != 0 && bp->alias->prec != 0
|
||||||
warnss(_("conflicting precedences for %s and %s"),
|
&& bp->user_token_number == SALIAS)
|
||||||
bp->tag, bp->alias->tag);
|
warnss(_("conflicting precedences for %s and %s"),
|
||||||
if (bp->prec != 0) bp->alias->prec = bp->prec;
|
bp->tag, bp->alias->tag);
|
||||||
else bp->prec = bp->alias->prec;
|
if (bp->prec != 0)
|
||||||
}
|
bp->alias->prec = bp->prec;
|
||||||
|
else
|
||||||
|
bp->prec = bp->alias->prec;
|
||||||
|
}
|
||||||
|
|
||||||
if (bp->assoc != bp->alias->assoc) {
|
if (bp->assoc != bp->alias->assoc)
|
||||||
if (bp->assoc != 0 && bp->alias->assoc != 0
|
{
|
||||||
&& bp->user_token_number == SALIAS)
|
if (bp->assoc != 0 && bp->alias->assoc != 0
|
||||||
warnss(_("conflicting assoc values for %s and %s"),
|
&& bp->user_token_number == SALIAS)
|
||||||
bp->tag, bp->alias->tag);
|
warnss(_("conflicting assoc values for %s and %s"),
|
||||||
if (bp->assoc != 0) bp->alias->assoc = bp->assoc;
|
bp->tag, bp->alias->tag);
|
||||||
else bp->assoc = bp->alias->assoc;
|
if (bp->assoc != 0)
|
||||||
}
|
bp->alias->assoc = bp->assoc;
|
||||||
|
else
|
||||||
|
bp->assoc = bp->alias->assoc;
|
||||||
|
}
|
||||||
|
|
||||||
if (bp->user_token_number == SALIAS)
|
if (bp->user_token_number == SALIAS)
|
||||||
continue; /* do not do processing below for SALIASs */
|
continue; /* do not do processing below for SALIASs */
|
||||||
|
|
||||||
}
|
}
|
||||||
else /* bp->class == STOKEN */
|
else /* bp->class == STOKEN */
|
||||||
@@ -1878,21 +1883,23 @@ packsymbols (void)
|
|||||||
|
|
||||||
token_translations = NEW2(max_user_token_number+1, short);
|
token_translations = NEW2(max_user_token_number+1, short);
|
||||||
|
|
||||||
/* initialize all entries for literal tokens to 2,
|
/* initialize all entries for literal tokens to 2, the internal
|
||||||
the internal token number for $undefined.,
|
token number for $undefined., which represents all invalid
|
||||||
which represents all invalid inputs. */
|
inputs. */
|
||||||
for (i = 0; i <= max_user_token_number; i++)
|
for (i = 0; i <= max_user_token_number; i++)
|
||||||
token_translations[i] = 2;
|
token_translations[i] = 2;
|
||||||
|
|
||||||
for (bp = firstsymbol; bp; bp = bp->next)
|
for (bp = firstsymbol; bp; bp = bp->next)
|
||||||
{
|
{
|
||||||
if (bp->value >= ntokens) continue; /* non-terminal */
|
if (bp->value >= ntokens)
|
||||||
if (bp->user_token_number == SALIAS) continue;
|
continue; /* non-terminal */
|
||||||
|
if (bp->user_token_number == SALIAS)
|
||||||
|
continue;
|
||||||
if (token_translations[bp->user_token_number] != 2)
|
if (token_translations[bp->user_token_number] != 2)
|
||||||
warnsss(_("tokens %s and %s both assigned number %s"),
|
warnsss(_("tokens %s and %s both assigned number %s"),
|
||||||
tags[token_translations[bp->user_token_number]],
|
tags[token_translations[bp->user_token_number]],
|
||||||
bp->tag,
|
bp->tag,
|
||||||
int_to_string(bp->user_token_number));
|
int_to_string(bp->user_token_number));
|
||||||
token_translations[bp->user_token_number] = bp->value;
|
token_translations[bp->user_token_number] = bp->value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1937,9 +1944,9 @@ packsymbols (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For named tokens, but not literal ones, define the name.
|
/* For named tokens, but not literal ones, define the name. The value
|
||||||
The value is the user token number.
|
is the user token number. */
|
||||||
*/
|
|
||||||
void
|
void
|
||||||
output_token_defines (FILE *file)
|
output_token_defines (FILE *file)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user