www.pudn.com > bianyi大作业.zip > Table.cpp


// Table.cpp: implementation of the CTable class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "MyFormulary.h" 
#include "Table.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CTable::CTable() 
{ 
 
} 
 
CTable::~CTable() 
{ 
 
} 
 
void CTable::TablesClear() 
{ 
	m_CommandTable.RemoveAll(); 
	m_KeywordTable.RemoveAll(); 
	m_IdentifierTable.RemoveAll(); 
	m_OperatorTable.RemoveAll(); 
	m_SeparatorTable.RemoveAll(); 
	m_CharacterTable.RemoveAll(); 
	m_StringTable.RemoveAll(); 
	m_IntegerTable.RemoveAll(); 
	m_RealTable.RemoveAll(); 
} 
 
void CTable::TablesInitialization() 
{ 
	TablesClear(); 
	 
	m_CommandTable.Add(_T("#include")); 
	m_CommandTable.Add(_T("#define")); 
	m_CommandTable.Add(_T("#undef")); 
	m_CommandTable.Add(_T("#if")); 
	m_CommandTable.Add(_T("#elif")); 
	m_CommandTable.Add(_T("#else")); 
	m_CommandTable.Add(_T("#ifdef")); 
	m_CommandTable.Add(_T("#ifndef")); 
	m_CommandTable.Add(_T("#endif")); 
	m_CommandTable.Add(_T("#pragma")); 
 
	m_KeywordTable.Add(_T("auto")); 
	m_KeywordTable.Add(_T("register")); 
	m_KeywordTable.Add(_T("static")); 
	m_KeywordTable.Add(_T("extern")); 
	m_KeywordTable.Add(_T("const")); 
	m_KeywordTable.Add(_T("volatile")); 
	m_KeywordTable.Add(_T("typedef")); 
	m_KeywordTable.Add(_T("void")); 
	m_KeywordTable.Add(_T("bool")); 
	m_KeywordTable.Add(_T("false")); 
	m_KeywordTable.Add(_T("true")); 
	m_KeywordTable.Add(_T("enum")); 
	m_KeywordTable.Add(_T("signed")); 
	m_KeywordTable.Add(_T("unsigned")); 
	m_KeywordTable.Add(_T("char")); 
	m_KeywordTable.Add(_T("short")); 
	m_KeywordTable.Add(_T("int")); 
	m_KeywordTable.Add(_T("long")); 
	m_KeywordTable.Add(_T("float")); 
	m_KeywordTable.Add(_T("double")); 
	m_KeywordTable.Add(_T("union")); 
	m_KeywordTable.Add(_T("struct")); 
	m_KeywordTable.Add(_T("class")); 
	m_KeywordTable.Add(_T("public")); 
	m_KeywordTable.Add(_T("protected")); 
	m_KeywordTable.Add(_T("private")); 
	m_KeywordTable.Add(_T("friend")); 
	m_KeywordTable.Add(_T("this")); 
	m_KeywordTable.Add(_T("template")); 
	m_KeywordTable.Add(_T("inline")); 
	m_KeywordTable.Add(_T("virtual")); 
	m_KeywordTable.Add(_T("throw")); 
	m_KeywordTable.Add(_T("catch")); 
	m_KeywordTable.Add(_T("try")); 
	m_KeywordTable.Add(_T("operator")); 
	m_KeywordTable.Add(_T("new")); 
	m_KeywordTable.Add(_T("delete")); 
	m_KeywordTable.Add(_T("sizeof")); 
	m_KeywordTable.Add(_T("if")); 
	m_KeywordTable.Add(_T("else")); 
	m_KeywordTable.Add(_T("for")); 
	m_KeywordTable.Add(_T("do")); 
	m_KeywordTable.Add(_T("while")); 
	m_KeywordTable.Add(_T("switch")); 
	m_KeywordTable.Add(_T("case")); 
	m_KeywordTable.Add(_T("default")); 
	m_KeywordTable.Add(_T("goto")); 
	m_KeywordTable.Add(_T("break")); 
	m_KeywordTable.Add(_T("continue")); 
	m_KeywordTable.Add(_T("return")); 
 
	m_OperatorTable.Add(_T("++")); 
	m_OperatorTable.Add(_T("+=")); 
	m_OperatorTable.Add(_T("+")); 
	m_OperatorTable.Add(_T("--")); 
	m_OperatorTable.Add(_T("->*")); 
	m_OperatorTable.Add(_T("->")); 
	m_OperatorTable.Add(_T("-=")); 
	m_OperatorTable.Add(_T("-")); 
	m_OperatorTable.Add(_T("*=")); 
	m_OperatorTable.Add(_T("*")); 
	m_OperatorTable.Add(_T("/=")); 
	m_OperatorTable.Add(_T("/")); 
	m_OperatorTable.Add(_T("%=")); 
	m_OperatorTable.Add(_T("%")); 
	m_OperatorTable.Add(_T("<<=")); 
	m_OperatorTable.Add(_T("<<")); 
	m_OperatorTable.Add(_T("<=")); 
	m_OperatorTable.Add(_T("<")); 
	m_OperatorTable.Add(_T(">>=")); 
	m_OperatorTable.Add(_T(">>")); 
	m_OperatorTable.Add(_T(">=")); 
	m_OperatorTable.Add(_T(">")); 
	m_OperatorTable.Add(_T("!=")); 
	m_OperatorTable.Add(_T("!")); 
	m_OperatorTable.Add(_T("&&")); 
	m_OperatorTable.Add(_T("&=")); 
	m_OperatorTable.Add(_T("&")); 
	m_OperatorTable.Add(_T("||")); 
	m_OperatorTable.Add(_T("|=")); 
	m_OperatorTable.Add(_T("|")); 
	m_OperatorTable.Add(_T("^=")); 
	m_OperatorTable.Add(_T("^")); 
	m_OperatorTable.Add(_T("~")); 
	m_OperatorTable.Add(_T(".*")); 
	m_OperatorTable.Add(_T(".")); 
	m_OperatorTable.Add(_T("==")); 
	m_OperatorTable.Add(_T("=")); 
	m_OperatorTable.Add(_T("::")); 
	m_OperatorTable.Add(_T(":")); 
	m_OperatorTable.Add(_T("?")); 
	m_OperatorTable.Add(_T("[")); 
	m_OperatorTable.Add(_T("]")); 
	m_OperatorTable.Add(_T(",")); 
 
	m_SeparatorTable.Add(_T("(")); 
	m_SeparatorTable.Add(_T(")")); 
	m_SeparatorTable.Add(_T("{")); 
	m_SeparatorTable.Add(_T("}")); 
	m_SeparatorTable.Add(_T(";")); 
}