📄 util.h
字号:
#ifndef UTIL_H_
#define UTIL_H_
#include <iostream>
#include <string>
#include <map>
#include "scan.h"
#include "parse.h"
#include "symtable.h"
#include "pp_scan.h"
using namespace std;
extern int indent;
extern map<TokenType,string> TokenMap;
void init();
TreeNode *NewNode(Kind kind);
void PrintIndent(ostream &os);
/*
void PrintDeclar(TreeNode *p,ostream &os)
{
}
void PrintExp(TreeNode *p,ostream &os)
{
}
void PrintParam(TreeNode *p,ostream &os)
{
}
void PrintArgs(TreeNode *p,ostream &os)
{
}
*/
void PrintSyntaxTree(TreeNode *p,ostream &os);
void PrintOneTable(BucketList *p,ostream &os);
void PrintSymbolTable(TreeNode *p,ostream &os);
Type GetType(TreeNode *t);
SymbolType GetSymbolType(TreeNode *t);
string GetTokenString(TokenType token);
//
// Error reporting below
//
void ReportPos(int lineno, ostream &os);
void SemanticError(string errinfo,int lineno,
int ref_lineno=0,ostream &os=cout);
void ParseError(string errinfo,int lineno, ostream &os=cout);
void GenError(string errinfo, ostream &os=cout);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -