| 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.