📄 tokenfield_h.h
字号:
//---------------------------------------------------------------------------
//-------- Tokenfield_H.h ---------------------------------------------------
//---------------------------------------------------------------------------
#ifndef Tokenfield_H.h // 防止被重复引用
#define Tokenfield_H.h
//---------------------------------------------------------------------------
#include "JsGlobal_H.h"
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Token结点
// 它的构造器把Value和next初始化为空,Name是空串,但不初始化 Token !!
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
class Tokenfield : public JObject // (16 bytes)
{ public:
union
{ int16u Token; // Token (16-bit)
int8u Tkn[2];
}; // end union
union
{ int32 Value; // Value (32-bit)
int32u Ktype;
int16u Token2;
Tokenfield* ExpPt;
struct OPset* Opset;
class JLabelNode* LabPt;
class JdatBlock* DatPt;
class Dat4ary* D4ary;
class MacroDefBody* MacroPt;
int16u loc[2];
int8u byte[4];
}; // end union
Jstring Name; // Name (6 bytes)
Tokenfield* next; // next (32-bit)
// ------ 构造器1 --------
Tokenfield():Value(0),next(NULL) {} // constructor
// ------ 构造器2 --------
Tokenfield(int16u tok):Value(0),next(NULL) { Token = tok; } // constructor
//------ Functions -------
void evaluate(int16u tok, int32 val, const Jstring& nam);
//-----------
void show()const; // ( for Debug )
//-----------
static const char* nick(int16u tkn); // ( for Debug )
}; // end class Tokenfield
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
inline void Tokenfield::evaluate(int16u tok, int32 val, const Jstring& nam)
{ Token = tok;
Value = val;
Name = nam;
} // end evaluate
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
// Written by JamesyFront. ZLGmcu Dev.Co.Ltd. 2002.
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -