📄 minushandle.h
字号:
#ifndef MY_MINUSHANDLE_H_
#define MY_MINUSHANDLE_H_
//#include "parser.h"
//#include "symbolTab.h"
//#include "Analyzer.h"
#include "asmGen.h"
/*************************************************
Copyright (C), 2002-2008, lonelyforest.
File name: minusHandle.h
Author: 林公玉 (lonelyforest)
Version: 1.0
Date: 22-03-06 15:47
Description: 主要将Scanner, Parser,Analyzer, 等等进行封装
提供一个统一的接口,进行各个标志的控制、设置
等等,用户只需定义一个minusHandle类即可完成
所需的词法,或者语法等等的操作。
*************************************************/
class minusHandle{
public:
//------------------------------------------------------------------------
minusHandle():analyze(NULL), parse(NULL), scan(NULL),
gen(NULL),
traceScan(true), traceParse(true), traceAnalyze(true),
traceCode(true)
{}
~minusHandle();
//------------------------------------------------------------------------
void scanOnly(const string& filename);
void parseOnly(const string& filename);
void analyzeOnly(const string& filename);
void asmOnly(const string& filename);
//------------------------------------------------------------------------
void doit(); // 主要驱动函数,用来完成词法或者语法分析,语义分析的驱动
bool is_good();
//------------------------------------------------------------------------
void noTraceScan(); // 因为默认情况是会 跟踪词法分析和语法分析,
void noTraceParse(); // 可以用来取消 跟踪。
void noTraceAnalyze(); // 取消语义分析生成符号表文件。
void noTraceCode();
//------------------------------------------------------------------------
void getFiles(); // 统一的文件生成, 其中有 list, Syntax Tree, Symbol Table..
int err(); // 返回所有的错误数
int warn(); // 返回所有的警告数
//------------------------------------------------------------------------
protected:
//------------------------------------------------------------------------
Scanner *scan;
Parser *parse;
Analyzer *analyze;
asmGen *gen;
//------------------------------------------------------------------------
bool traceScan;
bool traceParse;
bool traceAnalyze;
bool traceCode; // trace asm commentions,
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -