?? symbol.h
字號:
#ifndef __SYMSET_H
#define __SYMSET_H
//lastsym的值指示symbol中共有多少符號
enum symbol {endfile=-1,nul=0,ident,number,plus,minus,times,
slash,oddsym,eql,neq,lss,leq,gtr,geq,lparen,
rparen,comma,semicolon,period,becomes,beginsym,
endsym,ifsym,thensym,elsesym,whilesym,repeatsym,
untilsym,writesym,readsym,dosym,callsym,constsym,
varsym,procsym,lastsym};
class CSymbol
{
public:
CSymbol();
int InSet(symbol sym){return set[sym];} //
CSymbol& operator=(const CSymbol &ss);
CSymbol& operator+=(const CSymbol &ss);
CSymbol& operator+=(const symbol sym){set[sym]=1;return *this;}
private:
int set[lastsym];
};
inline CSymbol::CSymbol()
{
for(int i=0;i<lastsym;i++)
set[i]=0;
}
inline CSymbol& CSymbol::operator=(const CSymbol &ss)
{
for (int i=0;i<lastsym;i++)
set[i]=ss.set[i];
return *this;
}
inline CSymbol& CSymbol::operator+=(const CSymbol &ss)
{
for (int i=0;i<lastsym;i++)
set[i]=set[i]||ss.set[i];
return *this;
}
#endif //symset.h
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -