?? constdef.h
字號:
//here define the const
//for the word analyse
#if !defined(_CONSTDEF_H__60F3C9EA_875F_4CC2_82C6_4DB3EBAE2931__INCLUDED_)
#define _CONSTDEF_H__60F3C9EA_875F_4CC2_82C6_4DB3EBAE2931__INCLUDED_
#include "stdafx.h"
#define MAXIDLEN 10 // length of identifiers
#define MAXNUMLEN 14 // maximum number of digits in numbers
enum symtype
{
SYM_NULL, // 0
//SYM TYPE
SYM_IDENTIFIER, // 1
SYM_NUMBER, // 2
//one char operator
SYM_PLUS, // 3 +
SYM_MINUS, // 4 -
SYM_TIMES, // 5 *
SYM_SLASH, // /
SYM_EQU, // =
SYM_LPAREN, // 8 (
SYM_RPAREN, // )
SYM_COMMA, // 10 ,
SYM_SEMICOLON, // ;
SYM_PERIOD, // 12 .
SYM_LES, // <
SYM_NEQ, // 14 <>
SYM_LEQ, // <=
SYM_GTR, // 16 >
SYM_GEQ, // >=
SYM_BECOMES, // 18 :=
//keyword ,also order increasely,
//same as below array keyword[]
SYM_BEGIN, // 19 begin
SYM_CALL, // 20 call
SYM_CONST, // const
SYM_DO, // do
SYM_END, // end
SYM_IF, // if
SYM_ODD, // odd
SYM_PROCEDURE, // 26 procedure
SYM_READ, // ead
SYM_THEN, // then
SYM_VAR, // var
SYM_WHILE, // while
SYM_WRITE // 31 write
};
const char* const keyword[]={ // increasely ordered
"begin", // 0
"call", // 1
"const", // 2
"do", // 3
"end", // 4
"if", // 5
"odd", // 6
"procedure",// 7
"read", // 8
"then", // 9
"var", // 10
"while", // 11
"write" // 12
};
const int wsym[] =
{
SYM_BEGIN, // 19 begin
SYM_CALL, // call
SYM_CONST, // const
SYM_DO, // 22 do
SYM_END, // end
SYM_IF, // if
SYM_ODD, // 25 odd
SYM_PROCEDURE, // procedure
SYM_READ, // read
SYM_THEN, // 28 then
SYM_VAR, // var
SYM_WHILE, // while
SYM_WRITE // 31 write
};
const int keywordNum = sizeof(keyword)/sizeof(keyword[0]);
struct symblock{
int type;
char id[MAXNUMLEN + 1];
int ln;
int col;
symblock();
};
extern symblock curSym;
extern char ch; // last character read
//extern char[20] word; // last character read
extern FILE *outfile;
extern ifstream infile;
#endif // !defined(_CONSTDEF_H__60F3C9EA_875F_4CC2_82C6_4DB3EBAE2931__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -