mini-go-0.3.0.0: Mini Go parser and interpreter
Safe HaskellSafe-Inferred
LanguageHaskell2010

Analyzer.AnalyzedAst

Synopsis

Documentation

data VoidMark Source #

Constructors

VoidFunc 
NonVoidFunc 

Instances

Instances details
Show VoidMark Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data Function Source #

Instances

Instances details
Show Function Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data FunctionValue Source #

Constructors

Function Function 
Nil 

Instances

Instances details
Show FunctionValue Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data Value Source #

Instances

Instances details
Show Value Source # 
Instance details

Defined in Analyzer.AnalyzedAst

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

data Lvalue Source #

Instances

Instances details
Show Lvalue Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data Else Source #

Constructors

NoElse 
Else Block 
Elif IfElse 

Instances

Instances details
Show Else Source # 
Instance details

Defined in Analyzer.AnalyzedAst

Methods

showsPrec :: Int -> Else -> ShowS #

show :: Else -> String #

showList :: [Else] -> ShowS #

data IfElse Source #

Instances

Instances details
Show IfElse Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data VarDecl Source #

Constructors

VarDecl 

Instances

Instances details
Show VarDecl Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data ForHead Source #

Instances

Instances details
Show ForHead Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data For Source #

Constructors

For 

Fields

Instances

Instances details
Show For Source # 
Instance details

Defined in Analyzer.AnalyzedAst

Methods

showsPrec :: Int -> For -> ShowS #

show :: For -> String #

showList :: [For] -> ShowS #

data FunctionDef Source #

Constructors

FunctionDef 

Instances

Instances details
Show FunctionDef Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data Program Source #

Instances

Instances details
Show Program Source # 
Instance details

Defined in Analyzer.AnalyzedAst

data UnaryOp Source #

Unary operators.

Constructors

UnaryPlusOp

Unary plus operator (+a), works only for int.

UnaryMinusOp

Unary minus operator (-a), works only for int.

NotOp

Not operator (!a), works only for bool.

Instances

Instances details
Show UnaryOp Source # 
Instance details

Defined in Parser.Ast

data BinaryOp Source #

Binary operators.

Constructors

OrOp

Or operator (a || b), works only for bool.

AndOp

And operator (a && b), works only for bool.

EqOp

Equality operator (a == b).

NeOp

Inequality operator (a != b).

LeOp

Less than or equal operator (a <= b), works only for int and string.

LtOp

Less than operator (a < b), works only for int and string.

MeOp

More than or equal operator (a >= b), works only for int and string.

MtOp

More than operator (a > b), works only for int and string.

PlusOp

Plus operator (a + b), works only for int and string.

MinusOp

Minus operator (a - b), works only for int.

MultOp

Multiply operator (a * b), works only for int.

DivOp

Divide operator (a / b), works only for int.

ModOp

Modulus operator (a % b), works only for int.

Instances

Instances details
Show BinaryOp Source # 
Instance details

Defined in Parser.Ast

data ForGoTo Source #

For goto statement (either break or continue), should be inside for.

Constructors

Break

Break statement.

Continue

Continue statement.

Instances

Instances details
Show ForGoTo Source # 
Instance details

Defined in Parser.Ast

data IncDec Source #

Increment or decrement.

Constructors

Inc 
Dec 

Instances

Instances details
Show IncDec Source # 
Instance details

Defined in Parser.Ast