Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
type ParserMonad = StateT ParserState IO Source #
getParsed :: ParserMonad [FilePath] Source #
setParserState :: ParserState -> ParserMonad () Source #
runParser :: FilePath -> ParserState -> ParserMonad a -> IO (a, ParserState) Source #
pushScope :: ParserMonad () Source #
popScope :: ParserMonad () Source #
declareGlobal :: Location -> String -> SymType -> ParserMonad () Source #
data ParserState Source #
Show ParserState Source # | |
Show (Entity -> ParserMonad ()) Source # | |
parseErrorCount :: ParserState -> Int Source #
withSymbol :: Location -> String -> (Location -> Location -> SymType -> ParserMonad ()) -> ParserMonad () Source #
withGlobalSymbol :: Location -> String -> (Location -> Location -> SymType -> ParserMonad ()) -> ParserMonad () Source #
withSymbolNow :: a -> Location -> String -> (Location -> Location -> SymType -> ParserMonad a) -> ParserMonad a Source #
hasReserved :: String -> ParserMonad Bool Source #
getEntitySymbol :: Location -> Location -> SymType -> ParserMonad (Maybe EntityName) Source #
symbolMatches :: String -> (SymType -> Bool) -> ParserMonad Bool Source #
requireClass :: (Class -> ParserMonad ()) -> Location -> Location -> SymType -> ParserMonad () Source #
requireEnumName :: (EntityName -> ParserMonad (Maybe a)) -> Location -> Location -> SymType -> ParserMonad (Maybe a) Source #
requireEntity :: (Entity -> ParserMonad ()) -> Location -> Location -> SymType -> ParserMonad () Source #
requireEntityResult :: (Entity -> ParserMonad ()) -> Location -> Location -> SymType -> ParserMonad () Source #
requireEntityOrClass :: Location -> Location -> SymType -> ParserMonad () Source #
requireEntityId :: (EntityName -> ParserMonad (Maybe a)) -> Location -> Location -> SymType -> ParserMonad (Maybe a) Source #
requireEntityField :: Location -> FieldName -> ((Entity, Field) -> ParserMonad ()) -> Location -> Location -> SymType -> ParserMonad () Source #
requireEntityFieldSelectedOrResult :: Location -> FieldName -> Location -> Location -> SymType -> ParserMonad () Source #
requireField :: (Field -> ParserMonad ()) -> Location -> Location -> SymType -> ParserMonad () Source #
requireEnum :: Location -> Location -> SymType -> ParserMonad () Source #
requireEnumValue :: Location -> EnumValue -> Location -> Location -> SymType -> ParserMonad () Source #
requireParam :: Location -> Location -> SymType -> ParserMonad () Source #
requireFunction :: Location -> Location -> SymType -> ParserMonad () Source #
setCurrentHandlerType :: HandlerType -> ParserMonad () Source #
requireHandlerType :: Location -> String -> (HandlerType -> Bool) -> ParserMonad () Source #
validateExtractField :: Location -> String -> ParserMonad () Source #
validateInsert :: Location -> Entity -> Maybe (Maybe VariableName, [FieldRefMapping]) -> ParserMonad () Source #
beginHandler :: ParserMonad () Source #
lastStatement :: Location -> String -> ParserMonad () Source #
postValidation :: Module -> ParserState -> IO Int Source #