From 4f646c3794c45940aaf96d5409eff02a2c74978e Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 20 Apr 2009 12:24:23 +0200 Subject: 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. --- src/complain.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/complain.c') 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. | `-------------------------------------------------*/ -- cgit v1.2.1