interpreter.h

来自「这是一本数据结构C++算法的完整的源代码」· C头文件 代码 · 共 59 行

H
59
字号
//**************************  interpreter.h   ***********************#ifndef INTERPRETER#define INTERPRETER#include <iostream>#include <list>#include <algorithm> // find()using namespace std;class IdNode {public:    IdNode(char *s = "", double e = 0) {        id = strdup(s);        value = e;    }    bool operator== (const IdNode& node) const {        return strcmp(id,node.id) == 0;    }private:    char *id;    double value;    friend class Statement;    friend ostream& operator<< (ostream& out, const IdNode& r) {        out << r.id << " = " << r.value << endl;        return out;    }};class Statement {public:    Statement() {     }    void getStatement();private:    list<IdNode> idList;    char  ch;    double factor();    double term();    double expression();    void readId(char*);    void issueError(char *s) {         cerr << s << endl; exit(1);     }    double findValue(char*);    void  processNode(char*, double);    friend ostream& operator<< (ostream& out, const Statement& s) {        list<IdNode>::const_iterator i = s.idList.begin();        for ( ; i != s.idList.end(); i++)            out << *i;        out << endl;        return out;    }};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?