MagLev / maglev

GemStone Maglev Ruby Repository
http://maglev.github.io
517 stars 41 forks source link

byacc vs bison? #400

Open zenspider opened 9 years ago

zenspider commented 9 years ago

Are there any sticking issues for using bison over the current byacc?

ETA: (or vice versa)

AllenOtis commented 9 years ago

The byacc in the maglev source tree is a modified byacc . See the README_maglev.txt , hich includes the following. You would have to replicate this maglev-specific behavior in bison.

Allen

Maglev modifications include

Deleted struct YYSTACKDATA, and changed the type of yystack cells , to allow integration with garbage collector and so that state machine only has to maintain one stack pointer. See YyStackElement and YyStackData in rubyom.hf .

Use a unified state table instead of multiple tables for better C code generation in the state machine. C compiler should be able to cache one pointer to start of the unified table.

Moved a bunch of definitions to rubyparser.h .

Moved yygrowstack implementation to the .y file .

On Thu, May 21, 2015 at 11:47 PM, Ryan Davis notifications@github.com wrote:

Are there any sticking issues for using bison over the current byacc?

— Reply to this email directly or view it on GitHub https://github.com/MagLev/maglev/issues/400.