From af27eacb6a702451ed4952491a1084482d1f609f Mon Sep 17 00:00:00 2001 From: Robert Anisko Date: Sat, 9 Mar 2002 14:31:16 +0000 Subject: [PATCH] * data/bison.c++: Make the user able to add members to the generated parser by subclassing. --- ChangeLog | 5 +++++ data/bison.c++ | 28 ++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e2c8506c..c37a529a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-03-09 Robert Anisko + + * data/bison.c++: Make the user able to add members to the generated + parser by subclassing. + 2002-03-05 Robert Anisko * src/reader.c (read_additionnal_code): `c' should be an integer, not diff --git a/data/bison.c++ b/data/bison.c++ index 0992bf8d..71cd6d98 100644 --- a/data/bison.c++ +++ b/data/bison.c++ @@ -25,6 +25,24 @@ m4_define_default([b4_header_guard], [m4_bpatsubst(m4_toupper([BISON_]b4_output_header_name), [[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]], [_])]) +m4_define([b4_inherit], + [m4_ifdef([b4_root], + [: public b4_root +], + [])]) + +m4_define([b4_param], + [m4_ifdef([b4_root], + [, + const Param& param], + [])]) + +m4_define([b4_constructor], + [m4_ifdef([b4_root], + [b4_root (param), + ], + [])]) + m4_define([b4_copyright], [/* -*- C++ -*- */ /* A Bison parser, made from b4_filename, @@ -126,7 +144,7 @@ namespace yy namespace yy { - class b4_name + class b4_name b4_inherit { public: @@ -140,10 +158,12 @@ namespace yy #if YYLSP_NEEDED b4_name (bool debug, - LocationType initlocation) : debug_ (debug), - initlocation_ (initlocation) + LocationType initlocation[]b4_param) : + b4_constructor[]debug_ (debug), + initlocation_ (initlocation) #else - b4_name (bool debug) : debug_ (debug) + b4_name (bool debug[]b4_param) : + b4_constructor[]debug_ (debug) #endif { } -- 2.45.2