|
Language.ContextFree.SLR | Portability | portable | Stability | experimental | Maintainer | Joćo Saraiva - jas@di.uminho.pt |
|
|
|
|
|
Description |
Construction of the SLR(1) Action Tables
|
|
Synopsis |
|
| | slr_at :: (Ord t, Ord nt) => Cfg t nt -> AT [Item (Symb t nt)] [Symb t nt] | | e_slr_at :: (Ord t, Ord nt) => Cfg t nt -> AT [Item (Symb t nt)] [Symb t nt] | | st_follows_shifts :: (Eq t, Eq nt) => Cfg t nt -> CT (Item (Symb t nt)) -> [Item (Symb t nt)] -> ([Item (Symb t nt)], [(Item (Symb t nt), [Symb t nt])], [(Symb t nt, [Item (Symb t nt)])]) | | is_accepting_action :: (Eq t, Eq nt) => [Item (Symb t nt)] -> Bool | | lookupAT :: (Eq t, Eq nt, Eq st) => [Symb t nt] -> AT st pr -> st -> Symb t nt -> Action st pr |
|
|
Documentation |
|
data Action st pr |
Constructors | Shift st | | Accept | | Reduce pr | | Error | |
| Instances | (Eq pr, Eq st) => Eq (Action st pr) | (Show pr, Show st) => Show (Action st pr) |
|
|
|
slr_at |
:: (Ord t, Ord nt) | | => Cfg t nt | Grammar | -> AT [Item (Symb t nt)] [Symb t nt] | Action table | Computes the SLR(1) tables for a given grammar. |
|
|
e_slr_at |
:: (Ord t, Ord nt) | | => Cfg t nt | Grammar | -> AT [Item (Symb t nt)] [Symb t nt] | Action table | Computes the SLR(1) tables for a given expanded grammar. |
|
|
st_follows_shifts |
:: (Eq t, Eq nt) | | => Cfg t nt | Grammar | -> CT (Item (Symb t nt)) | Goto Table induced by the grammar | -> [Item (Symb t nt)] | State | -> ([Item (Symb t nt)], [(Item (Symb t nt), [Symb t nt])], [(Symb t nt, [Item (Symb t nt)])]) | Tripe (state,follows,moves) | For a given state, it accumulates the information needed to compure the SLR(1) action tables:
- the follow sets of each reducing item
- the destination state for each symbol |
|
|
is_accepting_action :: (Eq t, Eq nt) => [Item (Symb t nt)] -> Bool |
|
lookupAT :: (Eq t, Eq nt, Eq st) => [Symb t nt] -> AT st pr -> st -> Symb t nt -> Action st pr |
|
Produced by Haddock version 0.6 |