📄 pascalanalyzer.h
字号:
// PascalAnalyzer.h: interface for the CPascalLexAnalyzer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PASCALANALYZER_H__5D1CA606_A57E_11D2_8AB9_00002145DF63__INCLUDED_)
#define AFX_PASCALANALYZER_H__5D1CA606_A57E_11D2_8AB9_00002145DF63__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "StringTokenizer.h"
#include <afxtempl.h>
#define TT_PUNCTUATOR -5
#define TT_KEYWORD -6
#define TT_KW_PROGRAM -10
#define TT_KW_READ -11
#define TT_KW_WRITE -12
#define TT_KW_CONST -13
#define TT_KW_VAR -14
#define TT_KW_BEGIN -15
#define TT_KW_END -16
#define TT_KW_FOR -17
#define TT_KW_TO -18
#define TT_KW_DOWNTO -19
#define TT_KW_DO -20
#define TT_KW_PROCEDURE -21
#define TT_KW_FUNCTION -22
#define TT_KW_INTEGER -23
#define TT_KW_REAL -24
#define TT_KW_CHAR -25
#define TT_KW_ARRAY -26
#define TT_KW_RECORD -27
#define TT_KW_OF -28
#define TT_KW_MOD -29
#define TT_KW_DIV -30
#define TT_KW_WHILE -31
#define TT_KW_REPEAT -32
#define TT_KW_CASE -33
#define TT_KW_PRINT -34
#define TT_KW_IF -35
#define TT_KW_NOT -36
#define TT_KW_AND -37
#define TT_KW_OR -38
#define TT_KW_UNTIL -39
#define TT_KW_THEN -40
#define TT_KW_ELSE -41
#define TT_KW_STEP -42
#define TT_KW_OTHERWISE -43
// two char stuff
#define TT_GTE -50
#define TT_LWE -51
#define TT_IS -52
#define TT_NE -53
#define MAX_KW 100
class CPascalLexAnalyzer : public CStringTokenizer
{
public:
virtual void PushBack();
virtual CString GetStrValue(void);
virtual int NextToken(void);
void InsertKeyword(CString &str, int code);
CPascalLexAnalyzer(CString &str);
virtual ~CPascalLexAnalyzer();
private:
BOOL m_bPushedBack;
CMap<CString, LPCSTR, int, int> m_Keywords;
int m_tType;
};
#endif // !defined(AFX_PASCALANALYZER_H__5D1CA606_A57E_11D2_8AB9_00002145DF63__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -