添加项目文件。
This commit is contained in:
40
ScientificCalculator/Tokenizer.h
Normal file
40
ScientificCalculator/Tokenizer.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef TOKENIZER_H
|
||||
#define TOKENIZER_H
|
||||
|
||||
#include<string>
|
||||
#include<vector>
|
||||
#include"Token.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Tokenizer {
|
||||
public:
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ת<EFBFBD><D7AA>ΪToken<65><6E><EFBFBD><EFBFBD>
|
||||
vector<Token> run(const string& expr);
|
||||
|
||||
private:
|
||||
string expression; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ʽ
|
||||
size_t pos = 0; //<2F><>ǰָ<C7B0><D6B8>λ<EFBFBD><CEBB>
|
||||
|
||||
//<2F><><EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD><D5B8>ַ<EFBFBD>
|
||||
void skipWhitespace();
|
||||
|
||||
//<2F><>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>㡢<EFBFBD><E3A1A2><EFBFBD>ܵ<EFBFBD>һԪ<D2BB><D4AA><EFBFBD>ţ<EFBFBD>
|
||||
Token readNumber();
|
||||
|
||||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>sin<69><6E>cos<6F><73>log<6F><67>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78>y<EFBFBD><79>
|
||||
Token readIdentifier();
|
||||
|
||||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Token readOperatorOrParen();
|
||||
|
||||
//<2F>жϵ<D0B6>ǰλ<C7B0><CEBB><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>һԪ<D2BB><D4AA><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
bool is_UMC(const vector<Token>& tokens);
|
||||
|
||||
//<2F>ַ<EFBFBD><D6B7>жϸ<D0B6><CFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
bool is_dig(char c)const;
|
||||
bool is_let(char c)const;
|
||||
bool is_OpeCh(char c)const;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user