Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
AST
Documentation
Constructors
LessThan | |
GreaterThan | |
LessEqual | |
GreaterEqual |
Constructors
Neg |
Constructors
Not |
Constructors
Choice |
Constructors
EqlAssign | |
IncAssign | |
DecAssign | |
PlusPlus | |
MinusMinus |
parseArithOp :: Text -> ArithOp Source #
parseRelOp :: Text -> RelOp Source #
parseCondOp :: Text -> CondOp Source #
parseNegOp :: Text -> NegOp Source #
parseNotOp :: Text -> NotOp Source #
parseAssignOp :: Text -> AssignOp Source #
Constructors
Location | |
Instances
Generic Location Source # | |
Show Location Source # | |
type Rep Location Source # | |
Defined in AST type Rep Location = D1 ('MetaData "Location" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Location" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Just "idx") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Expr))) :*: (S1 ('MetaSel ('Just "variableDef") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Either Argument FieldDecl)) :*: (S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Type) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range))))) |
data Assignment Source #
Constructors
Assignment | |
Instances
Generic Assignment Source # | |
Show Assignment Source # | |
Defined in AST Methods showsPrec :: Int -> Assignment -> ShowS # show :: Assignment -> String # showList :: [Assignment] -> ShowS # | |
type Rep Assignment Source # | |
Defined in AST type Rep Assignment = D1 ('MetaData "Assignment" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Assignment" 'PrefixI 'True) ((S1 ('MetaSel ('Just "location") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Location) :*: S1 ('MetaSel ('Just "op") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AssignOp)) :*: (S1 ('MetaSel ('Just "expr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Expr)) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range)))) |
data MethodCall Source #
Instances
Generic MethodCall Source # | |
Show MethodCall Source # | |
Defined in AST Methods showsPrec :: Int -> MethodCall -> ShowS # show :: MethodCall -> String # showList :: [MethodCall] -> ShowS # | |
type Rep MethodCall Source # | |
Defined in AST type Rep MethodCall = D1 ('MetaData "MethodCall" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "MethodCall" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: (S1 ('MetaSel ('Just "args") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Expr]) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range)))) |
Constructors
ASTRoot | |
Fields
|
Instances
Generic ASTRoot Source # | |
Show ASTRoot Source # | |
type Rep ASTRoot Source # | |
Defined in AST type Rep ASTRoot = D1 ('MetaData "ASTRoot" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "ASTRoot" 'PrefixI 'True) (S1 ('MetaSel ('Just "imports") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [ImportDecl]) :*: (S1 ('MetaSel ('Just "vars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [FieldDecl]) :*: S1 ('MetaSel ('Just "methods") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [MethodDecl])))) |
data ImportDecl Source #
Constructors
ImportDecl | |
Instances
Generic ImportDecl Source # | |
Show ImportDecl Source # | |
Defined in AST Methods showsPrec :: Int -> ImportDecl -> ShowS # show :: ImportDecl -> String # showList :: [ImportDecl] -> ShowS # | |
type Rep ImportDecl Source # | |
Defined in AST type Rep ImportDecl = D1 ('MetaData "ImportDecl" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "ImportDecl" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range))) |
Instances
Generic FieldDecl Source # | |
Show FieldDecl Source # | |
type Rep FieldDecl Source # | |
Defined in AST type Rep FieldDecl = D1 ('MetaData "FieldDecl" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "FieldDecl" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: (S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Type) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range)))) |
Instances
Generic Argument Source # | |
Show Argument Source # | |
type Rep Argument Source # | |
Defined in AST type Rep Argument = D1 ('MetaData "Argument" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Argument" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: (S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Type) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range)))) |
Instances
Generic MethodSig Source # | |
Show MethodSig Source # | |
type Rep MethodSig Source # | |
Defined in AST type Rep MethodSig = D1 ('MetaData "MethodSig" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "MethodSig" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name) :*: (S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Type)) :*: S1 ('MetaSel ('Just "args") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Argument])))) |
data MethodDecl Source #
Instances
Generic MethodDecl Source # | |
Show MethodDecl Source # | |
Defined in AST Methods showsPrec :: Int -> MethodDecl -> ShowS # show :: MethodDecl -> String # showList :: [MethodDecl] -> ShowS # | |
type Rep MethodDecl Source # | |
Defined in AST type Rep MethodDecl = D1 ('MetaData "MethodDecl" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "MethodDecl" 'PrefixI 'True) (S1 ('MetaSel ('Just "sig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 MethodSig) :*: (S1 ('MetaSel ('Just "block") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Block) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range)))) |
Constructors
Statement | |
Fields
|
Instances
Generic Statement Source # | |
Show Statement Source # | |
type Rep Statement Source # | |
Defined in AST type Rep Statement = D1 ('MetaData "Statement" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Statement" 'PrefixI 'True) (S1 ('MetaSel ('Just "statement_") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Statement_) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range))) |
data Statement_ Source #
Constructors
AssignStmt | |
Fields
| |
IfStmt | |
ForStmt | |
Fields
| |
ReturnStmt | |
MethodCallStmt | |
Fields
| |
BreakStmt | |
ContinueStmt |
Instances
Instances
Generic Expr Source # | |
Show Expr Source # | |
type Rep Expr Source # | |
Defined in AST type Rep Expr = D1 ('MetaData "Expr" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Expr" 'PrefixI 'True) (S1 ('MetaSel ('Just "expr_") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Expr_) :*: (S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Type) :*: S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Range)))) |
Constructors
Instances
Instances
Generic (Typed a) Source # | |
Show a => Show (Typed a) Source # | |
type Rep (Typed a) Source # | |
Defined in AST type Rep (Typed a) = D1 ('MetaData "Typed" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Typed" 'PrefixI 'True) (S1 ('MetaSel ('Just "ele") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "tpe") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Type))) |
Instances
Generic Block Source # | |
Show Block Source # | |
type Rep Block Source # | |
Defined in AST type Rep Block = D1 ('MetaData "Block" "AST" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "Block" 'PrefixI 'True) (S1 ('MetaSel ('Just "vars") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [FieldDecl]) :*: (S1 ('MetaSel ('Just "stmts") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Statement]) :*: S1 ('MetaSel ('Just "blockID") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScopeID)))) |