📄 shared.h
字号:
/******************************************************************************
* shared.h
*
* 2008-03-28 20:41
* 周鑫(zhouxin63766@yahoo.com.cn)
*
* 本文件中放置的是公用的数据类型及符号表。
******************************************************************************/
#ifndef SHARED_H
#define SHARED_H
#include <cmath>
#include <QString>
enum TokenType
{
ORIGIN, SCALE, ROT, IS, TO, STEP, DRAW,FOR, FROM, // 保留字
T, // 参数
SEMICO, LBRACKET, RBRACKET, COMMA, // 分隔符
PLUS, MINUS, MUL, DIV, POWER, // 运算符
FUNC, // 函数调用
CONSTANT, // 常数
NONTOKEN, // 文件结束记号
ERRTOKEN // 错误标记
};
const static QString TypeString[] =
{
"ORIGIN", "SCALE", "ROT", "IS", "TO",
"STEP", "DRAW", "FOR", "FROM",
"T", "SEMICO", "LBRACKET", "RBRACKET", "COMMA",
"PLUS", "MINUS", "MUL", "DIV", "POWER",
"FUNC",
"CONSTANT",
"NONTOKEN",
"ERRTOKEN"
};
// 记号数据结构
struct Token
{
Token();
Token( TokenType _type, QString _lexeme,
double _value, double (*_pFunction)(double) );
TokenType type; // 记号类别
QString lexeme; // 记号字符串
double value; // 常数值
double ( *pFunction )( double ); // 函数指针
};
#define TABLENGTH 18
const static Token TokenTab[ TABLENGTH ] =
{
Token(CONSTANT, QString("PI"), 3.1415926, NULL),
Token(CONSTANT, QString("E"), 2.71828, NULL),
Token(T, QString("T"), 0.0, NULL),
Token(FUNC, QString("SIN"), 0.0, ::sin),
Token(FUNC, QString("COS"), 0.0, ::cos),
Token(FUNC, QString("TAN"), 0.0, ::tan),
Token(FUNC, QString("LN"), 0.0, ::log),
Token(FUNC, QString("EXP"), 0.0, ::exp),
Token(FUNC, QString("SQRT"), 0.0, ::sqrt),
Token(ORIGIN, QString("ORIGIN"), 0.0, NULL),
Token(SCALE, QString("SCALE"), 0.0, NULL),
Token(ROT, QString("ROT"), 0.0, NULL),
Token(IS, QString("IS"), 0.0, NULL),
Token(FOR, QString("FOR"), 0.0, NULL),
Token(FROM, QString("FROM"), 0.0, NULL),
Token(TO, QString("TO"), 0.0, NULL),
Token(STEP, QString("STEP"), 0.0, NULL),
Token(DRAW, QString("DRAW"), 0.0, NULL)
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -