diff options
author | Akim Demaille <demaille@gostai.com> | 2009-04-20 12:24:23 +0200 |
---|---|---|
committer | Akim Demaille <demaille@gostai.com> | 2009-04-20 23:17:51 +0200 |
commit | 4f646c3794c45940aaf96d5409eff02a2c74978e (patch) | |
tree | 914054ac558d9aca40ef8e42f680be96a27cb81b /src/complain.c | |
parent | 184e31795670448ce726a8d4aafa7582faa1cb4a (diff) | |
download | bison-4f646c3794c45940aaf96d5409eff02a2c74978e.tar.gz |
variables: accept dashes.
* data/bison.m4 (b4_percent_define_if_define_): Also map dashes to
underscores.
* 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.
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. | `-------------------------------------------------*/ |