50 lines
746 B
C++
50 lines
746 B
C++
#include <iostream>
|
|
#include <cstring>
|
|
#include <cstdlib>
|
|
|
|
#include "syntax.h"
|
|
|
|
using namespace std;
|
|
|
|
IdNode::IdNode(string *id) {
|
|
this->id = id;
|
|
}
|
|
|
|
void IdNode::display() {
|
|
cout << *id;
|
|
}
|
|
|
|
NumNode::NumNode(float num) {
|
|
this->num = num;
|
|
}
|
|
|
|
void NumNode::display() {
|
|
cout << num;
|
|
}
|
|
|
|
StringNode::StringNode(string* stringVal) {
|
|
this->stringVal = stringVal;
|
|
}
|
|
|
|
void StringNode::display() {
|
|
cout << *stringVal;
|
|
}
|
|
|
|
OpNode::OpNode(int op, Node *first, Node *second) {
|
|
this->op = op;
|
|
this->first = first;
|
|
this->second = second;
|
|
}
|
|
|
|
void OpNode::display() {
|
|
first->display();
|
|
cout << " " << (char)op << " ";
|
|
second->display();
|
|
}
|
|
|
|
void print_expression_list(NodeList *list) {
|
|
for (Node *expr : *list) {
|
|
expr->display();
|
|
}
|
|
}
|