⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tokenfield_h.h

📁 MCS-51单片机宏汇编器源程序,单片机初学者必看
💻 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 + -