diff options
author | Akim Demaille <demaille@gostai.com> | 2009-04-20 12:24:23 +0200 |
---|---|---|
committer | Joel E. Denny <jdenny@ces.clemson.edu> | 2009-04-29 18:50:12 -0400 |
commit | 663ce7bb3e7e325eaa321f22509e6163f1bec4e2 (patch) | |
tree | 0c61a4258d468c476a5d95e334ff04f5cecf18df /src/complain.c | |
parent | 379261b3fd4e799c37bda6d354e7b8fe582357a6 (diff) | |
download | bison-663ce7bb3e7e325eaa321f22509e6163f1bec4e2.tar.gz |
variables: accept dashes.
* src/scan-gram.l ({id}): Also accept dashes after the initial
letter.
({directive}): Use {id}.
* src/parse-gram.y: Comment and formatting changes.
* doc/bison.texinfo (Symbols): Adjust the lexical definitions of
symbols.
* src/complain.h, src/complain.c (yacc_at): New.
* src/symtab.c (symbol_new): Use yacc_at to report inappropriate
symbol names.
* src/output.c (token_definitions_output): Do not #define token
names with dashes.
(cherry picked from commit 4f646c3794c45940aaf96d5409eff02a2c74978e)
Conflicts:
data/bison.m4
src/parse-gram.y
Diffstat (limited to 'src/complain.c')
-rw-r--r-- | src/complain.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/complain.c b/src/complain.c index 2c26c4e4..4cc35c8a 100644 --- a/src/complain.c +++ b/src/complain.c @@ -1,6 +1,6 @@ /* Declaration for error-reporting function for Bison. - Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006 + Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -120,6 +120,27 @@ complain (const char *message, ...) } +/*--------------------------------------------------------------. +| An incompatibility with POSIX Yacc: mapped either to warn* or | +| complain* depending on yacc_flag. | +`--------------------------------------------------------------*/ + +void +yacc_at (location loc, const char *message, ...) +{ + if (yacc_flag) + { + ERROR_MESSAGE (&loc, NULL, message); + complaint_issued = true; + } + else if (warnings_flag & warnings_yacc) + { + set_warning_issued (); + ERROR_MESSAGE (&loc, _("warning"), message); + } +} + + /*-------------------------------------------------. | A severe error has occurred, we cannot proceed. | `-------------------------------------------------*/ |