- parse :: String -> String -> Either ParseError JSNode
- readJs :: String -> JSNode
- parseFile :: FilePath -> IO JSNode
- data JSNode
- = JSArguments [[JSNode]]
- | JSArrayLiteral [JSNode]
- | JSBlock JSNode
- | JSBreak [JSNode] [JSNode]
- | JSCallExpression String [JSNode]
- | JSCase JSNode JSNode
- | JSCatch JSNode [JSNode] JSNode
- | JSContinue [JSNode]
- | JSDecimal String
- | JSDefault JSNode
- | JSDoWhile JSNode JSNode JSNode
- | JSElement String [JSNode]
- | JSElementList [JSNode]
- | JSElision [JSNode]
- | JSEmpty JSNode
- | JSExpression [JSNode]
- | JSExpressionBinary String [JSNode] [JSNode]
- | JSExpressionParen JSNode
- | JSExpressionPostfix String [JSNode]
- | JSExpressionTernary [JSNode] [JSNode] [JSNode]
- | JSFinally JSNode
- | JSFor [JSNode] [JSNode] [JSNode] JSNode
- | JSForIn [JSNode] JSNode JSNode
- | JSForVar [JSNode] [JSNode] [JSNode] JSNode
- | JSForVarIn JSNode JSNode JSNode
- | JSFunction JSNode [JSNode] JSNode
- | JSFunctionBody [JSNode]
- | JSFunctionExpression [JSNode] JSNode
- | JSHexInteger String
- | JSIdentifier String
- | JSIf JSNode JSNode
- | JSIfElse JSNode JSNode JSNode
- | JSLabelled JSNode JSNode
- | JSLiteral String
- | JSMemberDot [JSNode] JSNode
- | JSMemberSquare [JSNode] JSNode
- | JSObjectLiteral [JSNode]
- | JSOperator String
- | JSPropertyNameandValue JSNode [JSNode]
- | JSRegEx String
- | JSReturn [JSNode]
- | JSSourceElements [JSNode]
- | JSSourceElementsTop [JSNode]
- | JSStatementList [JSNode]
- | JSStringLiteral Char [Char]
- | JSSwitch JSNode [JSNode]
- | JSThrow JSNode
- | JSTry JSNode [JSNode]
- | JSUnary String
- | JSVarDecl JSNode [JSNode]
- | JSVariables String [JSNode]
- | JSWhile JSNode JSNode
- | JSWith JSNode [JSNode]
- data ParseError
- data AlexPosn
- type P a = StateT ParseState (Either ParseError) a
- data ParseState = ParseState {}
Documentation
:: String | The input stream (Javascript source code). |
-> String | The name of the Javascript source (filename or input device). |
-> Either ParseError JSNode | An error or maybe the abstract syntax tree (AST) of zero or more Javascript statements, plus comments. |
Parse one compound statement, or a sequence of simple statements. Generally used for interactive input, such as from the command line of an interpreter. Return comments in addition to the parsed statements.
data ParseError Source
UnexpectedToken Token | An error from the parser. Token found where it should not be. Note: tokens contain their own source span. |
UnexpectedChar Char AlexPosn | An error from the lexer. Character found where it should not be. |
StrError String | A generic error containing a string message. No source location. |
Posn
records the location of a token in the input text. It has three
fields: the address (number of characters preceding the token), line number
and column of a token within the file. start_pos
gives the position of the
start of the file and eof_pos
a standard encoding for the end of file.
move_pos
calculates the new position after traversing a given character,
assuming the usual eight character tab stops.
type P a = StateT ParseState (Either ParseError) aSource