Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- identifierName :: ParsecT String u Identity [Char]
- identifier :: ParsecT String u Identity Expression
- numericLiteral :: ParsecT String u Identity Expression
- booleanLiteral :: ParsecT String u Identity Expression
- thisIdent :: ParsecT String u Identity Expression
- nullIdent :: ParsecT String u Identity Expression
- stringLiteral :: ParsecT String u Identity Expression
- templateString :: [Char] -> [TemplateString] -> ParsecT String u Identity [TemplateString]
- regexLiteral :: ParsecT String u Identity Expression
- elision :: ParsecT String u Identity Expression
- arrayItems :: [Expression] -> ParsecT String u Identity [Expression]
- arrayLiteral :: ParsecT String u Identity Expression
- objectBinds :: ParsecT String u Identity ObjectProperty
- objectLiteral :: ParsecT String u Identity Expression
- parensExpression :: ParsecT String u Identity Expression
- checkSpread :: forall s (m :: Type -> Type) b u. Stream s m Char => (b -> b) -> ParsecT s u m b -> ParsecT s u m b
- formalParameter :: ParsecT String u Identity BindExpression
- functionDeclaration :: ParsecT String u Identity Expression
- arrowFunctionDeclaration :: ParsecT String u Identity Expression
- functionExpression :: ParsecT String u Identity Expression
- propertyMethodDef :: ParsecT String u Identity Expression
- classStaticDef :: ParsecT String u Identity Expression
- classGetSetMethodDef :: ParsecT String u Identity Expression
- asyncMethodDef :: ParsecT String u Identity Expression
- classPropertyDef :: ParsecT String u Identity Expression
- classDeclaration :: ParsecT String u Identity Expression
- dotMember :: Expression -> ParsecT String u Identity Expression
- accessor :: Expression -> ParsecT String u Identity Expression
- functionCall :: Expression -> ParsecT String u Identity Expression
- newIdent :: ParsecT String u Identity (Maybe a)
- memberExpression :: Maybe Expression -> ParsecT String u Identity Expression
- literals :: ParsecT String u Identity Expression
- primaryExpression :: ParsecT String u Identity Expression
- maybeSemi :: ParsecT String u Identity ()
- emptyExpression :: ParsecT String u Identity Expression
- leftHandSideExpression :: ParsecT String u Identity Expression
- expressions :: ParsecT String u Identity Expression
- comment :: ParsecT String u Identity Expression
- multilineComment :: ParsecT String u Identity Expression
- commentExpression :: ParsecT String u Identity Expression
- expressionNonEmpty :: Bool -> ParsecT String u Identity Expression
- toStatement :: Expression -> Statement
- importNamespaceClause :: ParsecT String u Identity ImportClause
- importBindClause :: ParsecT String u Identity ImportClause
- importDefaultNameClause :: ParsecT String u Identity ImportClause
- importManyClauses :: ParsecT String u Identity [ImportClause]
- importClauses :: ParsecT String u Identity (Either ImportClause [ImportClause])
- importFileStatement :: ParsecT String u Identity Statement
- importStatement :: ParsecT String u Identity Statement
- importStatements :: ParsecT String u Identity Statement
- reexportStatement :: ParsecT String u Identity Statement
- exportDefaultStatement :: ParsecT String u Identity Statement
- exportStatement :: ParsecT String u Identity Statement
- exportStatements :: ParsecT String u Identity Statement
- continueStatement :: ParsecT String u Identity Statement
- breakStatement :: ParsecT String u Identity Statement
- blockStatement :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Statement -> ParsecT s u m Statement
- blockOrStatements :: ParsecT String u Identity Statement
- ifStatement :: ParsecT String u Identity Statement
- catchBlock :: ParsecT String u Identity Statement
- finallyBlock :: ParsecT String u Identity Statement
- tryStatement :: ParsecT String u Identity Statement
- throwStatement :: ParsecT String u Identity Statement
- returnStatement :: ParsecT String u Identity Statement
- bindVar :: ParsecT String u Identity BindExpression
- bindPatternDecl :: ParsecT String u Identity BindExpression
- bindSpread :: ParsecT String u Identity BindExpression
- bindExpression :: ParsecT String u Identity BindExpression
- constVariableStatement :: ParsecT String u Identity Statement
- notConstVariableStatement :: ParsecT String u Identity Statement
- variableStatement :: ParsecT String u Identity Statement
- caseClause :: ParsecT String u Identity SwitchCase
- caseDeclaration :: ParsecT String u Identity Statement
- switchStatement :: ParsecT String u Identity Statement
- debuggerStatement :: ParsecT String u Identity Statement
- breakableStatement :: ParsecT String u Identity Statement
- whileStatement :: ParsecT String u Identity Statement
- doWhileStatement :: ParsecT String u Identity Statement
- forInVStyle :: ParsecT String u Identity ForStyle
- forOfVStyle :: ParsecT String u Identity ForStyle
- forInStyle :: ParsecT String u Identity ForStyle
- forOfStyle :: ParsecT String u Identity ForStyle
- forRegularStyle :: ParsecT String u Identity ForStyle
- forStyle :: ParsecT String u Identity ForStyle
- forStatement :: ParsecT String u Identity Statement
- iterationStatement :: ParsecT String u Identity Statement
- withStatement :: ParsecT String u Identity Statement
- labelledStatement :: ParsecT String u Identity Statement
- statements :: ParsecT String u Identity Statement
- topLevelStatements :: ParsecT String u Identity Statement
- parseJs :: ParsecT String u Identity [Statement]
- parse :: SourceName -> String -> Either ParseError [Statement]
- parseFromFile :: SourceName -> IO (Either ParseError [Statement])
Documentation
identifier :: ParsecT String u Identity Expression Source #
Parse identifier (no reserved words).
numericLiteral :: ParsecT String u Identity Expression Source #
Parse numeric literal. Here we don't distinguish between kinds.
booleanLiteral :: ParsecT String u Identity Expression Source #
Parse boolean literal.
stringLiteral :: ParsecT String u Identity Expression Source #
Parse string literal.
templateString :: [Char] -> [TemplateString] -> ParsecT String u Identity [TemplateString] Source #
Parse template strings.
regexLiteral :: ParsecT String u Identity Expression Source #
Parse regular expression literal.
elision :: ParsecT String u Identity Expression Source #
Parse elision (aka ',' without a value on array).
arrayItems :: [Expression] -> ParsecT String u Identity [Expression] Source #
Parse many items on a array declaration.
arrayLiteral :: ParsecT String u Identity Expression Source #
Parse array literal.
objectBinds :: ParsecT String u Identity ObjectProperty Source #
key and/or value property pair.
objectLiteral :: ParsecT String u Identity Expression Source #
Parse object literal. objectLiteral :: P.ParsecT s u m Expression
parensExpression :: ParsecT String u Identity Expression Source #
Parse parenthesis expression.
checkSpread :: forall s (m :: Type -> Type) b u. Stream s m Char => (b -> b) -> ParsecT s u m b -> ParsecT s u m b Source #
Check for spread operation before parse p
.
formalParameter :: ParsecT String u Identity BindExpression Source #
Parse used by function declarations.
functionDeclaration :: ParsecT String u Identity Expression Source #
Parse function declaration
arrowFunctionDeclaration :: ParsecT String u Identity Expression Source #
Prase arrow function declaration.
functionExpression :: ParsecT String u Identity Expression Source #
Parse any kind of funcion declaration (function or arrow function).
propertyMethodDef :: ParsecT String u Identity Expression Source #
Parse property method of a class or object literal.
classStaticDef :: ParsecT String u Identity Expression Source #
Parse a static property of a class.
classGetSetMethodDef :: ParsecT String u Identity Expression Source #
Parse a getter or setter method.
asyncMethodDef :: ParsecT String u Identity Expression Source #
Check for a async property method.
classPropertyDef :: ParsecT String u Identity Expression Source #
Parse a class property definition.
classDeclaration :: ParsecT String u Identity Expression Source #
Parse a class declaration.
dotMember :: Expression -> ParsecT String u Identity Expression Source #
Dot member.
accessor :: Expression -> ParsecT String u Identity Expression Source #
Array like accessor.
functionCall :: Expression -> ParsecT String u Identity Expression Source #
Function call.
memberExpression :: Maybe Expression -> ParsecT String u Identity Expression Source #
Parse member expression.
primaryExpression :: ParsecT String u Identity Expression Source #
Parse primary expressions.
maybeSemi :: ParsecT String u Identity () Source #
Check for maybe semi. TODO: There are some rules for expression termination...need to check that.
emptyExpression :: ParsecT String u Identity Expression Source #
Parse a empty expression.
leftHandSideExpression :: ParsecT String u Identity Expression Source #
Parse rules for left hand side expression.
expressions :: ParsecT String u Identity Expression Source #
Parse expressions.
multilineComment :: ParsecT String u Identity Expression Source #
Parse multiline comment.
commentExpression :: ParsecT String u Identity Expression Source #
Parse comment like an expression.
expressionNonEmpty :: Bool -> ParsecT String u Identity Expression Source #
Parse expressions excluding emptyExpression.
toStatement :: Expression -> Statement Source #
Convert a expression into a statement.
importNamespaceClause :: ParsecT String u Identity ImportClause Source #
Parse import namespace clauses.
importBindClause :: ParsecT String u Identity ImportClause Source #
Parse import bind clauses.
importDefaultNameClause :: ParsecT String u Identity ImportClause Source #
Parse default clauses.
importManyClauses :: ParsecT String u Identity [ImportClause] Source #
Parse import clauses excluding namespace clause.
importClauses :: ParsecT String u Identity (Either ImportClause [ImportClause]) Source #
Parse all import clauses.
blockStatement :: forall s (m :: Type -> Type) u. Stream s m Char => ParsecT s u m Statement -> ParsecT s u m Statement Source #
Parse block statement.
caseClause :: ParsecT String u Identity SwitchCase Source #
Parse case clause switch statement.
breakableStatement :: ParsecT String u Identity Statement Source #
Parse breakable statement. TODO: this parser can be improved to parse vaild javascript code by passing to the break statement to subsequent statements.
iterationStatement :: ParsecT String u Identity Statement Source #
Parse iteration statements (for, white, do/while).
topLevelStatements :: ParsecT String u Identity Statement Source #
Parse all statements allowed to be on top level. This helps to not allow import and export expressions in any other part of the code.
parse :: SourceName -> String -> Either ParseError [Statement] Source #
Parse a script with a filename.
parseFromFile :: SourceName -> IO (Either ParseError [Statement]) Source #
Parse a script from a file. Just for convinience.