language-lua-0.11.0.2: Lua parser and pretty-printer
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Lua.Annotated.Parser

Synopsis

Documentation

parseTokens :: Parser a -> [Lexeme Token] -> Either (SourceRange, String) a Source #

Parse a stream of tokens.

parseText Source #

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.

parseNamedText Source #

Arguments

:: Parser a 
-> String

name

-> Text

chunk

-> Either (SourceRange, String) a 

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.

data Parser a Source #

Instances

Instances details
Functor Parser Source # 
Instance details

Defined in Language.Lua.Annotated.Parser

Methods

fmap :: (a -> b) -> Parser a -> Parser b #

(<$) :: a -> Parser b -> Parser a #

data SourcePos #

Constructors

SourcePos 

Instances

Instances details
HasRange SourcePos 
Instance details

Defined in AlexTools

Show SourcePos 
Instance details

Defined in AlexTools

NFData SourcePos 
Instance details

Defined in AlexTools

Methods

rnf :: SourcePos -> () #

Eq SourcePos 
Instance details

Defined in AlexTools

Lift SourcePos 
Instance details

Defined in AlexTools

Methods

lift :: Quote m => SourcePos -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => SourcePos -> Code m SourcePos #

data SourceRange #

A range in the source code.

Constructors

SourceRange 

Instances

Instances details
HasRange SourceRange 
Instance details

Defined in AlexTools

Show SourceRange 
Instance details

Defined in AlexTools

NFData SourceRange 
Instance details

Defined in AlexTools

Methods

rnf :: SourceRange -> () #

Eq SourceRange 
Instance details

Defined in AlexTools

Lift SourceRange 
Instance details

Defined in AlexTools

Methods

lift :: Quote m => SourceRange -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => SourceRange -> Code m SourceRange #