dhscanner-ast-0.1.0.3: abstract syntax tree for multiple programming languages
Safe HaskellSafe-Inferred
LanguageHaskell2010

Token

Description

  • For the most part, tokens are constructed during parsing

    • exception example: an instrumented call to nondet, which involves creating a VarName
  • Each token kind ( VarName, ParamName etc. ) corresponds to its own Haskell type

  • Sometimes, a unified view is needed for named tokens

    • for instance, inside the symbol table
    • in these cases, use the included Named portion of the type
    • getter functions below help to easily extract it
    • the abstract syntax tree does not contain "naked" Named tokens
Synopsis

Documentation

data Named Source #

  • Raw data that is wrapped and included by the different tokens
  • Aimed to facilitate a unified view of named tokens
  • Is not a part of the abstract syntax tree

Constructors

Named 

Fields

Instances

Instances details
FromJSON Named Source # 
Instance details

Defined in Token

ToJSON Named Source # 
Instance details

Defined in Token

Generic Named Source # 
Instance details

Defined in Token

Associated Types

type Rep Named :: Type -> Type

Methods

from :: Named -> Rep Named x

to :: Rep Named x -> Named

Show Named Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> Named -> ShowS

show :: Named -> String

showList :: [Named] -> ShowS

Eq Named Source # 
Instance details

Defined in Token

Methods

(==) :: Named -> Named -> Bool

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

Ord Named Source # 
Instance details

Defined in Token

Methods

compare :: Named -> Named -> Ordering

(<) :: Named -> Named -> Bool

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

(>) :: Named -> Named -> Bool

(>=) :: Named -> Named -> Bool

max :: Named -> Named -> Named

min :: Named -> Named -> Named

type Rep Named Source # 
Instance details

Defined in Token

type Rep Named = D1 ('MetaData "Named" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "Named" 'PrefixI 'True) (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))

data VarName Source #

Constructors

VarName Named 

Instances

Instances details
FromJSON VarName Source # 
Instance details

Defined in Token

ToJSON VarName Source # 
Instance details

Defined in Token

Generic VarName Source # 
Instance details

Defined in Token

Associated Types

type Rep VarName :: Type -> Type

Methods

from :: VarName -> Rep VarName x

to :: Rep VarName x -> VarName

Show VarName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> VarName -> ShowS

show :: VarName -> String

showList :: [VarName] -> ShowS

Eq VarName Source # 
Instance details

Defined in Token

Methods

(==) :: VarName -> VarName -> Bool

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

Ord VarName Source # 
Instance details

Defined in Token

Methods

compare :: VarName -> VarName -> Ordering

(<) :: VarName -> VarName -> Bool

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

(>) :: VarName -> VarName -> Bool

(>=) :: VarName -> VarName -> Bool

max :: VarName -> VarName -> VarName

min :: VarName -> VarName -> VarName

type Rep VarName Source # 
Instance details

Defined in Token

type Rep VarName = D1 ('MetaData "VarName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "VarName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data PkgName Source #

Constructors

PkgName Named 

Instances

Instances details
FromJSON PkgName Source # 
Instance details

Defined in Token

ToJSON PkgName Source # 
Instance details

Defined in Token

Generic PkgName Source # 
Instance details

Defined in Token

Associated Types

type Rep PkgName :: Type -> Type

Methods

from :: PkgName -> Rep PkgName x

to :: Rep PkgName x -> PkgName

Show PkgName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> PkgName -> ShowS

show :: PkgName -> String

showList :: [PkgName] -> ShowS

Eq PkgName Source # 
Instance details

Defined in Token

Methods

(==) :: PkgName -> PkgName -> Bool

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

Ord PkgName Source # 
Instance details

Defined in Token

Methods

compare :: PkgName -> PkgName -> Ordering

(<) :: PkgName -> PkgName -> Bool

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

(>) :: PkgName -> PkgName -> Bool

(>=) :: PkgName -> PkgName -> Bool

max :: PkgName -> PkgName -> PkgName

min :: PkgName -> PkgName -> PkgName

type Rep PkgName Source # 
Instance details

Defined in Token

type Rep PkgName = D1 ('MetaData "PkgName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "PkgName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data FuncName Source #

Constructors

FuncName Named 

Instances

Instances details
FromJSON FuncName Source # 
Instance details

Defined in Token

ToJSON FuncName Source # 
Instance details

Defined in Token

Generic FuncName Source # 
Instance details

Defined in Token

Associated Types

type Rep FuncName :: Type -> Type

Methods

from :: FuncName -> Rep FuncName x

to :: Rep FuncName x -> FuncName

Show FuncName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> FuncName -> ShowS

show :: FuncName -> String

showList :: [FuncName] -> ShowS

Eq FuncName Source # 
Instance details

Defined in Token

Methods

(==) :: FuncName -> FuncName -> Bool

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

Ord FuncName Source # 
Instance details

Defined in Token

Methods

compare :: FuncName -> FuncName -> Ordering

(<) :: FuncName -> FuncName -> Bool

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

(>) :: FuncName -> FuncName -> Bool

(>=) :: FuncName -> FuncName -> Bool

max :: FuncName -> FuncName -> FuncName

min :: FuncName -> FuncName -> FuncName

type Rep FuncName Source # 
Instance details

Defined in Token

type Rep FuncName = D1 ('MetaData "FuncName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "FuncName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data ParamName Source #

Constructors

ParamName Named 

Instances

Instances details
FromJSON ParamName Source # 
Instance details

Defined in Token

ToJSON ParamName Source # 
Instance details

Defined in Token

Generic ParamName Source # 
Instance details

Defined in Token

Associated Types

type Rep ParamName :: Type -> Type

Methods

from :: ParamName -> Rep ParamName x

to :: Rep ParamName x -> ParamName

Show ParamName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> ParamName -> ShowS

show :: ParamName -> String

showList :: [ParamName] -> ShowS

Eq ParamName Source # 
Instance details

Defined in Token

Methods

(==) :: ParamName -> ParamName -> Bool

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

Ord ParamName Source # 
Instance details

Defined in Token

Methods

compare :: ParamName -> ParamName -> Ordering

(<) :: ParamName -> ParamName -> Bool

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

(>) :: ParamName -> ParamName -> Bool

(>=) :: ParamName -> ParamName -> Bool

max :: ParamName -> ParamName -> ParamName

min :: ParamName -> ParamName -> ParamName

type Rep ParamName Source # 
Instance details

Defined in Token

type Rep ParamName = D1 ('MetaData "ParamName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "ParamName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data FieldName Source #

Constructors

FieldName Named 

Instances

Instances details
FromJSON FieldName Source # 
Instance details

Defined in Token

ToJSON FieldName Source # 
Instance details

Defined in Token

Generic FieldName Source # 
Instance details

Defined in Token

Associated Types

type Rep FieldName :: Type -> Type

Methods

from :: FieldName -> Rep FieldName x

to :: Rep FieldName x -> FieldName

Show FieldName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> FieldName -> ShowS

show :: FieldName -> String

showList :: [FieldName] -> ShowS

Eq FieldName Source # 
Instance details

Defined in Token

Methods

(==) :: FieldName -> FieldName -> Bool

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

Ord FieldName Source # 
Instance details

Defined in Token

Methods

compare :: FieldName -> FieldName -> Ordering

(<) :: FieldName -> FieldName -> Bool

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

(>) :: FieldName -> FieldName -> Bool

(>=) :: FieldName -> FieldName -> Bool

max :: FieldName -> FieldName -> FieldName

min :: FieldName -> FieldName -> FieldName

type Rep FieldName Source # 
Instance details

Defined in Token

type Rep FieldName = D1 ('MetaData "FieldName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "FieldName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data ClassName Source #

Constructors

ClassName Named 

Instances

Instances details
FromJSON ClassName Source # 
Instance details

Defined in Token

ToJSON ClassName Source # 
Instance details

Defined in Token

Generic ClassName Source # 
Instance details

Defined in Token

Associated Types

type Rep ClassName :: Type -> Type

Methods

from :: ClassName -> Rep ClassName x

to :: Rep ClassName x -> ClassName

Show ClassName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> ClassName -> ShowS

show :: ClassName -> String

showList :: [ClassName] -> ShowS

Eq ClassName Source # 
Instance details

Defined in Token

Methods

(==) :: ClassName -> ClassName -> Bool

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

Ord ClassName Source # 
Instance details

Defined in Token

Methods

compare :: ClassName -> ClassName -> Ordering

(<) :: ClassName -> ClassName -> Bool

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

(>) :: ClassName -> ClassName -> Bool

(>=) :: ClassName -> ClassName -> Bool

max :: ClassName -> ClassName -> ClassName

min :: ClassName -> ClassName -> ClassName

type Rep ClassName Source # 
Instance details

Defined in Token

type Rep ClassName = D1 ('MetaData "ClassName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "ClassName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data SuperName Source #

Constructors

SuperName Named 

Instances

Instances details
FromJSON SuperName Source # 
Instance details

Defined in Token

ToJSON SuperName Source # 
Instance details

Defined in Token

Generic SuperName Source # 
Instance details

Defined in Token

Associated Types

type Rep SuperName :: Type -> Type

Methods

from :: SuperName -> Rep SuperName x

to :: Rep SuperName x -> SuperName

Show SuperName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> SuperName -> ShowS

show :: SuperName -> String

showList :: [SuperName] -> ShowS

Eq SuperName Source # 
Instance details

Defined in Token

Methods

(==) :: SuperName -> SuperName -> Bool

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

Ord SuperName Source # 
Instance details

Defined in Token

Methods

compare :: SuperName -> SuperName -> Ordering

(<) :: SuperName -> SuperName -> Bool

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

(>) :: SuperName -> SuperName -> Bool

(>=) :: SuperName -> SuperName -> Bool

max :: SuperName -> SuperName -> SuperName

min :: SuperName -> SuperName -> SuperName

type Rep SuperName Source # 
Instance details

Defined in Token

type Rep SuperName = D1 ('MetaData "SuperName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "SuperName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data MembrName Source #

Constructors

MembrName Named 

Instances

Instances details
FromJSON MembrName Source # 
Instance details

Defined in Token

FromJSONKey MembrName Source # 
Instance details

Defined in Token

ToJSON MembrName Source # 
Instance details

Defined in Token

ToJSONKey MembrName Source # 
Instance details

Defined in Token

Generic MembrName Source # 
Instance details

Defined in Token

Associated Types

type Rep MembrName :: Type -> Type

Methods

from :: MembrName -> Rep MembrName x

to :: Rep MembrName x -> MembrName

Show MembrName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> MembrName -> ShowS

show :: MembrName -> String

showList :: [MembrName] -> ShowS

Eq MembrName Source # 
Instance details

Defined in Token

Methods

(==) :: MembrName -> MembrName -> Bool

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

Ord MembrName Source # 
Instance details

Defined in Token

Methods

compare :: MembrName -> MembrName -> Ordering

(<) :: MembrName -> MembrName -> Bool

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

(>) :: MembrName -> MembrName -> Bool

(>=) :: MembrName -> MembrName -> Bool

max :: MembrName -> MembrName -> MembrName

min :: MembrName -> MembrName -> MembrName

type Rep MembrName Source # 
Instance details

Defined in Token

type Rep MembrName = D1 ('MetaData "MembrName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "MembrName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data MethdName Source #

Constructors

MethdName Named 

Instances

Instances details
FromJSON MethdName Source # 
Instance details

Defined in Token

FromJSONKey MethdName Source # 
Instance details

Defined in Token

ToJSON MethdName Source # 
Instance details

Defined in Token

ToJSONKey MethdName Source # 
Instance details

Defined in Token

Generic MethdName Source # 
Instance details

Defined in Token

Associated Types

type Rep MethdName :: Type -> Type

Methods

from :: MethdName -> Rep MethdName x

to :: Rep MethdName x -> MethdName

Show MethdName Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> MethdName -> ShowS

show :: MethdName -> String

showList :: [MethdName] -> ShowS

Eq MethdName Source # 
Instance details

Defined in Token

Methods

(==) :: MethdName -> MethdName -> Bool

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

Ord MethdName Source # 
Instance details

Defined in Token

Methods

compare :: MethdName -> MethdName -> Ordering

(<) :: MethdName -> MethdName -> Bool

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

(>) :: MethdName -> MethdName -> Bool

(>=) :: MethdName -> MethdName -> Bool

max :: MethdName -> MethdName -> MethdName

min :: MethdName -> MethdName -> MethdName

type Rep MethdName Source # 
Instance details

Defined in Token

type Rep MethdName = D1 ('MetaData "MethdName" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "MethdName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data NominalTy Source #

Constructors

NominalTy Named 

Instances

Instances details
FromJSON NominalTy Source # 
Instance details

Defined in Token

ToJSON NominalTy Source # 
Instance details

Defined in Token

Generic NominalTy Source # 
Instance details

Defined in Token

Associated Types

type Rep NominalTy :: Type -> Type

Methods

from :: NominalTy -> Rep NominalTy x

to :: Rep NominalTy x -> NominalTy

Show NominalTy Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> NominalTy -> ShowS

show :: NominalTy -> String

showList :: [NominalTy] -> ShowS

Eq NominalTy Source # 
Instance details

Defined in Token

Methods

(==) :: NominalTy -> NominalTy -> Bool

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

Ord NominalTy Source # 
Instance details

Defined in Token

Methods

compare :: NominalTy -> NominalTy -> Ordering

(<) :: NominalTy -> NominalTy -> Bool

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

(>) :: NominalTy -> NominalTy -> Bool

(>=) :: NominalTy -> NominalTy -> Bool

max :: NominalTy -> NominalTy -> NominalTy

min :: NominalTy -> NominalTy -> NominalTy

type Rep NominalTy Source # 
Instance details

Defined in Token

type Rep NominalTy = D1 ('MetaData "NominalTy" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "NominalTy" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Named)))

data ConstBool Source #

Constructors

ConstBool 

Instances

Instances details
FromJSON ConstBool Source # 
Instance details

Defined in Token

ToJSON ConstBool Source # 
Instance details

Defined in Token

Generic ConstBool Source # 
Instance details

Defined in Token

Associated Types

type Rep ConstBool :: Type -> Type

Methods

from :: ConstBool -> Rep ConstBool x

to :: Rep ConstBool x -> ConstBool

Show ConstBool Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> ConstBool -> ShowS

show :: ConstBool -> String

showList :: [ConstBool] -> ShowS

Eq ConstBool Source # 
Instance details

Defined in Token

Methods

(==) :: ConstBool -> ConstBool -> Bool

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

Ord ConstBool Source # 
Instance details

Defined in Token

Methods

compare :: ConstBool -> ConstBool -> Ordering

(<) :: ConstBool -> ConstBool -> Bool

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

(>) :: ConstBool -> ConstBool -> Bool

(>=) :: ConstBool -> ConstBool -> Bool

max :: ConstBool -> ConstBool -> ConstBool

min :: ConstBool -> ConstBool -> ConstBool

type Rep ConstBool Source # 
Instance details

Defined in Token

type Rep ConstBool = D1 ('MetaData "ConstBool" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "ConstBool" 'PrefixI 'True) (S1 ('MetaSel ('Just "constBoolValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "constBoolLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))

data ConstInt Source #

Constructors

ConstInt 

Instances

Instances details
FromJSON ConstInt Source # 
Instance details

Defined in Token

ToJSON ConstInt Source # 
Instance details

Defined in Token

Generic ConstInt Source # 
Instance details

Defined in Token

Associated Types

type Rep ConstInt :: Type -> Type

Methods

from :: ConstInt -> Rep ConstInt x

to :: Rep ConstInt x -> ConstInt

Show ConstInt Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> ConstInt -> ShowS

show :: ConstInt -> String

showList :: [ConstInt] -> ShowS

Eq ConstInt Source # 
Instance details

Defined in Token

Methods

(==) :: ConstInt -> ConstInt -> Bool

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

Ord ConstInt Source # 
Instance details

Defined in Token

Methods

compare :: ConstInt -> ConstInt -> Ordering

(<) :: ConstInt -> ConstInt -> Bool

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

(>) :: ConstInt -> ConstInt -> Bool

(>=) :: ConstInt -> ConstInt -> Bool

max :: ConstInt -> ConstInt -> ConstInt

min :: ConstInt -> ConstInt -> ConstInt

type Rep ConstInt Source # 
Instance details

Defined in Token

type Rep ConstInt = D1 ('MetaData "ConstInt" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "ConstInt" 'PrefixI 'True) (S1 ('MetaSel ('Just "constIntValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "constIntLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))

data ConstStr Source #

Constructors

ConstStr 

Instances

Instances details
FromJSON ConstStr Source # 
Instance details

Defined in Token

ToJSON ConstStr Source # 
Instance details

Defined in Token

Generic ConstStr Source # 
Instance details

Defined in Token

Associated Types

type Rep ConstStr :: Type -> Type

Methods

from :: ConstStr -> Rep ConstStr x

to :: Rep ConstStr x -> ConstStr

Show ConstStr Source # 
Instance details

Defined in Token

Methods

showsPrec :: Int -> ConstStr -> ShowS

show :: ConstStr -> String

showList :: [ConstStr] -> ShowS

Eq ConstStr Source # 
Instance details

Defined in Token

Methods

(==) :: ConstStr -> ConstStr -> Bool

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

Ord ConstStr Source # 
Instance details

Defined in Token

Methods

compare :: ConstStr -> ConstStr -> Ordering

(<) :: ConstStr -> ConstStr -> Bool

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

(>) :: ConstStr -> ConstStr -> Bool

(>=) :: ConstStr -> ConstStr -> Bool

max :: ConstStr -> ConstStr -> ConstStr

min :: ConstStr -> ConstStr -> ConstStr

type Rep ConstStr Source # 
Instance details

Defined in Token

type Rep ConstStr = D1 ('MetaData "ConstStr" "Token" "dhscanner-ast-0.1.0.3-inplace" 'False) (C1 ('MetaCons "ConstStr" 'PrefixI 'True) (S1 ('MetaSel ('Just "constStrValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "constStrLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Location)))