?? scanner.h
字號:
#ifndef SCANNER_H
#define SCANNER_H
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdarg.h>
#include <math.h>
#define TOKEN_LEN 100
//數(shù)據(jù)結(jié)構(gòu)
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 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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -