language-javascript-0.5.7: Parser for JavaScript

Safe Haskell | None

Language.JavaScript.Parser.Lexer

Synopsis

- data Token
  - = CommentToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | WsToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | IdentifierToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | DecimalToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | HexIntegerToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | OctalToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | StringToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_delimiter :: !Char
    - token_comment :: ![CommentAnnotation]
    }
  - | RegExToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | BreakToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | CaseToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | CatchToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ConstToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ContinueToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | DebuggerToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | DefaultToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | DeleteToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | DoToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ElseToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | EnumToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | FalseToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | FinallyToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ForToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | FunctionToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | IfToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | InToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | InstanceofToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | NewToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | NullToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ReturnToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | SwitchToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ThisToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | ThrowToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | TrueToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | TryToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | TypeofToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | VarToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | VoidToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | WhileToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | WithToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | FutureToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | GetToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | SetToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | SemiColonToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | CommaToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | HookToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | ColonToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | OrToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | AndToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | BitwiseOrToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | BitwiseXorToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | BitwiseAndToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | StrictEqToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | EqToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | AssignToken {
    - token_span :: !TokenPosn
    - token_literal :: !String
    - token_comment :: ![CommentAnnotation]
    }
  - | SimpleAssignToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | StrictNeToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | NeToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | LshToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | LeToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | LtToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | UrshToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | RshToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | GeToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | GtToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | IncrementToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | DecrementToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | PlusToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | MinusToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | MulToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | DivToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | ModToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | NotToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | BitwiseNotToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | DotToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | LeftBracketToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | RightBracketToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | LeftCurlyToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | RightCurlyToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | LeftParenToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | RightParenToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | CondcommentEndToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | TailToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
  - | EOFToken {
    - token_span :: !TokenPosn
    - token_comment :: ![CommentAnnotation]
    }
- data AlexPosn = AlexPn !Int !Int !Int
- data Alex a
- lexCont :: (Token -> Alex b) -> Alex b
- alexError :: String -> Alex a
- runAlex :: String -> Alex a -> Either String a

# Documentation

data Token

Lexical tokens. Each may be annotated with any comment occuring between the prior token and this one

Constructors

CommentToken | Single line comment.

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

WsToken | White space, for preservation.

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

IdentifierToken | Identifier.

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

DecimalToken | Literal: Decimal

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

HexIntegerToken | Literal: Hexadecimal Integer

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

OctalToken | Literal: Octal Integer

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

StringToken | Literal: string, delimited by either single or double quotes

Fields

token_span :: !TokenPosn
token_literal :: !String
token_delimiter :: !Char
token_comment :: ![CommentAnnotation]

RegExToken | Literal: Regular Expression

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

BreakToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

CaseToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

CatchToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ConstToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ContinueToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

DebuggerToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

DefaultToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

DeleteToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

DoToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ElseToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

EnumToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

FalseToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

FinallyToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ForToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

FunctionToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

IfToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

InToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

InstanceofToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

NewToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

NullToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ReturnToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

SwitchToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ThisToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

ThrowToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

TrueToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

TryToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

TypeofToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

VarToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

VoidToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

WhileToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

WithToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

FutureToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

GetToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

SetToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

SemiColonToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

CommaToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

HookToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

ColonToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

OrToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

AndToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

BitwiseOrToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

BitwiseXorToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

BitwiseAndToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

StrictEqToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

EqToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

AssignToken |

Fields

token_span :: !TokenPosn
token_literal :: !String
token_comment :: ![CommentAnnotation]

SimpleAssignToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

StrictNeToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

NeToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

LshToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

LeToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

LtToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

UrshToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

RshToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

GeToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

GtToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

IncrementToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

DecrementToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

PlusToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

MinusToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

MulToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

DivToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

ModToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

NotToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

BitwiseNotToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

DotToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

LeftBracketToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

RightBracketToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

LeftCurlyToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

RightCurlyToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

LeftParenToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

RightParenToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

CondcommentEndToken |

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

TailToken | Stuff between last JS and EOF

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

EOFToken | End of file

Fields

token_span :: !TokenPosn
token_comment :: ![CommentAnnotation]

Instances

Eq Token |
Show Token |
Typeable Token |

data AlexPosn

Constructors

AlexPn !Int !Int !Int |

Instances

Eq AlexPosn |
Show AlexPosn |

data Alex a

Instances

Monad Alex |

lexCont :: (Token -> Alex b) -> Alex b

alexError :: String -> Alex a

runAlex :: String -> Alex a -> Either String a