Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Lua.Annotated.Parser
Synopsis
- parseTokens :: Parser a -> [Lexeme Token] -> Either (SourceRange, String) a
- parseText :: Parser a -> Text -> Either (SourceRange, String) a
- parseNamedText :: Parser a -> String -> Text -> Either (SourceRange, String) a
- parseFile :: FilePath -> IO (Either (SourceRange, String) (Block SourceRange))
- data Parser a
- chunk :: Parser (Block SourceRange)
- exp :: Parser (Exp SourceRange)
- stat :: Parser (Stat SourceRange)
- data SourcePos = SourcePos {
- sourceIndex :: !Int
- sourceLine :: !Int
- sourceColumn :: !Int
- sourceFile :: !Text
- data SourceRange = SourceRange {
- sourceFrom :: !SourcePos
- sourceTo :: !SourcePos
Documentation
parseTokens :: Parser a -> [Lexeme Token] -> Either (SourceRange, String) a Source #
Parse a stream of tokens.
Arguments
:: Parser a | |
-> Text | chunk |
-> Either (SourceRange, String) a |
Runs Lua lexer before parsing. Use parseText stat
to parse
statements, and parseText exp
to parse expressions.
Runs Lua lexer before parsing. Use parseNamedText stat "name"
to parse
statements, and parseText exp "name"
to parse expressions.
parseFile :: FilePath -> IO (Either (SourceRange, String) (Block SourceRange)) Source #
Parse a Lua file. You can use parseText chunk
to parse a file from a string.
Constructors
SourcePos | |
Fields
|
data SourceRange #
A range in the source code.
Constructors
SourceRange | |
Fields
|
Instances
HasRange SourceRange | |
Defined in AlexTools Methods range :: SourceRange -> SourceRange # | |
Show SourceRange | |
Defined in AlexTools Methods showsPrec :: Int -> SourceRange -> ShowS # show :: SourceRange -> String # showList :: [SourceRange] -> ShowS # | |
NFData SourceRange | |
Defined in AlexTools Methods rnf :: SourceRange -> () # | |
Eq SourceRange | |
Defined in AlexTools | |
Lift SourceRange | |
Defined in AlexTools Methods lift :: Quote m => SourceRange -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => SourceRange -> Code m SourceRange # |