funargscheck.h

来自「一个完整的C语言编译器」· C头文件 代码 · 共 48 行

H
48
字号
#ifndef _FUNARGSCHECK_H_
#define _FUNARGSCHECK_H_

#include "Parser.h"

class ParamListRec
{
public:
	enum TokenType	type;
	BOOL			bArray;
	ParamListRec*	next;
public:
	ParamListRec() : bArray( FALSE ), next( NULL ) {}
	ParamListRec( enum TokenType t, BOOL b ) : type( t ), bArray( b ), next( NULL ) {}
	~ParamListRec() { if( next ) delete next; }
};

class FunDecListRec
{
public:
	CString			name;
	enum TokenType	type;
	int				count;
	ParamListRec*	params;
	FunDecListRec* 	next;
public:
	FunDecListRec() : count( 0 ), next( NULL ) {}
	FunDecListRec( CString& s, enum TokenType t ) : name( s ), type( t ), count( 0 ), next( NULL ) {}
	~FunDecListRec() { if( next ) delete next; }
};

class CFunArgsCheck
{
public:
	CFunArgsCheck();
	~CFunArgsCheck();

public:
	void	deleteList();

	void	fa_insert( CTreeNode* pNode );
	int		fa_check( CTreeNode* pNode );
	
private:
	FunDecListRec	*first, *last;
};

#endif // _FUNARGSCHECK_H_

⌨️ 快捷键说明

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