Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Analyzer.AnalyzedAst
Synopsis
- type Identifier = Text
- data VoidMark
- data OrdinaryFunction = OrdinaryFunction {
- funcParams :: [Identifier]
- funcBody :: Block
- funcVoidMark :: VoidMark
- data Function
- data FunctionValue
- data Value
- data Lvalue
- data SimpleStmt
- data Else
- data IfElse = IfElse {
- ifPreStmt :: Maybe SimpleStmt
- ifCondition :: Expression
- ifBody :: Block
- elseStmt :: Else
- data VarDecl = VarDecl {}
- data ForHead = ForHead {}
- data For = For {}
- type Block = [Statement]
- data Statement
- data Expression
- data FunctionDef = FunctionDef {
- funcName :: Identifier
- func :: Function
- data Program = Program {}
- data UnaryOp
- data BinaryOp
- data ForGoTo
- data IncDec
Documentation
type Identifier = Text Source #
Constructors
VoidFunc | |
NonVoidFunc |
data OrdinaryFunction Source #
Constructors
OrdinaryFunction | |
Fields
|
Instances
Show OrdinaryFunction Source # | |
Defined in Analyzer.AnalyzedAst Methods showsPrec :: Int -> OrdinaryFunction -> ShowS # show :: OrdinaryFunction -> String # showList :: [OrdinaryFunction] -> ShowS # |
Constructors
FuncOrdinary OrdinaryFunction | |
FuncStdLib Identifier |
data FunctionValue Source #
Instances
Show FunctionValue Source # | |
Defined in Analyzer.AnalyzedAst Methods showsPrec :: Int -> FunctionValue -> ShowS # show :: FunctionValue -> String # showList :: [FunctionValue] -> ShowS # |
Constructors
ValInt Int | |
ValBool Bool | |
ValString Text | |
ValArray [Expression] | |
ValFunction FunctionValue |
Constructors
LvalVar Identifier | |
LvalArrEl Identifier [Expression] |
data SimpleStmt Source #
Constructors
StmtAssignment Lvalue Expression | |
StmtIncDec Lvalue IncDec | |
StmtShortVarDecl Identifier Expression | |
StmtExpression Expression |
Instances
Show SimpleStmt Source # | |
Defined in Analyzer.AnalyzedAst Methods showsPrec :: Int -> SimpleStmt -> ShowS # show :: SimpleStmt -> String # showList :: [SimpleStmt] -> ShowS # |
Constructors
IfElse | |
Fields
|
Constructors
VarDecl | |
Fields
|
Constructors
ForHead | |
Fields |
data Expression Source #
Constructors
ExprValue Value | |
ExprIdentifier Identifier | |
ExprUnaryOp UnaryOp Expression | |
ExprBinaryOp BinaryOp Expression Expression | |
ExprArrayAccessByIndex Expression Expression | |
ExprFuncCall Expression [Expression] |
Instances
Show Expression Source # | |
Defined in Analyzer.AnalyzedAst Methods showsPrec :: Int -> Expression -> ShowS # show :: Expression -> String # showList :: [Expression] -> ShowS # |
data FunctionDef Source #
Constructors
FunctionDef | |
Fields
|
Instances
Show FunctionDef Source # | |
Defined in Analyzer.AnalyzedAst Methods showsPrec :: Int -> FunctionDef -> ShowS # show :: FunctionDef -> String # showList :: [FunctionDef] -> ShowS # |
Constructors
Program | |
Fields |
Unary operators.
Constructors
UnaryPlusOp | Unary plus operator ( |
UnaryMinusOp | Unary minus operator ( |
NotOp | Not operator ( |
Binary operators.
Constructors
OrOp | Or operator ( |
AndOp | And operator ( |
EqOp | Equality operator ( |
NeOp | Inequality operator ( |
LeOp | Less than or equal operator ( |
LtOp | Less than operator ( |
MeOp | More than or equal operator ( |
MtOp | More than operator ( |
PlusOp | Plus operator ( |
MinusOp | Minus operator ( |
MultOp | Multiply operator ( |
DivOp | Divide operator ( |
ModOp | Modulus operator ( |
For goto statement (either break
or continue
), should be inside for
.