?? scanner.h
字號:
#ifdef SCANNER_H
#define SCANNER_H
#include"iostream"
#include"string.h"
#include"stdlib.h"
#include"ctype.h"
#include"stdarg.h"
#include"math.h"
using namespace std;
//記號的分類與表示
enum Token_Type
{
ORIGIN,SCALE,ROT,IS,
TO,STEP,DRAW,FOR,FROM,
T,
SEMICO,L_BRACKET,R_BRACKET,COMMA,
PLUS,MINUS,MUL,DIV,POWER,
FUNC,
CONST_ID,
NONTOKEN,
ERRTOKEN
};
typedef double (*MathFuncPtr)(double);
//記號的數據結構
struct Token
{
Token_Type type;
char * lexeme;
double value;
double (*FuncPtr)(double);
};
//字典
static Token TokenTab[] =
{ {CONST_ID, "PI", 3.1415926, NULL},
{CONST_ID, "E", 2.71828, NULL},
{T, "T", 0.0, NULL},
{FUNC, "SIN", 0.0, sin},
{FUNC, "COS", 0.0, cos},
{FUNC, "TAN", 0.0, tan},
{FUNC, "LN", 0.0, log},
{FUNC, "EXP", 0.0, exp},
{FUNC, "SQRT", 0.0, sqrt},
{ORIGIN, "ORIGIN", 0.0, NULL},
{SCALE, "SCALE", 0.0, NULL},
{ROT, "ROT", 0.0, NULL},
{IS, "IS", 0.0, NULL},
{FOR, "FOR", 0.0, NULL},
{FROM, "FROM", 0.0, NULL},
{TO, "TO", 0.0, NULL},
{STEP, "STEP", 0.0, NULL},
{DRAW, "DRAW", 0.0, NULL}
};
extern unsigned int LineNo;
extern int InitScanner(const char*);
extern Token GetToken(void);
extern void CloseScanner(void);
#endif
/*#define TOKEN_LEN 100
unsigned int LineNo;
static FILE*InFile;
static char TokenBuffer[TOKEN_LEN];*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -