Safe Haskell | None |
---|---|
Language | Haskell2010 |
- initState :: HlState
- alexScanToken :: (AlexState HlState, AlexInput) -> Maybe (Tok Token, (AlexState HlState, AlexInput))
- tokenToStyle :: Token -> UIStyle -> Style
- type TT = Tok Token
- data Token
- data Reserved
- data Operator
- = Add'
- | Subtract'
- | Multiply'
- | Divide'
- | Modulo'
- | Increment'
- | Decrement'
- | Assign'
- | AddAssign'
- | SubtractAssign'
- | MultiplyAssign'
- | DivideAssign'
- | ModuloAssign'
- | Equals'
- | NotEquals'
- | GT'
- | GTE'
- | LT'
- | LTE'
- | EqualsType'
- | NotEqualsType'
- | And'
- | Or'
- | Not'
- | BitAnd'
- | BitOr'
- | BitXor'
- | LeftShift'
- | RightShift'
- | RightShiftZ'
- | BitNot'
- | Qualify'
- type HlState = Int
- prefixOperators :: [Operator]
- infixOperators :: [Operator]
- postfixOperators :: [Operator]
Documentation
alexScanToken :: (AlexState HlState, AlexInput) -> Maybe (Tok Token, (AlexState HlState, AlexInput)) Source
Scan one token. Return (maybe) a token and a new state.
tokenToStyle :: Token -> UIStyle -> Style Source
The different tokens.
The constructors for Reserved
have an apostrophe as a suffix because
Default
is already used. Also note that Undefined'
is not intended as
some sort of "backup" reserved word for things we don't care about -- it
really means the "undefined" built-in in JavaScript.
The constructors for Operator
have an apostrophe as a suffix because
e.g. LT
is already used by Prelude
.
prefixOperators :: [Operator] Source
Prefix operators. NOTE: Add' is also a valid prefix operator, but since it's completely useless in the real world, we don't care about it here. Doing this makes parsing much, much easier.
infixOperators :: [Operator] Source
Infix operators.
postfixOperators :: [Operator] Source
Postfix operators.