76 lines
1.1 KiB
D
76 lines
1.1 KiB
D
|
module runtimedata;
|
||
|
|
||
|
|
||
|
enum DEBUG = true;
|
||
|
|
||
|
class RunException : Exception
|
||
|
{
|
||
|
this(string msg, string file = __FILE__, size_t line = __LINE__, Throwable nextInChain = null) pure nothrow @nogc @safe
|
||
|
{
|
||
|
super(msg, file, line, nextInChain);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
enum DATA_TYPE
|
||
|
{
|
||
|
FLOAT,
|
||
|
INTEGER,
|
||
|
VAR_POINTER,
|
||
|
NONE
|
||
|
}
|
||
|
enum EVAL_TYPE
|
||
|
{
|
||
|
NUMBER,
|
||
|
UNDEFINED_VAR,
|
||
|
VAR,
|
||
|
PRINT,
|
||
|
BEG,
|
||
|
ASSIGN,
|
||
|
EXIT
|
||
|
}
|
||
|
|
||
|
struct EvalReturn
|
||
|
{
|
||
|
this(EVAL_TYPE type,DATA_TYPE dataType, float fVal )
|
||
|
{
|
||
|
this.type=type;
|
||
|
this.dataType = dataType;
|
||
|
this.fVal = fVal;
|
||
|
}
|
||
|
this(EVAL_TYPE type,DATA_TYPE dataType, int iVal)
|
||
|
{
|
||
|
this.type=type;
|
||
|
this.dataType = dataType;
|
||
|
this.iVal = iVal;
|
||
|
|
||
|
}
|
||
|
this(EVAL_TYPE type,DATA_TYPE dataType, string sVar)
|
||
|
{
|
||
|
this.type=type;
|
||
|
this.dataType = dataType;
|
||
|
this.sVar = sVar;
|
||
|
|
||
|
}
|
||
|
|
||
|
EVAL_TYPE type;
|
||
|
DATA_TYPE dataType;
|
||
|
union
|
||
|
{
|
||
|
float fVal;
|
||
|
int iVal;
|
||
|
string sVar;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
struct Variable
|
||
|
{
|
||
|
DATA_TYPE dataType;
|
||
|
union
|
||
|
{
|
||
|
float fVal;
|
||
|
int iVal;
|
||
|
}
|
||
|
|
||
|
}
|