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