📄 simplecompiler.h
字号:
// SimpleCompiler.h: interface for the CSimpleCompiler class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SIMPLECOMPILER_H__BB589991_43A0_4739_BCBD_0F6BE8AED7B7__INCLUDED_)
#define AFX_SIMPLECOMPILER_H__BB589991_43A0_4739_BCBD_0F6BE8AED7B7__INCLUDED_
#include "Morpheme.h"
#include "Parsing.h"
#include "Semantic.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CSimpleCompiler
{
public:
CSimpleCompiler();
CSimpleCompiler(CString strSourceFile);
virtual ~CSimpleCompiler();
public:
bool RunMorpheme(); //运行词法分析,返回成功信息
bool RunParsing(); //运行语法分析,返回成功信息
bool RunSemantic(); //运行语义分析,返回成功信息
void SetSourceFile(CString strSourceFile); //设置源程序文件路径
void SaveAll(); //保存符号表、token文件、错误信息表、四元式用于显示
public:
PSTable GetSTable(); //返回符号表
PTokenNode GetTokenFile(); //返回token文件
PErrorNode GetErrorCollection(); //返回错误信息表
PFSymbol GetFSymbol(); //返回四元式表
private:
static const char *m_pWordCode[KEYWORDCOUNT+1]; //单词编码定义
void Dispose(); //释放: 符号表,字符串表,token串表
char *TypeToString(SType type); //将type转换成字符串
char *GetOPStr(EOP op); //根据操作类型返回操作符
private:
PSTable m_pSymbolTable; //符号表头指针
PTokenNode m_pTokenFile; //token串头指针
PErrorNode m_pErrorCollection; //错误信息头指针
PFSymbol m_pFSymbol; //四元式表指针
/*
private:
CMorpheme *m_pMorpheme; //词法分析器实例
CParsing *m_pParsing; //语法分析器实例
CSemantic *m_pSemantic; //语义分析器实例
bool m_readyMorpheme; //词法分析准备完毕
bool m_readyParsing; //语法分析准备完毕
bool m_readySemantic; //语义分析准备完毕
bool m_alreadyMorpheme; //词法分析分析完毕
bool m_alreadyParsing; //语法分析分析完毕
bool m_alreadySemantic; //语义分析分析完毕
*/
private:
CString m_strSourceFile; //源程序文件路径
};
#endif // !defined(AFX_SIMPLECOMPILER_H__BB589991_43A0_4739_BCBD_0F6BE8AED7B7__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -