Copyright | (c) 2017 Patrick Champion |
---|---|
License | see LICENSE file |
Maintainer | chlablak@gmail.com |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
- type LrTable = Map (Int, Rule) LrAction
- action :: LrTable -> Int -> Rule -> LrAction
- action' :: LrTable -> Int -> [OToken] -> LrAction
- data LrAction
- type LrCollection item = Vector (LrSet item)
- type LrSet item = Set item
- class Ord item => LrBuilder item where
- type NfaGraph = Gr NfaNode NfaSymbol
- data NfaNode
- data NfaSymbol
- class NfaBuilder from where
- type DfaGraph = Gr DfaNode DfaSymbol
- data DfaNode
- newtype DfaSymbol = DfaValue Char
- class DfaBuilder from where
(LA)LR
action' :: LrTable -> Int -> [OToken] -> LrAction Source #
Get a LrAction from a LrTable (OToken version)
LR actions for a LR parser
type LrCollection item = Vector (LrSet item) Source #
LR items set collection
class Ord item => LrBuilder item where Source #
LR parser common functions
collection :: RuleSet -> FirstSet -> LrCollection item Source #
Build the items set collection
table :: LrCollection item -> Either [String] LrTable Source #
Build the parsing table
NFA
NFA node type
NFA symbol type
class NfaBuilder from where Source #
NFA builders
DFA
DFA node type
DFA symbol type
Orphan instances
Binary item => Binary (LrCollection item) Source # | |