language-python-0.5.6: Parsing and pretty printing of Python code.
Copyright(c) 2009 Bernie Pope
LicenseBSD-style
Maintainerbjpop@csse.unimelb.edu.au
Stabilityexperimental
Portabilityghc
Safe HaskellSafe
LanguageHaskell98

Language.Python.Common.Token

Description

Lexical tokens for the Python lexer. Contains the superset of tokens from version 2 and version 3 of Python (they are mostly the same).

Synopsis

The tokens

data Token Source #

Lexical tokens.

Constructors

IndentToken

Indentation: increase.

Fields

DedentToken

Indentation: decrease.

Fields

NewlineToken

Newline.

Fields

LineJoinToken

Line join (backslash at end of line).

Fields

CommentToken

Single line comment.

Fields

IdentifierToken

Identifier.

Fields

StringToken

Literal: string.

Fields

ByteStringToken

Literal: byte string.

Fields

UnicodeStringToken

Literal: unicode string, version 2 only.

Fields

IntegerToken

Literal: integer.

Fields

LongIntegerToken

Literal: long integer. Version 2 only.

Fields

FloatToken

Literal: floating point.

Fields

ImaginaryToken

Literal: imaginary number.

Fields

DefToken

Keyword: 'def'.

Fields

WhileToken

Keyword: 'while'.

Fields

IfToken

Keyword: 'if'.

Fields

TrueToken

Keyword: 'True'.

Fields

FalseToken

Keyword: 'False'.

Fields

ReturnToken

Keyword: 'Return'.

Fields

TryToken

Keyword: 'try'.

Fields

ExceptToken

Keyword: 'except'.

Fields

RaiseToken

Keyword: 'raise'.

Fields

InToken

Keyword: 'in'.

Fields

IsToken

Keyword: 'is'.

Fields

LambdaToken

Keyword: 'lambda'.

Fields

ClassToken

Keyword: 'class'.

Fields

FinallyToken

Keyword: 'finally'.

Fields

NoneToken

Keyword: 'None'.

Fields

ForToken

Keyword: 'for'.

Fields

FromToken

Keyword: 'from'.

Fields

GlobalToken

Keyword: 'global'.

Fields

WithToken

Keyword: 'with'.

Fields

AsToken

Keyword: 'as'.

Fields

ElifToken

Keyword: 'elif'.

Fields

YieldToken

Keyword: 'yield'.

Fields

AssertToken

Keyword: 'assert'.

Fields

ImportToken

Keyword: 'import'.

Fields

PassToken

Keyword: 'pass'.

Fields

BreakToken

Keyword: 'break'.

Fields

ContinueToken

Keyword: 'continue'.

Fields

DeleteToken

Keyword: 'del'.

Fields

ElseToken

Keyword: 'else'.

Fields

NotToken

Keyword: 'not'.

Fields

AndToken

Keyword: boolean conjunction 'and'.

Fields

OrToken

Keyword: boolean disjunction 'or'. Version 3.x only:

Fields

NonLocalToken

Keyword: 'nonlocal' (Python 3.x only)

Fields

AsyncToken

Keyword: 'async' (Python 3.x only)

Fields

AwaitToken

Keyword: 'await' (Python 3.x only) Version 2.x only:

Fields

PrintToken

Keyword: 'print'. (Python 2.x only)

Fields

ExecToken

Keyword: 'exec'. (Python 2.x only)

Fields

AtToken

Delimiter: at sign '@'.

Fields

LeftRoundBracketToken

Delimiter: left round bracket '('.

Fields

RightRoundBracketToken

Delimiter: right round bracket ')'.

Fields

LeftSquareBracketToken

Delimiter: left square bracket '['.

Fields

RightSquareBracketToken

Delimiter: right square bracket ']'.

Fields

LeftBraceToken

Delimiter: left curly bracket '{'.

Fields

RightBraceToken

Delimiter: right curly bracket '}'.

Fields

DotToken

Delimiter: dot (full stop) '.'.

Fields

CommaToken

Delimiter: comma ','.

Fields

SemiColonToken

Delimiter: semicolon ';'.

Fields

ColonToken

Delimiter: colon ':'.

Fields

EllipsisToken

Delimiter: ellipses (three dots) '...'.

Fields

RightArrowToken

Delimiter: right facing arrow '->'.

Fields

AssignToken

Delimiter: assignment '='.

Fields

PlusAssignToken

Delimiter: plus assignment '+='.

Fields

MinusAssignToken

Delimiter: minus assignment '-='.

Fields

MultAssignToken

Delimiter: multiply assignment '*='

Fields

DivAssignToken

Delimiter: divide assignment '/='.

Fields

ModAssignToken

Delimiter: modulus assignment '%='.

Fields

PowAssignToken

Delimiter: power assignment '**='.

Fields

BinAndAssignToken

Delimiter: binary-and assignment '&='.

Fields

BinOrAssignToken

Delimiter: binary-or assignment '|='.

Fields

BinXorAssignToken

Delimiter: binary-xor assignment '^='.

Fields

LeftShiftAssignToken

Delimiter: binary-left-shift assignment '<<='.

Fields

RightShiftAssignToken

Delimiter: binary-right-shift assignment '>>='.

Fields

FloorDivAssignToken

Delimiter: floor-divide assignment '//='.

Fields

MatrixMultAssignToken

Delimiter: matrix multiplication assignment '@='.

Fields

BackQuoteToken

Delimiter: back quote character '`\'.

Fields

PlusToken

Operator: plus '+'.

Fields

MinusToken

Operator: minus: '-'.

Fields

MultToken

Operator: multiply '*'.

Fields

DivToken

Operator: divide '/'.

Fields

GreaterThanToken

Operator: greater-than '>'.

Fields

LessThanToken

Operator: less-than '<'.

Fields

EqualityToken

Operator: equals '=='.

Fields

GreaterThanEqualsToken

Operator: greater-than-or-equals '>='.

Fields

LessThanEqualsToken

Operator: less-than-or-equals '<='.

Fields

ExponentToken

Operator: exponential '**'.

Fields

BinaryOrToken

Operator: binary-or '|'.

Fields

XorToken

Operator: binary-xor '^'.

Fields

BinaryAndToken

Operator: binary-and '&'.

Fields

ShiftLeftToken

Operator: binary-shift-left '<<'.

Fields

ShiftRightToken

Operator: binary-shift-right '>>'.

Fields

ModuloToken

Operator: modulus '%'.

Fields

FloorDivToken

Operator: floor-divide '//'.

Fields

TildeToken

Operator: tilde '~'.

Fields

NotEqualsToken

Operator: not-equals '!='.

Fields

NotEqualsV2Token

Operator: not-equals '<>'. Version 2 only.

Fields

EOFToken

End of file

Fields

Instances

Instances details
Eq Token Source # 
Instance details

Defined in Language.Python.Common.Token

Methods

(==) :: Token -> Token -> Bool

(/=) :: Token -> Token -> Bool

Data Token Source # 
Instance details

Defined in Language.Python.Common.Token

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Token -> c Token

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Token

toConstr :: Token -> Constr

dataTypeOf :: Token -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Token)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Token)

gmapT :: (forall b. Data b => b -> b) -> Token -> Token

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Token -> r

gmapQ :: (forall d. Data d => d -> u) -> Token -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Token -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Token -> m Token

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Token -> m Token

Ord Token Source # 
Instance details

Defined in Language.Python.Common.Token

Methods

compare :: Token -> Token -> Ordering

(<) :: Token -> Token -> Bool

(<=) :: Token -> Token -> Bool

(>) :: Token -> Token -> Bool

(>=) :: Token -> Token -> Bool

max :: Token -> Token -> Token

min :: Token -> Token -> Token

Show Token Source # 
Instance details

Defined in Language.Python.Common.Token

Methods

showsPrec :: Int -> Token -> ShowS

show :: Token -> String

showList :: [Token] -> ShowS

Pretty Token Source # 
Instance details

Defined in Language.Python.Common.PrettyToken

Methods

pretty :: Token -> Doc Source #

Span Token Source # 
Instance details

Defined in Language.Python.Common.Token

String conversion

debugTokenString :: Token -> String Source #

Produce a string from a token containing detailed information. Mainly intended for debugging.

tokenString :: Token -> String Source #

Produce a string from a token which is suitable for printing as Python concrete syntax. Invisible tokens yield an empty string.

Classification

hasLiteral :: Token -> Bool Source #

Test if a token contains its literal source text.

data TokenClass Source #

Classification of tokens

Instances

Instances details
Eq TokenClass Source # 
Instance details

Defined in Language.Python.Common.Token

Methods

(==) :: TokenClass -> TokenClass -> Bool

(/=) :: TokenClass -> TokenClass -> Bool

Ord TokenClass Source # 
Instance details

Defined in Language.Python.Common.Token

Show TokenClass Source # 
Instance details

Defined in Language.Python.Common.Token

Methods

showsPrec :: Int -> TokenClass -> ShowS

show :: TokenClass -> String

showList :: [TokenClass] -> ShowS