Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
prSplk' :: (Show a1, Show a2, Show a3, Show a4, Show a5) => [(a1, a4, a2, Items, a3, a5)] -> IO () Source #
__mainLalr1 :: AUGCFG -> IO () Source #
indexPrule :: AUGCFG -> ProductionRule -> Int Source #
first :: [(Symbol, [ExtendedSymbol])] -> Symbol -> [ExtendedSymbol] Source #
first_ :: [(Symbol, [ExtendedSymbol])] -> [Symbol] -> [ExtendedSymbol] Source #
extFirst :: [(Symbol, [ExtendedSymbol])] -> ExtendedSymbol -> [ExtendedSymbol] Source #
extFirst_ :: [(Symbol, [ExtendedSymbol])] -> [ExtendedSymbol] -> [ExtendedSymbol] Source #
calcFirst' :: CFG -> [(Symbol, [ExtendedSymbol])] -> [Symbol] -> [(Symbol, [ExtendedSymbol])] Source #
calcFirst'' :: CFG -> [(Symbol, [ExtendedSymbol])] -> [Symbol] -> (Bool, [(Symbol, [ExtendedSymbol])]) Source #
calcFirst''' :: CFG -> [(Symbol, [ExtendedSymbol])] -> (Bool, (Symbol, [ExtendedSymbol])) -> [Symbol] -> (Bool, [(Symbol, [ExtendedSymbol])]) Source #
follow :: [(Symbol, [ExtendedSymbol])] -> Symbol -> [ExtendedSymbol] Source #
calcFollow :: CFG -> [(Symbol, [ExtendedSymbol])] Source #
initFollow :: CFG -> [(Symbol, [ExtendedSymbol])] Source #
calcFollow' :: [(Symbol, [ExtendedSymbol])] -> [ProductionRule] -> [(Symbol, [ExtendedSymbol])] -> [(Symbol, [ExtendedSymbol])] Source #
calcFollow'' :: [(Symbol, [ExtendedSymbol])] -> [(Symbol, [ExtendedSymbol])] -> [ProductionRule] -> Bool -> (Bool, [(Symbol, [ExtendedSymbol])]) Source #
closure' :: [(Symbol, [ExtendedSymbol])] -> [ProductionRule] -> [Item] -> [Item] -> Bool -> (Bool, [Item]) Source #
calcLR0Items :: AUGCFG -> Itemss Source #
calcLR1Items :: AUGCFG -> Itemss Source #
calcEfficientLALRParseTable :: CFG -> ([Items], [ProductionRule], ActionTable, GotoTable, ()) Source #
calcSplk :: (Num a, Enum a, Eq a) => CFG -> [[Item]] -> [(a, Symbol, Int)] -> [(Item, Int, [ExtendedSymbol], (a, Int, Item, Items, Item, Item))] Source #
calcProp :: (Num b, Enum b, Eq b) => CFG -> [[Item]] -> [(b, Symbol, Int)] -> [(Item, b, Item, Int)] Source #
calcEfficientLALRActionGotoTable :: CFG -> [[Item]] -> (ActionTable, GotoTable) Source #
type Lookahead = [ExtendedSymbol] Source #
prLkhTable :: (Show a1, Show a2, Show a3, Show a4, Show a5, Show a6, Show a7) => [([(a1, a2, [a3])], [(a4, a5, a6, a7)])] -> IO () Source #
calcLR1ParseTable :: AUGCFG -> (Itemss, ProductionRules, ActionTable, GotoTable) Source #
calcLR1ActionGotoTable :: CFG -> [Items] -> (ActionTable, GotoTable) Source #
prParseTable :: (Show a, Show a4, Show a5, Show a6, Show a7, Show a8, Show a9) => Handle -> ([Items], [a], [(a4, a5, a6)], [(a7, a8, a9)]) -> IO () Source #
prLALRParseTable :: (Show a4, Show a5, Show a6, Show a7, Show a8, Show a9, Show a10, Show a11) => Handle -> ([Items], [a4], [a5], [(a6, a7, a8)], [(a9, a10, a11)]) -> IO () Source #
calcLALRParseTable :: AUGCFG -> (Itemss, ProductionRules, [[Int]], LALRActionTable, LALRGotoTable) Source #
toLalrAction :: [[Int]] -> Action -> LALRAction Source #
actionCheck :: [LALRAction] -> LALRAction Source #
stateCheck :: [[Int]] -> [Int] Source #