Advertisement

用C++开发Python的eval函数

阅读量:

用一个结构体记录数组或操作符

复制代码
    typedef struct Node{//运算结点,记录数字或运算符号
    bool isop;
    char op;
    int num;
    Node(){}
    Node(int d){
        num=d;
        isop=0;
    }
    Node(char op_){
        op=op_;
        isop=1;
    }
    void output(){
        if(isop) cout<<op;
        else cout<<num;
    }
    }Node;
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    

表达式分割为结点处理

类似于词法分析的处理方式
仅能实现对单一数字的分割操作,尚需进一步改进

复制代码
    vector<Node> exp2nodes(string exp){
    vector<Node> ans;
    FF(i,

全部评论 (0)

还没有任何评论哟~