cryptol-2.13.0: Cryptol: The Language of Cryptography
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cryptol.Parser.Token

Synopsis

Documentation

data Token Source #

Constructors

Token 

Fields

Instances

Instances details
Show Token Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

Generic Token Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep Token :: Type -> Type #

Methods

from :: Token -> Rep Token x #

to :: Rep Token x -> Token #

NFData Token Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: Token -> () #

PP Token Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

ppPrec :: Int -> Token -> Doc Source #

type Rep Token Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep Token = D1 ('MetaData "Token" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (C1 ('MetaCons "Token" 'PrefixI 'True) (S1 ('MetaSel ('Just "tokenType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenT) :*: S1 ('MetaSel ('Just "tokenText") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))

data TokenV Source #

Virtual tokens, inserted by layout processing.

Constructors

VCurlyL 
VCurlyR 
VSemi 

Instances

Instances details
Eq TokenV Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

(==) :: TokenV -> TokenV -> Bool #

(/=) :: TokenV -> TokenV -> Bool #

Show TokenV Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenV Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenV :: Type -> Type #

Methods

from :: TokenV -> Rep TokenV x #

to :: Rep TokenV x -> TokenV #

NFData TokenV Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenV -> () #

type Rep TokenV Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenV = D1 ('MetaData "TokenV" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (C1 ('MetaCons "VCurlyL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VCurlyR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VSemi" 'PrefixI 'False) (U1 :: Type -> Type)))

data TokenW Source #

Instances

Instances details
Eq TokenW Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

(==) :: TokenW -> TokenW -> Bool #

(/=) :: TokenW -> TokenW -> Bool #

Show TokenW Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenW Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenW :: Type -> Type #

Methods

from :: TokenW -> Rep TokenW x #

to :: Rep TokenW x -> TokenW #

NFData TokenW Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenW -> () #

type Rep TokenW Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenW = D1 ('MetaData "TokenW" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) ((C1 ('MetaCons "BlockComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LineComment" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Space" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DocStr" 'PrefixI 'False) (U1 :: Type -> Type)))

data TokenKW Source #

Instances

Instances details
Eq TokenKW Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

(==) :: TokenKW -> TokenKW -> Bool #

(/=) :: TokenKW -> TokenKW -> Bool #

Show TokenKW Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenKW Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenKW :: Type -> Type #

Methods

from :: TokenKW -> Rep TokenKW x #

to :: Rep TokenKW x -> TokenKW #

NFData TokenKW Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenKW -> () #

type Rep TokenKW Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenKW = D1 ('MetaData "TokenKW" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (((((C1 ('MetaCons "KW_else" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_extern" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_fin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_if" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KW_private" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_include" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_inf" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_lg2" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "KW_lengthFromThen" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_lengthFromThenTo" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_max" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_min" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KW_module" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_submodule" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_newtype" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KW_pragma" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_property" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "KW_then" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_type" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_where" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_let" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KW_x" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_import" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_as" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_hiding" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "KW_infixl" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_infixr" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_infix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_primitive" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KW_parameter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_constraint" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KW_Prop" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KW_by" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KW_down" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data TokenOp Source #

The named operators are a special case for parsing types, and Other is used for all other cases that lexed as an operator.

Constructors

Plus 
Minus 
Mul 
Div 
Exp 
Mod 
Equal 
LEQ 
GEQ 
Complement 
Hash 
At 
Other [Text] Text 

Instances

Instances details
Eq TokenOp Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

(==) :: TokenOp -> TokenOp -> Bool #

(/=) :: TokenOp -> TokenOp -> Bool #

Show TokenOp Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenOp Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenOp :: Type -> Type #

Methods

from :: TokenOp -> Rep TokenOp x #

to :: Rep TokenOp x -> TokenOp #

NFData TokenOp Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenOp -> () #

type Rep TokenOp Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenOp = D1 ('MetaData "TokenOp" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (((C1 ('MetaCons "Plus" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Minus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Mul" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Div" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Exp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Mod" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Equal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LEQ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GEQ" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Complement" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Hash" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "At" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Other" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))))

data TokenSym Source #

Instances

Instances details
Eq TokenSym Source # 
Instance details

Defined in Cryptol.Parser.Token

Show TokenSym Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenSym Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenSym :: Type -> Type #

Methods

from :: TokenSym -> Rep TokenSym x #

to :: Rep TokenSym x -> TokenSym #

NFData TokenSym Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenSym -> () #

type Rep TokenSym Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenSym = D1 ('MetaData "TokenSym" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) ((((C1 ('MetaCons "Bar" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ArrL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ArrR" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "FatArrR" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Lambda" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqDef" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Comma" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Semi" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Dot" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "DotDot" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DotDotDot" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DotDotLt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DotDotGt" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Colon" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BackTick" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ParenL" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ParenR" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BracketL" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BracketR" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CurlyL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CurlyR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TriL" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "TriR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Lt" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Gt" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Underscore" 'PrefixI 'False) (U1 :: Type -> Type))))))

data TokenErr Source #

Instances

Instances details
Eq TokenErr Source # 
Instance details

Defined in Cryptol.Parser.Token

Show TokenErr Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenErr Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenErr :: Type -> Type #

Methods

from :: TokenErr -> Rep TokenErr x #

to :: Rep TokenErr x -> TokenErr #

NFData TokenErr Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenErr -> () #

type Rep TokenErr Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenErr = D1 ('MetaData "TokenErr" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (((C1 ('MetaCons "UnterminatedComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnterminatedString" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnterminatedChar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InvalidString" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "InvalidChar" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LexicalError" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MalformedLiteral" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MalformedSelector" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InvalidIndentation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TokenT))))))

data SelectorType Source #

Instances

Instances details
Eq SelectorType Source # 
Instance details

Defined in Cryptol.Parser.Token

Show SelectorType Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic SelectorType Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep SelectorType :: Type -> Type #

NFData SelectorType Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: SelectorType -> () #

type Rep SelectorType Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep SelectorType = D1 ('MetaData "SelectorType" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (C1 ('MetaCons "RecordSelectorTok" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "TupleSelectorTok" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data TokenT Source #

Constructors

Num !Integer !Int !Int

value, base, number of digits

Frac !Rational !Int

value, base.

ChrLit !Char

character literal

Ident ![Text] !Text

(qualified) identifier

StrLit !String

string literal

Selector !SelectorType

.hello or .123

KW !TokenKW

keyword

Op !TokenOp

operator

Sym !TokenSym

symbol

Virt !TokenV

virtual token (for layout)

White !TokenW

white space token

Err !TokenErr

error token

EOF 

Instances

Instances details
Eq TokenT Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

(==) :: TokenT -> TokenT -> Bool #

(/=) :: TokenT -> TokenT -> Bool #

Show TokenT Source # 
Instance details

Defined in Cryptol.Parser.Token

Generic TokenT Source # 
Instance details

Defined in Cryptol.Parser.Token

Associated Types

type Rep TokenT :: Type -> Type #

Methods

from :: TokenT -> Rep TokenT x #

to :: Rep TokenT x -> TokenT #

NFData TokenT Source # 
Instance details

Defined in Cryptol.Parser.Token

Methods

rnf :: TokenT -> () #

type Rep TokenT Source # 
Instance details

Defined in Cryptol.Parser.Token

type Rep TokenT = D1 ('MetaData "TokenT" "Cryptol.Parser.Token" "cryptol-2.13.0-BA7OuzmYZ3M9j8JsJfXs6b" 'False) (((C1 ('MetaCons "Num" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "Frac" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Rational) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "ChrLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Char)))) :+: (C1 ('MetaCons "Ident" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: (C1 ('MetaCons "StrLit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 String)) :+: C1 ('MetaCons "Selector" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SelectorType))))) :+: ((C1 ('MetaCons "KW" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenKW)) :+: (C1 ('MetaCons "Op" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenOp)) :+: C1 ('MetaCons "Sym" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenSym)))) :+: ((C1 ('MetaCons "Virt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenV)) :+: C1 ('MetaCons "White" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenW))) :+: (C1 ('MetaCons "Err" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TokenErr)) :+: C1 ('MetaCons "EOF" 'PrefixI 'False) (U1 :: Type -> Type)))))