ot_symbl.h
来自「在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己」· C头文件 代码 · 共 51 行
H
51 行
// OT_SYMBL.H
//
// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved.
//
// Symbols & symbol table used by OPL translator
#ifndef __OT_SYMBL_H__
#define __OT_SYMBL_H__
////////////////////////////////////////////////////////////////////////
//
// COplSymbolTable
//
////////////////////////////////////////////////////////////////////////
const TInt KOplScopeGran=64;
const TInt KOplHashTableSize=31; // must be of the form 2^n-1.
class COplSymbolTable : public CBase
//
// Hash symbol table used in OPL
//
//
{
public:
static COplSymbolTable *NewL();
~COplSymbolTable();
void Reset(); // reset's all the data structures, deletes any symbols
inline void StartScope();
void EndScope();
COplSymbol *Find(const TDesC& aName, TOplToken aToken);
void AddL(COplSymbol& aSymbol);
void Delete(COplSymbol *pSym);
private:
COplSymbolTable();
// Hashing
TDblQue<COplSymbol>& Hash(const TDesC& aName); // returns the right que within the table.
private:
TInt iCurrentScope;
TSglQue<COplSymbol> iScopeQue;
TDblQue<COplSymbol> iTable[KOplHashTableSize]; // The hash table - a series of queues
__DECLARE_TEST;
};
#include "ot_symbl.inl"
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?