⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcerrordlg.h

📁 编译原理的一个课程设计
💻 H
字号:
#if !defined(AFX_FCERRORDLG_H__36B1FB60_AAE9_400B_BC8C_EE108B2331A8__INCLUDED_)
#define AFX_FCERRORDLG_H__36B1FB60_AAE9_400B_BC8C_EE108B2331A8__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// FCErrorDlg.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CFCErrorDlg dialog

class CFCErrorDlg : public CDialog
{
// Construction
public:
	CFCErrorDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CFCErrorDlg)
	enum { IDD = IDD_ERROR_DIALOG };
	CString	m_strLine;
	CString	m_strLineNum;
	CString	m_strMessage;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFCErrorDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CFCErrorDlg)
		// NOTE: the ClassWizard will add member functions here
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	int DoModal();
public:
	enum ZErrorType
	{
		ET_CASENOCONSTINT,	//非常整数的case语句
		ET_DEFINEDIDENT,	//标识符已经定义
		ET_DONOWHILE,		//do重复语句缺少while
		ET_DOUBLE2INT,		//实数赋予整数
		ET_DOUBLEMOD,		//浮点数参加求模运算
		ET_DOUBLESUB,		//实数作为数组下标
		ET_DOUBLESWITCH,	//浮点数用于选择语句
		ET_LESSBECOMES,		//缺少赋值号
		ET_LESSBEGIN,		//缺少左括号“{”
		ET_LESSCOLON,		//缺少冒号“:”
		ET_LESSCOMMA,		//缺少逗号“,”
		ET_LESSEND,			//缺少右括号“}”
		ET_LESSIDENT,		//缺少标识符
		ET_LESSLPAREN,		//缺少左括号“(”
		ET_LESSLSUB,		//缺少左括号“[”
		ET_LESSROP,			//缺少比较运算符
		ET_LESSRPAREN,		//缺少右括号“)”
		ET_LESSRSUB,		//缺少右括号“]”
		ET_LESSSEMICOLON,	//缺少分号“;”
		ET_LONGPROGRAM,		//程序太长
		ET_LONGIDENT,		//标识符太长
		ET_MANYFUNCTION,	//函数太多
		ET_MANYIDENT,		//标识符太多
		ET_MANYPARAM,		//参数太多
		ET_NOMAIN,			//找不到main函数
		ET_NOVOIDMAIN,		//main函数不是void的
		ET_PARAMMAIN,		//main函数带有参数
		ET_SOURCENOEND,		//源代码异常结束
		ET_STRINGNOEND,		//标识符异常结束
		ET_UNKNOWNERROR,	//未知的语法或语义错误
		ET_UNKNOWNTOKEN,	//非法符号
		ET_UNKNOWNIDENT,	//没有定义的标识符
		ET_UNKNOWNTYPE,		//错误的参数或函数返回类型
		ET_WRONGBREAK,		//错误的break语句
		ET_WRONGCONTINUE,	//错误的continue语句
		ET_WRONGINPUTOB,	//错误的输入对象
		ET_WRONGPARAMNUM,	//错误的参数数目
		ET_WRONGPARAMTYPE,	//错误的参数类型
		ET_WRONGSTATEMENT,	//未知的语句类型
	};
	int ErrorReport(int iLine, CString strLine, ZErrorType et);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_FCERRORDLG_H__36B1FB60_AAE9_400B_BC8C_EE108B2331A8__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -