help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bison 1.30f broke my C++ parser


From: Akim Demaille
Subject: Re: Bison 1.30f broke my C++ parser
Date: 27 Jan 2002 21:03:35 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

>>>>> "Marc" == Marc Autret <address@hidden> writes:

Marc> "Richard B. Kreckel" <address@hidden> writes:
>> > Nevertheless, in the meanwhile, my advice is use 1.32, but steal
>> bison > 1.28's bison.simple, give it another name, and ask 1.32 to
>> use the > latter (using BISON_SIMPLE or --skeleton).
>> 
>> This does not seem to work:
>> 
>> cappuccino:~/projects/GiNaC/ginac$
>> BISON_SIMPLE=/home/kreckel/bison.simple bison -y -p ginac_yy -d
>> input_parser.yy && mv y.tab.c input_parser.cc bison: output.c:1236:
>> output_parser: Assertion `actions_dumped == 1' failed.  Aborted

Marc> bison.simple from version 1.28a is not compatible with 1.28 one.
Marc> What changed is the handling of actions. The incompatibility is
Marc> still true between 1.28 and 1.32.

My fault, sorry.  1.28 uses `$' as a marker, 1.32 something like
%%actions.  Have a look at bison.simple in 1.32.

I don't have an easy access to the CVS sources now, otherwise, look on
subversions.gnu.org the history of bison.simple, and fetch the copy
before 

2001-11-29  Paul Eggert  <address@hidden> 
 
        * src/bison.simple (YYSTACK_REALLOC): Remove. 
        (YYSTACK_ALLOC): Resurrect this macro, with its old meaning. 
        (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE): 
        New macros. 
        (union yyalloc): New type. 
        (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
        an arbitrary restriction on hosts where size_t is wider than int. 
 
        (yyparse): Don't dump core if alloca or malloc fails; instead, report 
        a parser stack overflow.  Allocate just one block of memory for all 
        three stacks, instead of allocating three blocks; this typically is 
        faster and reduces fragmentation. 
 
        Do not limit the number of items in the stack to a value that fits 
        in 'int', as this is an arbitrary limit on hosts with 64-bit 
        size_t and 32-bit int. 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]