Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2001-06-13 09:22:52


Over the last few days I tried to find a better interface for automata
builder and it resulted in version 0.2. Main changes are in interface.
Persons curious to look at the code can find it at:
http://chronos.cs.msu.su/~ghost/MyDocuments/projects/lr_library/index.html

Description of interface:
There are three namespaces: Automata_builder, Grammar and Parser. First one
is automata builder proper, while others today are just helpers --- probably
they should be filled with more things in future.

Main goals for Automata_builder were:
        - allow convenient access to all the numerous data that is generated
        - allow to easily select algorithm variations or even completely replace
           some of the algorithms.

Automata_builder is used like this:
        Automata_builder::Grammar g;
        // do something with g.
        LR0_data data(g);
        // LR0_data holds all data that can be generated when
        // LR0 methods are used.
        data.tables();
        // Gets tables that are suitable for feeding parser with
It is possible to affect some stages:
        compute_lookaheads_SLR1(data);
        // explicitly use SLR(1) method
Or even write some custom code and plug it:
        compute_tables_with_random_conflict_resolution(data);

Any comments?

-- 
Regards,
Vladimir

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk