token.cpp
来自「一个命令行运算器源代码 用C++写的命令行运算器」· C++ 代码 · 共 71 行
CPP
71 行
#include "token.h"
#include <iostream>
int Token::varpri = LO;
Token::Token(char c):type(OP)
{
content.sym = c;
switch(c)
{
case '+':
case '-':
priority = varpri - 1;
break;
case '*':
case '/':
priority = varpri - 2;
break;
case '^':
priority = varpri - 3;
break;
case '(':
varpri -= 5;
break;
case ')':
varpri += 5;
break;
case EOF:
break;
case '\0': //identified the end of string
if(varpri != LO)
{
std::cerr<<"Missing token!"<<std::endl;
exit(1);
}
break;
default:
std::cerr<<"unkowned token!"<<std::endl;
exit(1);
}
}
Token::Token(double d):type(EX),priority(varpri - 4)
{
content.num = d;
}
//bool Token::operator==(const Token& it)
//{
// if(typ() != it.typ())
// return false;
// else if(typ() == EX)
// return num() == it.num();
//
// else
// return sym() == it.sym();
//}
//bool Token::operator!=(const Token& it)
//{
// return !(*this == it);
//}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?